summaryrefslogtreecommitdiff
path: root/lua/nvcodeline.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/nvcodeline.lua')
-rw-r--r--lua/nvcodeline.lua221
1 files changed, 221 insertions, 0 deletions
diff --git a/lua/nvcodeline.lua b/lua/nvcodeline.lua
new file mode 100644
index 00000000..488d2007
--- /dev/null
+++ b/lua/nvcodeline.lua
@@ -0,0 +1,221 @@
+-- require'nvim-web-devicons'.setup()
+
+local gl = require('galaxyline')
+local gls = gl.section
+gl.short_line_list = {'LuaTree','vista','dbui'}
+
+local colors = {
+ bg = '#282c34',
+ yellow = '#fabd2f',
+ cyan = '#008080',
+ darkblue = '#081633',
+ green = '#afd700',
+ orange = '#FF8800',
+ purple = '#5d4d7a',
+ magenta = '#d16d9e',
+ grey = '#c0c0c0',
+ blue = '#0087d7',
+ red = '#ec5f67'
+}
+
+local buffer_not_empty = function()
+ if vim.fn.empty(vim.fn.expand('%:t')) ~= 1 then
+ return true
+ end
+ return false
+end
+
+gls.left[1] = {
+ FirstElement = {
+ -- provider = function() return '▋' end,
+ provider = function() return ' ' end,
+ highlight = {colors.bg,colors.purple}
+ },
+}
+gls.left[2] = {
+ ViMode = {
+ provider = function()
+ local alias = {n = 'NORMAL',i = 'INSERT',c= 'COMMAND',V= 'VISUAL', [''] = 'VISUAL'}
+ return alias[vim.fn.mode()]
+ end,
+ separator = ' ',
+ separator_highlight = {colors.yellow,function()
+ if not buffer_not_empty() then
+ return colors.purple
+ end
+ return colors.purple
+ end},
+ highlight = {colors.grey,colors.purple,'bold'},
+ },
+}
+-- gls.left[2] = {
+-- ViMode = {
+-- provider = function()
+-- -- auto change color according the vim mode
+-- local mode_color = {n = colors.magenta, i = colors.green,v=colors.blue,[''] = colors.blue,V=colors.blue,
+-- c = colors.red,no = colors.magenta,s = colors.orange,S=colors.orange,
+-- [''] = colors.orange,ic = colors.yellow,R = colors.purple,Rv = colors.purple,
+-- 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,colors.line_bg,'bold'},
+-- },
+-- }
+-- gls.left[3] ={
+-- FileIcon = {
+-- separator = ' ',
+-- provider = 'FileIcon',
+-- condition = buffer_not_empty,
+-- highlight = {require('galaxyline.provider_fileinfo').get_file_icon_color,colors.bg},
+-- },
+-- }
+-- gls.left[4] = {
+-- FileName = {
+-- provider = {'FileSize'},
+-- condition = buffer_not_empty,
+-- separator = ' ',
+-- separator_highlight = {colors.purple,colors.bg},
+-- highlight = {colors.magenta,colors.bg}
+-- }
+-- }
+
+gls.left[3] = {
+ GitIcon = {
+ provider = function() return '  ' end,
+ condition = buffer_not_empty,
+ highlight = {colors.orange,colors.bg},
+ }
+}
+gls.left[4] = {
+ GitBranch = {
+ provider = 'GitBranch',
+ condition = buffer_not_empty,
+ highlight = {colors.grey,colors.bg},
+ }
+}
+
+local checkwidth = function()
+ local squeeze_width = vim.fn.winwidth(0) / 2
+ if squeeze_width > 40 then
+ return true
+ end
+ return false
+end
+
+gls.left[5] = {
+ DiffAdd = {
+ provider = 'DiffAdd',
+ condition = checkwidth,
+ icon = '  ',
+ highlight = {colors.green,colors.bg},
+ }
+}
+gls.left[6] = {
+ DiffModified = {
+ provider = 'DiffModified',
+ condition = checkwidth,
+ icon = '  ',
+ highlight = {colors.blue,colors.bg},
+ }
+}
+gls.left[7] = {
+ DiffRemove = {
+ provider = 'DiffRemove',
+ condition = checkwidth,
+ icon = '  ',
+ highlight = {colors.red,colors.bg},
+ }
+}
+gls.left[8] = {
+ LeftEnd = {
+ provider = function() return ' ' end,
+ separator = ' ',
+ separator_highlight = {colors.purple,colors.bg},
+ highlight = {colors.purple,colors.bg}
+ }
+}
+gls.left[9] = {
+ DiagnosticError = {
+ provider = 'DiagnosticError',
+ icon = '  ',
+ highlight = {colors.red,colors.bg}
+ }
+}
+gls.left[10] = {
+ Space = {
+ provider = function () return '' end
+ }
+}
+gls.left[11] = {
+ DiagnosticWarn = {
+ provider = 'DiagnosticWarn',
+ icon = '  ',
+ highlight = {colors.yellow,colors.bg},
+ }
+}
+gls.left[12] = {
+ DiagnosticHint = {
+ provider = 'DiagnosticHint',
+ icon = '  ',
+ highlight = {colors.blue,colors.bg},
+ }
+}
+gls.right[1]= {
+ FileFormat = {
+ provider = 'FileFormat',
+ separator = ' ',
+ separator_highlight = {colors.bg,colors.purple},
+ highlight = {colors.grey,colors.purple},
+ }
+}
+gls.right[2] = {
+ LineInfo = {
+ provider = 'LineColumn',
+ separator = ' | ',
+ separator_highlight = {colors.darkblue,colors.purple},
+ highlight = {colors.grey,colors.purple},
+ },
+}
+gls.right[3] = {
+ PerCent = {
+ provider = 'LinePercent',
+ separator = ' ',
+ separator_highlight = {colors.darkblue,colors.purple},
+ highlight = {colors.grey,colors.darkblue},
+ }
+}
+gls.right[4] = {
+ ScrollBar = {
+ provider = 'ScrollBar',
+ highlight = {colors.yellow,colors.purple},
+ }
+}
+
+-- gls.short_line_left[1] = {
+-- BufferType = {
+-- provider = 'FileTypeName',
+-- separator = ' ',
+-- separator_highlight = {colors.purple,colors.bg},
+-- highlight = {colors.grey,colors.purple}
+-- }
+-- }
+
+gls.short_line_left[1] = {
+ LeftEnd = {
+ provider = function() return ' ' end,
+ separator = ' ',
+ separator_highlight = {colors.purple,colors.bg},
+ highlight = {colors.purple,colors.bg}
+ }
+}
+
+-- gls.short_line_right[1] = {
+-- BufferIcon = {
+-- provider= 'BufferIcon',
+-- separator = ' ',
+-- separator_highlight = {colors.purple,colors.bg},
+-- highlight = {colors.grey,colors.purple}
+-- }
+-- }