155 lines
3.9 KiB
Lua
155 lines
3.9 KiB
Lua
local vim = vim
|
|
local gl = require('galaxyline')
|
|
|
|
local condition = require('galaxyline.condition')
|
|
-- local diagnostic = require('galaxyline.provider_diagnostic')
|
|
-- local diagnostics = require('lsp-status.diagnostics')
|
|
local vcs = require('galaxyline.provider_vcs')
|
|
local fileinfo = require('galaxyline.provider_fileinfo')
|
|
-- local extension = require('galaxyline.provider_extensions')
|
|
-- local colors = require('galaxyline.colors')
|
|
-- local buffer = require('galaxyline.provider_buffer')
|
|
-- local whitespace = require('galaxyline.provider_whitespace')
|
|
-- local lspclient = require('galaxyline.provider_lsp')
|
|
local lspstatus = require('lsp-status')
|
|
|
|
|
|
-- local gls = gl.section
|
|
gl.short_line_list = { 'defx' }
|
|
|
|
-- from sonokai theme (https://github.com/sainnhe/sonokai/blob/master/autoload/sonokai.vim)
|
|
local colors = {
|
|
dark_black = '#151515',
|
|
black = '#181819',
|
|
bg0 = '#2c2e34',
|
|
bg1 = '#30323a',
|
|
bg2 = '#363944',
|
|
bg3 = '#3b3e48',
|
|
bg4 = '#414550',
|
|
|
|
bg_red = '#ff6077',
|
|
diff_red = '#55393d',
|
|
|
|
bg_green = '#a7df78',
|
|
diff_green = '#394634',
|
|
|
|
bg_blue = '#85d3f2',
|
|
diff_blue = '#354157',
|
|
|
|
yellow = '#e7c664',
|
|
diff_yellow = '#4e432f',
|
|
|
|
fg = '#e2e2e3',
|
|
|
|
red = '#fc5d7c',
|
|
orange = '#f39660',
|
|
green = '#9ed072',
|
|
blue = '#76cce0',
|
|
purple = '#b39df3',
|
|
grey = '#7f8490',
|
|
none = 'NONE',
|
|
}
|
|
|
|
|
|
local mode_color = function()
|
|
local mode_colors = {
|
|
n = colors.blue,
|
|
i = colors.green,
|
|
c = colors.yellow,
|
|
V = colors.purple,
|
|
[''] = colors.purple,
|
|
v = colors.purple,
|
|
R = colors.red,
|
|
}
|
|
|
|
local color = mode_colors[vim.fn.mode()]
|
|
|
|
if color == nil then
|
|
color = colors.red
|
|
end
|
|
|
|
return color
|
|
end
|
|
|
|
|
|
local gls = gl.section
|
|
|
|
gls.left[1] = {
|
|
ViMode = {
|
|
provider = function()
|
|
local alias = {
|
|
n = 'NORMAL',
|
|
i = 'INSERT',
|
|
c = 'COMMAND',
|
|
V = 'VISUAL',
|
|
[''] = 'VISUAL',
|
|
v = 'VISUAL',
|
|
R = 'REPLACE',
|
|
}
|
|
vim.api.nvim_command('hi GalaxyViMode guifg='..mode_color())
|
|
local alias_mode = alias[vim.fn.mode()]
|
|
if alias_mode == nil then
|
|
alias_mode = vim.fn.mode()
|
|
end
|
|
return '▋ '..alias_mode..' '
|
|
end,
|
|
highlight = { colors.fg , colors.bg2 },
|
|
separator = '',
|
|
separator_highlight = { colors.bg2 ,
|
|
function()
|
|
if condition.check_git_workspace() then
|
|
return colors.bg1
|
|
else
|
|
return colors.dark_black
|
|
end
|
|
end
|
|
},
|
|
|
|
}
|
|
}
|
|
|
|
gls.left[2] = {
|
|
GitBranch = {
|
|
provider = function() return vcs.get_git_branch()..' ' end,
|
|
condition = condition.check_git_workspace,
|
|
highlight = { colors.purple , colors.bg1 },
|
|
icon = ' ',
|
|
separator = '',
|
|
separator_highlight = { colors.bg1 , colors.dark_black },
|
|
}
|
|
}
|
|
|
|
gls.left[3] = {
|
|
ShowLspStatus = {
|
|
provider = lspstatus.status,
|
|
highlight = { colors.grey , colors.dark_black, 'bold' }
|
|
}
|
|
}
|
|
|
|
|
|
-- Right Side
|
|
gls.right[1]= {
|
|
FileFormat = {
|
|
provider = function() return ' '..fileinfo.get_file_format()..' ' end,
|
|
highlight = { colors.purple, colors.bg3 },
|
|
separator = '',
|
|
separator_highlight = { colors.bg3, colors.dark_black },
|
|
}
|
|
}
|
|
gls.right[2] = {
|
|
LineInfo = {
|
|
provider = 'LineColumn',
|
|
highlight = { colors.grey, colors.bg2 },
|
|
separator = '',
|
|
separator_highlight = { colors.bg2, colors.bg3 },
|
|
},
|
|
}
|
|
gls.right[3] = {
|
|
PerCent = {
|
|
provider = 'LinePercent',
|
|
highlight = { colors.blue, colors.bg1 },
|
|
separator = '',
|
|
separator_highlight = { colors.bg1 , colors.bg2 },
|
|
}
|
|
}
|