diff --git a/autoload/neocomplcache/sources/snippets_complete.vim b/autoload/neocomplcache/sources/snippets_complete.vim index 2a53b46..69dc5eb 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: 19 Oct 2012. +" Last Modified: 21 Oct 2012. " License: MIT license {{{ " Permission is hereby granted, free of charge, to any person obtaining " a copy of this software and associated documentation files (the @@ -41,6 +41,14 @@ function! s:source.initialize()"{{{ endfunction"}}} function! s:source.get_keyword_pos(cur_text)"{{{ + let cur_word = matchstr(a:cur_text, '\w\+$') + let word_candidates = neocomplcache#keyword_filter( + \ filter(values(neosnippet#get_snippets()), + \ 'v:val.options.word'), cur_word) + if !empty(word_candidates) + return match(a:cur_text, '\w\+$') + endif + return match(a:cur_text, '\S\+$') endfunction"}}} diff --git a/autoload/neosnippet.vim b/autoload/neosnippet.vim index 9dd1d87..a4ccd29 100644 --- a/autoload/neosnippet.vim +++ b/autoload/neosnippet.vim @@ -435,9 +435,15 @@ function! s:is_beginning_of_line(cur_text)"{{{ return prev_word_end <= 0 endfunction"}}} function! s:get_cursor_snippet(snippets, cur_text)"{{{ + let cur_word = matchstr(a:cur_text, '\w\+$') + if cur_word != '' && + \ has_key(a:snippets, cur_word) && a:snippets[cur_word].options.word + return cur_word + endif + let cur_word = matchstr(a:cur_text, '\S\+$') - return has_key(a:snippets, cur_word) ? cur_word : '' + return cur_word != '' && has_key(a:snippets, cur_word) ? cur_word : '' endfunction"}}} function! s:snippets_expand(cur_text, col)"{{{ let cur_word = s:get_cursor_snippet( diff --git a/autoload/neosnippet/snippets/_.snip b/autoload/neosnippet/snippets/_.snip index ed904fb..18ba4ec 100644 --- a/autoload/neosnippet/snippets/_.snip +++ b/autoload/neosnippet/snippets/_.snip @@ -1,16 +1,20 @@ # Global snippets snippet date +options word `strftime("%d %b %Y")` snippet date_full alias df +options word `strftime("%Y-%m-%dT%H:%M:%S")` snippet date_day alias dd +options word `strftime("%Y-%m-%d")` snippet date_time alias dt +options word `strftime("%H:%M:%S")` diff --git a/doc/neosnippet.txt b/doc/neosnippet.txt index 53e7ed9..0ed4c76 100644 --- a/doc/neosnippet.txt +++ b/doc/neosnippet.txt @@ -418,6 +418,15 @@ languages' indent files can not work very well (e.g.: PHP, Python). ${2:// code...} } < +"options word" means this snippet is expanded by word boundary. +Note: The trigger must be word(digits or alphabet characters or "_") +characters. +> + snippet date + options word + `strftime("%d %b %Y")` +< + ============================================================================== UNITE SOURCES *neosnippet-unite-sources* @@ -444,6 +453,7 @@ CHANGELOG *neosnippet-changelog* 2012-10-21 - Added options head. +- Added options word. 2012-10-19 - Fixed syntax highlight.