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 diff --git a/autoload/neosnippet/snippets/javascript.snip b/autoload/neosnippet/snippets/javascript.snip index f82a937..3c4aeb3 100644 --- a/autoload/neosnippet/snippets/javascript.snip +++ b/autoload/neosnippet/snippets/javascript.snip @@ -6,7 +6,7 @@ options head snippet function alias func -options word +options head function ${1:function_name}(${2:argument}) { ${0:// body...} } @@ -19,7 +19,7 @@ options head snippet f -options head +options word function(${1}) { ${0:$TM_SELECTED_TEXT} }; snippet if 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