README.md: start examples section
This commit is contained in:
parent
aaa89bf0d6
commit
9306fdc6d0
@ -29,6 +29,13 @@ Please add pull requests and issues there.
|
|||||||
UltiSnips was started in Jun 2009 by @SirVer. In Dec 2015, maintenance was
|
UltiSnips was started in Jun 2009 by @SirVer. In Dec 2015, maintenance was
|
||||||
handed over to @seletskiy.
|
handed over to @seletskiy.
|
||||||
|
|
||||||
|
What can you do with UltiSnips?
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
1. Advanced snippets:
|
||||||
|
|
||||||
|
* [Snippets Aliases](doc/examples/snippets-aliasing/README.md)
|
||||||
|
|
||||||
Quick Start
|
Quick Start
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
|
52
doc/examples/snippets-aliasing/README.md
Normal file
52
doc/examples/snippets-aliasing/README.md
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
# Aliases for snippets
|
||||||
|
|
||||||
|
![gif](https://github.com/seletskiy/repo/blob/branch/master/docs/examples/snippets-aliasing/demo.gif)
|
||||||
|
|
||||||
|
Let's imagine we're editing shell file and we need to debug some vars.
|
||||||
|
|
||||||
|
Essentially, we will end up with snippet like that, that will automatically
|
||||||
|
insert location of the debug statement and variable name.
|
||||||
|
|
||||||
|
Example of that snippet is shown below:
|
||||||
|
|
||||||
|
```
|
||||||
|
snippet pr "print debug" bw
|
||||||
|
`!p
|
||||||
|
prefix = t[1] + ": %q\\n' "
|
||||||
|
prefix = "{}:{}: {}".format(
|
||||||
|
os.path.basename(px.buffer.get().name),
|
||||||
|
str(px.cursor.get()[0]),
|
||||||
|
prefix
|
||||||
|
)
|
||||||
|
`printf 'XXXXXX `!p snip.rv=prefix`$1 >&2
|
||||||
|
endsnippet
|
||||||
|
```
|
||||||
|
|
||||||
|
Now, we want to use same debug snippet, but dump variable to the file.
|
||||||
|
How can we do it?
|
||||||
|
|
||||||
|
Simple, declare new snippet in that way:
|
||||||
|
|
||||||
|
```
|
||||||
|
post_jump "px.snippets.expand(snip)"
|
||||||
|
snippet pd "Description" b
|
||||||
|
pr$1 >${2:/tmp/debug}
|
||||||
|
endsnippet
|
||||||
|
```
|
||||||
|
|
||||||
|
This snippet will expand `pr` snippet automatically (note `pr$1` part) after
|
||||||
|
jumping to the first placeholder (jump will be done automatically by UltiSnips
|
||||||
|
engine).
|
||||||
|
|
||||||
|
`px.snippets.expand(snip)` is declared in that way:
|
||||||
|
|
||||||
|
```python
|
||||||
|
def expand(snip, jump_pos=1):
|
||||||
|
if snip.tabstop != jump_pos:
|
||||||
|
return
|
||||||
|
|
||||||
|
vim.eval('feedkeys("\<C-R>=UltiSnips#ExpandSnippet()\<CR>")')
|
||||||
|
```
|
||||||
|
|
||||||
|
`px.buffer.get()` and `px.cursor.get()` are simple helpers for the
|
||||||
|
`vim.current.window.buffer` and `vim.current.window.cursor`.
|
BIN
doc/examples/snippets-aliasing/demo.gif
Normal file
BIN
doc/examples/snippets-aliasing/demo.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.0 MiB |
Loading…
x
Reference in New Issue
Block a user