diff options
Diffstat (limited to '.config/nvim/lua/core/lualine/components.lua')
-rw-r--r-- | .config/nvim/lua/core/lualine/components.lua | 179 |
1 files changed, 0 insertions, 179 deletions
diff --git a/.config/nvim/lua/core/lualine/components.lua b/.config/nvim/lua/core/lualine/components.lua deleted file mode 100644 index 42ec112..0000000 --- a/.config/nvim/lua/core/lualine/components.lua +++ /dev/null @@ -1,179 +0,0 @@ -local conditions = require "core.lualine.conditions" -local colors = require "core.lualine.colors" - -local function diff_source() - local gitsigns = vim.b.gitsigns_status_dict - if gitsigns then - return { - added = gitsigns.added, - modified = gitsigns.changed, - removed = gitsigns.removed, - } - end -end - -return { - mode = { - function() - local alias = { - n = "NORMAL", - i = "INSERT", - c = "COMMAND", - V = "VISUAL", - [""] = "VISUAL", - v = "VISUAL", - R = "REPLACE", - } - local alias_mode = alias[vim.fn.mode()] - if alias_mode == nil then - alias_mode = vim.fn.mode() - end - return alias_mode .. " " - -- return " " - end, - padding = { left = 0, right = 0 }, - cond = nil, - color = { fg = colors.fg, bg = colors.bg }, - }, - branch = { - "b:gitsigns_head", - icon = " ", - color = { gui = "bold", fg = colors.fg, bg = colors.bg }, - cond = conditions.hide_in_width, - }, - filename = { - "filename", - color = { fg = colors.fg, bg = colors.bg }, - cond = nil, - }, - diff = { - "diff", - source = diff_source, - symbols = { added = " ", modified = "柳", removed = " " }, - diff_color = { - added = { fg = colors.green }, - modified = { fg = colors.yellow }, - removed = { fg = colors.red }, - }, - color = {}, - cond = nil, - }, - python_env = { - function() - local utils = require "core.lualine.utils" - if vim.bo.filetype == "python" then - local venv = os.getenv "CONDA_DEFAULT_ENV" - if venv then - return string.format(" (%s)", utils.env_cleanup(venv)) - end - venv = os.getenv "VIRTUAL_ENV" - if venv then - return string.format(" (%s)", utils.env_cleanup(venv)) - end - return "" - end - return "" - end, - color = { fg = colors.green }, - cond = conditions.hide_in_width, - }, - diagnostics = { - "diagnostics", - sources = { "nvim_lsp" }, - symbols = { error = " ", warn = " ", info = " ", hint = " " }, - color = {}, - cond = conditions.hide_in_width, - }, - treesitter = { - function() - local b = vim.api.nvim_get_current_buf() - if next(vim.treesitter.highlighter.active[b]) then - return " " - end - return "" - end, - color = { fg = colors.green }, - cond = conditions.hide_in_width, - }, - lsp = { - function(msg) - msg = msg or "LS Inactive" - local buf_clients = vim.lsp.buf_get_clients() - if next(buf_clients) == nil then - if type(msg) == "boolean" or #msg == 0 then - return "LS Inactive" - end - return msg - end - local buf_ft = vim.bo.filetype - local buf_client_names = {} - - -- add client - for _, client in pairs(buf_clients) do - if client.name ~= "null-ls" then - table.insert(buf_client_names, client.name) - end - end - - -- add formatter - local formatters = require "lsp.null-ls.formatters" - local supported_formatters = formatters.list_registered_providers(buf_ft) - vim.list_extend(buf_client_names, supported_formatters) - - -- add linter - local linters = require "lsp.null-ls.linters" - local supported_linters = linters.list_registered_providers(buf_ft) - vim.list_extend(buf_client_names, supported_linters) - - return "[" .. table.concat(buf_client_names, ", ") .. "]" - end, - color = { fg = colors.fg, bg = colors.bg }, - cond = conditions.hide_in_width, - }, - location = { "location", cond = conditions.hide_in_width, color = {} }, - progress = { "progress", cond = conditions.hide_in_width, color = {} }, - spaces = { - function() - if not vim.api.nvim_buf_get_option(0, "expandtab") then - return "Tab size: " .. vim.api.nvim_buf_get_option(0, "tabstop") .. " " - end - local size = vim.api.nvim_buf_get_option(0, "shiftwidth") - if size == 0 then - size = vim.api.nvim_buf_get_option(0, "tabstop") - end - return "Spaces: " .. size .. " " - end, - color = {}, - cond = conditions.hide_in_width, - }, - encoding = { - "o:encoding", - fmt = string.upper, - color = { fg = colors.fg, bg = colors.bg }, - cond = conditions.hide_in_width, - }, - filetype = { "filetype", cond = conditions.hide_in_width, color = {} }, - scrollbar = { - function() - local current_line = vim.fn.line "." - local total_lines = vim.fn.line "$" - local chars = { - "__", - "▁▁", - "▂▂", - "▃▃", - "▄▄", - "▅▅", - "▆▆", - "▇▇", - "██", - } - local line_ratio = current_line / total_lines - local index = math.ceil(line_ratio * #chars) - return chars[index] - end, - padding = { left = 0, right = 0 }, - cond = nil, - color = { fg = colors.yellow, bg = colors.bg }, - }, -} |