diff options
| author | triethyl <triethylammonium@pm.me> | 2025-07-31 17:44:05 -0400 |
|---|---|---|
| committer | triethyl <triethylammonium@pm.me> | 2025-07-31 17:44:05 -0400 |
| commit | eb02235412221124db07918dbbaf23c7b1d8580f (patch) | |
| tree | 350de102f79f944f36463939e61ef18890957e1e /pkgs/custom-neovim/config/lua/ui.lua | |
| parent | 168864226d2629279efed9630d0af8cae4c914b2 (diff) | |
neovim: renamed ui to statusline
Diffstat (limited to 'pkgs/custom-neovim/config/lua/ui.lua')
| -rw-r--r-- | pkgs/custom-neovim/config/lua/ui.lua | 156 |
1 files changed, 0 insertions, 156 deletions
diff --git a/pkgs/custom-neovim/config/lua/ui.lua b/pkgs/custom-neovim/config/lua/ui.lua deleted file mode 100644 index 62127f1..0000000 --- a/pkgs/custom-neovim/config/lua/ui.lua +++ /dev/null @@ -1,156 +0,0 @@ --- UI customizations without plugins. - --- Statusline - --- TODO: Components to add --- --- mode --- git diff --- git branch --- --- cwd --- --- lsp diagnostics --- lsp status --- position % --- location ##:## - --- Highlight pattern -local hi_pattern = '%%#%s#%s%%*' - -local statusline_components = { - - micro_spacer = function() - return " " - end, - - spacer = function() - return '%=' - end, - - old_diagnostic_status = function() - local ok = ' λ ' - - local ignore = { - ['c'] = true, -- command mode - ['t'] = true -- terminal mode - } - - local mode = vim.api.nvim_get_mode().mode - - if ignore[mode] then - return ok - end - - local levels = vim.diagnostic.severity - local errors = #vim.diagnostic.get(0, {severity = levels.ERROR}) - if errors > 0 then - return ' ✘ ' - end - - local warnings = #vim.diagnostic.get(0, {severity = levels.WARN}) - if warnings > 0 then - return ' ▲ ' - end - - return ok - end, - - diagnostic_status = function() - return "" - end, - - mode = function() - -- Note that: \19 = ^S and \22 = ^V. - local mode_to_str = { - ['n'] = 'NORMAL', - ['no'] = 'OP-PENDING', - ['nov'] = 'OP-PENDING', - ['noV'] = 'OP-PENDING', - ['no\22'] = 'OP-PENDING', - ['niI'] = 'NORMAL', - ['niR'] = 'NORMAL', - ['niV'] = 'NORMAL', - ['nt'] = 'NORMAL', - ['ntT'] = 'NORMAL', - ['v'] = 'VISUAL', - ['vs'] = 'VISUAL', - ['V'] = 'VISUAL', - ['Vs'] = 'VISUAL', - ['\22'] = 'VISUAL', - ['\22s'] = 'VISUAL', - ['s'] = 'SELECT', - ['S'] = 'SELECT', - ['\19'] = 'SELECT', - ['i'] = 'INSERT', - ['ic'] = 'INSERT', - ['ix'] = 'INSERT', - ['R'] = 'REPLACE', - ['Rc'] = 'REPLACE', - ['Rx'] = 'REPLACE', - ['Rv'] = 'VIRT REPLACE', - ['Rvc'] = 'VIRT REPLACE', - ['Rvx'] = 'VIRT REPLACE', - ['c'] = 'COMMAND', - ['cv'] = 'VIM EX', - ['ce'] = 'EX', - ['r'] = 'PROMPT', - ['rm'] = 'MORE', - ['r?'] = 'CONFIRM', - ['!'] = 'SHELL', - ['t'] = 'TERMINAL', - } - - -- Get the respective string to display. - local mode = mode_to_str[vim.api.nvim_get_mode().mode] or 'UNKNOWN' - - -- Set the highlight group. - local hl = 'MiniStatuslineModeOther' - if mode:find 'NORMAL' then - hl = 'MiniStatuslineModeNormal' - elseif mode:find 'PENDING' then - hl = 'MiniStatuslineModeNormal' - elseif mode:find 'VISUAL' then - hl = 'MiniStatuslineModeVisual' - elseif mode:find 'REPLACE' then - hl = 'MiniStatuslineModeReplace' - elseif mode:find 'INSERT' or mode:find 'SELECT' then - hl = 'MiniStatuslineModeInsert' - elseif mode:find 'COMMAND' or mode:find 'TERMINAL' or mode:find 'EX' then - hl = 'MiniStatuslineModeCommand' - end - - -- Construct the component. - return hi_pattern:format(hl, string.format(' %s ', mode)) - end, - - git_branch = function() - if vim.b.minigit_summary and vim.b.minigit_summary.head_name then - return string.format(' %s ', vim.b.minigit_summary.head_name) - else - return '' -- Return an empty string or some default value if the branch name is not available - end - end - -} - -Statusline_component = function(name) - return statusline_components[name]() -end - -local get_component = function(name) - return string.format('%%{%%v:lua.Statusline_component("%s")%%} ', name) -end - -local statusline = { - get_component("micro_spacer"), - get_component("mode"), - get_component("diagnostic_status"), - get_component("git_branch"), - get_component("spacer"), -- spacer - '%{&filetype}', -- filetype - ' %2p%%', -- progress % - ' %3l:%-2c ' -- position -} - -vim.o.statusline = table.concat(statusline, '') |
