diff options
| author | Anhgelus Morhtuuzh <william@herges.fr> | 2026-01-20 23:27:13 +0100 |
|---|---|---|
| committer | Anhgelus Morhtuuzh <william@herges.fr> | 2026-01-20 23:34:14 +0100 |
| commit | e20bebd2c730223efb5d71d05330859e8ee791b8 (patch) | |
| tree | 95d36fe499c259747719f3ca778a37155ac14d42 /config/nvim/lua | |
| parent | d8522a98c6a1db7a4b240c4d36cfadb59e22304e (diff) | |
feat(nvim): finally setup lsp and blind keybindings
Diffstat (limited to 'config/nvim/lua')
| -rw-r--r-- | config/nvim/lua/keybindings.lua | 29 | ||||
| -rw-r--r-- | config/nvim/lua/options.lua | 10 | ||||
| -rw-r--r-- | config/nvim/lua/plugins/blink.lua | 47 | ||||
| -rw-r--r-- | config/nvim/lua/plugins/ultisnips.lua | 11 |
4 files changed, 44 insertions, 53 deletions
diff --git a/config/nvim/lua/keybindings.lua b/config/nvim/lua/keybindings.lua index 489f6d6..d8426d3 100644 --- a/config/nvim/lua/keybindings.lua +++ b/config/nvim/lua/keybindings.lua @@ -1,13 +1,26 @@ vim.keymap.set('n', '<A-Right>', '<cmd>tabnext<CR>') vim.keymap.set('n', '<A-Left>', '<cmd>tabprevious<CR>') + -- Neotree vim.keymap.set('n', '<A-&>', '<cmd>Neotree<CR>') -vim.api.nvim_create_user_command('Gs', 'Neotree float git_status git_base=main', {}) +--vim.api.nvim_create_user_command('Gs', 'Neotree float git_status git_base=main', {}) + -- LSP -vim.keymap.set('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<cr>', opts) -vim.keymap.set('n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<cr>', opts) -vim.keymap.set('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<cr>', opts) -vim.keymap.set('n', 'go', '<cmd>lua vim.lsp.buf.type_definition()<cr>', opts) -vim.keymap.set('n', 'gr', '<cmd>lua vim.lsp.buf.references()<cr>', opts) -vim.keymap.set('n', 'gs', '<cmd>lua vim.lsp.buf.signature_help()<cr>', opts) -vim.keymap.set('n', '<F6>', '<cmd>lua vim.lsp.buf.rename()<cr>', opts) +-- go to +vim.keymap.set('n', 'gd', vim.lsp.buf.definition) +vim.keymap.set('n', 'gD', vim.lsp.buf.declaration) +vim.keymap.set('n', 'gi', vim.lsp.buf.implementation) +vim.keymap.set('n', 'go', vim.lsp.buf.type_definition) +vim.keymap.set('n', 'gr', vim.lsp.buf.references) +-- display +vim.keymap.set('n', 'ds', vim.lsp.buf.signature_help) +vim.keymap.set('n', 'dh', vim.lsp.buf.hover) +-- utils +vim.keymap.set('n', '<F2>', vim.lsp.buf.rename) +vim.keymap.set('n', '<space><CR>', vim.lsp.buf.code_action) +vim.api.nvim_create_autocmd({"CursorHold", "CursorHoldI"}, { + callback = vim.lsp.buf.document_highlight +}) +vim.api.nvim_create_autocmd({"CursorMoved"}, { + callback = vim.lsp.buf.clear_references +}) diff --git a/config/nvim/lua/options.lua b/config/nvim/lua/options.lua index eb4421e..a759cd5 100644 --- a/config/nvim/lua/options.lua +++ b/config/nvim/lua/options.lua @@ -27,3 +27,13 @@ vim.filetype.add({ heex = 'eelixir' } }) +vim.filetype.add({ + extension = { + yrl = 'erlang' + } +}) +vim.filetype.add({ + extension = { + xrl = 'erlang' + } +}) diff --git a/config/nvim/lua/plugins/blink.lua b/config/nvim/lua/plugins/blink.lua index b69b537..4603999 100644 --- a/config/nvim/lua/plugins/blink.lua +++ b/config/nvim/lua/plugins/blink.lua @@ -2,74 +2,53 @@ return { { "saghen/blink.cmp", -- optional: provides snippets for the snippet source - dependencies = { "rafamadriz/friendly-snippets" }, + -- dependencies = { "rafamadriz/friendly-snippets" }, - -- Use a release tag to download pre-built binaries version = "*", - -- AND/OR build from source, requires nightly: https://rust-lang.github.io/rustup/concepts/channels.html#working-with-nightly-rust - -- build = 'cargo build --release', - -- If you use nix, you can build from source using the latest nightly rust with: - -- build = 'nix run .#build-plugin', - opts = { - -- 'default' (recommended) for mappings similar to built-in completions (C-y to accept) - -- 'super-tab' for mappings similar to VSCode (tab to accept) - -- 'enter' for enter to accept - -- 'none' for no mappings - -- - -- All presets have the following mappings: - -- C-space: Open menu or open docs if already open - -- C-n/C-p or Up/Down: Select next/previous item - -- C-e: Hide menu - -- C-k: Toggle signature help (if signature.enabled = true) - -- - -- See :h blink-cmp-config-keymap for defining your own keymap + keymap = { - -- Each keymap may be a list of commands and/or functions preset = "enter", -- Select completions ["<Up>"] = { "select_prev", "fallback" }, ["<Down>"] = { "select_next", "fallback" }, ["<Tab>"] = { "select_next", "fallback" }, ["<S-Tab>"] = { "select_prev", "fallback" }, + ["<CR-space>"] = { "show", "hide", "fallback" }, -- Scroll documentation - ["<C-b>"] = { "scroll_documentation_up", "fallback" }, - ["<C-f>"] = { "scroll_documentation_down", "fallback" }, + ["<S-Up>"] = { "scroll_documentation_up", "fallback" }, + ["<S-Down>"] = { "scroll_documentation_down", "fallback" }, -- Show/hide signature ["<C-k>"] = { "show_signature", "hide_signature", "fallback" }, }, appearance = { - -- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font' - -- Adjusts spacing to ensure icons are aligned nerd_font_variant = "mono", }, sources = { - -- `lsp`, `buffer`, `snippets`, `path`, and `omni` are built-in - -- so you don't need to define them in `sources.providers` default = { "lsp", "path", "snippets", "buffer" }, - - -- Sources are configured via the sources.providers table }, - -- (Default) Rust fuzzy matcher for typo resistance and significantly better performance - -- You may use a lua implementation instead by using `implementation = "lua"` or fallback to the lua implementation, - -- when the Rust fuzzy matcher is not available, by using `implementation = "prefer_rust"` - -- - -- See the fuzzy documentation for more information fuzzy = { implementation = "prefer_rust_with_warning" }, completion = { -- The keyword should only match against the text before keyword = { range = "prefix" }, + list = { + selection = { preselect = true, auto_insert = false } + }, + ghost_text = { enabled = true }, menu = { + auto_show = false, -- Use treesitter to highlight the label text for the given list of sources draw = { treesitter = { "lsp" }, }, }, -- Show completions after typing a trigger character, defined by the source - trigger = { show_on_trigger_character = true }, + trigger = { + show_on_trigger_character = true + }, documentation = { -- Show documentation automatically auto_show = true, diff --git a/config/nvim/lua/plugins/ultisnips.lua b/config/nvim/lua/plugins/ultisnips.lua deleted file mode 100644 index a71c987..0000000 --- a/config/nvim/lua/plugins/ultisnips.lua +++ /dev/null @@ -1,11 +0,0 @@ -return { - { - "SirVer/ultisnips", - init = function() - -- vim.g.UltiSnipsSnippetDirectories = { "~/.config/nvim/UltiSnips" } - vim.g.UltiSnipsExpandTrigger = '<C-a>' - vim.g.UltiSnipsJumpForwardTrigger = '<tab>' - vim.g.UltiSnipsJumpBackwardTrigger = '<s-tab>' - end, - } -} |
