From 93f6d76c7634491c3216d60a50dd43559d4ca7a9 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 6 Nov 2024 00:40:41 +0100 Subject: [PATCH 1/4] nvim: use <leader>cf for code formatting --- home/common/nvim/lsp.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/nvim/lsp.lua b/home/common/nvim/lsp.lua index 852d1f5..096b556 100644 --- a/home/common/nvim/lsp.lua +++ b/home/common/nvim/lsp.lua @@ -35,7 +35,7 @@ vim.api.nvim_create_autocmd("LspAttach", { vim.keymap.set("n", "<space>r", vim.lsp.buf.rename, opts("Rename Symbol")) vim.keymap.set({ "n", "v" }, "<space>a", vim.lsp.buf.code_action, opts("Code Action")) vim.keymap.set("n", "gr", vim.lsp.buf.references, opts("Buffer References")) - vim.keymap.set("n", "<localleader>f", function() + vim.keymap.set("n", "<space>cf", function() vim.lsp.buf.format({ async = true }) end, opts("Format Buffer")) end, From 8b8a7cf04b3478c24cdc3ff4b0f0d1712b44ba72 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 6 Nov 2024 00:40:41 +0100 Subject: [PATCH 2/4] nvim: cleanup --- home/common/nvim/mini.lua | 2 -- 1 file changed, 2 deletions(-) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index c7d4689..960c660 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -9,8 +9,6 @@ require('mini.extra').setup() require('mini.icons').setup() require('mini.jump').setup() - -- require('mini.pairs').setup() - -- require('mini.statusline').setup() require('mini.surround').setup() require('mini.splitjoin').setup() From 4f8865c8acd837e1bb97c4eefbf72f51019e0f8f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 6 Nov 2024 00:40:41 +0100 Subject: [PATCH 3/4] nvim: fancy ruler with diagnostics --- home/common/nvim/default.nix | 1 + home/common/nvim/init.lua | 50 +++++++++++++++++++++++------------- 2 files changed, 33 insertions(+), 18 deletions(-) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 0c759b8..f8e4cb1 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -10,6 +10,7 @@ withRuby = false; extraLuaConfig = lib.fileContents ./init.lua; + extraPackages = with pkgs; [ black cue diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index ba179d8..d91ad1f 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -8,18 +8,32 @@ vim.opt.laststatus = 0 vim.opt.number = true vim.opt.relativenumber = true vim.opt.ruler = true -vim.opt.rulerformat = "" -- FIXME: fancify! -vim.opt.rulerformat = "%36(%5l,%-6(%c%V%) %t%)%*" vim.opt.syntax = "on" vim.opt.termguicolors = true +-- Ruler +function GetIndicators() + local bufnr = vim.api.nvim_get_current_buf() + local counts = vim.diagnostic.count(bufnr) + local errors = counts[vim.diagnostic.severity.ERROR] or 0 + local warnings = counts[vim.diagnostic.severity.WARN] or 0 + local warn_string = warnings > 0 and "%#DiagnosticWarn# " .. warnings .. " " or " " + local error_string = errors > 0 and "%#DiagnosticError# " .. errors .. " " or " " + return warn_string .. error_string +end +function GetRulerIcon() + local icon = vim.bo.modified and "" or "" + return "%#CustomRulerSeparator#%#CustomRulerIcon#" .. icon .. " " +end +vim.opt.rulerformat = "%40(%=%{%v:lua.GetIndicators()%}%#Label#│ %t %)" + -- Search vim.opt.ignorecase = true vim.opt.smartcase = true -- Tab completion -- vim.opt.wildmode="list:longest,full" -vim.opt.wildignore="*.swp,*.o,*.so,*.exe,*.dll" +vim.opt.wildignore = '*.swp,*.o,*.so,*.exe,*.dll' -- Whitespaces vim.opt.breakindent = true @@ -32,14 +46,14 @@ vim.opt.smartindent = true vim.opt.tabstop = 2 vim.opt.wrap = false vim.opt.list = true -vim.opt.listchars="tab:»·,trail:·" +im.opt.listchars = "tab:»·,trail:·" -- Folds vim.opt.foldenable = false vim.opt.foldtext = "v:lua.vim.treesitter.foldtext()" vim.opt.foldmethod = "expr" vim.opt.foldexpr = "nvim_treesitter#foldexpr()" - +qqq -- vim.o.autochdir = true @@ -61,29 +75,29 @@ vim.o.grepprg = [[rg --glob "!.jj" --glob "!.git" --no-heading --vimgrep --follo vim.opt.grepformat = vim.opt.grepformat ^ { "%f:%l:%c:%m" } vim.fn.sign_define( - "DiagnosticSignError", - { text = "", hl = "DiagnosticSignError", texthl = "DiagnosticSignError", culhl = "DiagnosticSignErrorLine" } + "DiagnosticSignError", + { text = "", hl = "DiagnosticSignError", texthl = "DiagnosticSignError", culhl = "DiagnosticSignErrorLine" } ) vim.fn.sign_define( - "DiagnosticSignWarn", - { text = "", hl = "DiagnosticSignWarn", texthl = "DiagnosticSignWarn", culhl = "DiagnosticSignWarnLine" } + "DiagnosticSignWarn", + { text = "", hl = "DiagnosticSignWarn", texthl = "DiagnosticSignWarn", culhl = "DiagnosticSignWarnLine" } ) vim.fn.sign_define( - "DiagnosticSignInfo", - { text = "", hl = "DiagnosticSignInfo", texthl = "DiagnosticSignInfo", culhl = "DiagnosticSignInfoLine" } + "DiagnosticSignInfo", + { text = "", hl = "DiagnosticSignInfo", texthl = "DiagnosticSignInfo", culhl = "DiagnosticSignInfoLine" } ) vim.fn.sign_define( - "DiagnosticSignHint", - { text = "", hl = "DiagnosticSignHint", texthl = "DiagnosticSignHint", culhl = "DiagnosticSignHintLine" } + "DiagnosticSignHint", + { text = "", hl = "DiagnosticSignHint", texthl = "DiagnosticSignHint", culhl = "DiagnosticSignHintLine" } ) -- Make <Tab> work for snippets vim.keymap.set({ "i", "s" }, "<Tab>", function() - if vim.snippet.active({ direction = 1 }) then - return "<cmd>lua vim.snippet.jump(1)<cr>" - else - return "<Tab>" - end + if vim.snippet.active({ direction = 1 }) then + return "<cmd>lua vim.snippet.jump(1)<cr>" + else + return "<Tab>" + end end, { expr = true }) vim.keymap.set({ "n" }, "<c-/>", "gcc", { remap = true }) From 2f0f291167f89299ba29c2e49b72e796d3b83c2d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 6 Nov 2024 00:49:36 +0100 Subject: [PATCH 4/4] cleanup --- home/common/nvim/init.lua | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index d91ad1f..4f01f68 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -1,5 +1,5 @@ --- vim.g.mapleader = "<space>" -vim.g.maplocalleader = ',' +vim.g.mapleader = "<space>" +vim.g.maplocalleader = "," -- UI @@ -21,10 +21,6 @@ function GetIndicators() local error_string = errors > 0 and "%#DiagnosticError# " .. errors .. " " or " " return warn_string .. error_string end -function GetRulerIcon() - local icon = vim.bo.modified and "" or "" - return "%#CustomRulerSeparator#%#CustomRulerIcon#" .. icon .. " " -end vim.opt.rulerformat = "%40(%=%{%v:lua.GetIndicators()%}%#Label#│ %t %)" -- Search @@ -46,14 +42,13 @@ vim.opt.smartindent = true vim.opt.tabstop = 2 vim.opt.wrap = false vim.opt.list = true -im.opt.listchars = "tab:»·,trail:·" +vim.opt.listchars = "tab:»·,trail:·" -- Folds vim.opt.foldenable = false vim.opt.foldtext = "v:lua.vim.treesitter.foldtext()" vim.opt.foldmethod = "expr" vim.opt.foldexpr = "nvim_treesitter#foldexpr()" -qqq -- vim.o.autochdir = true