提交 f63224f6 编写于 作者: J Johannes Rieken

snippet features and grammar, #3210

上级 8a85fc03
Tabstops
--
With tabstops you can make the editor cursor move inside a snippet. Use `$1`, `$2` to specify cursor locations. The number is the order in which tabstops will be visited, whereas `$0` denotes the final cursor position. Multiple tabstops are linked and updated in sync.
Placeholders
--
Placeholders are tabstops with values, like `${1:foo}`. The placeholder text will be inserted and selected such that it can be easily changed. Placeholders can nested, like `${1:another ${2:placeholder}}`.
Variables
--
With `$name` or `${name:default}` you can insert the value of a variable. When a variable isn’t set its *default* or the empty string is inserted.
Grammar
--
Below is the EBNF for snippets. The `$`-character can be escaped using backslash, like `\$`.
```
any ::= tabstop | placeholder | variable | text
tabstop ::= '$' int
placeholder ::= '${' int '}' | '${' int ':' any '}'
variable ::= '$' var | '${' var }' | '${' var ':' any '}'
var ::= [_a-zA-Z] [_a-zA-Z0-9]*
int ::= [0-9]+
text ::= .*
```
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册