2021-10-16 18:00:48 +02:00
|
|
|
|
--[[ local vi_mode_utils = require 'feline.providers.vi_mode'
|
|
|
|
|
|
|
|
|
|
|
|
local vi_mode_colors = {
|
|
|
|
|
|
NORMAL = "#8cc85f",
|
|
|
|
|
|
INSERT = "#ff5454",
|
|
|
|
|
|
VISUAL = "#ae81ff",
|
|
|
|
|
|
OP = "#36c692",
|
|
|
|
|
|
BLOCK = "#80a0ff",
|
|
|
|
|
|
REPLACE = "#d183e8",
|
|
|
|
|
|
['V-REPLACE'] = "#d183e8",
|
|
|
|
|
|
ENTER = "#74b2ff",
|
|
|
|
|
|
MORE = "#74b2ff",
|
|
|
|
|
|
SELECT = "#de935f",
|
|
|
|
|
|
COMMAND = "#8cc85f",
|
|
|
|
|
|
SHELL = "#8cc85f",
|
|
|
|
|
|
TERM = "#8cc85f",
|
|
|
|
|
|
NONE = "#e3c78a"
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
local function vimode_hl()
|
|
|
|
|
|
return {
|
|
|
|
|
|
name = vi_mode_utils.get_mode_highlight_name(),
|
|
|
|
|
|
fg = vi_mode_utils.get_mode_color()
|
|
|
|
|
|
}
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
local cmps = {
|
|
|
|
|
|
vi_mode = {
|
|
|
|
|
|
provider = '▊',
|
|
|
|
|
|
hl = vimode_hl,
|
|
|
|
|
|
right_sep = ' '
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
local components = {
|
|
|
|
|
|
left = {
|
|
|
|
|
|
active = {
|
|
|
|
|
|
cmps.vi_mode
|
|
|
|
|
|
},
|
|
|
|
|
|
inactive = {}
|
|
|
|
|
|
},
|
|
|
|
|
|
mid = {
|
|
|
|
|
|
active = {},
|
|
|
|
|
|
inactive = {}
|
|
|
|
|
|
},
|
|
|
|
|
|
right = {
|
|
|
|
|
|
active = {},
|
|
|
|
|
|
inactive = {}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
require'feline'.setup {
|
|
|
|
|
|
components = components,
|
|
|
|
|
|
vi_mode_colors = vi_mode_colors
|
|
|
|
|
|
} ]]
|
|
|
|
|
|
|
2021-06-20 18:55:56 +02:00
|
|
|
|
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',
|
|
|
|
|
|
violet = '#6860e7'
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
local buffer_not_empty = function()
|
|
|
|
|
|
if vim.fn.empty(vim.fn.expand('%:t')) ~= 1 then
|
|
|
|
|
|
return true
|
|
|
|
|
|
end
|
|
|
|
|
|
return false
|
|
|
|
|
|
end
|
|
|
|
|
|
|
2021-10-16 18:00:48 +02:00
|
|
|
|
local fileinfo = require("galaxyline.providers.fileinfo")
|
|
|
|
|
|
|
2021-06-20 18:55:56 +02:00
|
|
|
|
-- Start of line
|
|
|
|
|
|
gls.left[1] = {
|
|
|
|
|
|
FirstElement = {
|
|
|
|
|
|
provider = function() return '▋' end,
|
|
|
|
|
|
highlight = {colors.blue,colors.yellow}
|
|
|
|
|
|
},
|
|
|
|
|
|
}
|
|
|
|
|
|
-- Vim mode
|
|
|
|
|
|
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.darkblue
|
|
|
|
|
|
end},
|
|
|
|
|
|
highlight = {colors.violet,colors.yellow,'bold'},
|
|
|
|
|
|
},
|
|
|
|
|
|
}
|
|
|
|
|
|
-- File Icon
|
|
|
|
|
|
gls.left[3] ={
|
|
|
|
|
|
FileIcon = {
|
|
|
|
|
|
provider = 'FileIcon',
|
|
|
|
|
|
condition = buffer_not_empty,
|
2021-10-16 18:00:48 +02:00
|
|
|
|
highlight = {fileinfo.get_file_icon_color,colors.darkblue},
|
2021-06-20 18:55:56 +02:00
|
|
|
|
},
|
|
|
|
|
|
}
|
|
|
|
|
|
-- File Name
|
|
|
|
|
|
gls.left[4] = {
|
|
|
|
|
|
FileName = {
|
|
|
|
|
|
provider = {'FileName'},
|
|
|
|
|
|
condition = buffer_not_empty,
|
|
|
|
|
|
separator = '',
|
|
|
|
|
|
separator_highlight = {colors.purple,colors.darkblue},
|
|
|
|
|
|
highlight = {colors.magenta,colors.darkblue}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
-- GIT
|
|
|
|
|
|
gls.left[5] = {
|
|
|
|
|
|
GitIcon = {
|
|
|
|
|
|
provider = function() return ' ' end,
|
|
|
|
|
|
condition = buffer_not_empty,
|
|
|
|
|
|
highlight = {colors.orange,colors.purple},
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
gls.left[6] = {
|
|
|
|
|
|
GitBranch = {
|
|
|
|
|
|
provider = 'GitBranch',
|
|
|
|
|
|
condition = buffer_not_empty,
|
|
|
|
|
|
highlight = {colors.grey,colors.purple},
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2021-10-16 18:00:48 +02:00
|
|
|
|
local vcs = require("galaxyline.providers.vcs")
|
2021-06-20 18:55:56 +02:00
|
|
|
|
|
|
|
|
|
|
local is_file_diff = function ()
|
|
|
|
|
|
if vcs.diff_add() ~= nil or vcs.diff_modified() ~= nil or vcs.diff_remove() ~= nil then
|
|
|
|
|
|
return ''
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
gls.left[7] = {
|
|
|
|
|
|
GitModified = {
|
|
|
|
|
|
provider = is_file_diff,
|
|
|
|
|
|
highlight = {colors.green,colors.purple},
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
gls.left[8] = {
|
|
|
|
|
|
LeftEnd = {
|
|
|
|
|
|
provider = function() return '' end,
|
|
|
|
|
|
separator = '',
|
|
|
|
|
|
separator_highlight = {colors.purple,colors.bg},
|
|
|
|
|
|
highlight = {colors.purple,colors.purple}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
local lsp_diag_error = function()
|
|
|
|
|
|
local diagnostics = require('lsp-status/diagnostics')
|
|
|
|
|
|
local buf_diagnostics = diagnostics()
|
|
|
|
|
|
|
|
|
|
|
|
if buf_diagnostics.errors and buf_diagnostics.errors > 0 then
|
|
|
|
|
|
return buf_diagnostics.errors .. ' '
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
local lsp_diag_warn = function()
|
|
|
|
|
|
local diagnostics = require('lsp-status/diagnostics')
|
|
|
|
|
|
local buf_diagnostics = diagnostics()
|
|
|
|
|
|
|
|
|
|
|
|
if buf_diagnostics.warnings and buf_diagnostics.warnings > 0 then
|
|
|
|
|
|
return buf_diagnostics.warnings .. ' '
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
local lsp_diag_info = function()
|
|
|
|
|
|
local diagnostics = require('lsp-status/diagnostics')
|
|
|
|
|
|
local buf_diagnostics = diagnostics()
|
|
|
|
|
|
|
|
|
|
|
|
if buf_diagnostics.info and buf_diagnostics.info > 0 then
|
|
|
|
|
|
return buf_diagnostics.info .. ' '
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
local has_lsp = function ()
|
|
|
|
|
|
return #vim.lsp.buf_get_clients() > 0
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
local has_curent_func = function ()
|
|
|
|
|
|
if not has_lsp then
|
|
|
|
|
|
return false
|
|
|
|
|
|
end
|
|
|
|
|
|
local current_function = vim.b.lsp_current_function
|
|
|
|
|
|
return current_function and current_function ~= ''
|
|
|
|
|
|
end
|
|
|
|
|
|
local lsp_current_func = function ()
|
|
|
|
|
|
local current_function = vim.b.lsp_current_function
|
|
|
|
|
|
if current_function and current_function ~= '' then
|
|
|
|
|
|
return '(' .. current_function .. ') '
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gls.right[1] = {
|
|
|
|
|
|
LspText = {
|
|
|
|
|
|
provider = function() return '' end,
|
|
|
|
|
|
separator = '',
|
|
|
|
|
|
separator_highlight = {colors.darkblue,colors.bg},
|
|
|
|
|
|
highlight = {colors.grey,colors.darkblue},
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
gls.right[2] = {
|
|
|
|
|
|
LspError = {
|
|
|
|
|
|
provider = lsp_diag_error,
|
|
|
|
|
|
condition = has_lsp,
|
|
|
|
|
|
icon = ' ',
|
|
|
|
|
|
highlight = {colors.grey,colors.darkblue},
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
gls.right[3] = {
|
|
|
|
|
|
LspWarning = {
|
|
|
|
|
|
provider = lsp_diag_warn,
|
|
|
|
|
|
condition = has_lsp,
|
|
|
|
|
|
icon = ' ',
|
|
|
|
|
|
highlight = {colors.grey,colors.darkblue},
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
gls.right[4] = {
|
|
|
|
|
|
LspInfo = {
|
|
|
|
|
|
provider = lsp_diag_info,
|
|
|
|
|
|
condition = has_lsp,
|
|
|
|
|
|
icon = ' ',
|
|
|
|
|
|
highlight = {colors.grey,colors.darkblue},
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
gls.right[5] = {
|
|
|
|
|
|
LspCurrentFunc = {
|
|
|
|
|
|
provider = lsp_current_func,
|
|
|
|
|
|
condition = has_current_func,
|
|
|
|
|
|
icon = '𝒇',
|
|
|
|
|
|
highlight = {colors.grey,colors.darkblue},
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
gls.right[6]= {
|
|
|
|
|
|
FileFormat = {
|
|
|
|
|
|
provider = 'FileFormat',
|
|
|
|
|
|
separator = '',
|
|
|
|
|
|
separator_highlight = {colors.darkblue,colors.purple},
|
|
|
|
|
|
highlight = {colors.grey,colors.purple},
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
gls.right[7] = {
|
|
|
|
|
|
LineInfo = {
|
|
|
|
|
|
provider = 'LineColumn',
|
|
|
|
|
|
separator = ' | ',
|
|
|
|
|
|
separator_highlight = {colors.darkblue,colors.purple},
|
|
|
|
|
|
highlight = {colors.grey,colors.purple},
|
|
|
|
|
|
},
|
|
|
|
|
|
}
|
|
|
|
|
|
gls.right[8] = {
|
|
|
|
|
|
PerCent = {
|
|
|
|
|
|
provider = 'LinePercent',
|
|
|
|
|
|
separator = '',
|
|
|
|
|
|
separator_highlight = {colors.darkblue,colors.purple},
|
|
|
|
|
|
highlight = {colors.grey,colors.darkblue},
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
gls.right[9] = {
|
|
|
|
|
|
ScrollBar = {
|
|
|
|
|
|
provider = 'ScrollBar',
|
|
|
|
|
|
highlight = {colors.yellow,colors.purple},
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|