summaryrefslogtreecommitdiffstats
path: root/dotfiles/vim
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles/vim')
-rw-r--r--dotfiles/vim/lua/myConfig/exports.lua46
-rw-r--r--dotfiles/vim/lua/vim-dev.lua45
2 files changed, 47 insertions, 44 deletions
diff --git a/dotfiles/vim/lua/myConfig/exports.lua b/dotfiles/vim/lua/myConfig/exports.lua
new file mode 100644
index 0000000..f6eb1ce
--- /dev/null
+++ b/dotfiles/vim/lua/myConfig/exports.lua
@@ -0,0 +1,46 @@
1local M = {}
2
3function M.on_attach(client, bufnr)
4 local opts = { noremap = true, silent = true, buffer = bufnr }
5
6 local telescope_builtin = require "telescope.builtin"
7
8 local function desc(tbl1, description)
9 return vim.tbl_extend("force", tbl1, { desc = description })
10 end
11
12 vim.keymap.set("n", "gD", vim.lsp.buf.declaration, desc(opts, "LSP declaration"))
13 vim.keymap.set("n", "gd", telescope_builtin.lsp_definitions, desc(opts, "LSP Definitions"))
14 vim.keymap.set("n", "K", vim.lsp.buf.hover, desc(opts, "LSP Hover"))
15
16 vim.keymap.set({"n", "v"}, "gr", telescope_builtin.lsp_references, desc(opts, "LSP References"))
17
18 vim.keymap.set({"n", "v"}, "<leader>sa", vim.lsp.buf.code_action, desc(opts, "LSP Code Actions"))
19 vim.keymap.set("n", "<leader>se", vim.diagnostic.open_float, desc(opts, "Local Diagnostics"))
20 vim.keymap.set("n", "<leader>sE", telescope_builtin.diagnostics, desc(opts, "Global Diagnostics"))
21 vim.keymap.set("n", "<leader>sl", vim.diagnostic.setloclist, desc(opts, "Diagnostics set LocList"))
22 vim.keymap.set("n", "<leader>sq", vim.diagnostic.setqflist, desc(opts, "Diagnostics set QFList"))
23 vim.keymap.set("n", "<leader>sr", vim.lsp.buf.rename, desc(opts, "LSP Rename"))
24 vim.keymap.set("n", "<leader>ss", telescope_builtin.lsp_document_symbols, desc(opts, "LSP Document Symbols"))
25 vim.keymap.set("n", "<leader>sS", telescope_builtin.lsp_workspace_symbols, desc(opts, "LSP Workspace Symbols"))
26
27 vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, desc(opts, "Goto Next Diagnostic"))
28 vim.keymap.set("n", "]d", vim.diagnostic.goto_next, desc(opts, "Goto Prev Diagnostic"))
29
30 -- Capability specific
31
32 if client.server_capabilities.documentFormattingProvider then
33 vim.keymap.set({"n", "v"}, "<leader>sf", vim.lsp.buf.format, desc(opts, "Format buffer"))
34 end
35
36 -- Rust specific
37 vim.keymap.set("n", "<leader>sh", "<cmd>RustToggleInlayHints<CR>", opts)
38
39 require("lsp_signature").on_attach {
40 hint_prefix = "param: ",
41 }
42end
43
44M.capabilities = require("cmp_nvim_lsp").default_capabilities()
45
46return M
diff --git a/dotfiles/vim/lua/vim-dev.lua b/dotfiles/vim/lua/vim-dev.lua
index a823835..00fba3e 100644
--- a/dotfiles/vim/lua/vim-dev.lua
+++ b/dotfiles/vim/lua/vim-dev.lua
@@ -1,47 +1,4 @@
1local lspconfig = require "lspconfig" 1local on_attach = require('myConfig.exports').on_attach
2
3local function on_attach(client, bufnr)
4 local opts = { noremap = true, silent = true, buffer = bufnr }
5
6 local telescope_builtin = require "telescope.builtin"
7
8 local function desc(tbl1, description)
9 return vim.tbl_extend("force", tbl1, { desc = description })
10 end
11
12 vim.keymap.set("n", "gD", vim.lsp.buf.declaration, desc(opts, "LSP declaration"))
13 vim.keymap.set("n", "gd", telescope_builtin.lsp_definitions, desc(opts, "LSP Definitions"))
14 vim.keymap.set("n", "K", vim.lsp.buf.hover, desc(opts, "LSP Hover"))
15
16 vim.keymap.set({"n", "v"}, "gr", telescope_builtin.lsp_references, desc(opts, "LSP References"))
17
18 vim.keymap.set({"n", "v"}, "<leader>sa", vim.lsp.buf.code_action, desc(opts, "LSP Code Actions"))
19 vim.keymap.set("n", "<leader>se", vim.diagnostic.open_float, desc(opts, "Local Diagnostics"))
20 vim.keymap.set("n", "<leader>sE", telescope_builtin.diagnostics, desc(opts, "Global Diagnostics"))
21 vim.keymap.set("n", "<leader>sl", vim.diagnostic.setloclist, desc(opts, "Diagnostics set LocList"))
22 vim.keymap.set("n", "<leader>sq", vim.diagnostic.setqflist, desc(opts, "Diagnostics set QFList"))
23 vim.keymap.set("n", "<leader>sr", vim.lsp.buf.rename, desc(opts, "LSP Rename"))
24 vim.keymap.set("n", "<leader>ss", telescope_builtin.lsp_document_symbols, desc(opts, "LSP Document Symbols"))
25 vim.keymap.set("n", "<leader>sS", telescope_builtin.lsp_workspace_symbols, desc(opts, "LSP Workspace Symbols"))
26
27 vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, desc(opts, "Goto Next Diagnostic"))
28 vim.keymap.set("n", "]d", vim.diagnostic.goto_next, desc(opts, "Goto Prev Diagnostic"))
29
30 -- Capability specific
31
32 if client.server_capabilities.documentFormattingProvider then
33 vim.keymap.set({"n", "v"}, "<leader>sf", vim.lsp.buf.format, desc(opts, "Format buffer"))
34 end
35
36 -- Rust specific
37 vim.keymap.set("n", "<leader>sh", "<cmd>RustToggleInlayHints<CR>", opts)
38
39 require("lsp_signature").on_attach {
40 hint_prefix = "param: ",
41 }
42end
43
44local capabilities = require("cmp_nvim_lsp").default_capabilities()
45 2
46require("rust-tools").setup { 3require("rust-tools").setup {
47 server = { 4 server = {