|
@@ -1,226 +1,181 @@
|
|
|
--- require'nvim-web-devicons'.setup()
|
|
|
-
|
|
|
local gl = require('galaxyline')
|
|
|
+-- get my theme in galaxyline repo
|
|
|
+-- local colors = require('galaxyline.theme').default
|
|
|
+local colors = {
|
|
|
+ bg = '#282c34',
|
|
|
+ yellow = '#fabd2f',
|
|
|
+ cyan = '#008080',
|
|
|
+ green = '#608B4E',
|
|
|
+ orange = '#FF8800',
|
|
|
+ purple = '#C586C0',
|
|
|
+ magenta = '#d16d9e',
|
|
|
+ grey = '#abb2bf',
|
|
|
+ blue = '#569CD6',
|
|
|
+ red = '#D16969'
|
|
|
+}
|
|
|
+local condition = require('galaxyline.condition')
|
|
|
local gls = gl.section
|
|
|
-gl.short_line_list = {'LuaTree','vista','dbui'}
|
|
|
+gl.short_line_list = {'NvimTree', 'vista', 'dbui', 'packer'}
|
|
|
|
|
|
-local colors = {
|
|
|
- bg = '#282c34',
|
|
|
- yellow = '#fabd2f',
|
|
|
- cyan = '#008080',
|
|
|
- darkblue = '#081633',
|
|
|
- green = '#608B4E',
|
|
|
- orange = '#FF8800',
|
|
|
- purple = '#5d4d7a',
|
|
|
- magenta = '#d16d9e',
|
|
|
- grey = '#c0c0c0',
|
|
|
- blue = '#569CD6',
|
|
|
- red = '#D16969'
|
|
|
+gls.left[1] = {
|
|
|
+ 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 = {colors.red, colors.bg, 'bold'}
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
-local buffer_not_empty = function()
|
|
|
- if vim.fn.empty(vim.fn.expand('%:t')) ~= 1 then
|
|
|
- return true
|
|
|
- end
|
|
|
- return false
|
|
|
-end
|
|
|
-
|
|
|
gls.left[2] = {
|
|
|
- ViMode = {
|
|
|
- provider = function()
|
|
|
- -- auto change color according the vim mode
|
|
|
- local mode_color = {n = colors.purple,
|
|
|
- i = colors.green,
|
|
|
- v = colors.blue,
|
|
|
- [''] = colors.blue,
|
|
|
- V = colors.blue,
|
|
|
- c = colors.purple,
|
|
|
- no = colors.magenta,
|
|
|
- s = colors.orange,
|
|
|
- S = colors.orange,
|
|
|
- [''] = colors.orange,
|
|
|
- ic = colors.yellow,
|
|
|
- R = colors.red,
|
|
|
- Rv = colors.red,
|
|
|
- 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 guibg='..mode_color[vim.fn.mode()])
|
|
|
- return ' NVCode '
|
|
|
- end,
|
|
|
- separator = ' ',
|
|
|
- separator_highlight = {colors.yellow,function()
|
|
|
- if not buffer_not_empty() then
|
|
|
- return colors.bg
|
|
|
- end
|
|
|
- return colors.bg
|
|
|
- end},
|
|
|
- highlight = {colors.grey,colors.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}
|
|
|
--- }
|
|
|
--- }
|
|
|
+ GitIcon = {
|
|
|
+ provider = function()
|
|
|
+ return ' '
|
|
|
+ end,
|
|
|
+ condition = condition.check_git_workspace,
|
|
|
+ separator = ' ',
|
|
|
+ separator_highlight = {'NONE', colors.bg},
|
|
|
+ highlight = {colors.orange, colors.bg, 'bold'}
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
gls.left[3] = {
|
|
|
- GitIcon = {
|
|
|
- provider = function() return ' ' end,
|
|
|
- condition = buffer_not_empty,
|
|
|
- highlight = {colors.orange,colors.bg},
|
|
|
- }
|
|
|
+ GitBranch = {
|
|
|
+ provider = 'GitBranch',
|
|
|
+ condition = condition.check_git_workspace,
|
|
|
+ separator = '',
|
|
|
+ separator_highlight = {'NONE', colors.bg},
|
|
|
+ highlight = {colors.grey, colors.bg, 'bold'}
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
gls.left[4] = {
|
|
|
- GitBranch = {
|
|
|
- provider = 'GitBranch',
|
|
|
- separator = ' ',
|
|
|
- separator_highlight = {colors.purple,colors.bg},
|
|
|
- condition = buffer_not_empty,
|
|
|
- highlight = {colors.grey,colors.bg},
|
|
|
- }
|
|
|
+ DiffAdd = {
|
|
|
+ provider = 'DiffAdd',
|
|
|
+ condition = condition.hide_in_width,
|
|
|
+ icon = ' ',
|
|
|
+ highlight = {colors.green, 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,
|
|
|
- -- separator = ' ',
|
|
|
- -- separator_highlight = {colors.purple,colors.bg},
|
|
|
- icon = ' ',
|
|
|
- highlight = {colors.green,colors.bg},
|
|
|
- }
|
|
|
+ DiffModified = {
|
|
|
+ provider = 'DiffModified',
|
|
|
+ condition = condition.hide_in_width,
|
|
|
+ icon = ' 柳',
|
|
|
+ highlight = {colors.orange, colors.bg}
|
|
|
+ }
|
|
|
}
|
|
|
gls.left[6] = {
|
|
|
- DiffModified = {
|
|
|
- provider = 'DiffModified',
|
|
|
- condition = checkwidth,
|
|
|
- -- separator = ' ',
|
|
|
- -- separator_highlight = {colors.purple,colors.bg},
|
|
|
- icon = ' ',
|
|
|
- highlight = {colors.blue,colors.bg},
|
|
|
- }
|
|
|
-}
|
|
|
-gls.left[7] = {
|
|
|
- DiffRemove = {
|
|
|
- provider = 'DiffRemove',
|
|
|
- condition = checkwidth,
|
|
|
- -- separator = ' ',
|
|
|
- -- separator_highlight = {colors.purple,colors.bg},
|
|
|
- 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.left[13] = {
|
|
|
- DiagnosticInfo = {
|
|
|
- provider = 'DiagnosticInfo',
|
|
|
- icon = ' ',
|
|
|
- highlight = {colors.orange,colors.bg},
|
|
|
- }
|
|
|
-}
|
|
|
-gls.right[1]= {
|
|
|
- FileFormat = {
|
|
|
- provider = 'FileFormat',
|
|
|
- separator = ' ',
|
|
|
- separator_highlight = {colors.bg,colors.bg},
|
|
|
- highlight = {colors.grey,colors.bg},
|
|
|
- }
|
|
|
+ DiffRemove = {
|
|
|
+ provider = 'DiffRemove',
|
|
|
+ condition = condition.hide_in_width,
|
|
|
+ icon = ' ',
|
|
|
+ highlight = {colors.red, colors.bg}
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+gls.right[1] = {
|
|
|
+ DiagnosticError = {
|
|
|
+ provider = 'DiagnosticError',
|
|
|
+ icon = ' ',
|
|
|
+ highlight = {colors.red, colors.bg}
|
|
|
+ }
|
|
|
}
|
|
|
gls.right[2] = {
|
|
|
- LineInfo = {
|
|
|
- provider = 'LineColumn',
|
|
|
- separator = ' | ',
|
|
|
- separator_highlight = {colors.darkblue,colors.bg},
|
|
|
- highlight = {colors.grey,colors.bg},
|
|
|
- },
|
|
|
+ DiagnosticWarn = {
|
|
|
+ provider = 'DiagnosticWarn',
|
|
|
+ icon = ' ',
|
|
|
+ highlight = {colors.yellow, colors.bg}
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
gls.right[3] = {
|
|
|
- PerCent = {
|
|
|
- provider = 'LinePercent',
|
|
|
- separator = ' |',
|
|
|
- separator_highlight = {colors.darkblue,colors.bg},
|
|
|
- highlight = {colors.grey,colors.bg},
|
|
|
- }
|
|
|
+ DiagnosticHint = {
|
|
|
+ provider = 'DiagnosticHint',
|
|
|
+ icon = ' ',
|
|
|
+ highlight = {colors.blue, colors.bg}
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
gls.right[4] = {
|
|
|
- ScrollBar = {
|
|
|
- provider = 'ScrollBar',
|
|
|
- highlight = {colors.yellow,colors.purple},
|
|
|
- }
|
|
|
+ DiagnosticInfo = {
|
|
|
+ provider = 'DiagnosticInfo',
|
|
|
+ icon = ' ',
|
|
|
+ highlight = {colors.blue, colors.bg}
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+gls.right[5] = {
|
|
|
+ ShowLspClient = {
|
|
|
+ provider = 'GetLspClient',
|
|
|
+ condition = function()
|
|
|
+ local tbl = {['dashboard'] = true, [' '] = true}
|
|
|
+ if tbl[vim.bo.filetype] then return false end
|
|
|
+ return true
|
|
|
+ end,
|
|
|
+ icon = ' ',
|
|
|
+ highlight = {colors.grey, colors.bg, 'bold'}
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+gls.right[6] = {
|
|
|
+ LineInfo = {
|
|
|
+ provider = 'LineColumn',
|
|
|
+ separator = ' ',
|
|
|
+ separator_highlight = {'NONE', colors.bg},
|
|
|
+ highlight = {colors.grey, colors.bg}
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
--- gls.short_line_left[1] = {
|
|
|
--- BufferType = {
|
|
|
--- provider = 'FileTypeName',
|
|
|
--- separator = ' ',
|
|
|
--- separator_highlight = {colors.purple,colors.bg},
|
|
|
--- highlight = {colors.grey,colors.purple}
|
|
|
--- }
|
|
|
--- }
|
|
|
+gls.right[7] = {
|
|
|
+ PerCent = {
|
|
|
+ provider = 'LinePercent',
|
|
|
+ separator = ' ',
|
|
|
+ separator_highlight = {'NONE', colors.bg},
|
|
|
+ highlight = {colors.grey, colors.bg, 'bold'}
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
gls.short_line_left[1] = {
|
|
|
- LeftEnd = {
|
|
|
- provider = function() return ' ' end,
|
|
|
- separator = ' ',
|
|
|
- separator_highlight = {colors.purple,colors.bg},
|
|
|
- highlight = {colors.purple,colors.bg}
|
|
|
- }
|
|
|
+ BufferType = {
|
|
|
+ provider = 'FileTypeName',
|
|
|
+ separator = ' ',
|
|
|
+ separator_highlight = {'NONE', colors.bg},
|
|
|
+ highlight = {colors.grey, colors.bg, 'bold'}
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+gls.short_line_left[2] = {
|
|
|
+ SFileName = {
|
|
|
+ provider = 'SFileName',
|
|
|
+ condition = condition.buffer_not_empty,
|
|
|
+ highlight = {colors.grey, colors.bg, 'bold'}
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+gls.short_line_right[1] = {
|
|
|
+ BufferIcon = {provider = 'BufferIcon', highlight = {colors.grey, colors.bg}}
|
|
|
}
|