From 65af2b9bcad50ba1543b38a8dd30df1aee2142ce Mon Sep 17 00:00:00 2001 From: Shougo Matsushita Date: Mon, 2 Jan 2017 10:41:43 +0900 Subject: [PATCH] Fix #363 completed snippet parser --- autoload/neosnippet/parser.vim | 2 +- test/functions.vim | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/autoload/neosnippet/parser.vim b/autoload/neosnippet/parser.vim index 9f98ad5..c453e42 100644 --- a/autoload/neosnippet/parser.vim +++ b/autoload/neosnippet/parser.vim @@ -417,7 +417,7 @@ function! neosnippet#parser#_get_in_paren(key, pair, str) abort "{{{ continue endif elseif c ==# a:pair - if level == 1 && s != '' + if level == 1 && (s != '' || a:str =~ '()\s*(.\{-})') return s else let level -= 1 diff --git a/test/functions.vim b/test/functions.vim index 062a41a..39491a2 100644 --- a/test/functions.vim +++ b/test/functions.vim @@ -30,6 +30,10 @@ function! s:suite.get_in_paren() abort \ '(', ')', \ 'wait() wait(long, int)'), \ 'long, int') + call s:assert.equals(neosnippet#parser#_get_in_paren( + \ '(', ')', + \ 'wait() (long, int)'), + \ '') endfunction function! s:suite.get_completed_snippet() abort