From cf794d88417affb229fcde1dc7be8e09d4455380 Mon Sep 17 00:00:00 2001 From: Joakim Hulthe Date: Wed, 8 Nov 2023 22:54:23 +0100 Subject: [PATCH] nvim: More keys --- tree/.config/nvim/lua/keys.lua | 48 +++++++++++++++++++++++++++++----- 1 file changed, 41 insertions(+), 7 deletions(-) diff --git a/tree/.config/nvim/lua/keys.lua b/tree/.config/nvim/lua/keys.lua index 24a65b9..ca07e77 100644 --- a/tree/.config/nvim/lua/keys.lua +++ b/tree/.config/nvim/lua/keys.lua @@ -1,7 +1,41 @@ -local builtin = require('telescope.builtin') -vim.keymap.set('n', 'ff', builtin.find_files, {}) -vim.keymap.set('n', 'fg', builtin.live_grep, {}) -vim.keymap.set('n', 'fb', builtin.buffers, {}) -vim.keymap.set('n', 'fh', builtin.help_tags, {}) -vim.keymap.set('n', 'fs', builtin.treesitter, {}) -- find symbols -vim.keymap.set('n', 'U', ":redo", {}) -- find symbols +local telescope = require('telescope.builtin') +vim.keymap.set('n', 'ff', telescope.find_files, {}) +vim.keymap.set('n', 'fg', telescope.live_grep, {}) +vim.keymap.set('n', 'fb', telescope.buffers, {}) +vim.keymap.set('n', 'fh', telescope.help_tags, {}) +vim.keymap.set('n', 'fs', telescope.treesitter, {}) -- find symbols +vim.keymap.set('n', 'U', ":redo", {}) +vim.keymap.set('n', 'p', ":b#", {}) -- goto previous buffer + +--vim.keymap.set('n', 'e', vim.diagnostic.open_float) +--vim.keymap.set('n', '[d', vim.diagnostic.goto_prev) +--vim.keymap.set('n', ']d', vim.diagnostic.goto_next) +vim.keymap.set('n', 'q', vim.diagnostic.setloclist) + +-- Use LspAttach autocommand to only map the following keys +-- after the language server attaches to the current buffer +vim.api.nvim_create_autocmd('LspAttach', { + group = vim.api.nvim_create_augroup('UserLspConfig', {}), + callback = function(ev) + -- Enable completion triggered by + vim.bo[ev.buf].omnifunc = 'v:lua.vim.lsp.omnifunc' + + -- Buffer local mappings. + -- See `:help vim.lsp.*` for documentation on any of the below functions + local opts = { buffer = ev.buf } + vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts) + vim.keymap.set('n', 'gd', vim.lsp.buf.definition, opts) + vim.keymap.set('n', 'gr', vim.lsp.buf.references, opts) + vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, opts) + vim.keymap.set('n', 'gt', vim.lsp.buf.type_definition, opts) + vim.keymap.set('n', 'K', vim.lsp.buf.hover, opts) + vim.keymap.set('n', '', vim.lsp.buf.signature_help, opts) + vim.keymap.set('n', 'wa', vim.lsp.buf.add_workspace_folder, opts) + vim.keymap.set('n', 'wr', vim.lsp.buf.remove_workspace_folder, opts) + vim.keymap.set('n', 'wl', function() + print(vim.inspect(vim.lsp.buf.list_workspace_folders())) + end, opts) + vim.keymap.set('n', 'r', vim.lsp.buf.rename, opts) + vim.keymap.set({ 'n', 'v' }, 'ca', vim.lsp.buf.code_action, opts) + end, +})