parent
f653f18e64
commit
d2bc102487
@ -91,6 +91,21 @@ gf Go to the file for the namespace under the cursor.
|
|||||||
:Dsplit {symbol} Jump to the definition for the given symbol in a
|
:Dsplit {symbol} Jump to the definition for the given symbol in a
|
||||||
split.
|
split.
|
||||||
|
|
||||||
|
*foreplay-:A*
|
||||||
|
:A In a test file, edit the implementation, and vice
|
||||||
|
versa. Basically adds or removes -test from the end
|
||||||
|
of the current namespace and searches for it in the
|
||||||
|
class path.
|
||||||
|
|
||||||
|
*foreplay-:AS*
|
||||||
|
:AS Like :A, but in a split.
|
||||||
|
|
||||||
|
*foreplay-:AV*
|
||||||
|
:AV Like :A, but in a vertical split.
|
||||||
|
|
||||||
|
*foreplay-:AT*
|
||||||
|
:AT Like :A, but in a tab.
|
||||||
|
|
||||||
EVALUATING CODE *foreplay-eval*
|
EVALUATING CODE *foreplay-eval*
|
||||||
|
|
||||||
All code is evaluated in the namespace of the current file, requiring it if
|
All code is evaluated in the namespace of the current file, requiring it if
|
||||||
|
@ -966,6 +966,40 @@ augroup foreplay_doc
|
|||||||
autocmd FileType clojure command! -buffer -bar -nargs=1 -complete=customlist,foreplay#eval_complete Source :exe s:Lookup('clojure.repl', 'source', <q-args>)
|
autocmd FileType clojure command! -buffer -bar -nargs=1 -complete=customlist,foreplay#eval_complete Source :exe s:Lookup('clojure.repl', 'source', <q-args>)
|
||||||
augroup END
|
augroup END
|
||||||
|
|
||||||
|
" }}}1
|
||||||
|
" Alternate {{{1
|
||||||
|
|
||||||
|
augroup foreplay_alternate
|
||||||
|
autocmd!
|
||||||
|
autocmd FileType clojure command! -buffer -bar -bang A :exe s:Alternate('edit<bang>')
|
||||||
|
autocmd FileType clojure command! -buffer -bar AS :exe s:Alternate('split')
|
||||||
|
autocmd FileType clojure command! -buffer -bar AV :exe s:Alternate('vsplit')
|
||||||
|
autocmd FileType clojure command! -buffer -bar AT :exe s:Alternate('tabedit')
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
function! s:alternates() abort
|
||||||
|
let ns = foreplay#ns()
|
||||||
|
if ns =~# '-test$'
|
||||||
|
let alt = [ns[0:-6]]
|
||||||
|
elseif ns =~# '\.test\.'
|
||||||
|
let alt = [substitute(ns, '\.test\.', '.', '')]
|
||||||
|
else
|
||||||
|
let alt = [ns . '-test', substitute(ns, '\.', '.test.', '')]
|
||||||
|
endif
|
||||||
|
return map(alt, 'tr(v:val, ".-", "/_") . ".clj"')
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:Alternate(cmd) abort
|
||||||
|
let alternates = s:alternates()
|
||||||
|
for file in alternates
|
||||||
|
let path = foreplay#findresource(file)
|
||||||
|
if !empty(path)
|
||||||
|
return a:cmd . ' ' . fnameescape(path)
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
return 'echoerr '.string("Couldn't find " . alternates[0] . "in class path")
|
||||||
|
endfunction
|
||||||
|
|
||||||
" }}}1
|
" }}}1
|
||||||
" Leiningen {{{1
|
" Leiningen {{{1
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user