/lsp-snippet

Primary LanguageEmacs LispGNU General Public License v3.0GPL-3.0

lsp-snippet - Templating agnostic LSP snippets

This package aims to parse lsp-snippet as close to spec.

lsp-snippet aims to parse LSP snippet syntax to be able to use other completion frameworks other then YASnippet (which is currently the only one supported by eglot and YASnippet) and to be able to use all of the features that the lsp snippet spec allows for.

Currently “Variable Transforms” is not supported due to the dependency on Javascript regexp.

All variables found in spec are supported but not all the undocumented ones found in vscodes implementation.

Note: This package is still a work in progress and lsp-mode integration requires providing YASnippet so if there is any other packages that relies on YASnippet strange things might happen.

Setup with straight

(use-package lsp-snippet-tempel
  :straight (lsp-snippet-tempel :type git
                                :host github
                                :repo "svaante/lsp-snippet")
  :config
  (when (featurep 'lsp-mode)
    ;; Initialize lsp-snippet -> tempel in lsp-mode
    (lsp-snippet-tempel-lsp-mode-init))
  (when (featurep 'eglot)
    ;; Initialize lsp-snippet -> tempel in eglot
    (lsp-snippet-tempel-eglot-init)))

Supported frameworks

Related projects

Links