From 6f7f87731887203382209455ca9c9e08d3d11317 Mon Sep 17 00:00:00 2001 From: Gaston Tonietti Date: Thu, 9 Jun 2016 13:44:50 +1000 Subject: [PATCH 1/2] Use snippet provided by `completed_item` if it's present --- autoload/neosnippet/parser.vim | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/autoload/neosnippet/parser.vim b/autoload/neosnippet/parser.vim index cf81554..b49cb2d 100644 --- a/autoload/neosnippet/parser.vim +++ b/autoload/neosnippet/parser.vim @@ -301,6 +301,10 @@ endfunction"}}} function! neosnippet#parser#_get_completed_snippet(completed_item, next_text) abort "{{{ let item = a:completed_item + if has_key(item, "snippet") + return item.snippet + endif + " Set abbr let abbr = (item.abbr != '') ? item.abbr : item.word if len(item.menu) > 5 From b8f51c09ac118316e6e753f2e0f1c88edd2fc888 Mon Sep 17 00:00:00 2001 From: Gaston Tonietti Date: Thu, 9 Jun 2016 14:18:23 +1000 Subject: [PATCH 2/2] Add a test case for custom snippet for `enable_completed_snippet` --- test/functions.vim | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/test/functions.vim b/test/functions.vim index ec86f48..f8db058 100644 --- a/test/functions.vim +++ b/test/functions.vim @@ -128,5 +128,10 @@ function! s:suite.get_completed_snippet() abort \ 'word' : 'for[', 'abbr' : '', \ 'menu' : '', 'info' : '' \ }, ''), '${1}]${2}') + + call s:assert.equals(neosnippet#parser#_get_completed_snippet({ + \ 'word' : 'something', 'abbr' : 'something(else)', + \ 'menu' : '', 'info' : '', 'snippet' : '(${1:custom})${2}' + \ }, ''), '(${1:custom})${2}') endfunction