2015-02-04 05:43:54 -05:00
|
|
|
" The next function was based on s:function and s:add_methods in fugitive
|
|
|
|
" <https://github.com/tpope/vim-fugitive/blob/master/plugin/fugitive.vim>
|
2015-02-12 19:19:27 -05:00
|
|
|
function! snipmate#util#add_methods(sfile, namespace, methods) abort
|
2015-02-04 05:43:54 -05:00
|
|
|
let dict = {}
|
|
|
|
for name in a:methods
|
|
|
|
let dict[name] = function(join([matchstr(a:sfile, '<SNR>\d\+'),
|
|
|
|
\ a:namespace, name], '_'))
|
|
|
|
endfor
|
|
|
|
return dict
|
|
|
|
endfunction
|
2015-07-13 06:22:46 -04:00
|
|
|
|
|
|
|
function! snipmate#util#eval(arg)
|
|
|
|
try
|
|
|
|
let ret = eval(a:arg)
|
|
|
|
catch
|
|
|
|
echohl ErrorMsg
|
|
|
|
echom 'SnipMate:Expression: ' . v:exception
|
|
|
|
echohl None
|
|
|
|
let ret = ''
|
|
|
|
endtry
|
|
|
|
return type(ret) == type('') ? ret : string(ret)
|
|
|
|
endfunction
|
2016-04-12 04:31:09 -04:00
|
|
|
|
|
|
|
function! snipmate#util#tabwidth()
|
|
|
|
if &sts > 0
|
|
|
|
return &sts
|
|
|
|
else
|
|
|
|
return exists('*shiftwidth') ? shiftwidth() : &sw
|
|
|
|
endif
|
|
|
|
endfunction
|