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

filetype plugin on

call lightline#init()