aboutsummaryrefslogtreecommitdiff
path: root/vim/bundle/vim-snippets/autoload/vim_snippets.vim
diff options
context:
space:
mode:
Diffstat (limited to 'vim/bundle/vim-snippets/autoload/vim_snippets.vim')
-rw-r--r--vim/bundle/vim-snippets/autoload/vim_snippets.vim27
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