From b4d50769c20d5f3c512b30c0d9fecd42ba6847f4 Mon Sep 17 00:00:00 2001 From: Shougo Matsushita Date: Sun, 23 Aug 2015 14:49:33 +0900 Subject: [PATCH] Fix #288 don't overwrite exists snippet --- autoload/neosnippet/handlers.vim | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/autoload/neosnippet/handlers.vim b/autoload/neosnippet/handlers.vim index 3700d69..55c5bab 100644 --- a/autoload/neosnippet/handlers.vim +++ b/autoload/neosnippet/handlers.vim @@ -31,6 +31,11 @@ function! neosnippet#handlers#_complete_done() "{{{ return endif + if has_key(neosnippet#helpers#get_snippets(), v:completed_item.word) + " Don't overwrite exists snippets + return + endif + let item = v:completed_item let abbr = (item.abbr != '') ? item.abbr : item.word @@ -57,7 +62,7 @@ function! neosnippet#handlers#_complete_done() "{{{ if cnt != 1 let snippet .= ', ' endif - let snippet .= printf('${%d:#%s}', cnt, escape(arg, '{}')) + let snippet .= printf('${%d:#:%s}', cnt, escape(arg, '{}')) let cnt += 1 endfor if snippet !~ ')$' @@ -65,12 +70,12 @@ function! neosnippet#handlers#_complete_done() "{{{ endif let snippet .= '${0}' - let trigger = item.word let options = neosnippet#parser#_initialize_snippet_options() let options.word = 1 let options.oneshot = 1 let neosnippet = neosnippet#variables#current_neosnippet() + let trigger = item.word let neosnippet.snippets[trigger] = \ neosnippet#parser#_initialize_snippet( \ { 'name' : trigger, 'word' : snippet, 'options' : options },