wip: feat(nvim/rust-tools): begin migration

wip: feat(nvim/rust-tools): begin migration

feat(nvim/dev-icons): enable

feat(nvim/nerdtree): removed

feat(nvim): removed coc

feat(nvim/cmp): connect rust-tools

feat(nvim/dap): setup lldb

feat(nvim/cmp): icons

feat(nvim/dap): icons

feat(nvim/rust): load crates plugin

feat(nvim): switch rust-tools to rustaceanvim

feat(nvim): enable inlay hints

feat(nvim): cmdline completions

style: nix run sys#luaformatter -- home/nvim/*.lua -i

feat(nvim/nix): break once neovim hits 0.10.0

wip: feat(nvim/rust-tools): begin migration

feat(nvim): removed coc
This commit is contained in:
u2515h
2023-12-27 09:31:44 +01:00
parent cdb1cbd040
commit 8cd1e08ecf
5 changed files with 525 additions and 110 deletions

View File

@@ -40,29 +40,32 @@ in
# vim-grammarous
markdown-preview-nvim
rainbow
nerdtree
nerdtree-git-plugin
nvim-web-devicons
fzf-vim
coc-sh
coc-nvim
coc-rust-analyzer
coc-json
coc-yaml
coc-tsserver
coc-prettier
coc-pyright
coc-diagnostic
vimtex
coc-vimtex
coc-html
coc-go
coc-spell-checker
editorconfig-nvim
vim-vsnip
# tmuxline-vim
nvim-dap
nvim-dap-ui
nvim-notify
rust-tools-nvim
nvim-cmp
cmp-nvim-lsp
cmp-nvim-lua
cmp-buffer
cmp-path
cmp-spell
cmp-vsnip
cmp-conventionalcommits
cmp-calc
cmp-cmdline
rustaceanvim
(if config.programs.neovim.package.version == "0.10.0" then throw "lsp-inlayhints-nvim may be removed" else lsp-inlayhints-nvim) # https://github.com/mrcjkb/rustaceanvim/discussions/46#discussioncomment-7620822
cmp-conventionalcommits
cmp-calc
cmp-cmdline
rustaceanvim
(if config.programs.neovim.package.version == "0.10.0" then throw "lsp-inlayhints-nvim may be removed" else lsp-inlayhints-nvim) # https://github.com/mrcjkb/rustaceanvim/discussions/46#discussioncomment-7620822
plenary-nvim
crates-nvim
nvim-lspconfig
telescope-nvim
@@ -76,11 +79,19 @@ in
lldb = pkgs.lldb;
rust_analyzer = rust-analyzer;
};
pathsLua = pkgs.writeTextFile {
name = "nvim-deps.lua";
text = ''
return {
${concatStringsSep ",\n " (mapAttrsToList (name: path: ''${name}_path = "${path}"'') paths)}
}
'';
};
confDir = lib.sourceFilesBySuffices ./. [ "lua" "vim" ];
in
with lib; ''
vim.cmd [[source ${confDir}/init.vim]]
${concatStringsSep "\n" (mapAttrsToList (name: path: ''${name}_path = "${path}"'') paths)}
package.path = package.path .. ";${confDir}/?.lua;${pathsLua};"
dofile("${confDir}/init.lua")
'';
};
@@ -186,9 +197,9 @@ in
sdk = [ rust-sdk ];
};
imports.group.enable = true;
# inlayHints = {
# closureReturnTypeHints.enable = false;
# };
inlayHints = {
closureReturnTypeHints.enable = false;
};
highlightRelated = {
yieldPoints.enable = true;
references.enable = true;