From e25014e00884c56142f34f204aca595814a2895f Mon Sep 17 00:00:00 2001 From: Vinson Chuong Date: Thu, 25 Oct 2012 07:56:08 -0700 Subject: [PATCH 1/3] Prevent folding of expanded snippet --- autoload/neosnippet.vim | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/autoload/neosnippet.vim b/autoload/neosnippet.vim index b12095c..03e7e9e 100644 --- a/autoload/neosnippet.vim +++ b/autoload/neosnippet.vim @@ -549,6 +549,11 @@ function! neosnippet#expand(cur_text, col, trigger_name)"{{{ \ '<|\1|>', 'g') " Insert snippets. + if has('folding') + let foldmethod = &l:foldmethod + let &l:foldmethod = 'manual' + endif + let next_line = getline('.')[a:col-1 :] let snippet_lines = split(snip_word, '\n', 1) if empty(snippet_lines) @@ -581,16 +586,17 @@ function! neosnippet#expand(cur_text, col, trigger_name)"{{{ \ 'holder_cnt' : 1, \ }) - if has('folding') && foldclosed(line('.')) - " Open fold. - silent! normal! zO - endif if next_col < col('$') startinsert else startinsert! endif + if has('folding') + let &l:foldmethod = foldmethod + silent execute begin_line . ',' . end_line . 'foldopen!' + endif + if snip_word =~ s:get_placeholder_marker_pattern() call s:snippets_jump(a:cur_text, a:col) endif From 43247731b7d8ac89240dfcd3557e7069d3ccc9f8 Mon Sep 17 00:00:00 2001 From: ujihisa Date: Thu, 25 Oct 2012 09:00:07 -0700 Subject: [PATCH 2/3] javascript snippet bugfix: follows changes in prev_word/options --- autoload/neosnippet/snippets/javascript.snip | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/autoload/neosnippet/snippets/javascript.snip b/autoload/neosnippet/snippets/javascript.snip index 46216ca..1857d6f 100644 --- a/autoload/neosnippet/snippets/javascript.snip +++ b/autoload/neosnippet/snippets/javascript.snip @@ -5,36 +5,43 @@ snippet :f snippet func alias function +options word function ${1:function_name}(${2:argument}) { ${0:// body...} } snippet proto +options head ${1:class_name}.prototype.${2:method_name} = function(${3:first_argument}) { ${0:// body...} }; snippet f +options word function(${1}) { ${0:$TM_SELECTED_TEXT} }; snippet if +options head if (${1:true}) { ${0:$TM_SELECTED_TEXT} } snippet ife +options head if (${1:true}) { ${0:$TM_SELECTED_TEXT} } else { } snippet for +options head for (var ${2:i}=0; $2 < ${1:Things}.length; $2++) { ${0} } snippet forin +options head for (var ${2:i} in ${1:Things}) { ${0} }; @@ -46,4 +53,5 @@ snippet key ${1:key}: "${2:value}"}${3:, } snippet timeout +options head setTimeout(function() {${0}}${2:}, ${1:10}); From b01091afd7fa102db4861477c7bb9de19cc42967 Mon Sep 17 00:00:00 2001 From: ujihisa Date: Thu, 25 Oct 2012 09:12:39 -0700 Subject: [PATCH 3/3] ditto in lua and vim/vital --- autoload/neosnippet/snippets/lua.snip | 9 +++++++-- autoload/neosnippet/snippets/vim/vital.snip | 2 ++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/autoload/neosnippet/snippets/lua.snip b/autoload/neosnippet/snippets/lua.snip index bcd319d..c57ff05 100644 --- a/autoload/neosnippet/snippets/lua.snip +++ b/autoload/neosnippet/snippets/lua.snip @@ -1,27 +1,32 @@ # lua's indent plugin doesn't work well partly with markers. Use hard-tab for some of this snippet. snippet func -alias function +alias function name(args)...end +options word function ${1:function_name}(${2:argument}) ${0:// body...} end snippet if +options head if (${1:true}) then ${0:$TM_SELECTED_TEXT} end snippet for +options head for ${2:i} = 0, ${1:Things} do ${0} end snippet forin +options head for ${2:k}, ${3:v} in ${1:ipairs(xs)} do ${0} end snippet print_table +options head abbr for k, v in ipairs(table) do - for (k, v) in ipairs(${1:table}) do + for k, v in ipairs(${1:table}) do print(k, v) end diff --git a/autoload/neosnippet/snippets/vim/vital.snip b/autoload/neosnippet/snippets/vim/vital.snip index f9cce4b..d6a05c2 100644 --- a/autoload/neosnippet/snippets/vim/vital.snip +++ b/autoload/neosnippet/snippets/vim/vital.snip @@ -4,6 +4,7 @@ abbr vital#of('...') snippet vital_of abbr let s:V = vital#of('...') +options head let ${1:s:V} = vital#of('${2:vital}') snippet vital_import_without_let @@ -21,6 +22,7 @@ abbr s:V.load('...') snippet vital_load abbr call s:V.load('...') +options head call ${1:s:V}.load('${2:Module}') # FAQ