aboutsummaryrefslogtreecommitdiff
path: root/lua/user/lualine.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/user/lualine.lua')
-rw-r--r--lua/user/lualine.lua423
1 files changed, 423 insertions, 0 deletions
diff --git a/lua/user/lualine.lua b/lua/user/lualine.lua
new file mode 100644
index 0000000..9d86e21
--- /dev/null
+++ b/lua/user/lualine.lua
@@ -0,0 +1,423 @@
+local lualine_status_ok, lualine = pcall(require, "lualine")
+if not lualine_status_ok then
+ print("lualine.nvim is etiher broken or is not installed.")
+ return
+end
+
+--local colors = require('tokyonight.colors').setup()
+--local colors = {
+--bg_dark = "#1f2335",
+--bg = "#24283b",
+--fg = "#c0caf5",
+--fg_gutter = "#3b4261",
+--green = "#a6e3a1",
+--red = "#f38ba8",
+--}
+
+--local colors = {
+-- gray = '#23232e',
+-- lightgray = '#5f6a8e',
+-- orange = '#ffb86c',
+-- purple = '#bd93f9',
+-- red = '#ff5555',
+-- yellow = '#f1fa8c',
+-- green = '#50fa7b',
+-- white = '#f8f8f2',
+-- black = '#282a36',
+--}
+local colors = {
+ nobg = nil,
+ blue = "#87b0f9",
+ mauve = "#cba6f7",
+ red = "#f38ba8",
+ green = "#a6e3a1",
+ peach = "#fab387",
+ white = "#c6d0f5",
+ gray = "#a1a8c9",
+ black = "#1e1e2e",
+ innerbg = nil,
+ outerbg = "#16161D",
+}
+--require("lualine").setup({
+-- Your lua part of config goes here
+require("lualine").setup({
+ options = {
+ icons_enabled = true,
+ --theme = "auto",
+ theme = require("plugins.linecolor").theme(),
+ --theme = {
+ -- We are going to use lualine_c an lualine_x as left and
+ -- right section. Both are highlighte by c theme . So we
+ -- are just setting default looks o statusline
+ --normal = { c = { fg = colors.fg, bg = colors.bg } },
+ --inactive = { c = { fg = colors.fg, bg = colors.bg } },
+ --},
+ component_separators = { left = "", right = "" },
+ section_separators = { left = "", right = "" },
+ --component_separators = { left = '|', right = '|'},
+ --section_separators = { left = '', right = ''},
+ disabled_filetypes = {
+ statusline = {},
+ winbar = {},
+ },
+ ignore_focus = {},
+ always_divide_middle = true,
+ globalstatus = true,
+ refresh = {
+ statusline = 1000,
+ tabline = 1000,
+ winbar = 1000,
+ },
+ },
+ sections = {
+ lualine_a = { "mode" },
+ lualine_b = {
+ "branch",
+ {
+ "diff",
+ colored = true,
+ diff_color = {
+ added = "DiffAdd",
+ modified = "DiffChange",
+ removed = "DiffDelete",
+ },
+ },
+ {
+ "diagnostics",
+
+ sources = { "nvim_lsp" },
+ sections = { "error", "warn", "info" },
+
+ diagnostics_color = {
+ error = "DiagnosticError",
+ warn = "DiagnosticWarn",
+ info = "DiagnosticInfo",
+ },
+ colored = true,
+ update_in_insert = false,
+ always_visible = false,
+ },
+ },
+ --lualine_b = { "branch", "diff", "diagnostics" },
+ lualine_c = {
+ --{"filetype", padding={right=0}, icon_only = true, component_separators = {left = "", right = ""}},
+ --{"filename", padding={left=0}, color = {gui = "bold,italic"}},
+ --{ "filetype",
+ -- icon_only = true,
+ --},
+ {
+ "filename",
+ --color = {gui = "bold,italic", fg = '#ffaa88', bg = 'nil' },
+ --component_separators = {left = "", right = ""},
+ },
+ },
+ lualine_x = { "encoding", "fileformat", "filetype" },
+ --lualine_x = {
+ -- {"encoding", color = { bg = colors.black }, component_separators = {left = "", right = ""}},
+ -- {"fileformat", color = { bg = colors.black }, component_separators = {left = "", right = ""}},
+ -- {"filetype", color = { bg = colors.black }, component_separators = {left = "", right = ""}},
+ --},
+ lualine_y = { "progress" },
+ lualine_z = { "location" },
+ },
+ inactive_sections = {
+ lualine_a = {},
+ lualine_b = {},
+ lualine_c = { "filename" },
+ lualine_x = { "location" },
+ lualine_y = {},
+ lualine_z = {},
+ },
+ -- tabline = {},
+ tabline = {
+ --lualine_a = { "mode" },
+ --lualine_a = {custom_fname},
+ lualine_a = {
+ {
+ "buffers",
+ show_filename_only = false,
+ show_modified_status = true,
+ mode = 4,
+ buffers_color = {
+ active = { bg = colors.nobg, fg = colors.black }, -- color for active buffer
+ --inactive = { bg = colors.white, fg = colors.fg_gutter }, -- color for inactive buffer
+ --active = { bg = colors.bg, fg = colors.white }, -- color for active buffer
+ --inactive = { bg = colors.bg_dark, fg = colors.fg_gutter }, -- color for inactive buffer
+ ----color = function()
+ ---- return { bg = vim.bo.modified and '#aa3355' or '#33aa88' }
+ ----end,
+ },
+ symbols = {
+ modified = " ●", -- Text to show when the buffer is modified
+ alternate_file = "", -- Text to show to identify the alternate file
+ --directory = "", -- Text to show when the buffer is a directory
+ },
+ max_length = vim.o.columns * 5 / 6,
+ --{{function()
+ -- local bg = 'hi! lualine_buffers_color' -- not modified
+ -- if vim.bo.modified then bg = '#c70039' -- unsaved
+ -- elseif not vim.bo.readonly then bg = 'hi! lualine_buffers_color' end -- readonly
+ -- vim.cmd('hi! lualine_buffers_color guibg='..bg)
+ --end,
+ --color = 'hi! lualine_buffers_color',
+ --}},
+ },
+ },
+ lualine_b = {},
+ lualine_c = {},
+ lualine_x = {},
+ lualine_y = {},
+ lualine_z = {},
+ --lualine_z = { "tabs" },
+ },
+ --tabline = {
+ -- lualine_a = { "mode" },
+ -- lualine_b = { "buffers" },
+ -- lualine_c = { "branch" },
+ -- --lualine_c = { "branch", "diff", "diagnostics" },
+ -- lualine_x = {},
+ -- lualine_y = {},
+ -- lualine_z = { "tabs" },
+ --},
+ --winbar = {
+ -- lualine_a = {},
+ -- lualine_b = {},
+ -- lualine_c = {'filename'},
+ -- lualine_x = {},
+ -- lualine_y = {},
+ -- lualine_z = {}
+ --},
+ --inactive_winbar = {
+ -- lualine_a = {},
+ -- lualine_b = {},
+ -- lualine_c = {},
+ -- lualine_x = {},
+ -- lualine_y = {},
+ -- lualine_z = {}
+ --},
+ winbar = {},
+ inactive_winbar = {},
+ --extensions = {},
+ extensions = { "quickfix" },
+})
+--require("lualine").statusline()
+--require("lualine").tabline()
+--if not lualine_status_ok then
+-- print("lualine.nvim is etiher broken or is not installed.")
+-- return
+--end
+--local lualine_status_ok, lualine = pcall(require, "lualine")
+--if not lualine_status_ok then
+-- print("lualine.nvim is etiher broken or is not installed.")
+-- return
+--end
+--local utils = require("heirline.utils")
+
+--local M = {}
+
+-- stylua: ignore start
+--M.colours = {--{{{
+---- Color table for highlights
+---- stylua: ignore
+--local colors = {
+-- bg = '#2E3440',
+-- fg = '#E5E9F0',
+-- yellow = '#EBCB8B',
+-- cyan = '#88C0D0',
+-- darkblue = '#5E81AC',
+-- green = '#A3BE8C',
+-- orange = '#D08770',
+-- violet = '#B48EAD',
+-- magenta = '#B48EAD',
+-- blue = '#81A1C1',
+-- red = '#BF616A',
+--}
+--
+--local conditions = {
+-- buffer_not_empty = function()
+-- return vim.fn.empty(vim.fn.expand("%:t")) ~= 1
+-- end,
+-- hide_in_width = function()
+-- return vim.fn.winwidth(0) > 80
+-- end,
+-- check_git_workspace = function()
+-- local filepath = vim.fn.expand("%:p:h")
+-- local gitdir = vim.fn.finddir(".git", filepath .. ";")
+-- return gitdir and #gitdir > 0 and #gitdir < #filepath
+-- end,
+--}
+
+-- Config
+--local config = {
+--require('lualine').setup {
+-- options = {
+-- -- Disable sections and component separators
+-- component_separators = "",
+-- section_separators = "",
+-- theme = {
+-- -- We are going to use lualine_c an lualine_x as left and
+-- -- right section. Both are highlighte by c theme . So we
+-- -- are just setting default looks o statusline
+-- normal = { c = { fg = colors.fg, bg = colors.bg } },
+-- inactive = { c = { fg = colors.fg, bg = colors.bg } },
+-- },
+-- disabled_filetypes = { "NvimTree" },
+-- },
+-- sections = {
+-- -- these are to remove the defaults
+-- lualine_a = {},
+-- lualine_b = {},
+-- lualine_y = {},
+-- lualine_z = {},
+-- -- These will be filled later
+-- lualine_c = {},
+-- lualine_x = {},
+-- },
+-- inactive_sections = {
+-- -- these are to remove the defaults
+-- lualine_a = {},
+-- lualine_b = {},
+-- lualine_y = {},
+-- lualine_z = {},
+-- lualine_c = {},
+-- lualine_x = {},
+-- },
+--}
+--
+---- Inserts a component in lualine_c at left section
+--local function ins_left(component)
+-- table.insert(lualine.sections.lualine_c, component)
+--end
+--
+---- Inserts a component in lualine_x ot right section
+--local function ins_right(component)
+-- table.insert(lualine.sections.lualine_x, component)
+--end
+--
+--ins_left({
+-- function()
+-- return "▊"
+-- end,
+-- color = { fg = colors.green }, -- Sets highlighting of component
+-- padding = { left = 0, right = 1 }, -- We don't need space before this
+--})
+--
+--ins_left({
+-- -- mode component
+-- function()
+-- return ""
+-- end,
+-- color = function()
+-- -- auto change color according to neovims mode
+-- local mode_color = {
+-- n = colors.blue,
+-- i = colors.green,
+-- v = colors.violet,
+-- ["�"] = colors.blue,
+-- V = colors.blue,
+-- c = colors.magenta,
+-- no = colors.red,
+-- s = colors.orange,
+-- S = colors.orange,
+-- ic = colors.yellow,
+-- R = colors.violet,
+-- Rv = colors.violet,
+-- cv = colors.red,
+-- ce = colors.red,
+-- r = colors.cyan,
+-- rm = colors.cyan,
+-- ["r?"] = colors.cyan,
+-- ["!"] = colors.red,
+-- t = colors.red,
+-- }
+-- return { fg = mode_color[vim.fn.mode()] }
+-- end,
+-- padding = { right = 1 },
+--})
+--
+--ins_left({
+-- -- mode component
+-- "mode",
+-- color = function()
+-- -- auto change color according to neovims mode
+-- local mode_color = {
+-- n = colors.red,
+-- i = colors.green,
+-- v = colors.violet,
+-- ["�"] = colors.blue,
+-- V = colors.blue,
+-- c = colors.magenta,
+-- no = colors.red,
+-- s = colors.orange,
+-- S = colors.orange,
+-- ic = colors.yellow,
+-- R = colors.violet,
+-- Rv = colors.violet,
+-- cv = colors.red,
+-- ce = colors.red,
+-- r = colors.cyan,
+-- rm = colors.cyan,
+-- ["r?"] = colors.cyan,
+-- ["!"] = colors.red,
+-- t = colors.red,
+-- }
+-- return { fg = mode_color[vim.fn.mode()] }
+-- end,
+-- padding = { right = 1 },
+--})
+--
+--ins_left({
+-- "branch",
+-- icon = "",
+-- color = { fg = colors.violet, gui = "bold" },
+--})
+--
+--ins_left({
+-- "filename",
+-- cond = conditions.buffer_not_empty,
+-- color = { fg = colors.aqua, gui = "bold" },
+--})
+--
+--ins_left({
+-- -- filesize component
+-- "filesize",
+-- cond = conditions.buffer_not_empty,
+--})
+--
+---- Add components to right sections
+--ins_right({
+-- "o:encoding", -- option component same as &encoding in viml
+-- fmt = string.lower, -- I'm not sure why it's upper case either ;)
+-- cond = conditions.hide_in_width,
+-- color = { fg = colors.yellow },
+--})
+--
+--ins_right({
+-- "fileformat",
+-- fmt = string.upper,
+-- icons_enabled = true, -- I think icons are cool but Eviline doesn't have them. sigh
+-- color = { fg = colors.fg, gui = "bold" },
+--})
+--
+--ins_right({
+-- "filetype",
+--})
+--
+--ins_right({ "progress", color = { fg = colors.fg, gui = "bold" } })
+--
+--ins_right({
+-- "location",
+--})
+--
+--ins_right({
+-- function()
+-- return "▊"
+-- end,
+-- color = { fg = colors.green },
+-- padding = { left = 1 },
+--})
+--return M
+-- Now don't forget to initialize lualine
+--require("lualine").setup(config)
+--require"lualine".setup(config)
+--lualine.setup(config)