diff options
author | christianchiarulli <[email protected]> | 2021-07-12 21:59:16 -0400 |
---|---|---|
committer | christianchiarulli <[email protected]> | 2021-07-12 21:59:16 -0400 |
commit | 16d67ecf769323197da494650fa06f7a46247750 (patch) | |
tree | ee4020fdffc6ba93ff775ea91cdad1565672f03d /lua/core/galaxyline.lua | |
parent | b98646ce7abeb17a4bc5125af731cb6980602f93 (diff) |
refactor, fix galaxyline
Diffstat (limited to 'lua/core/galaxyline.lua')
-rw-r--r-- | lua/core/galaxyline.lua | 607 |
1 files changed, 290 insertions, 317 deletions
diff --git a/lua/core/galaxyline.lua b/lua/core/galaxyline.lua index 0e0ce1f4..281202a8 100644 --- a/lua/core/galaxyline.lua +++ b/lua/core/galaxyline.lua @@ -1,353 +1,326 @@ -local M = {} -M.config = function() - O.plugin.galaxyline = { - active = true, - colors = { - alt_bg = "#2E2E2E", - grey = "#858585", - blue = "#569CD6", - green = "#608B4E", - yellow = "#DCDCAA", - orange = "#FF8800", - purple = "#C586C0", - magenta = "#D16D9E", - cyan = "#4EC9B0", - red = "#D16969", - error_red = "#F44747", - warning_orange = "#FF8800", - info_yellow = "#FFCC66", - hint_blue = "#9CDCFE", - }, - } +-- if not package.loaded['galaxyline'] then +-- return +-- end +local status_ok, gl = pcall(require, "galaxyline") +if not status_ok then + return end -M.setup = function() - -- if not package.loaded['galaxyline'] then - -- return - -- end - local status_ok, gl = pcall(require, "galaxyline") - if not status_ok then - return - end - - -- NOTE: if someone defines colors but doesn't have them then this will break - local palette_status_ok, colors = pcall(require, O.colorscheme .. ".palette") - if not palette_status_ok then - colors = O.plugin.galaxyline.colors - end +-- NOTE: if someone defines colors but doesn't have them then this will break +local palette_status_ok, colors = pcall(require, O.colorscheme .. ".palette") +if not palette_status_ok then + colors = O.plugin.galaxyline.colors +end - local condition = require "galaxyline.condition" - local gls = gl.section - gl.short_line_list = { "NvimTree", "vista", "dbui", "packer" } +local condition = require "galaxyline.condition" +local gls = gl.section +gl.short_line_list = { "NvimTree", "vista", "dbui", "packer" } - table.insert(gls.left, { - ViMode = { - provider = function() - -- auto change color according the vim mode - local mode_color = { - n = colors.blue, - i = colors.green, - v = colors.purple, - [""] = colors.purple, - V = colors.purple, - c = colors.magenta, - no = colors.blue, - s = colors.orange, - S = colors.orange, - [""] = colors.orange, - ic = colors.yellow, - R = colors.red, - Rv = colors.red, - cv = colors.blue, - ce = colors.blue, - r = colors.cyan, - rm = colors.cyan, - ["r?"] = colors.cyan, - ["!"] = colors.blue, - t = colors.blue, - } - vim.api.nvim_command("hi GalaxyViMode guifg=" .. mode_color[vim.fn.mode()]) - return "â–Š" - end, - separator_highlight = { "NONE", colors.alt_bg }, - highlight = { "NONE", colors.alt_bg }, - }, - }) - -- print(vim.fn.getbufvar(0, 'ts')) - vim.fn.getbufvar(0, "ts") +table.insert(gls.left, { + ViMode = { + provider = function() + -- auto change color according the vim mode + local mode_color = { + n = colors.blue, + i = colors.green, + v = colors.purple, + [""] = colors.purple, + V = colors.purple, + c = colors.magenta, + no = colors.blue, + s = colors.orange, + S = colors.orange, + [""] = colors.orange, + ic = colors.yellow, + R = colors.red, + Rv = colors.red, + cv = colors.blue, + ce = colors.blue, + r = colors.cyan, + rm = colors.cyan, + ["r?"] = colors.cyan, + ["!"] = colors.blue, + t = colors.blue, + } + vim.api.nvim_command("hi GalaxyViMode guifg=" .. mode_color[vim.fn.mode()]) + return "â–Š" + end, + separator_highlight = { "NONE", colors.alt_bg }, + highlight = { "NONE", colors.alt_bg }, + }, +}) +-- print(vim.fn.getbufvar(0, 'ts')) +vim.fn.getbufvar(0, "ts") - table.insert(gls.left, { - GitIcon = { - provider = function() - return " " - end, - condition = condition.check_git_workspace, - separator = " ", - separator_highlight = { "NONE", colors.alt_bg }, - highlight = { colors.orange, colors.alt_bg }, - }, - }) +table.insert(gls.left, { + GitIcon = { + provider = function() + return " " + end, + condition = condition.check_git_workspace, + separator = " ", + separator_highlight = { "NONE", colors.alt_bg }, + highlight = { colors.orange, colors.alt_bg }, + }, +}) - table.insert(gls.left, { - GitBranch = { - provider = "GitBranch", - condition = condition.check_git_workspace, - separator = " ", - separator_highlight = { "NONE", colors.alt_bg }, - highlight = { colors.grey, colors.alt_bg }, - }, - }) +table.insert(gls.left, { + GitBranch = { + provider = "GitBranch", + condition = condition.check_git_workspace, + separator = " ", + separator_highlight = { "NONE", colors.alt_bg }, + highlight = { colors.grey, colors.alt_bg }, + }, +}) - table.insert(gls.left, { - DiffAdd = { - provider = "DiffAdd", - condition = condition.hide_in_width, - icon = "  ", - highlight = { colors.green, colors.alt_bg }, - }, - }) +table.insert(gls.left, { + DiffAdd = { + provider = "DiffAdd", + condition = condition.hide_in_width, + icon = "  ", + highlight = { colors.green, colors.alt_bg }, + }, +}) - table.insert(gls.left, { - DiffModified = { - provider = "DiffModified", - condition = condition.hide_in_width, - icon = " 柳", - highlight = { colors.blue, colors.alt_bg }, - }, - }) +table.insert(gls.left, { + DiffModified = { + provider = "DiffModified", + condition = condition.hide_in_width, + icon = " 柳", + highlight = { colors.blue, colors.alt_bg }, + }, +}) - table.insert(gls.left, { - DiffRemove = { - provider = "DiffRemove", - condition = condition.hide_in_width, - icon = " ï…† ", - highlight = { colors.red, colors.alt_bg }, - }, - }) +table.insert(gls.left, { + DiffRemove = { + provider = "DiffRemove", + condition = condition.hide_in_width, + icon = " ï…† ", + highlight = { colors.red, colors.alt_bg }, + }, +}) - table.insert(gls.left, { - Filler = { - provider = function() - return " " - end, - highlight = { colors.grey, colors.alt_bg }, - }, - }) - -- get output from shell command - function os.capture(cmd, raw) - local f = assert(io.popen(cmd, "r")) - local s = assert(f:read "*a") - f:close() - if raw then - return s - end - s = string.gsub(s, "^%s+", "") - s = string.gsub(s, "%s+$", "") - s = string.gsub(s, "[\n\r]+", " ") +table.insert(gls.left, { + Filler = { + provider = function() + return " " + end, + highlight = { colors.grey, colors.alt_bg }, + }, +}) +-- get output from shell command +function os.capture(cmd, raw) + local f = assert(io.popen(cmd, "r")) + local s = assert(f:read "*a") + f:close() + if raw then return s end - -- cleanup virtual env - local function env_cleanup(venv) - if string.find(venv, "/") then - local final_venv = venv - for w in venv:gmatch "([^/]+)" do - final_venv = w - end - venv = final_venv + s = string.gsub(s, "^%s+", "") + s = string.gsub(s, "%s+$", "") + s = string.gsub(s, "[\n\r]+", " ") + return s +end +-- cleanup virtual env +local function env_cleanup(venv) + if string.find(venv, "/") then + local final_venv = venv + for w in venv:gmatch "([^/]+)" do + final_venv = w end - return venv + venv = final_venv end - local PythonEnv = function() - if vim.bo.filetype == "python" then - local venv = os.getenv "CONDA_DEFAULT_ENV" - if venv ~= nil then - return "  (" .. env_cleanup(venv) .. ")" - end - venv = os.getenv "VIRTUAL_ENV" - if venv ~= nil then - return "  (" .. env_cleanup(venv) .. ")" - end - return "" + return venv +end +local PythonEnv = function() + if vim.bo.filetype == "python" then + local venv = os.getenv "CONDA_DEFAULT_ENV" + if venv ~= nil then + return "  (" .. env_cleanup(venv) .. ")" + end + venv = os.getenv "VIRTUAL_ENV" + if venv ~= nil then + return "  (" .. env_cleanup(venv) .. ")" end return "" end - table.insert(gls.left, { - VirtualEnv = { - provider = PythonEnv, - event = "BufEnter", - highlight = { colors.green, colors.alt_bg }, - }, - }) + return "" +end +table.insert(gls.left, { + VirtualEnv = { + provider = PythonEnv, + event = "BufEnter", + highlight = { colors.green, colors.alt_bg }, + }, +}) - table.insert(gls.right, { - DiagnosticError = { - provider = "DiagnosticError", - icon = " ï™™ ", - highlight = { colors.red, colors.alt_bg }, - }, - }) - table.insert(gls.right, { - DiagnosticWarn = { - provider = "DiagnosticWarn", - icon = "  ", - highlight = { colors.orange, colors.alt_bg }, - }, - }) +table.insert(gls.right, { + DiagnosticError = { + provider = "DiagnosticError", + icon = " ï™™ ", + highlight = { colors.red, colors.alt_bg }, + }, +}) +table.insert(gls.right, { + DiagnosticWarn = { + provider = "DiagnosticWarn", + icon = "  ", + highlight = { colors.orange, colors.alt_bg }, + }, +}) - table.insert(gls.right, { - DiagnosticInfo = { - provider = "DiagnosticInfo", - icon = "  ", - highlight = { colors.yellow, colors.alt_bg }, - }, - }) +table.insert(gls.right, { + DiagnosticInfo = { + provider = "DiagnosticInfo", + icon = "  ", + highlight = { colors.yellow, colors.alt_bg }, + }, +}) - table.insert(gls.right, { - DiagnosticHint = { - provider = "DiagnosticHint", - icon = " ï µ ", - highlight = { colors.blue, colors.alt_bg }, - }, - }) +table.insert(gls.right, { + DiagnosticHint = { + provider = "DiagnosticHint", + icon = " ï µ ", + highlight = { colors.blue, colors.alt_bg }, + }, +}) - table.insert(gls.right, { - TreesitterIcon = { - provider = function() - if next(vim.treesitter.highlighter.active) ~= nil then - return " " - end - return "" - end, - separator = " ", - separator_highlight = { "NONE", colors.alt_bg }, - highlight = { colors.green, colors.alt_bg }, - }, - }) +table.insert(gls.right, { + TreesitterIcon = { + provider = function() + if next(vim.treesitter.highlighter.active) ~= nil then + return " " + end + return "" + end, + separator = " ", + separator_highlight = { "NONE", colors.alt_bg }, + highlight = { colors.green, colors.alt_bg }, + }, +}) - local get_lsp_client = function(msg) - msg = msg or "LSP Inactive" - local buf_ft = vim.api.nvim_buf_get_option(0, "filetype") - local clients = vim.lsp.get_active_clients() - if next(clients) == nil then - return msg - end - local lsps = "" - for _, client in ipairs(clients) do - local filetypes = client.config.filetypes - if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then - -- print(client.name) - if lsps == "" then - -- print("first", lsps) - lsps = client.name - else - if not string.find(lsps, client.name) then - lsps = lsps .. ", " .. client.name - end - -- print("more", lsps) +local get_lsp_client = function(msg) + msg = msg or "LSP Inactive" + local buf_ft = vim.api.nvim_buf_get_option(0, "filetype") + local clients = vim.lsp.get_active_clients() + if next(clients) == nil then + return msg + end + local lsps = "" + for _, client in ipairs(clients) do + local filetypes = client.config.filetypes + if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then + -- print(client.name) + if lsps == "" then + -- print("first", lsps) + lsps = client.name + else + if not string.find(lsps, client.name) then + lsps = lsps .. ", " .. client.name end + -- print("more", lsps) end end - if lsps == "" then - return msg - else - return lsps - end end + if lsps == "" then + return msg + else + return lsps + end +end - table.insert(gls.right, { - ShowLspClient = { - provider = get_lsp_client, - condition = function() - local tbl = { ["dashboard"] = true, [" "] = true } - if tbl[vim.bo.filetype] then - return false - end - return true - end, - icon = "ï‚… ", - highlight = { colors.grey, colors.alt_bg }, - }, - }) - - table.insert(gls.right, { - LineInfo = { - provider = "LineColumn", - separator = " ", - separator_highlight = { "NONE", colors.alt_bg }, - highlight = { colors.grey, colors.alt_bg }, - }, - }) +table.insert(gls.right, { + ShowLspClient = { + provider = get_lsp_client, + condition = function() + local tbl = { ["dashboard"] = true, [" "] = true } + if tbl[vim.bo.filetype] then + return false + end + return true + end, + icon = "ï‚… ", + highlight = { colors.grey, colors.alt_bg }, + }, +}) - table.insert(gls.right, { - PerCent = { - provider = "LinePercent", - separator = " ", - separator_highlight = { "NONE", colors.alt_bg }, - highlight = { colors.grey, colors.alt_bg }, - }, - }) +table.insert(gls.right, { + LineInfo = { + provider = "LineColumn", + separator = " ", + separator_highlight = { "NONE", colors.alt_bg }, + highlight = { colors.grey, colors.alt_bg }, + }, +}) - table.insert(gls.right, { - Tabstop = { - provider = function() - return "Spaces: " .. vim.api.nvim_buf_get_option(0, "shiftwidth") .. " " - end, - condition = condition.hide_in_width, - separator = " ", - separator_highlight = { "NONE", colors.alt_bg }, - highlight = { colors.grey, colors.alt_bg }, - }, - }) +table.insert(gls.right, { + PerCent = { + provider = "LinePercent", + separator = " ", + separator_highlight = { "NONE", colors.alt_bg }, + highlight = { colors.grey, colors.alt_bg }, + }, +}) - table.insert(gls.right, { - BufferType = { - provider = "FileTypeName", - condition = condition.hide_in_width, - separator = " ", - separator_highlight = { "NONE", colors.alt_bg }, - highlight = { colors.grey, colors.alt_bg }, - }, - }) +table.insert(gls.right, { + Tabstop = { + provider = function() + return "Spaces: " .. vim.api.nvim_buf_get_option(0, "shiftwidth") .. " " + end, + condition = condition.hide_in_width, + separator = " ", + separator_highlight = { "NONE", colors.alt_bg }, + highlight = { colors.grey, colors.alt_bg }, + }, +}) - table.insert(gls.right, { - FileEncode = { - provider = "FileEncode", - condition = condition.hide_in_width, - separator = " ", - separator_highlight = { "NONE", colors.alt_bg }, - highlight = { colors.grey, colors.alt_bg }, - }, - }) +table.insert(gls.right, { + BufferType = { + provider = "FileTypeName", + condition = condition.hide_in_width, + separator = " ", + separator_highlight = { "NONE", colors.alt_bg }, + highlight = { colors.grey, colors.alt_bg }, + }, +}) - table.insert(gls.right, { - Space = { - provider = function() - return " " - end, - separator = " ", - separator_highlight = { "NONE", colors.alt_bg }, - highlight = { colors.grey, colors.alt_bg }, - }, - }) +table.insert(gls.right, { + FileEncode = { + provider = "FileEncode", + condition = condition.hide_in_width, + separator = " ", + separator_highlight = { "NONE", colors.alt_bg }, + highlight = { colors.grey, colors.alt_bg }, + }, +}) - table.insert(gls.short_line_left, { - BufferType = { - provider = "FileTypeName", - separator = " ", - separator_highlight = { "NONE", colors.alt_bg }, - highlight = { colors.grey, colors.alt_bg }, - }, - }) +table.insert(gls.right, { + Space = { + provider = function() + return " " + end, + separator = " ", + separator_highlight = { "NONE", colors.alt_bg }, + highlight = { colors.grey, colors.alt_bg }, + }, +}) - table.insert(gls.short_line_left, { - SFileName = { - provider = "SFileName", - condition = condition.buffer_not_empty, - highlight = { colors.grey, colors.alt_bg }, - }, - }) +table.insert(gls.short_line_left, { + BufferType = { + provider = "FileTypeName", + separator = " ", + separator_highlight = { "NONE", colors.alt_bg }, + highlight = { colors.grey, colors.alt_bg }, + }, +}) - --table.insert(gls.short_line_right[1] = {BufferIcon = {provider = 'BufferIcon', highlight = {colors.grey, colors.alt_bg}}}) -end +table.insert(gls.short_line_left, { + SFileName = { + provider = "SFileName", + condition = condition.buffer_not_empty, + highlight = { colors.grey, colors.alt_bg }, + }, +}) -return M +--table.insert(gls.short_line_right[1] = {BufferIcon = {provider = 'BufferIcon', highlight = {colors.grey, colors.alt_bg}}}) |