Awesome Open Source
Awesome Open Source

snippets.nvim

LSP/TextMate snippet implementation based on Neovim's extmarks. Aiming to replace the need for UltiSnips and eventually upstreaming into neovim.

A continuation of norcalli/nvim-snippets.lua.

Why?

UltiSnips, vsnip and other implementations are larger because they need to calculate diffs and guess what exactly changed when the user edits snippet placeholders. With Neovim's extmarks, that problem is solved for us: we simply mark the start and end of each placeholder and the positioning will remain correct.

Installation

Warning! This plugin is in development, expect things to be completely broken.

You need to compile neovim from source with nvim_buf_set_text patches.

Install the plugin as usual, then add this to your config:

if vim.env.SNIPPETS then
  vim.snippet = require 'snippet'
end

Start neovim with the SNIPPETS env variable set:

SNIPPETS=1 nvim

For development, you can just clone the repository, then add the directory to your runtime path:

SNIPPETS=1 nvim -c "set rtp=."

References

Acknowledgements

Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Lua (33,909
Vim Script (11,514
Neovim (4,041
Placeholder (3,818
Nvim (1,478
Lsp (976
Neovim Plugin (648