A lightweight and efficient snippet expansion plugin for Neovim using native neovim snippet features.
- LSP integration for seamless snippet suggestions alongside language server completions
- JSON-based snippet definitions
- Variable expansion in snippets
Using your preferred plugin manager, add the following:
{'ccaglak/snippets.nvim'}
Snippets will automatically be suggested in the completion menu when typing. The plugin integrates with LSP completions, so you'll see snippets alongside other suggestions.
Snippets are defined in JSON files. Each snippet is defined as a JSON object with the following structure:
{
"Console Log": {
"prefix": "log",
"body": "console.log($1);",
"description": "Log output to console"
}
}
assumes filetype.json located in nvim config snippets folder.
lua vim.fn.stdpath('config') .. '/snippets/'
The plugin supports various built-in variables for snippet expansion:
- TM_FILENAME: Current file name
- TM_FILENAME_BASE: Current file name without extension
- TM_FILEPATH: Full path of the current file
- TM_DIRECTORY: Directory of the current file
- CURRENT_YEAR: Current year
- CURRENT_MONTH: Current month
- CURRENT_DATE: Current date
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.