Browse Source

Add arguments_are_optional completion setting

PR/fix-warning
Tyler Horth 6 years ago
parent
commit
e416d25436
2 changed files with 16 additions and 6 deletions
  1. +2
    -0
      autoload/neosnippet.vim
  2. +14
    -6
      autoload/neosnippet/parser.vim

+ 2
- 0
autoload/neosnippet.vim View File

@@ -22,6 +22,8 @@ call neosnippet#util#set_default(
call neosnippet#util#set_default(
\ 'g:neosnippet#enable_completed_snippet', 0,
\ 'g:neosnippet#enable_complete_done')
call neosnippet#util#set_default(
\ 'g:neosnippet#arguments_are_optional', 1)
call neosnippet#util#set_default(
\ 'g:neosnippet#enable_auto_clear_markers', 1)
call neosnippet#util#set_default(


+ 14
- 6
autoload/neosnippet/parser.vim View File

@@ -339,9 +339,7 @@ function! neosnippet#parser#_get_completed_snippet(completed_item, cur_text, nex
for arg in split(substitute(
\ neosnippet#parser#_get_in_paren('<', '>', abbr),
\ '<\zs.\{-}\ze>', '', 'g'), '[^[]\zs\s*,\s*')
let args .= printf('${%d:#:%s%s}',
\ cnt, ((args != '') ? ', ' : ''),
\ escape(arg, '{}'))
let args .= neosnippet#parser#_conceal_argument(arg, cnt, args)
let cnt += 1
endfor
let snippet .= args
@@ -362,9 +360,7 @@ function! neosnippet#parser#_get_completed_snippet(completed_item, cur_text, nex
continue
endif

let args .= printf('${%d:#:%s%s}',
\ cnt, ((args != '') ? ', ' : ''),
\ escape(arg, '{}'))
let args .= neosnippet#parser#_conceal_argument(arg, cnt, args)
let cnt += 1
endfor
let snippet .= args
@@ -406,4 +402,16 @@ function! neosnippet#parser#_get_in_paren(key, pair, str) abort "{{{
return ''
endfunction"}}}

function! neosnippet#parser#_conceal_argument(arg, cnt, args) abort "{{{
let outside = ''
let inside = ''
if (a:args != '')
if g:neosnippet#arguments_are_optional
let inside = ', '
else
let outside = ', '
endif
endif
return printf('%s${%d:#:%s%s}', outside, a:cnt, inside, escape(a:arg, '{}'))
endfunction"}}}
" vim: foldmethod=marker

Loading…
Cancel
Save