mirror of
https://github.com/amix/vimrc
synced 2024-12-24 02:43:08 +00:00
28 lines
831 B
VimL
28 lines
831 B
VimL
|
" 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
|