@@ -8,19 +8,22 @@ function! s:RunRepl(cmd)
8
8
endif
9
9
endfunction
10
10
11
- let s: boot_deps = [[' cider/cider-nrepl' , ' 0.15.0-SNAPSHOT' ], [' refactor-nrepl' , ' 2.3.1' ]]
12
- let s: boot_middleware = [' cider.nrepl/cider-middleware' , ' refactor-nrepl.middleware/wrap-refactor' ]
13
-
14
- let s: lein_plugins = [[' cider/cider-nrepl' , ' 0.15.0-SNAPSHOT' ], [' refactor-nrepl' , ' 2.3.1' ]]
11
+ let s: injections = [{' dependency' : [' cider/cider-nrepl' , ' 0.15.0' ],
12
+ \ ' lein_plugin' : 1 ,
13
+ \ ' middleware' : ' cider.nrepl/cider-middleware' },
14
+ \ {' dependency' : [' refactor-nrepl' , ' 2.3.1' ],
15
+ \ ' middleware' : ' refactor-nrepl.middleware/wrap-refactor' },
16
+ \ {' dependency' : [' com.gfredericks.dominic/debug-repl' , ' 0.0.1' ],
17
+ \ ' middleware' : ' com.gfredericks.debug-repl/wrap-debug-repl' }]
15
18
16
19
function ! jack_in#boot (... )
17
20
let l: boot_string = ' boot -i "(require '' cider.tasks)"'
18
- for dep in s: boot_deps
19
- let l: boot_string .= ' -d ' . dep [ 0 ]. ' : ' . dep [1 ]
21
+ for inj in s: injections
22
+ let l: boot_string .= printf ( ' -d %s:%s ' , inj[ ' dependency ' ][ 0 ], inj[ ' dependency ' ] [1 ])
20
23
endfor
21
24
let l: boot_string .= ' cider.tasks/add-middleware'
22
- for middleware in s: boot_middleware
23
- let l: boot_string .= ' -m ' .middleware
25
+ for inj in s: injections
26
+ let l: boot_string .= ' -m ' .inj[ ' middleware' ]
24
27
endfor
25
28
if a: 0 > 0 && a: 1 != ' '
26
29
let l: boot_task = join (a: 000 , ' ' )
@@ -32,8 +35,14 @@ endfunction
32
35
33
36
function ! jack_in#lein (... )
34
37
let l: lein_string = ' lein'
35
- for plugin in s: lein_plugins
36
- let l: lein_string .= ' update-in :plugins conj '' [' .plugin [0 ].' "' .plugin [1 ].' "]'' --'
38
+ for inj in s: injections
39
+ let l: dep_vector = printf (' ' ' [%s "%s"]'' ' , inj[' dependency' ][0 ], inj[' dependency' ][1 ])
40
+ if ! get (inj, ' lein_plugin' )
41
+ let l: lein_string .= ' update-in :dependencies conj ' .l: dep_vector .' --'
42
+ let l: lein_string .= ' update-in :repl-options:nrepl-middleware conj ' .inj[' middleware' ].' --'
43
+ else
44
+ let l: lein_string .= ' update-in :plugins conj ' .l: dep_vector .' --'
45
+ endif
37
46
endfor
38
47
if a: 0 > 0 && a: 1 != ' '
39
48
let l: lein_task = join (a: 000 , ' ' )
0 commit comments