@@ -98,10 +98,14 @@ lsp.packages = {
9898 commit = " 60f2993b9661d9844cee3bebdbd1b5860577eb3c" ,
9999 module = " lspconfig" ,
100100 },
101+ [" LuaSnip" ] = {
102+ " L3MON4D3/LuaSnip" ,
103+ commit = " 53e812a6f51c9d567c98215733100f0169bcc20a" ,
104+ module = " luasnip" ,
105+ },
101106 [" nvim-cmp" ] = {
102107 " hrsh7th/nvim-cmp" ,
103108 commit = " 706371f1300e7c0acb98b346f80dad2dd9b5f679" ,
104- after = is_module_enabled (" features" , " snippets" ) and " LuaSnip" or nil ,
105109 },
106110 [" cmp-nvim-lua" ] = {
107111 " hrsh7th/cmp-nvim-lua" ,
@@ -127,7 +131,6 @@ lsp.packages = {
127131 " saadparwaiz1/cmp_luasnip" ,
128132 commit = " a9de941bcbda508d0a45d28ae366bb3f08db2e36" ,
129133 after = " nvim-cmp" ,
130- disabled = not is_module_enabled (" features" , " snippets" ),
131134 },
132135 [" lsp_signature.nvim" ] = {
133136 " ray-x/lsp_signature.nvim" ,
@@ -193,10 +196,13 @@ lsp.configs["nvim-lspconfig"] = function()
193196end
194197lsp .configs [" nvim-cmp" ] = function ()
195198 local utils = require (" doom.utils" )
196- local snippets_enabled = utils .is_module_enabled (" features" , " snippets" )
197199
198- local cmp = require (" cmp" )
199- local luasnip = snippets_enabled and require (" luasnip" )
200+ local cmp_ok , cmp = pcall (require , " cmp" )
201+ local luasnip_ok , luasnip = pcall (require , " luasnip" )
202+ if not cmp_ok or not luasnip_ok then
203+ return
204+ end
205+
200206 local replace_termcodes = utils .replace_termcodes
201207
202208 local source_map = {
@@ -257,7 +263,7 @@ lsp.configs["nvim-cmp"] = function()
257263 [" <Tab>" ] = cmp .mapping (function (fallback )
258264 if cmp .visible () then
259265 cmp .select_next_item ()
260- elseif snippets_enabled and luasnip .expand_or_jumpable () then
266+ elseif luasnip .expand_or_jumpable () then
261267 vim .fn .feedkeys (replace_termcodes (" <Plug>luasnip-expand-or-jump" ), " " )
262268 elseif check_backspace () then
263269 vim .fn .feedkeys (replace_termcodes (" <Tab>" ), " n" )
@@ -271,7 +277,7 @@ lsp.configs["nvim-cmp"] = function()
271277 [" <S-Tab>" ] = cmp .mapping (function (fallback )
272278 if cmp .visible () then
273279 cmp .select_prev_item ()
274- elseif snippets_enabled and luasnip .jumpable (- 1 ) then
280+ elseif luasnip .jumpable (- 1 ) then
275281 vim .fn .feedkeys (replace_termcodes (" <Plug>luasnip-jump-prev" ), " " )
276282 else
277283 fallback ()
@@ -389,5 +395,8 @@ lsp.binds = {
389395 },
390396 },
391397}
398+ lsp .configs [" LuaSnip" ] = function ()
399+ require (" luasnip" ).config .set_config (doom .features .snippets .settings )
400+ end
392401
393402return lsp
0 commit comments