aboutsummaryrefslogtreecommitdiff
path: root/autoload
diff options
context:
space:
mode:
authormattn <mattn.jp@gmail.com>2014-09-03 13:41:57 +0900
committermattn <mattn.jp@gmail.com>2014-09-03 13:41:57 +0900
commitfb01d0141e6491ae67064014ce5fd47556fcb609 (patch)
treea9fd3901080b1dc7e14f3ec444c02f6e509b2fe4 /autoload
parent852422ef24e908397c356e5a833c72ff2b3a00de (diff)
downloadvim-sonictemplate-fb01d0141e6491ae67064014ce5fd47556fcb609.tar.gz
vim-sonictemplate-fb01d0141e6491ae67064014ce5fd47556fcb609.tar.bz2
vim-sonictemplate-fb01d0141e6491ae67064014ce5fd47556fcb609.zip
Add g:sonictemplate_vars variable to override the value of _input_
Diffstat (limited to 'autoload')
-rw-r--r--autoload/sonictemplate.vim12
1 files changed, 11 insertions, 1 deletions
diff --git a/autoload/sonictemplate.vim b/autoload/sonictemplate.vim
index 4eb2887..3f00664 100644
--- a/autoload/sonictemplate.vim
+++ b/autoload/sonictemplate.vim
@@ -80,6 +80,9 @@ function! s:get_candidate(fts, lead)
for tmpldir in s:tmpldir
let tmp += map(split(globpath(join([tmpldir, ft], '/'), 'file-' . expand('%:t:r') . '*.*'), "\n"), 'fnamemodify(v:val, ":t:r")[5:]')
endfor
+ for tmpldir in s:tmpldir
+ let tmp += sort(map(split(globpath(join([tmpldir, '_'], '/'), 'file-' . a:lead . '*.*'), "\n"), 'fnamemodify(v:val, ":t:r")[5:]'))
+ endfor
endif
for tmpldir in s:tmpldir
for ft in fts
@@ -173,6 +176,9 @@ function! sonictemplate#apply(name, mode, ...) abort
for ft in fts
let fs += sort(split(globpath(join([tmpldir, ft], '/'), 'file-' . name . '.*'), "\n"))
endfor
+ for ft in fts
+ let fs += sort(split(globpath(join([tmpldir, '_'], '/'), 'file-' . name . '.*'), "\n"))
+ endfor
endfor
endif
if len(fs) == 0
@@ -215,7 +221,11 @@ function! sonictemplate#apply(name, mode, ...) abort
let tmp = tmp[stridx(tmp, match) + len(match):]
endwhile
for var in vars
- let val = input(var . ":")
+ if has_key(g:, 'sonictemplate_vars') && type(g:sonictemplate_vars) == 4 && has_key(g:sonictemplate_vars, var)
+ let val = g:sonictemplate_vars[var]
+ else
+ let val = input(var . ": ")
+ endif
let c = substitute(c, '\V{{\(_input_\|_var_\):'.var.'}}', '\=val', 'g')
let s:vars[ft][var] = val
endfor