summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMinijackson <minijackson@riseup.net>2023-12-11 22:41:03 +0100
committerMinijackson <minijackson@riseup.net>2023-12-11 22:41:03 +0100
commit33ccd8c2bd2693625c452bbb1dd224f85159dcb9 (patch)
tree6e2379a5724b1824f042300f27dd661068e2d8a7
parentec2f215c37a793f774777c46d18f02ecf196a572 (diff)
downloadnixos-config-reborn-33ccd8c2bd2693625c452bbb1dd224f85159dcb9.tar.gz
nixos-config-reborn-33ccd8c2bd2693625c452bbb1dd224f85159dcb9.zip
development: use rustaceanvim for rust, add dap plugins
-rw-r--r--dotfiles/vim/ftplugin/rust.lua18
-rw-r--r--dotfiles/vim/lua/vim-dev.lua75
-rw-r--r--usecases/desktop/development.nix10
3 files changed, 80 insertions, 23 deletions
diff --git a/dotfiles/vim/ftplugin/rust.lua b/dotfiles/vim/ftplugin/rust.lua
deleted file mode 100644
index 23a46f1..0000000
--- a/dotfiles/vim/ftplugin/rust.lua
+++ /dev/null
@@ -1,18 +0,0 @@
1-- TODO: suffixes, includes
2
3vim.bo.expandtab = true
4vim.bo.shiftwidth = 4
5vim.bo.softtabstop = 4
6vim.bo.textwidth = 99
7
8vim.opt_local.comments = {
9 "s0:/*!",
10 "ex:*/",
11 "s1:/*",
12 "mb:*",
13 "ex:*/",
14 ":///",
15 "://!",
16 "://",
17}
18vim.bo.commentstring = "// %s"
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 @@
1local on_attach = require('myConfig.exports').on_attach 1local on_attach = require('myConfig.exports').on_attach
2 2
3require("rust-tools").setup { 3vim.g.rustaceanvim = {
4 -- Plugin configuration
5 tools = {
6 },
7 -- LSP configuration
4 server = { 8 server = {
5 cmd = { vim.g.rust_analyzer_path }, 9 -- cmd = { vim.g.rust_analyzer_path },
10 on_attach = function(client, bufnr)
11 on_attach(client, bufnr)
12
13 vim.keymap.set(
14 -- {"n", "v"},
15 "n",
16 "J",
17 function() vim.cmd.RustLsp('joinLines') end,
18 {
19 silent = true,
20 buffer = bufnr,
21 desc = "rust-analyzer join lines",
22 }
23 )
24
25 vim.keymap.set(
26 "n",
27 "<M-Up>",
28 function() vim.cmd.RustLsp({ "moveItem", "up" }) end,
29 {
30 silent = true,
31 buffer = bufnr,
32 desc = "rust-analyzer move item up",
33 }
34 )
35
36 vim.keymap.set(
37 "n",
38 "<M-Down>",
39 function() vim.cmd.RustLsp({ "moveItem", "down" }) end,
40 {
41 silent = true,
42 buffer = bufnr,
43 desc = "rust-analyzer move item down",
44 }
45 )
46
47 vim.keymap.set(
48 "n",
49 "<leader>sR",
50 function() vim.cmd.RustLsp('runnables') end,
51 {
52 silent = true,
53 buffer = bufnr,
54 desc = "rust-analyzer runnables",
55 }
56 )
57
58 vim.keymap.set(
59 "n",
60 "<leader>sx",
61 function() vim.cmd.RustLsp('explainError') end,
62 {
63 silent = true,
64 buffer = bufnr,
65 desc = "rust-analyzer explain error",
66 }
67 )
68 end,
6 settings = { 69 settings = {
7 ["rust-analyzer"] = { 70 ['rust-analyzer'] = {
8 checkOnSave = { 71 checkOnSave = {
9 command = "clippy", 72 command = "clippy",
10 }, 73 },
@@ -13,7 +76,6 @@ require("rust-tools").setup {
13 }, 76 },
14 }, 77 },
15 }, 78 },
16 on_attach = on_attach,
17 }, 79 },
18} 80}
19 81
@@ -63,3 +125,8 @@ vim.g["pandoc#formatting#extra_equalprg"] = "--reference-links --reference-locat
63 125
64-- Actions preview 126-- Actions preview
65require("actions-preview").setup() 127require("actions-preview").setup()
128
129-- DAP
130require("dapui").setup()
131require("nvim-dap-virtual-text").setup()
132require('telescope').load_extension('dap')
diff --git a/usecases/desktop/development.nix b/usecases/desktop/development.nix
index f52b0b0..19ee25c 100644
--- a/usecases/desktop/development.nix
+++ b/usecases/desktop/development.nix
@@ -83,6 +83,7 @@ in {
83 bacon 83 bacon
84 cargo-info 84 cargo-info
85 rustup 85 rustup
86 lldb
86 87
87 # Python 88 # Python
88 python3Packages.tox 89 python3Packages.tox
@@ -105,8 +106,15 @@ in {
105 neodev-nvim 106 neodev-nvim
106 nvim-lspconfig 107 nvim-lspconfig
107 playground 108 playground
108 rust-tools-nvim
109 vim-grammarous 109 vim-grammarous
110
111 # DAP
112 nvim-dap
113 nvim-dap-ui
114 nvim-dap-virtual-text
115 telescope-dap-nvim
116
117 rustaceanvim
110 ]; 118 ];
111 119
112 variables = { 120 variables = {