From c52c7f314ccadcc2fcd91e28c8fd1b88f6d5ce0c Mon Sep 17 00:00:00 2001 From: Benedikt Peetz Date: Fri, 18 Oct 2024 17:07:46 +0200 Subject: refactor(modules): Move all system modules to `by-name` From now on all modules should be added to the new `by-name` directory. This should help remove the (superficial and utterly useless) distinction between `home-manager` and `NixOS` modules. --- .../conf/nvim/plgs/nvim-cmp/default.nix | 54 ++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 modules/home.legacy/conf/nvim/plgs/nvim-cmp/default.nix (limited to 'modules/home.legacy/conf/nvim/plgs/nvim-cmp/default.nix') diff --git a/modules/home.legacy/conf/nvim/plgs/nvim-cmp/default.nix b/modules/home.legacy/conf/nvim/plgs/nvim-cmp/default.nix new file mode 100644 index 00000000..ed0e57c3 --- /dev/null +++ b/modules/home.legacy/conf/nvim/plgs/nvim-cmp/default.nix @@ -0,0 +1,54 @@ +{config, ...}: { + programs.nixvim.plugins.cmp = let + neorg_source = + if config.programs.nixvim.plugins.neorg.modules."core.completion".config.engine == "nvim-cmp" + then [{name = "neorg";}] + else []; + in { + /* + TODO: integrate this: + ```lua + enabled = { + function() + -- disable completion in comments + local context = require 'cmp.config.context' + -- keep command mode completion enabled when cursor is in a comment + -- te + if vim.api.nvim_get_mode().mode == 'c' then + return true + else + return not context.in_treesitter_capture("comment") + and not context.in_syntax_group("Comment") + end + end + }, + ``` + */ + enable = true; + autoEnableSources = true; + settings = { + mapping = { + # TODO: add support for desc and which key here + "" = "cmp.mapping.scroll_docs(-4)"; # desc = "Scroll up by four lines" + "" = "cmp.mapping.scroll_docs(4)"; # desc = "Scroll down by four lines" + "HH" = "cmp.mapping.complete()"; # desc = "Confirm snipped" + }; + + snippet.expand = "function(args) require('luasnip').lsp_expand(args.body) end"; + + sources = + [ + {name = "nvim_lsp";} + {name = "luasnip";} + {name = "path";} + {name = "git";} # TODO: I might want to add config to allow all issues/prs <2023-10-16> + # {name = "convertionalcommits";} # TODO: Useless without commitlint [https://commitlint.js.org/] <2023-10-16> + # {name = "rg";} # TODO: This might really RIP-grep my system <2023-10-16> + # {name = "buffer";} + # {name = "digraphs";} + {name = "calc";} + ] + ++ neorg_source; + }; + }; +} -- cgit 1.4.1