From bf4d2fdd31ace2d09a29533bc090f5b6d5d268fa Mon Sep 17 00:00:00 2001 From: Shougo Matsushita Date: Wed, 21 Oct 2015 21:13:14 +0900 Subject: [PATCH] Fix #293 add neosnippet#annonymous() --- autoload/neosnippet.vim | 3 +++ autoload/neosnippet/mappings.vim | 9 +++++++++ autoload/neosnippet/view.vim | 9 ++++++--- doc/neosnippet.txt | 11 +++++++++++ 4 files changed, 29 insertions(+), 3 deletions(-) diff --git a/autoload/neosnippet.vim b/autoload/neosnippet.vim index 13df2ba..7457aaa 100644 --- a/autoload/neosnippet.vim +++ b/autoload/neosnippet.vim @@ -52,6 +52,9 @@ endfunction"}}} function! neosnippet#jumpable() "{{{ return neosnippet#mappings#jumpable() endfunction"}}} +function! neosnippet#annonymous(snippet, ...) "{{{ + return neosnippet#mappings#_annonymous(a:snippet, get(a:000, 0, {})) +endfunction"}}} function! neosnippet#get_snippets_directory() "{{{ return neosnippet#helpers#get_snippets_directory() diff --git a/autoload/neosnippet/mappings.vim b/autoload/neosnippet/mappings.vim index bb187c9..2ed8c7b 100644 --- a/autoload/neosnippet/mappings.vim +++ b/autoload/neosnippet/mappings.vim @@ -136,6 +136,15 @@ function! neosnippet#mappings#_expand_target_trigger(trigger) "{{{ endif endfunction"}}} +function! neosnippet#mappings#_annonymous(snippet, options) "{{{ + let cur_text = neosnippet#util#get_cur_text() + let options = extend( + \ neosnippet#parser#_initialize_snippet_options(), + \ a:options) + call neosnippet#view#_insert(a:snippet, options, cur_text, col('.')) + return '' +endfunction"}}} + function! s:snippets_expand(cur_text, col) "{{{ let cur_word = neosnippet#helpers#get_cursor_snippet( \ neosnippet#helpers#get_snippets(), diff --git a/autoload/neosnippet/view.vim b/autoload/neosnippet/view.vim index e2cb28e..a784a5b 100644 --- a/autoload/neosnippet/view.vim +++ b/autoload/neosnippet/view.vim @@ -48,7 +48,10 @@ function! neosnippet#view#_expand(cur_text, col, trigger_name) "{{{ let snippet = snippets[a:trigger_name] let cur_text = a:cur_text[: -1-len(a:trigger_name)] - let snip_word = snippet.snip + call neosnippet#view#_insert(snippet.snip, snippet.options, cur_text, a:col) +endfunction"}}} +function! neosnippet#view#_insert(snippet, options, cur_text, col) "{{{ + let snip_word = a:snippet if snip_word =~ '\\\@(neosnippet_expand_or_jump)" : "\" < + *neosnippet#annonymous()* +neosnippet#annonymous({snippet}, [{options}]) + It defines anonymous snippet. + {snippet} is snippet definition. + {options} is snippet option. + You can expand snippet definition without defining snippet + trigger. > + + inoremap (( + \ ((=neosnippet#annonymous('\left(${1}\right)${0}') + ------------------------------------------------------------------------------ FUNCTIONS *neosnippet-functions*