diff options
Diffstat (limited to 'autoload')
-rw-r--r-- | autoload/unite/kinds/sonictemplate.vim | 39 | ||||
-rw-r--r-- | autoload/unite/sources/sonictemplate.vim | 36 |
2 files changed, 75 insertions, 0 deletions
diff --git a/autoload/unite/kinds/sonictemplate.vim b/autoload/unite/kinds/sonictemplate.vim new file mode 100644 index 0000000..8879d09 --- /dev/null +++ b/autoload/unite/kinds/sonictemplate.vim @@ -0,0 +1,39 @@ +" File: sonictemplate +" Author: kmnk <kmnknmk+vim@gmail.com> +" Version: 0.1.0 +" License: BSD style license + +let s:save_cpo = &cpo +set cpo&vim + +function! unite#kinds#sonictemplate#define()"{{{ + return s:kind +endfunction"}}} + +let s:kind = { +\ 'name' : 'sonictemplate', +\ 'default_action' : 'insert', +\ 'action_table' : {}, +\ 'alias_table' : {}, +\} + +let s:kind.action_table.insert = { +\ 'description' : 'insert this template', +\ 'is_selectable' : 0, +\ 'is_quit' : 1, +\ 'is_invalidate_cache' : 0, +\ 'is_listed' : 1, +\} +function! s:kind.action_table.insert.func(candidate)"{{{ + call sonictemplate#apply( +\ a:candidate.word, +\ a:candidate.action__mode, +\ ) +endfunction"}}} + +" local functions {{{ +" }}} + +let &cpo = s:save_cpo +unlet s:save_cpo +" __END__ diff --git a/autoload/unite/sources/sonictemplate.vim b/autoload/unite/sources/sonictemplate.vim new file mode 100644 index 0000000..778c19b --- /dev/null +++ b/autoload/unite/sources/sonictemplate.vim @@ -0,0 +1,36 @@ +" File: sonictemplate +" Author: kmnk <kmnknmk+vim@gmail.com> +" Version: 0.1.0 +" License: BSD style license + +let s:save_cpo = &cpo +set cpo&vim + +function! unite#sources#sonictemplate#define()"{{{ + return s:source +endfunction"}}} + +let s:source = { +\ 'name' : 'sonictemplate', +\ 'description' : 'disp templates for sonictemplate', +\} + +function! s:source.gather_candidates(args, context)"{{{ + call unite#print_message('[sonictemplate]') + return map(sonictemplate#templates(), '{ +\ "word" : s:to_template_name(v:val), +\ "source" : s:source.name, +\ "kind" : s:source.name, +\ "action__mode" : len(a:args) > 0 ? args[0] : "n" +\ }') +endfunction"}}} + +" local functions {{{ +function! s:to_template_name(path) + return substitute(fnamemodify(a:path, ':t:r'), '^\%(base\|snip\)-', '', '') +endfunction +" }}} + +let &cpo = s:save_cpo +unlet s:save_cpo +" __END__ |