From 33ccd8c2bd2693625c452bbb1dd224f85159dcb9 Mon Sep 17 00:00:00 2001 From: Minijackson Date: Mon, 11 Dec 2023 22:41:03 +0100 Subject: development: use rustaceanvim for rust, add dap plugins --- dotfiles/vim/lua/vim-dev.lua | 75 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 71 insertions(+), 4 deletions(-) (limited to 'dotfiles/vim/lua/vim-dev.lua') diff --git a/dotfiles/vim/lua/vim-dev.lua b/dotfiles/vim/lua/vim-dev.lua index 84f3f89..41d94fd 100644 --- a/dotfiles/vim/lua/vim-dev.lua +++ b/dotfiles/vim/lua/vim-dev.lua @@ -1,10 +1,73 @@ local on_attach = require('myConfig.exports').on_attach -require("rust-tools").setup { +vim.g.rustaceanvim = { + -- Plugin configuration + tools = { + }, + -- LSP configuration server = { - cmd = { vim.g.rust_analyzer_path }, + -- cmd = { vim.g.rust_analyzer_path }, + on_attach = function(client, bufnr) + on_attach(client, bufnr) + + vim.keymap.set( + -- {"n", "v"}, + "n", + "J", + function() vim.cmd.RustLsp('joinLines') end, + { + silent = true, + buffer = bufnr, + desc = "rust-analyzer join lines", + } + ) + + vim.keymap.set( + "n", + "", + function() vim.cmd.RustLsp({ "moveItem", "up" }) end, + { + silent = true, + buffer = bufnr, + desc = "rust-analyzer move item up", + } + ) + + vim.keymap.set( + "n", + "", + function() vim.cmd.RustLsp({ "moveItem", "down" }) end, + { + silent = true, + buffer = bufnr, + desc = "rust-analyzer move item down", + } + ) + + vim.keymap.set( + "n", + "sR", + function() vim.cmd.RustLsp('runnables') end, + { + silent = true, + buffer = bufnr, + desc = "rust-analyzer runnables", + } + ) + + vim.keymap.set( + "n", + "sx", + function() vim.cmd.RustLsp('explainError') end, + { + silent = true, + buffer = bufnr, + desc = "rust-analyzer explain error", + } + ) + end, settings = { - ["rust-analyzer"] = { + ['rust-analyzer'] = { checkOnSave = { command = "clippy", }, @@ -13,7 +76,6 @@ require("rust-tools").setup { }, }, }, - on_attach = on_attach, }, } @@ -63,3 +125,8 @@ vim.g["pandoc#formatting#extra_equalprg"] = "--reference-links --reference-locat -- Actions preview require("actions-preview").setup() + +-- DAP +require("dapui").setup() +require("nvim-dap-virtual-text").setup() +require('telescope').load_extension('dap') -- cgit v1.2.3