644 lines
17 KiB
Lua
644 lines
17 KiB
Lua
|
local gl = require('galaxyline')
|
|||
|
local condition = require('galaxyline.condition')
|
|||
|
local gps = require('nvim-gps')
|
|||
|
|
|||
|
local get_relative_gitpath = function()
|
|||
|
local fpath = vim.fn.expand('%:h')
|
|||
|
local fname = vim.fn.expand('%:t')
|
|||
|
local gitpath = vim.fn.systemlist('git rev-parse --show-toplevel')[1]
|
|||
|
local ellipsis = '...'
|
|||
|
local relative_gitpath = fpath:gsub(gitpath, '') .. '/' .. fname
|
|||
|
|
|||
|
if vim.fn.winwidth(0) < 200 and #relative_gitpath > 30 then
|
|||
|
return ellipsis .. relative_gitpath:sub(25, #relative_gitpath)
|
|||
|
end
|
|||
|
|
|||
|
return relative_gitpath
|
|||
|
end
|
|||
|
|
|||
|
local function u(code)
|
|||
|
if type(code) == 'string' then
|
|||
|
code = tonumber('0x' .. code)
|
|||
|
end
|
|||
|
local c = string.char
|
|||
|
if code <= 0x7f then
|
|||
|
return c(code)
|
|||
|
end
|
|||
|
local t = {}
|
|||
|
|
|||
|
if code <= 0x07ff then
|
|||
|
t[1] = c(bit.bor(0xc0, bit.rshift(code, 6)))
|
|||
|
t[2] = c(bit.bor(0x80, bit.band(code, 0x3f)))
|
|||
|
elseif code <= 0xffff then
|
|||
|
t[1] = c(bit.bor(0xe0, bit.rshift(code, 12)))
|
|||
|
t[2] = c(bit.bor(0x80, bit.band(bit.rshift(code, 6), 0x3f)))
|
|||
|
t[3] = c(bit.bor(0x80, bit.band(code, 0x3f)))
|
|||
|
else
|
|||
|
t[1] = c(bit.bor(0xf0, bit.rshift(code, 18)))
|
|||
|
t[2] = c(bit.bor(0x80, bit.band(bit.rshift(code, 12), 0x3f)))
|
|||
|
t[3] = c(bit.bor(0x80, bit.band(bit.rshift(code, 6), 0x3f)))
|
|||
|
t[4] = c(bit.bor(0x80, bit.band(code, 0x3f)))
|
|||
|
end
|
|||
|
|
|||
|
return table.concat(t)
|
|||
|
end
|
|||
|
|
|||
|
local function highlight(group, fg, bg, gui)
|
|||
|
local cmd = string.format('highlight %s guifg=%s guibg=%s', group, fg, bg)
|
|||
|
|
|||
|
if gui ~= nil then
|
|||
|
cmd = cmd .. ' gui=' .. gui
|
|||
|
end
|
|||
|
|
|||
|
vim.cmd(cmd)
|
|||
|
end
|
|||
|
|
|||
|
local lineLengthWarning = 80
|
|||
|
local lineLengthError = 120
|
|||
|
local leftbracket = '' -- Curve.
|
|||
|
local rightbracket = '' -- Curve.
|
|||
|
|
|||
|
gl.short_line_list = { 'NvimTree', 'vista', 'dbui', 'packer', 'tagbar' }
|
|||
|
local gls = gl.section
|
|||
|
|
|||
|
local colors = {
|
|||
|
bg = nil,
|
|||
|
modetext = '#000000',
|
|||
|
|
|||
|
giticon = '#FF8800',
|
|||
|
gitbg = '#5C2C2E',
|
|||
|
gittext = '#C5C5C5',
|
|||
|
|
|||
|
diagerror = '#F44747',
|
|||
|
diagwarn = '#FF8800',
|
|||
|
diaghint = '#4FC1FF',
|
|||
|
diaginfo = '#FFCC66',
|
|||
|
|
|||
|
lspicon = '#68AF00',
|
|||
|
lspbg = '#304B2E',
|
|||
|
lsptext = '#C5C5C5',
|
|||
|
|
|||
|
typeicon = '#FF8800',
|
|||
|
typebg = '#5C2C2E',
|
|||
|
typetext = '#C5C5C5',
|
|||
|
|
|||
|
statsicon = '#9CDCFE',
|
|||
|
statsbg = '#5080A0',
|
|||
|
statstext = '#000000',
|
|||
|
|
|||
|
lineokfg = '#000000',
|
|||
|
lineokbg = '#5080A0',
|
|||
|
linelongerrorfg = '#FF0000',
|
|||
|
linelongwarnfg = '#FFFF00',
|
|||
|
linelongbg = '#5080A0',
|
|||
|
|
|||
|
shortbg = '#DCDCAA',
|
|||
|
shorttext = '#000000',
|
|||
|
|
|||
|
shortrightbg = '#3F3F3F',
|
|||
|
shortrighttext = '#7C4C4E',
|
|||
|
|
|||
|
gpsbg = '#5C00A3',
|
|||
|
gpstext = '#C5C5C5',
|
|||
|
|
|||
|
red = '#D16969',
|
|||
|
yellow = '#DCDCAA',
|
|||
|
magenta = '#D16D9E',
|
|||
|
green = '#608B4E',
|
|||
|
orange = '#FF8800',
|
|||
|
purple = '#C586C0',
|
|||
|
blue = '#569CD6',
|
|||
|
cyan = '#4EC9B0',
|
|||
|
}
|
|||
|
|
|||
|
local mode_map = {
|
|||
|
['n'] = { '#569CD6', 'NORMAL' },
|
|||
|
['i'] = { '#D16969', 'INSERT' },
|
|||
|
['R'] = { '#D16969', 'REPLACE' },
|
|||
|
['c'] = { '#608B4E', 'COMMAND' },
|
|||
|
['v'] = { '#C586C0', 'VISUAL' },
|
|||
|
['V'] = { '#C586C0', 'VIS-LN' },
|
|||
|
[''] = { '#C586C0', 'VIS-BLK' },
|
|||
|
['s'] = { '#FF8800', 'SELECT' },
|
|||
|
['S'] = { '#FF8800', 'SEL-LN' },
|
|||
|
[''] = { '#DCDCAA', 'SEL-BLK' },
|
|||
|
['t'] = { '#569CD6', 'TERMINAL' },
|
|||
|
['Rv'] = { '#D16D69', 'VIR-REP' },
|
|||
|
['rm'] = { '#FF0000', '- More -' },
|
|||
|
['r'] = { '#FF0000', '- Hit-Enter -' },
|
|||
|
['r?'] = { '#FF0000', '- Confirm -' },
|
|||
|
['cv'] = { '#569CD6', 'Vim Ex Mode' },
|
|||
|
['ce'] = { '#569CD6', 'Normal Ex Mode' },
|
|||
|
['!'] = { '#569CD6', 'Shell Running' },
|
|||
|
['ic'] = { '#DCDCAA', 'Insert mode completion |compl-generic|' },
|
|||
|
['no'] = { '#DCDCAA', 'Operator-pending' },
|
|||
|
['nov'] = { '#DCDCAA', 'Operator-pending (forced charwise |o_v|)' },
|
|||
|
['noV'] = { '#DCDCAA', 'Operator-pending (forced linewise |o_V|)' },
|
|||
|
['noCTRL-V'] = { '#DCDCAA', 'Operator-pending (forced blockwise |o_CTRL-V|) CTRL-V is one character' },
|
|||
|
['niI'] = { '#DCDCAA', 'Normal using |i_CTRL-O| in |Insert-mode|' },
|
|||
|
['niR'] = { '#DCDCAA', 'Normal using |i_CTRL-O| in |Replace-mode|' },
|
|||
|
['niV'] = { '#DCDCAA', 'Normal using |i_CTRL-O| in |Virtual-Replace-mode|' },
|
|||
|
['ix'] = { '#DCDCAA', 'Insert mode |i_CTRL-X| completion' },
|
|||
|
['Rc'] = { '#DCDCAA', 'Replace mode completion |compl-generic|' },
|
|||
|
['Rx'] = { '#DCDCAA', 'Replace mode |i_CTRL-X| completion' },
|
|||
|
}
|
|||
|
|
|||
|
local icons = {
|
|||
|
vim = u('e62b'),
|
|||
|
dos = u('e70f'),
|
|||
|
unix = u('f17c'),
|
|||
|
mac = u('f179'),
|
|||
|
}
|
|||
|
|
|||
|
local function setLineWidthColours()
|
|||
|
local colbg = colors.statsbg
|
|||
|
local linebg = colors.statsbg
|
|||
|
|
|||
|
if vim.fn.col('.') > lineLengthError then
|
|||
|
colbg = colors.linelongerrorfg
|
|||
|
elseif vim.fn.col('.') > lineLengthWarning then
|
|||
|
colbg = colors.linelongwarnfg
|
|||
|
end
|
|||
|
|
|||
|
if vim.fn.strwidth(vim.fn.getline('.')) > lineLengthError then
|
|||
|
linebg = colors.linelongerrorfg
|
|||
|
elseif vim.fn.strwidth(vim.fn.getline('.')) > lineLengthWarning then
|
|||
|
linebg = colors.linelongwarnfg
|
|||
|
end
|
|||
|
|
|||
|
highlight('LinePosHighlightStart', colbg, colors.statsbg)
|
|||
|
highlight('LinePosHighlightColNum', colors.statstext, colbg)
|
|||
|
highlight('LinePosHighlightMid', linebg, colbg)
|
|||
|
highlight('LineLenHighlightLenNum', colors.statstext, linebg)
|
|||
|
highlight('LinePosHighlightEnd', linebg, colors.statsbg)
|
|||
|
end
|
|||
|
gls.left = {}
|
|||
|
|
|||
|
table.insert(gls.left, {
|
|||
|
ViModeSpaceOnFarLeft = {
|
|||
|
provider = function()
|
|||
|
return ' '
|
|||
|
end,
|
|||
|
highlight = { colors.giticon, colors.bg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.left, {
|
|||
|
ViModeLeft = {
|
|||
|
provider = function()
|
|||
|
highlight('ViModeHighlight', mode_map[vim.fn.mode()][1], colors.bg)
|
|||
|
return leftbracket
|
|||
|
end,
|
|||
|
highlight = 'ViModeHighlight',
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.left, {
|
|||
|
ViModeIconAndText = {
|
|||
|
provider = function()
|
|||
|
highlight('GalaxyViMode', colors.modetext, mode_map[vim.fn.mode()][1])
|
|||
|
|
|||
|
return icons['vim'] .. ' ' .. mode_map[vim.fn.mode()][2]
|
|||
|
end,
|
|||
|
highlight = 'GalaxyViMode',
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.left, {
|
|||
|
ViModeRight = {
|
|||
|
provider = function()
|
|||
|
return rightbracket
|
|||
|
end,
|
|||
|
separator = ' ',
|
|||
|
separator_highlight = 'ViModeHighlight',
|
|||
|
highlight = 'ViModeHighlight',
|
|||
|
},
|
|||
|
})
|
|||
|
|
|||
|
table.insert(gls.left, {
|
|||
|
GitStart = {
|
|||
|
provider = function()
|
|||
|
return leftbracket
|
|||
|
end,
|
|||
|
condition = condition.check_git_workspace,
|
|||
|
highlight = { colors.giticon, colors.bg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.left, {
|
|||
|
GitIcon = {
|
|||
|
provider = function()
|
|||
|
return ' '
|
|||
|
end,
|
|||
|
condition = condition.check_git_workspace,
|
|||
|
separator = '',
|
|||
|
separator_highlight = { 'NONE', colors.giticon },
|
|||
|
highlight = { colors.gitbg, colors.giticon },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.left, {
|
|||
|
GitMid = {
|
|||
|
provider = function()
|
|||
|
return rightbracket .. ' '
|
|||
|
end,
|
|||
|
condition = condition.check_git_workspace,
|
|||
|
highlight = { colors.giticon, colors.gitbg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.left, {
|
|||
|
GitBranch = {
|
|||
|
provider = 'GitBranch',
|
|||
|
condition = condition.check_git_workspace,
|
|||
|
separator = ' ',
|
|||
|
separator_highlight = { 'NONE', colors.gitbg },
|
|||
|
highlight = { colors.gittext, colors.gitbg },
|
|||
|
},
|
|||
|
})
|
|||
|
|
|||
|
table.insert(gls.left, {
|
|||
|
DiffAdd = {
|
|||
|
provider = 'DiffAdd',
|
|||
|
condition = condition.check_git_workspace,
|
|||
|
icon = ' ',
|
|||
|
highlight = { colors.green, colors.gitbg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.left, {
|
|||
|
DiffModified = {
|
|||
|
provider = 'DiffModified',
|
|||
|
condition = condition.check_git_workspace,
|
|||
|
icon = ' ',
|
|||
|
highlight = { colors.blue, colors.gitbg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.left, {
|
|||
|
DiffRemove = {
|
|||
|
provider = 'DiffRemove',
|
|||
|
condition = condition.check_git_workspace,
|
|||
|
icon = ' ',
|
|||
|
highlight = { colors.red, colors.gitbg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.left, {
|
|||
|
EndGit = {
|
|||
|
provider = function()
|
|||
|
return rightbracket
|
|||
|
end,
|
|||
|
condition = condition.check_git_workspace,
|
|||
|
separator = ' ',
|
|||
|
separator_highlight = { colors.gitbg, colors.bg },
|
|||
|
highlight = { colors.gitbg, colors.bg },
|
|||
|
},
|
|||
|
})
|
|||
|
|
|||
|
table.insert(gls.left, {
|
|||
|
LspStart = {
|
|||
|
provider = function()
|
|||
|
return leftbracket
|
|||
|
end,
|
|||
|
highlight = { colors.lspicon, colors.bg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.left, {
|
|||
|
LspIcon = {
|
|||
|
provider = function()
|
|||
|
local name = ''
|
|||
|
if gl.lspclient ~= nil then
|
|||
|
name = gl.lspclient()
|
|||
|
end
|
|||
|
return '' .. name
|
|||
|
end,
|
|||
|
highlight = { colors.lspbg, colors.lspicon },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.left, {
|
|||
|
LspMid = {
|
|||
|
provider = function()
|
|||
|
return rightbracket .. ' '
|
|||
|
end,
|
|||
|
highlight = { colors.lspicon, colors.lspbg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.left, {
|
|||
|
ShowLspClient = {
|
|||
|
provider = 'GetLspClient',
|
|||
|
highlight = { colors.textbg, colors.lspbg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.left, {
|
|||
|
LspSpace = {
|
|||
|
provider = function()
|
|||
|
return ' '
|
|||
|
end,
|
|||
|
highlight = { colors.lspicon, colors.lspbg },
|
|||
|
},
|
|||
|
})
|
|||
|
|
|||
|
table.insert(gls.left, {
|
|||
|
DiagnosticError = {
|
|||
|
provider = 'DiagnosticError',
|
|||
|
icon = ' ',
|
|||
|
separator_highlight = { colors.gitbg, colors.bg },
|
|||
|
highlight = { colors.diagerror, colors.lspbg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.left, {
|
|||
|
DiagnosticWarn = {
|
|||
|
provider = 'DiagnosticWarn',
|
|||
|
icon = ' ',
|
|||
|
highlight = { colors.diagwarn, colors.lspbg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.left, {
|
|||
|
DiagnosticHint = {
|
|||
|
provider = 'DiagnosticHint',
|
|||
|
icon = ' ',
|
|||
|
highlight = { colors.diaghint, colors.lspbg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.left, {
|
|||
|
DiagnosticInfo = {
|
|||
|
provider = 'DiagnosticInfo',
|
|||
|
icon = ' ',
|
|||
|
highlight = { colors.diaginfo, colors.lspbg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.left, {
|
|||
|
LspSectionEnd = {
|
|||
|
provider = function()
|
|||
|
return rightbracket .. ' '
|
|||
|
end,
|
|||
|
highlight = { colors.lspbg, colors.bg },
|
|||
|
},
|
|||
|
})
|
|||
|
|
|||
|
table.insert(gls.left, {
|
|||
|
nvimGPS = {
|
|||
|
provider = function()
|
|||
|
return gps.get_location()
|
|||
|
end,
|
|||
|
condition = function()
|
|||
|
return gps.is_available() and #gps.get_location() > 0
|
|||
|
end,
|
|||
|
highlight = { colors.gpstext, colors.bg },
|
|||
|
},
|
|||
|
})
|
|||
|
|
|||
|
gls.right = {}
|
|||
|
|
|||
|
table.insert(gls.right, {
|
|||
|
TypeStart = {
|
|||
|
provider = function()
|
|||
|
return leftbracket
|
|||
|
end,
|
|||
|
highlight = { colors.typeicon, colors.bg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.right, {
|
|||
|
TypeFileFormatIcon = {
|
|||
|
provider = function()
|
|||
|
local icon = icons[vim.bo.fileformat] or ''
|
|||
|
return string.format(' %s', icon)
|
|||
|
end,
|
|||
|
highlight = { colors.typebg, colors.typeicon },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.right, {
|
|||
|
TypeMid = {
|
|||
|
provider = function()
|
|||
|
return rightbracket .. ' '
|
|||
|
end,
|
|||
|
highlight = { colors.typeicon, colors.typebg },
|
|||
|
},
|
|||
|
})
|
|||
|
|
|||
|
table.insert(gls.right, {
|
|||
|
FileName = {
|
|||
|
provider = function()
|
|||
|
if #vim.fn.expand('%:p') == 0 then
|
|||
|
return ''
|
|||
|
end
|
|||
|
return get_relative_gitpath() .. ' '
|
|||
|
end,
|
|||
|
separator_highlight = { 'NONE', colors.typebg },
|
|||
|
highlight = { colors.typetext, colors.typebg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.right, {
|
|||
|
FileIcon = {
|
|||
|
provider = 'FileIcon',
|
|||
|
highlight = { colors.typeicon, colors.typebg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.right, {
|
|||
|
BufferType = {
|
|||
|
provider = 'FileTypeName',
|
|||
|
highlight = { colors.typetext, colors.typebg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.right, {
|
|||
|
FileSize = {
|
|||
|
provider = 'FileSize',
|
|||
|
separator = ' ',
|
|||
|
separator_highlight = { colors.typeicon, colors.typebg },
|
|||
|
highlight = { colors.typetext, colors.typebg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.right, {
|
|||
|
FileEncode = {
|
|||
|
provider = 'FileEncode',
|
|||
|
separator = '',
|
|||
|
separator_highlight = { colors.typeicon, colors.typebg },
|
|||
|
highlight = { colors.typetext, colors.typebg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.right, {
|
|||
|
TypeSectionEnd = {
|
|||
|
provider = function()
|
|||
|
return rightbracket
|
|||
|
end,
|
|||
|
highlight = { colors.typebg, colors.bg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.right, {
|
|||
|
Space = {
|
|||
|
provider = function()
|
|||
|
return ' '
|
|||
|
end,
|
|||
|
highlight = { colors.typebg, colors.bg },
|
|||
|
},
|
|||
|
})
|
|||
|
|
|||
|
table.insert(gls.right, {
|
|||
|
StatsSectionStart = {
|
|||
|
provider = function()
|
|||
|
return leftbracket
|
|||
|
end,
|
|||
|
highlight = { colors.statsicon, colors.bg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.right, {
|
|||
|
StatsIcon = {
|
|||
|
provider = function()
|
|||
|
return '⅑'
|
|||
|
end,
|
|||
|
highlight = { colors.statsbg, colors.statsicon },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.right, {
|
|||
|
StatsMid = {
|
|||
|
provider = function()
|
|||
|
return rightbracket .. ' '
|
|||
|
end,
|
|||
|
highlight = { colors.statsicon, colors.statsbg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.right, {
|
|||
|
PerCent = {
|
|||
|
provider = 'LinePercent',
|
|||
|
highlight = { colors.statstext, colors.statsbg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.right, {
|
|||
|
VerticalPosAndSize = {
|
|||
|
provider = function()
|
|||
|
return string.format('%4i /%4i ', vim.fn.line('.'), vim.fn.line('$'))
|
|||
|
end,
|
|||
|
separator = ' ',
|
|||
|
separator_highlight = { colors.statsicon, colors.statsbg },
|
|||
|
highlight = { colors.statstext, colors.statsbg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.right, {
|
|||
|
CursorColumnStart = {
|
|||
|
provider = function()
|
|||
|
return leftbracket
|
|||
|
end,
|
|||
|
separator = ' ',
|
|||
|
separator_highlight = { colors.statsicon, colors.statsbg },
|
|||
|
highlight = 'LinePosHighlightStart',
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.right, {
|
|||
|
CursorColumn = {
|
|||
|
provider = function()
|
|||
|
setLineWidthColours()
|
|||
|
return '' .. string.format('%3i', vim.fn.col('.')) .. ' /'
|
|||
|
end,
|
|||
|
highlight = 'LinePosHighlightColNum',
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.right, {
|
|||
|
LineLengthStart = {
|
|||
|
provider = function()
|
|||
|
return ' ' .. leftbracket
|
|||
|
end,
|
|||
|
highlight = 'LinePosHighlightMid',
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.right, {
|
|||
|
LineLength = {
|
|||
|
provider = function()
|
|||
|
return ' ' .. string.format('%3i', string.len(vim.fn.getline('.')))
|
|||
|
end,
|
|||
|
highlight = 'LineLenHighlightLenNum',
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.right, {
|
|||
|
LineLengthEnd = {
|
|||
|
provider = function()
|
|||
|
return ' ' .. rightbracket .. ' '
|
|||
|
end,
|
|||
|
highlight = 'LinePosHighlightEnd',
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.right, {
|
|||
|
TabOrSpace = {
|
|||
|
provider = function()
|
|||
|
if vim.bo.expandtab then
|
|||
|
return ' '
|
|||
|
else
|
|||
|
return ' '
|
|||
|
end
|
|||
|
end,
|
|||
|
condition = condition.hide_in_width,
|
|||
|
highlight = { colors.statsicon, colors.statsbg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.right, {
|
|||
|
Tabstop = {
|
|||
|
provider = function()
|
|||
|
if vim.bo.expandtab then
|
|||
|
return vim.bo.shiftwidth
|
|||
|
else
|
|||
|
return vim.bo.shiftwidth
|
|||
|
end
|
|||
|
end,
|
|||
|
condition = condition.hide_in_width,
|
|||
|
highlight = { colors.statstext, colors.statsbg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.right, {
|
|||
|
StatsSpcSectionEnd = {
|
|||
|
provider = function()
|
|||
|
return rightbracket .. ' '
|
|||
|
end,
|
|||
|
highlight = { colors.statsbg, colors.bg },
|
|||
|
},
|
|||
|
})
|
|||
|
|
|||
|
gls.short_line_left = {}
|
|||
|
|
|||
|
table.insert(gls.short_line_left, {
|
|||
|
ShortSectionStart = {
|
|||
|
provider = function()
|
|||
|
return leftbracket
|
|||
|
end,
|
|||
|
highlight = { colors.shortbg, colors.bg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.short_line_left, {
|
|||
|
ShortSectionSpace = {
|
|||
|
provider = function()
|
|||
|
return ' '
|
|||
|
end,
|
|||
|
highlight = { colors.shorttext, colors.shortbg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.short_line_left, {
|
|||
|
LeftShortName = {
|
|||
|
provider = 'FileTypeName',
|
|||
|
highlight = { colors.shorttext, colors.shortbg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.short_line_left, {
|
|||
|
ShortSectionMid = {
|
|||
|
provider = function()
|
|||
|
return ' '
|
|||
|
end,
|
|||
|
highlight = { colors.shortbg, colors.shortbg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.short_line_left, {
|
|||
|
LeftShortFileName = {
|
|||
|
provider = 'SFileName',
|
|||
|
condition = condition.buffer_not_empty,
|
|||
|
separator_highlight = { colors.shorttext, colors.shortbg },
|
|||
|
highlight = { colors.shorttext, colors.shortbg },
|
|||
|
},
|
|||
|
})
|
|||
|
table.insert(gls.short_line_left, {
|
|||
|
ShortSectionEnd = {
|
|||
|
provider = function()
|
|||
|
return rightbracket
|
|||
|
end,
|
|||
|
highlight = { colors.shortbg, colors.bg },
|
|||
|
},
|
|||
|
})
|
|||
|
|
|||
|
gls.short_line_right = {}
|
|||
|
|
|||
|
table.insert(gls.short_line_right, {
|
|||
|
BufferIcon = {
|
|||
|
provider = 'BufferIcon',
|
|||
|
separator_highlight = { colors.shorttext, colors.bg },
|
|||
|
highlight = { colors.shortrighttext, colors.bg },
|
|||
|
},
|
|||
|
})
|