20 lines
479 B
Text
20 lines
479 B
Text
let s:sids = {}
|
|
function! s:sid(path) abort
|
|
if has_key(s:sids, a:path)
|
|
return s:sids[a:path]
|
|
endif
|
|
redir => scriptnames
|
|
silent! scriptnames
|
|
redir END
|
|
for line in split(scriptnames, '\n')
|
|
if line =~# a:path
|
|
let sid = matchstr(line, '\v^\s*\zs\d+\ze')
|
|
let s:sids[a:path] = sid
|
|
return sid
|
|
endif
|
|
endfor
|
|
endfunction
|
|
|
|
function! SID(name) abort
|
|
return function(printf("\<SNR>%d_%s", s:sid('autoload/lightline.vim'), a:name))
|
|
endfunction
|