diff options
| author | JP Appel <jeanpierre.appel01@gmail.com> | 2025-08-02 15:18:59 -0400 |
|---|---|---|
| committer | JP Appel <jeanpierre.appel01@gmail.com> | 2025-08-02 15:18:59 -0400 |
| commit | ec57ff354270d3edcf473956996ff1f2e315c1aa (patch) | |
| tree | 91a08800a76c7f7966a60ab9379a22aa592b3661 /nvim/init.lua | |
| parent | 612c5f215cec931be5f3ed6d73feb2b69f68ebfe (diff) | |
Move nvim statusline, Fix bugs, Change binds
Diffstat (limited to 'nvim/init.lua')
| -rw-r--r-- | nvim/init.lua | 98 |
1 files changed, 4 insertions, 94 deletions
diff --git a/nvim/init.lua b/nvim/init.lua index f6f837d..71bee88 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -30,7 +30,7 @@ require("lazy").setup('plugins', { } }) require('keymap') - +require('lsp') -- General Config vim.opt.number = true @@ -39,7 +39,9 @@ vim.opt.cursorline = true vim.opt.linebreak = true vim.opt.title = true vim.opt.showmatch = true +vim.opt.showmode = false vim.opt.mouse = "anv" +vim.opt.winborder = "single" --change mouse menu vim.api.nvim_command([[aunmenu PopUp.How-to\ disable\ mouse]]) @@ -50,99 +52,7 @@ vim.opt.signcolumn = "yes" -- Status line vim.opt.laststatus = 3 - --- NOTE: potential issues using non-monotonic clock --- use uv.new_timer -local debounce = { - diagnostic = vim.uv.new_timer() -} - -debounce.diagnostic:start(50, 0, function() -end) - -local statusline_group = vim.api.nvim_create_augroup("custom.statusline", { clear = false }) -vim.api.nvim_create_autocmd('DiagnosticChanged', { - desc = "Set diagnostic counts for statusline", - group = statusline_group, - callback = function(_) - if debounce.diagnostic:get_due_in() ~= 0 then - return - end - debounce.diagnostic:start(50, 0, function() end) - - local counts = vim.diagnostic.count() - local s = '' - for i = 1, 4, 1 do - if counts[i] ~= nil then - if #s > 0 then - s = s .. ' | ' - end - - if i == 1 then - s = s .. "%#DiagnosticError#E:" - elseif i == 2 then - s = s .. "%#DiagnosticWarn#W:" - elseif i == 3 then - s = s .. "%#DiagnosticInfo#I:" - elseif i == 4 then - s = s .. "%#DiagnosticHint#H:" - end - s = s .. tostring(counts[i]) .. "%*" - end - end - vim.api.nvim_set_var('diagnosticCounts', s) - end -}) - - --- PERF: consider debouncing -vim.api.nvim_create_autocmd({ 'BufRead', 'BufWritePost' }, { - desc = "Update git info in statusline", - group = statusline_group, - callback = function(arg) - if not vim.bo[arg.buf].modifiable then - return - end - vim.system({ "git", "diff", "--numstat", arg.file }, { text = true }, vim.schedule_wrap(function(out) - if out.code ~= 0 or out.stdout == nil then - if vim.b["gitDelta"] then - vim.api.nvim_buf_del_var(arg.buf, "gitDelta") - end - else - local parts = vim.split(out.stdout, '\t') - if #parts ~= 3 then - return - end - local s = "git:" .. "%#DiffAdd#+" .. parts[1] .. "%* " .. - "%#DiffDelete#-" .. parts[2] .. "%*" - vim.api.nvim_buf_set_var(arg.buf, "gitDelta", s) - end - end)) - end -}) - -vim.cmd([[ - func! StatuslineDiagnostics() abort - if exists("g:diagnosticCounts") - return g:diagnosticCounts - else - return '' - endif - endfunc - func! StatuslineGit() abort - if exists("b:gitDelta") - return b:gitDelta - else - return '' - endif - endfunc -]]) - -vim.opt.statusline = - '%-t %= ' .. - '%-{%StatuslineDiagnostics()%} %1(%M%) %{%StatuslineGit()%} %= ' .. - '%-(%#Delimiter#[%#Operator#%R%Y%#Delimiter#]%*%) %#LineNr#%c,%l%* %#LineNrAbove#%3p%%' - +vim.opt.statusline = require("statusline") -- tabline vim.opt.showtabline = 1 |
