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*