diff --git a/users/willifan/common/nixvim/cmp.nix b/users/willifan/common/nixvim/cmp.nix new file mode 100644 index 0000000..764f074 --- /dev/null +++ b/users/willifan/common/nixvim/cmp.nix @@ -0,0 +1,50 @@ +{ ... }: +{ + + programs.nixvim.plugins = { + cmp = { + enable = true; + settings = { + autoEnableSources = true; + experimental = {ghost_text = false;}; + performance = { + debounce = 60; + fetchingTimeout = 200; + maxViewEntries = 30; + }; + snippet = {expand = "luasnip";}; + formatting = {fields = ["kind" "abbr" "menu"];}; + sources = [ + {name = "git";} + {name = "nvim_lsp";} + {name = "emoji";} + { + name = "buffer"; # text within current buffer + option.get_bufnrs.__raw = "vim.api.nvim_list_bufs"; + keywordLength = 3; + } + {name = "copilot";} + { + name = "path"; # file system paths + keywordLength = 3; + } + { + name = "luasnip"; # snippets + keywordLength = 3; + } + ]; + + window = { + completion = {border = "solid";}; + documentation = {border = "solid";}; + }; + }; + }; + cmp-nvim-lsp = {enable = true;}; # lsp + cmp-buffer = {enable = true;}; + cmp-path = {enable = true;}; # file system paths + cmp_luasnip = {enable = true;}; # snippets + cmp-cmdline = {enable = false;}; # autocomplete for cmdline + }; + +} diff --git a/users/willifan/common/nixvim/default.nix b/users/willifan/common/nixvim/default.nix index f53df73..b5adffa 100644 --- a/users/willifan/common/nixvim/default.nix +++ b/users/willifan/common/nixvim/default.nix @@ -7,6 +7,7 @@ }; imports = [ + ./cmp.nix ./filetype.nix ./gitsigns.nix ./illuminate.nix