A simple [[https://www.gnu.org/software/emacs/manual/html_node/elisp/Completion-in-Buffers.html][capf]] (Completion-At-Point Function) for completing [[https://github.com/joaotavora/yasnippet][yasnippet]] snippets.
=packages.el=
(package! yasnippet-capf :recipe (:host github :repo "elken/yasnippet-capf"))
Use the below recipe for =use-package= managers
(use-package yasnippet-capf :after cape :config (add-to-list 'completion-at-point-functions #'yasnippet-capf))
If you're struggling to get completions using this approach, or you only want them available in certain modes, you might have better luck instead registering a hook.
(use-package yasnippet-capf :after cape :init (defun my/yasnippet-capf-h () (add-to-list 'completion-at-point-function #'yasnippet-capf)) :hook (emacs-lisp-mode . my/yasnippet-capf-h))
** =yasnippet-capf-lookup-by= Which lookup method to use to query snippets. By default, this uses the key to query against but if preferred you can also set this to use the name of the snippet.
(setq yasnippet-capf-lookup-by 'name) ;; Prefer the name of the snippet instead