summaryrefslogtreecommitdiff
path: root/neovim/.config/nvim/lua/plugins/galaxyline.lua
diff options
context:
space:
mode:
authorMichaël Ball <michael.ball@krotosaudio.com>2024-07-18 09:07:05 +0100
committerMichaël Ball <michael.ball@krotosaudio.com>2024-07-18 09:07:05 +0100
commit457ce9e6017c081e02a566895fa1fe488cd87b9c (patch)
tree05f49a483fe99c9935f43e8e4c25f80ba5077452 /neovim/.config/nvim/lua/plugins/galaxyline.lua
parent4c2a7cc1b0fa0e437476e06c1c11e1778d9cc92f (diff)
Refactor plugins for lazy.nvim
Diffstat (limited to 'neovim/.config/nvim/lua/plugins/galaxyline.lua')
-rw-r--r--neovim/.config/nvim/lua/plugins/galaxyline.lua230
1 files changed, 230 insertions, 0 deletions
diff --git a/neovim/.config/nvim/lua/plugins/galaxyline.lua b/neovim/.config/nvim/lua/plugins/galaxyline.lua
new file mode 100644
index 0000000..9f58157
--- /dev/null
+++ b/neovim/.config/nvim/lua/plugins/galaxyline.lua
@@ -0,0 +1,230 @@
+return {
+ {
+ 'nvimdev/galaxyline.nvim',
+ branch = 'main',
+ dependencies = {
+ {
+ 'nvim-tree/nvim-web-devicons',
+ },
+ {
+ 'arzg/vim-colors-xcode',
+ lazy = false,
+ priority = 1000,
+ config = function()
+ vim.cmd[[colorscheme xcode]]
+ end
+ },
+ },
+ config = function()
+ local gl = require('galaxyline')
+ local colors = {
+ yellow = vim.g.terminal_color_11,
+ cyan = vim.g.terminal_color_14,
+ darkblue = vim.g.terminal_color_4,
+ green = vim.g.terminal_color_10,
+ orange = vim.g.terminal_color_3,
+ violet = vim.g.terminal_color_5,
+ magenta = vim.g.terminal_color_13,
+ blue = vim.g.terminal_color_12,
+ red = vim.g.terminal_color_9,
+ }
+ local condition = require('galaxyline.condition')
+ local gls = gl.section
+ local lsp = require('galaxyline.provider_lsp')
+ gl.short_line_list = {'nerdtree', 'NeogitStatus', 'vim-plug', 'lspsagaoutline'}
+
+ gls.left[1] = {
+ RainbowBlue = {
+ provider = function() return '▊ ' end,
+ highlight = {colors.blue, 'StatusLine'}
+ },
+ }
+ gls.left[2] = {
+ ViMode = {
+ provider = function()
+ -- auto change color according the vim mode
+ local mode_color = {n = colors.red, i = colors.green,v=colors.blue,
+ ['^V'] = colors.blue,V=colors.blue,
+ c = colors.magenta,no = colors.red,s = colors.orange,
+ 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}
+ vim.api.nvim_command('hi GalaxyViMode guifg='..mode_color[vim.fn.mode()])
+ return ' '
+ end,
+ highlight = {colors.red, 'StatusLine', 'bold'},
+ },
+ }
+
+ gls.left[3] = {
+ FileSize = {
+ provider = 'FileSize',
+ condition = condition.buffer_not_empty,
+ highlight = {'StatusLine', 'StatusLine'},
+ }
+ }
+ gls.left[4] ={
+ FileIcon = {
+ provider = 'FileIcon',
+ condition = function()
+ if vim.g.GtkGuiLoaded ~= nil and condition.buffer_not_empty() then
+ return true
+ end
+ return false
+ end,
+ highlight = {require('galaxyline.provider_fileinfo').get_file_icon_color, 'StatusLine'},
+ },
+ }
+
+ gls.left[5] = {
+ FileName = {
+ provider = 'FileName',
+ condition = condition.buffer_not_empty,
+ highlight = {colors.magenta, 'StatusLine', 'bold'}
+ }
+ }
+
+ gls.left[6] = {
+ LineInfo = {
+ provider = 'LineColumn',
+ separator = ' ',
+ separator_highlight = {'NONE', 'StatusLine'},
+ highlight = {'NONE', 'StatusLine'},
+ },
+ }
+
+ gls.left[7] = {
+ PerCent = {
+ provider = 'LinePercent',
+ separator = ' ',
+ separator_highlight = {'NONE', 'StatusLine'},
+ highlight = {'NONE', 'StatusLine', 'bold'},
+ }
+ }
+
+ gls.left[8] = {
+ DiagnosticError = {
+ provider = 'DiagnosticError',
+ icon = '  ',
+ highlight = {colors.red, 'StatusLine'}
+ }
+ }
+ gls.left[9] = {
+ DiagnosticWarn = {
+ provider = 'DiagnosticWarn',
+ icon = '  ',
+ highlight = {colors.yellow, 'StatusLine'},
+ }
+ }
+
+ gls.left[10] = {
+ DiagnosticHint = {
+ provider = 'DiagnosticHint',
+ icon = '  ',
+ highlight = {colors.cyan, 'StatusLine'},
+ }
+ }
+
+ gls.left[11] = {
+ DiagnosticInfo = {
+ provider = 'DiagnosticInfo',
+ icon = '  ',
+ highlight = {colors.blue, 'StatusLine'},
+ }
+ }
+
+ gls.mid[1] = {
+ ShowLspClient = {
+ provider = 'GetLspClient',
+ condition = function ()
+ local tbl = {['dashboard'] = true,['']=true}
+ if tbl[vim.bo.filetype] then
+ return false
+ elseif lsp.get_lsp_client() == 'No Active Lsp' then
+ return false
+ end
+ return true
+ end,
+ icon = '⚙ LSP:',
+ highlight = {colors.cyan, 'StatusLine','bold'}
+ }
+ }
+
+ gls.right[1] = {
+ GitIcon = {
+ provider = function() return '  ' end,
+ condition = condition.check_git_workspace,
+ separator = ' ',
+ separator_highlight = {'NONE', 'StatusLine'},
+ highlight = {colors.violet, 'StatusLine', 'bold'},
+ }
+ }
+
+ gls.right[2] = {
+ GitBranch = {
+ provider = 'GitBranch',
+ condition = condition.check_git_workspace,
+ highlight = {colors.violet, 'StatusLine', 'bold'},
+ }
+ }
+
+ gls.right[3] = {
+ DiffAdd = {
+ provider = 'DiffAdd',
+ condition = condition.hide_in_width,
+ icon = ' +',
+ highlight = {colors.green, 'StatusLine'},
+ }
+ }
+ gls.right[4] = {
+ DiffModified = {
+ provider = 'DiffModified',
+ condition = condition.hide_in_width,
+ icon = ' ±',
+ highlight = {colors.orange, 'StatusLine'},
+ }
+ }
+ gls.right[5] = {
+ DiffRemove = {
+ provider = 'DiffRemove',
+ condition = condition.hide_in_width,
+ icon = ' -',
+ highlight = {colors.red, 'StatusLine'},
+ }
+ }
+
+ gls.right[6] = {
+ RainbowBlue = {
+ provider = function() return ' ▊' end,
+ highlight = {colors.blue, 'StatusLine'}
+ },
+ }
+
+ gls.short_line_left[1] = {
+ BufferType = {
+ provider = 'FileTypeName',
+ separator = ' ',
+ separator_highlight = {'NONE', 'StatusLine'},
+ highlight = {colors.blue, 'StatusLine', 'bold'}
+ }
+ }
+
+ gls.short_line_left[2] = {
+ SFileName = {
+ provider = 'SFileName',
+ condition = condition.buffer_not_empty,
+ highlight = {'StatusLine', 'StatusLine', 'bold'}
+ }
+ }
+
+ gls.short_line_right[1] = {
+ BufferIcon = {
+ provider= 'BufferIcon',
+ highlight = {'StatusLine', 'StatusLine'},
+ }
+ }
+ end,
+ },
+}