diff --git a/modules/completion/corfu/README.org b/modules/completion/corfu/README.org index f98c13675..689855e81 100644 --- a/modules/completion/corfu/README.org +++ b/modules/completion/corfu/README.org @@ -33,6 +33,7 @@ highly non-native, but has some extra features and more maturity. - [[doom-package:nerd-icons-completion]] if [[doom-module::completion corfu +icons]] - [[doom-package:orderless]] if [[doom-module::completion corfu +orderless]] - [[doom-package:corfu-terminal]] if [[doom-module::os tty]] +- [[doom-package:yasnippet-capf]] if [[doom-module::editor snippets]] ** Hacks /No hacks documented for this module./ @@ -50,7 +51,7 @@ languages may lack code completion support altogether). Run ~$ doom doctor~ to find out if you're missing any dependencies. Note that corfu may have support for completions in languages that have no development intelligence, since it supports generic, context insensitive candidates such as file names or recurring -words. +words. Snippets may also appear in the candidate list if available. * TODO Usage #+begin_quote diff --git a/modules/completion/corfu/config.el b/modules/completion/corfu/config.el index fad4c6dfc..b1e38a844 100644 --- a/modules/completion/corfu/config.el +++ b/modules/completion/corfu/config.el @@ -163,6 +163,12 @@ Meant as :around advice for `corfu--recompute'." (add-hook! (org-mode markdown-mode) (+corfu--add-capf! #'cape-elisp-block)) (advice-add #'lsp-completion-at-point :around #'cape-wrap-noninterruptible)) +(use-package! yasnippet-capf + :after corfu + :config + (add-hook 'yas-minor-mode-hook + (lambda () (add-to-list 'completion-at-point-functions #'yasnippet-capf)))) + (use-package! corfu-terminal :when (not (display-graphic-p)) :hook (corfu-mode . corfu-terminal-mode)) diff --git a/modules/completion/corfu/packages.el b/modules/completion/corfu/packages.el index 7363ae0f9..b5a1b6bdb 100644 --- a/modules/completion/corfu/packages.el +++ b/modules/completion/corfu/packages.el @@ -9,3 +9,5 @@ (package! orderless :pin "d6b402a89e234d0e6166247ed6025f9acc8b4d9a")) (when (modulep! :os tty) (package! corfu-terminal :pin "501548c3d51f926c687e8cd838c5865ec45d03cc")) +(when (modulep! :editor snippets) + (package! yasnippet-capf :pin "40654214db7a44db3a99321447632b43a10fae57"))