Update COC settings
- Retheme
- Update language servers
- Improve keybinds
diff --git a/modules/neovim/coc/default.nix b/modules/neovim/coc/default.nix
index 44795b8..e174559 100644
--- a/modules/neovim/coc/default.nix
+++ b/modules/neovim/coc/default.nix
@@ -5,12 +5,17 @@
nixpkgs-minion,
home,
utils,
+ omnisharp-language-server,
...
}: {
programs.neovim = {
coc = {
enable = true;
settings = {
+ suggest.floatConfig = {
+ border = true;
+ rounded = true;
+ };
"suggest.noselect" = false;
"cSpell.checkOnlyEnabledfileTypes" = false;
"cSpell.dictionaryDefinitions" = [
@@ -21,17 +26,19 @@
];
"cSpell.dictionaries" = ["imperative"];
"git.enableGutters" = false; # We're using another plugin to do this
- "rust-analyzer.serverPath" = "${pkgs.rust-analyzer}/bin/rust-analyzer";
+ "rust-analyzer.server.path" = "${pkgs.rust-analyzer}/bin/rust-analyzer";
+ "omnisharp.path" = "${pkgs.omnisharp-roslyn}/bin/OmniSharp";
+ "markdownlint.config" = {
+ line-length = {
+ code_blocks = false;
+ tables = false;
+ };
+ };
languageserver = {
nix = {
command = "${pkgs.rnix-lsp}/bin/rnix-lsp";
filetypes = ["nix"];
};
- cs = {
- command = "${pkgs.omnisharp-roslyn}/bin/OmniSharp";
- filetypes = ["cs"];
- rootPatterns = ["*.csproj" ".vim/" ".git/" ".hg/"];
- };
};
};
};
@@ -49,33 +56,47 @@
# Spellchecker
nixpkgs-minion.legacyPackages.${system}.vimPlugins.coc-spell-checker
+ nixpkgs-minion.legacyPackages.${system}.vimPlugins.coc-omnisharp
# File explorer
coc-explorer
coc-git # TODO: Check if coc-git is still needed
# Snippet completion
- coc-snippets
+ ultisnips
vim-snippets
+ coc-ultisnips
+
+ # General utils
+ coc-pairs
];
extraConfig = lib.pipe [./keybinds.vim ./theme.vim] [
(map builtins.readFile)
(builtins.concatStringsSep "\n")
];
- extraPackages = with pkgs; [nodejs rustc go rust-analyzer texlab];
+ extraPackages = with pkgs; [
+ nodejs
+ rustc
+ go
+ rust-analyzer
+ texlab
+ omnisharp-roslyn
+ ];
};
home.file = lib.pipe ./snippets [
builtins.readDir
builtins.attrNames
(map
(f: {
- name = ".config/coc/ultisnips/${f}";
+ name = ".config/nvim/UltiSnips/${f}";
value = {
source = ./snippets + "/${f}";
- target = ".config/coc/ultisnips/${f}";
+ target = ".config/nvim/UltiSnips/${f}";
};
}))
builtins.listToAttrs
lib.traceValSeq
- ];
+ ] // {
+ ".config/coc/placeholder".text = "";
+ };
}