diff --git a/plugin/fireplace.vim b/plugin/fireplace.vim index 4bd4e51..d493813 100644 --- a/plugin/fireplace.vim +++ b/plugin/fireplace.vim @@ -1348,10 +1348,15 @@ function! fireplace#cfile() abort elseif file =~# '^[^/]*/[^/.]*$' && file =~# '^\k\+$' let [file, jump] = split(file, "/") if file !~# '\.' - try - let file = tr(fireplace#evalparse('((ns-aliases *ns*) '.s:qsym(file).' '.s:qsym(file).')'), '.-', '/_') - catch /^Clojure:/ - endtry + if fireplace#op_available('info') + let res = fireplace#message({'op': 'info', 'symbol': file}) + let file = get(get(res, 0, {}), 'ns', file) + else + try + let file = tr(fireplace#evalparse('((ns-aliases *ns*) '.s:qsym(file).' '.s:qsym(file).')'), '.-', '/_') + catch /^Clojure:/ + endtry + endif endif elseif file =~# '^\w[[:alnum:]-]\+\.[[:alnum:].-]\+$' let file = tr(file, '.-', '/_')