From 0111b31cb0008f4fcc55ddc373e63f124652b156 Mon Sep 17 00:00:00 2001 From: Gustaf Rydholm Date: Wed, 7 Jul 2021 01:05:06 +0200 Subject: Updated config based on Chris LunarVim release --- .config/nvim/lua/cfg/galaxyline/init.lua | 279 +++++++++++++++++++++++++++++++ 1 file changed, 279 insertions(+) create mode 100644 .config/nvim/lua/cfg/galaxyline/init.lua (limited to '.config/nvim/lua/cfg/galaxyline') diff --git a/.config/nvim/lua/cfg/galaxyline/init.lua b/.config/nvim/lua/cfg/galaxyline/init.lua new file mode 100644 index 0000000..058846a --- /dev/null +++ b/.config/nvim/lua/cfg/galaxyline/init.lua @@ -0,0 +1,279 @@ +local gl = require('galaxyline') +-- get my theme in galaxyline repo +local colors = { + bg = '#080808', + yellow = '#DCDCAA', + dark_yellow = '#D7BA7D', + cyan = '#4EC9B0', + green = '#608B4E', + light_green = '#B5CEA8', + string_orange = '#CE9178', + orange = '#FF8800', + purple = '#C586C0', + magenta = '#D16D9E', + grey = '#858585', + blue = '#569CD6', + vivid_blue = '#4FC1FF', + light_blue = '#9CDCFE', + red = '#D16969', + error_red = '#F44747', + info_yellow = '#FFCC66' +} + +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, + highlight = "StatusLineNC", + }, +}) +-- 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 = "StatusLineSeparator", + highlight = "StatusLineGit", + }, +}) + +table.insert(gls.left, { + GitBranch = { + provider = "GitBranch", + condition = condition.check_git_workspace, + separator = " ", + separator_highlight = "StatusLineSeparator", + highlight = "StatusLineNC", + }, +}) + +table.insert(gls.left, { + DiffAdd = { + provider = "DiffAdd", + condition = condition.hide_in_width, + icon = "  ", + highlight = "StatusLineGitAdd", + }, +}) + +table.insert(gls.left, { + DiffModified = { + provider = "DiffModified", + condition = condition.hide_in_width, + icon = " 柳", + highlight = "StatusLineGitChange", + }, +}) + +table.insert(gls.left, { + DiffRemove = { + provider = "DiffRemove", + condition = condition.hide_in_width, + icon = "  ", + highlight = "StatusLineGitDelete", + }, +}) + +table.insert(gls.right, { + DiagnosticError = { + provider = "DiagnosticError", + icon = "  ", + highlight = "StatusLineLspDiagnosticsError", + }, +}) +table.insert(gls.right, { + DiagnosticWarn = { + provider = "DiagnosticWarn", + icon = "  ", + + highlight = "StatusLineLspDiagnosticsWarning", + }, +}) + +table.insert(gls.right, { + DiagnosticInfo = { + provider = "DiagnosticInfo", + icon = "  ", + + highlight = "StatusLineLspDiagnosticsInformation", + }, +}) + +table.insert(gls.right, { + DiagnosticHint = { + provider = "DiagnosticHint", + icon = "  ", + + highlight = "StatusLineLspDiagnosticsHint", + }, +}) + +table.insert(gls.right, { + TreesitterIcon = { + provider = function() + if next(vim.treesitter.highlighter.active) ~= nil then + return " " + end + return "" + end, + separator = " ", + separator_highlight = "StatusLineSeparator", + highlight = "StatusLineTreeSitter", + }, +}) + +local get_lsp_client = function(msg) + msg = msg or "No Active LSP Client" + 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 + lsps = lsps .. ", " .. client.name + -- print("more", lsps) + end + 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 = "StatusLineNC", + }, +}) + +table.insert(gls.right, { + LineInfo = { + provider = "LineColumn", + separator = " ", + separator_highlight = "StatusLineSeparator", + highlight = "StatusLineNC", + }, +}) + +table.insert(gls.right, { + PerCent = { + provider = "LinePercent", + separator = " ", + separator_highlight = "StatusLineSeparator", + highlight = "StatusLineNC", + }, +}) + +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 = "StatusLineSeparator", + highlight = "StatusLineNC", + }, +}) + +table.insert(gls.right, { + BufferType = { + provider = "FileTypeName", + condition = condition.hide_in_width, + separator = " ", + separator_highlight = "StatusLineSeparator", + highlight = "StatusLineNC", + }, +}) + +table.insert(gls.right, { + FileEncode = { + provider = "FileEncode", + condition = condition.hide_in_width, + separator = " ", + separator_highlight = "StatusLineSeparator", + highlight = "StatusLineNC", + }, +}) + +table.insert(gls.right, { + Space = { + provider = function() + return " " + end, + separator = " ", + separator_highlight = "StatusLineSeparator", + highlight = "StatusLineNC", + }, +}) + +table.insert(gls.short_line_left, { + BufferType = { + provider = "FileTypeName", + separator = " ", + separator_highlight = "StatusLineSeparator", + highlight = "StatusLineNC", + }, +}) + +table.insert(gls.short_line_left, { + SFileName = { + provider = "SFileName", + condition = condition.buffer_not_empty, + + highlight = "StatusLineNC", + }, +}) -- cgit v1.2.3-70-g09d2