diff --git a/autoload/neocomplcache/sources/snippets_complete.vim b/autoload/neocomplcache/sources/snippets_complete.vim index 569284f..80c63e7 100644 --- a/autoload/neocomplcache/sources/snippets_complete.vim +++ b/autoload/neocomplcache/sources/snippets_complete.vim @@ -1,7 +1,7 @@ "============================================================================= " FILE: snippets_complete.vim " AUTHOR: Shougo Matsushita -" Last Modified: 20 May 2013. +" Last Modified: 28 May 2013. " License: MIT license {{{ " Permission is hereby granted, free of charge, to any person obtaining " a copy of this software and associated documentation files (the @@ -61,7 +61,6 @@ function! s:source.get_complete_words(cur_keyword_pos, cur_keyword_str) "{{{ for snippet in list let snippet.dup = 1 - let snippet.neocomplcache__convertable = 0 let snippet.kind = get(snippet, \ 'neocomplcache__refresh', 0) ? '~' : '' @@ -89,21 +88,6 @@ function! s:keyword_filter(snippets, cur_keyword_str) "{{{ \ 'snippets_complete', 8) endfor - " Note: Disabled partial match for perfomance issues. - " if len(a:cur_keyword_str) > 1 && a:cur_keyword_str =~ '^\h\w*$' - " " Use partial match by word. - " let partial_list = filter(values(a:snippets), - " \ printf('stridx(v:val.word, %s) > 0', - " \ string(a:cur_keyword_str))) - " for snippet in partial_list - " " Set refresh flag. - " let snippet.neocomplcache__refresh = 1 - " let snippet.rank = 0 - " endfor - " - " let list += partial_list - " endif - " Add cur_keyword_str snippet. if has_key(a:snippets, a:cur_keyword_str) call add(list, a:snippets[a:cur_keyword_str]) diff --git a/autoload/neocomplete/sources/neosnippet.vim b/autoload/neocomplete/sources/neosnippet.vim new file mode 100644 index 0000000..e22cddc --- /dev/null +++ b/autoload/neocomplete/sources/neosnippet.vim @@ -0,0 +1,71 @@ +"============================================================================= +" FILE: neosnippet.vim +" AUTHOR: Shougo Matsushita +" Last Modified: 28 May 2013. +" License: MIT license {{{ +" Permission is hereby granted, free of charge, to any person obtaining +" a copy of this software and associated documentation files (the +" "Software"), to deal in the Software without restriction, including +" without limitation the rights to use, copy, modify, merge, publish, +" distribute, sublicense, and/or sell copies of the Software, and to +" permit persons to whom the Software is furnished to do so, subject to +" the following conditions: +" +" The above copyright notice and this permission notice shall be included +" in all copies or substantial portions of the Software. +" +" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +" IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +" CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +" TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +" SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +" }}} +"============================================================================= + +let s:save_cpo = &cpo +set cpo&vim + +let s:source = { + \ 'name' : 'snippets_complete', + \ 'kind' : 'manual', + \ 'min_pattern_length' : + \ g:neocomplcache_auto_completion_start_length, + \ 'rank' : 8, + \ 'hooks' : {}, + \} + +function! s:source.hooks.on_init(context) "{{{ + " Initialize. + call neosnippet#util#set_default( + \ 'g:neosnippet#enable_preview', 0) +endfunction"}}} + +function! s:source.get_complete_position(context) "{{{ + return match(a:context.input, '\w\+$') +endfunction"}}} + +function! s:source.gather_candidates(context) "{{{ + let candidates = neosnippet#get_snippets() + + for snippet in candidates + let snippet.dup = 1 + let snippet.menu = neosnippet#util#strwidthpart( + \ snippet.menu_template, winwidth(0)/3) + if g:neosnippet#enable_preview + let snippet.info = snippet.snip + endif + endfor + + return candidates +endfunction"}}} + +function! neocomplcache#sources#neosnippet#define() "{{{ + return s:source +endfunction"}}} + +let &cpo = s:save_cpo +unlet s:save_cpo + +" vim: foldmethod=marker