diff --git a/programs/nvim/default.nix b/programs/nvim/default.nix index 3e08cfb..1bbd534 100644 --- a/programs/nvim/default.nix +++ b/programs/nvim/default.nix @@ -37,6 +37,16 @@ in package = pkgs.neovim-unwrapped; + keymaps = [ + { + action = "MCunderCursor"; + key = "m"; + options = { + desc = "Start multicursor"; + }; + } + ]; + plugins = { treesitter = { enable = true; @@ -71,15 +81,13 @@ in }; }; + lspkind.enable = true; + comment = { enable = true; settings = { sticky = true; - toggler = { - line = "gcc"; - block = "gbc"; - }; opleader = { line = "gc"; block = "gb"; @@ -114,6 +122,36 @@ in }; }; + + nvim-lightbulb = { + enable = true; + settings = { + autocmd = { + enabled = true; + updatetime = 200; + }; + line = { + enabled = true; + }; + number = { + enabled = true; + hl = "LightBulbNumber"; + }; + float = { + enabled = true; + text = "💡"; + }; + sign = { + enabled = true; + text = "💡"; + }; + status_text = { + enabled = true; + text = "💡"; + }; + }; + }; + gitsigns = { enable = true; @@ -287,6 +325,17 @@ in extensions.ui-select.enable = true; extensions.fzf-native.enable = true; + + settings = { + defaults = { + path_display = [ "smart" ]; + layout_strategy = "horizontal"; + layout_config = { + width = 0.99; + height = 0.99; + }; + }; + }; }; cmp.enable = true; nvim-autopairs.enable = true; @@ -300,6 +349,7 @@ in vim-vsnip cmp-vsnip cmp-path + cmp-spell nvim-web-devicons telescope-ui-select-nvim telescope-fzf-native-nvim @@ -356,9 +406,10 @@ in }), sources = cmp.config.sources({ { name = 'nvim_lsp' }, + { name = "otter" }, { name = 'path' }, { name = 'vsnip' }, - { name = "otter" }, + { name = 'spell' }, }, { { name = 'buffer' }, }) @@ -370,7 +421,8 @@ in local builtin = require('telescope.builtin') -- comment - vim.keymap.set("n", "", ":lua require('Comment.api').toggle.linewise.current() j", opts) + vim.keymap.set("n", "", ":lua require('Comment.api').toggle.linewise.current() j", opts) + vim.keymap.set("v", "", ":lua require('Comment.api').toggle.linewise.current() j", opts) -- indent and dedent using tab/shift-tab vim.keymap.set("n", "", ">>_") @@ -394,9 +446,12 @@ in vim.cmd [[nnoremap ; :]] local builtin = require('telescope.builtin') + vim.keymap.set('n', 'ff', builtin.find_files, {}) vim.keymap.set('n', '', builtin.live_grep, {}) vim.keymap.set('n', 'fh', builtin.search_history, {}) + vim.keymap.set('n', 'd', "Telescope diagnostics bufnr=0", {}) + vim.keymap.set('n', 'ad', builtin.diagnostics, {}) local gitsigns = require('gitsigns') vim.keymap.set('n', 'gr', gitsigns.reset_hunk)