@unisnips/unisnips
TypeScript icon, indicating that this package has built-in type declarations

0.8.0 • Public • Published

Unisips

Unisnips is a set of tools to parse and generate expandable snippets, aiming to be the bridge between different editor/plugin/code-exapand-apps. It parses snippet sources (so far only a subset of UltiSnips is supported) and converts them to different targets.

You can keep only one set of expressive code templates - AKA snippets - and free yourself the chore of rewriting snippets to fit specifications of different platforms.

🚧 Still under active development, feel free to open issues.

See the demo site

Features

Parses source to a list of interchangable data for further use

See the demo site's DEBUG panel.

Supported sources

UltiSnips

  1. Positional placholder (aka 'TabStop' in UltiSnips)
snippet subsec "most common and simple"
---------------- $1 ----------------------
----------------end $1 -------------------
endsnippet

snippet with_default "with default value"
function ${1:name} {
  ${2://body}
}
endsnippet

snippet nested "nested tabstop"
${0:outer and ${1://inner}}
endsnippet
  1. 'VISUAL' placeholder
snippet ret  "return value"
ret ${VISUAL}
endsnippet
  1. script code block
snippet test_shell "shell code"
should print date: `! date`
endsnippet

snippet test_js "javascript code"
should print date: `!js new Date()`
endsnippet

Supported targets

Usage

Node cli

Install

npm i -g @unisnips/unisnips
# or
yarn global add @unisnips/unisnips

Example

unisnips convert --target vscode -i ~/.vim/Ultisnips/typescript.snippets -o ~/vscodesnippets/typescript.json

Roadmaps

  • [x] Port a subset of UltiSnips parser to TypeScript, enable some basic and mostly used features

  • [x] Add more builtin variables, may be useful in some targets (such as vscode's $CURRENT_YEAR)

  • [ ] Parses transformers and convert them to vscode

Readme

Keywords

Package Sidebar

Install

npm i @unisnips/unisnips

Weekly Downloads

2

Version

0.8.0

License

MIT

Unpacked Size

32.8 kB

Total Files

39

Last publish

Collaborators

  • hikerpig