aboutsummaryrefslogtreecommitdiff
path: root/autoload
diff options
context:
space:
mode:
Diffstat (limited to 'autoload')
-rw-r--r--autoload/unite/kinds/sonictemplate.vim39
-rw-r--r--autoload/unite/sources/sonictemplate.vim36
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__