From 6ce1d5524279990ad6358e17ff9285e7e71c98a4 Mon Sep 17 00:00:00 2001 From: Shougo Matsushita Date: Tue, 3 Nov 2015 17:45:03 +0900 Subject: [PATCH] Fix #297 neosnippet#expand() --- autoload/neosnippet/mappings.vim | 19 ++++++++++++++++--- doc/neosnippet.txt | 9 ++++++--- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/autoload/neosnippet/mappings.vim b/autoload/neosnippet/mappings.vim index 316eb81..d3d67ad 100644 --- a/autoload/neosnippet/mappings.vim +++ b/autoload/neosnippet/mappings.vim @@ -145,15 +145,28 @@ function! neosnippet#mappings#_anonymous(snippet, options) "{{{ return '' endfunction"}}} function! neosnippet#mappings#_expand(trigger) "{{{ + call neosnippet#init#check() + + let cur_text = neosnippet#util#get_cur_text() + let col = col('.') if mode() !=# 'i' " Fix column. let col += 2 endif - call neosnippet#view#_expand( - \ neosnippet#util#get_cur_text(), col, a:trigger) - return '' + " Get selected text. + let neosnippet = neosnippet#variables#current_neosnippet() + let neosnippet.trigger = 1 + let expr = '' + if mode() ==# 's' && neosnippet.optional_tabstop + let expr .= "\\"_d" + endif + + let expr .= printf("\:call neosnippet#view#_expand(%s,%d, %s)\", + \ string(cur_text), col, string(a:trigger)) + + return expr endfunction"}}} function! s:snippets_expand(cur_text, col) "{{{ diff --git a/doc/neosnippet.txt b/doc/neosnippet.txt index 7cd4632..48f0328 100755 --- a/doc/neosnippet.txt +++ b/doc/neosnippet.txt @@ -335,10 +335,13 @@ neosnippet#anonymous({snippet}, [{options}]) *neosnippet#expand()* neosnippet#expand({trigger}) It expands the snippet trigger. - {trigger} is snippet trigger. > - - nnoremap test + {trigger} is snippet trigger. + Note: You can use this function with |map-|. +> + inoremap test \ i=neosnippet#expand('date_english') + nnoremap test + \ neosnippet#expand('date_english') ------------------------------------------------------------------------------ FUNCTIONS *neosnippet-functions*