summaryrefslogtreecommitdiff
path: root/lua/core/galaxyline.lua
diff options
context:
space:
mode:
authorchristianchiarulli <[email protected]>2021-07-12 21:59:16 -0400
committerchristianchiarulli <[email protected]>2021-07-12 21:59:16 -0400
commit16d67ecf769323197da494650fa06f7a46247750 (patch)
treeee4020fdffc6ba93ff775ea91cdad1565672f03d /lua/core/galaxyline.lua
parentb98646ce7abeb17a4bc5125af731cb6980602f93 (diff)
refactor, fix galaxyline
Diffstat (limited to 'lua/core/galaxyline.lua')
-rw-r--r--lua/core/galaxyline.lua607
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}}})