aboutsummaryrefslogtreecommitdiffstats
path: root/nvim/init.lua
diff options
context:
space:
mode:
authorJP Appel <jeanpierre.appel01@gmail.com>2025-08-02 15:18:59 -0400
committerJP Appel <jeanpierre.appel01@gmail.com>2025-08-02 15:18:59 -0400
commitec57ff354270d3edcf473956996ff1f2e315c1aa (patch)
tree91a08800a76c7f7966a60ab9379a22aa592b3661 /nvim/init.lua
parent612c5f215cec931be5f3ed6d73feb2b69f68ebfe (diff)
Move nvim statusline, Fix bugs, Change binds
Diffstat (limited to 'nvim/init.lua')
-rw-r--r--nvim/init.lua98
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