-function! WhereAmI()
- let where = expand('%:p') . ":" . line('.')
+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()<CR>
+nmap <leader>w :call WhereAmI("gnu")<CR>
+nmap <leader>W :call WhereAmI("lldb")<CR>