diff options
Diffstat (limited to 'vim/bundle/vim-snippets/autoload/vim_snippets.vim')
-rw-r--r-- | vim/bundle/vim-snippets/autoload/vim_snippets.vim | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/vim/bundle/vim-snippets/autoload/vim_snippets.vim b/vim/bundle/vim-snippets/autoload/vim_snippets.vim new file mode 100644 index 0000000..061f171 --- /dev/null +++ b/vim/bundle/vim-snippets/autoload/vim_snippets.vim @@ -0,0 +1,27 @@ +" this is well known Filename found in snipmate (and the other engines), but +" rewritten and documented :) +" +" optional arg1: string in which to replace '$1' by filename with extension +" and path dropped. Defaults to $1 +" optional arg2: return this value if buffer has no filename +" But why not use the template in this case, too? +" Doesn't make sense to me +fun! vim_snippets#Filename(...) + let template = get(a:000, 0, "$1") + let arg2 = get(a:000, 1, "") + + let basename = expand('%:t:r') + + if basename == '' + return arg2 + else + return substitute(template, '$1', basename, 'g') + endif +endf + +" original code: +" fun! Filename(...) +" let filename = expand('%:t:r') +" if filename == '' | return a:0 == 2 ? a:2 : '' | endif +" return !a:0 || a:1 == '' ? filename : substitute(a:1, '$1', filename, 'g') +" endf |