-if exists("g:loaded_mein_whereami") | finish | endif
-let g:loaded_mein_whereami = 1
-
-function! s:pwdLoad()
- let g:mein_pwdL=trim(system("pwd -L"))
- let g:mein_pwdP=trim(system("pwd -P"))
-endfunction
-
-autocmd VimEnter * call s:pwdLoad()
-
-function! WhereAmI(fmt)
- let fullpath = expand("%:p")
- if fullpath[:len(g:mein_pwdP)-1] ==# g:mein_pwdP
- let fullpath = g:mein_pwdL . fullpath[len(g:mein_pwdP):]
- endif
- if a:fmt == "gnu"
- let where = fullpath . ":" . line(".")
- elseif a:fmt == "lldb"
- let where = "breakpoint set --file " . fullpath . " --line " . line(".")
- else
- let where = "unknown fmt"
- endif
- let @* = where
- echomsg where
-endfunction
-
-nmap <leader>w :call WhereAmI("gnu")<CR>
-nmap <leader>W :call WhereAmI("lldb")<CR>
+if exists("*whereami#pwdLoad") | finish | endif
+autocmd VimEnter * call whereami#pwdLoad()
+nmap <leader>w :call whereami#do("%s:%d")<CR>
+nmap <leader>W :call whereami#do("breakpoint set --file %s --line %d")<CR>