@@ -270,11 +270,11 @@ With a prefix ARG sets the namespace in the REPL buffer to that
270
270
of the namespace in the Clojure source buffer.
271
271
272
272
With a second prefix ARG the chosen REPL buffer is based on a
273
- supplied project directory using IDO ."
273
+ supplied project directory."
274
274
(interactive " p" )
275
275
(cider-ensure-connected)
276
276
(let* ((project-directory
277
- (or (when (eq 16 arg) (ido- read-directory-name " Project: " ))
277
+ (or (when (eq 16 arg) (read-directory-name " Project: " ))
278
278
(nrepl-project-directory-for (nrepl-current-dir))))
279
279
(connection-buffer
280
280
(or
@@ -1173,8 +1173,8 @@ See command `cider-mode'."
1173
1173
(unless (cider-connected-p)
1174
1174
(cider-disable-on-existing-clojure-buffers)))
1175
1175
1176
- (defun cider-ido -form (ns )
1177
- " Construct a Clojure form for ido read using NS."
1176
+ (defun cider-fetch-vars -form (ns )
1177
+ " Construct a Clojure form to read vars inside for NS."
1178
1178
`(concat (if (find-ns (symbol , ns ))
1179
1179
(map name (concat (keys (ns-interns (symbol , ns )))
1180
1180
(keys (ns-refers (symbol , ns ))))))
@@ -1189,51 +1189,54 @@ See command `cider-mode'."
1189
1189
(map (fn [n] (str n " /" )))
1190
1190
(into (hash-set)))))
1191
1191
1192
- (defun cider-ido-up-ns (ns )
1193
- " Perform up using NS."
1192
+ (defun cider-parent-ns (ns )
1193
+ " Go up a level of NS.
1194
+ For example \" foo.bar.tar\" -> \" foo.bar\" ."
1194
1195
(mapconcat 'identity (butlast (split-string ns " \\ ." )) " ." ))
1195
1196
1196
- (defun cider-ido- var-select (prompt ido- callback cider-ido- ns selected targets )
1197
- " Peform ido select using SELECTED and TARGETS.
1197
+ (defun cider-completing-read- var-select (prompt callback ns selected targets )
1198
+ " Peform completing read using SELECTED and TARGETS.
1198
1199
If SELECTED is \" ..\" then another selection is made for vars in the parent namespace of
1199
- CIDER-IDO- NS using PROMPT.
1200
+ NS using PROMPT.
1200
1201
If SELECTED is a namespace then another selection is made against that namespace
1201
1202
using PROMPT.
1202
- Once a selecton is made IDO- CALLBACK is called with SELECTED."
1203
+ Once a selecton is made CALLBACK is called with SELECTED."
1203
1204
; ; TODO: immediate RET gives "" as selected for some reason
1204
1205
; ; this is an OK workaround though
1205
1206
(cond ((equal " " selected)
1206
- (cider-ido- var-select prompt ido- callback cider-ido- ns (car targets) targets))
1207
+ (cider-completing-read- var-select prompt callback ns (car targets) targets))
1207
1208
((equal " /" (substring selected -1 )) ; selected a namespace
1208
- (cider-ido -read-var prompt (substring selected 0 -1 ) ido- callback))
1209
+ (cider-completing -read-var prompt (substring selected 0 -1 ) callback))
1209
1210
((equal " .." selected)
1210
- (cider-ido -read-var prompt (cider-ido-up- ns cider-ido- ns) ido- callback))
1211
+ (cider-completing -read-var prompt (cider-parent- ns ns) callback))
1211
1212
; ; non ido variable selection techniques don't return qualified symbols, so this shouldn't either
1212
- (t (funcall ido- callback selected))))
1213
+ (t (funcall callback selected))))
1213
1214
1214
- (defun cider-ido-read-sym-handler (label ido-select buffer )
1215
- " Create an ido read var handler with IDO-SELECT for BUFFER."
1215
+ (defun cider-completing-read-sym-handler (label completing-read-callback buffer )
1216
+ " Create an nrepl response handler for BUFFER.
1217
+ The handler will parse the response from nrepl to create targets for a completing read.
1218
+ The result of the completing read will be passed to COMPLETING-READ-CALLBACK."
1216
1219
(nrepl-make-response-handler buffer
1217
1220
(lambda (buffer value )
1218
1221
; ; make sure to eval the callback in the buffer that the symbol was requested from so we get the right namespace
1219
1222
(with-current-buffer buffer
1220
1223
(let* ((targets (car (read-from-string value)))
1221
- (selected (ido- completing-read label targets nil t )))
1222
- (funcall ido-select selected targets))))
1224
+ (selected (completing-read label targets nil t )))
1225
+ (funcall completing-read-callback selected targets))))
1223
1226
nil nil nil ))
1224
1227
1225
- (defun cider-ido -read-sym-form (label form callback )
1228
+ (defun cider-completing -read-sym-form (label form callback )
1226
1229
" Eval the FORM and pass the result to the response handler."
1227
- (cider-tooling-eval form (cider-ido -read-sym-handler label callback (current-buffer ))
1230
+ (cider-tooling-eval form (cider-completing -read-sym-handler label callback (current-buffer ))
1228
1231
nrepl-buffer-ns))
1229
1232
1230
- (defun cider-ido -read-var (prompt ns ido- callback )
1231
- " Perform ido read var in NS using IDO- CALLBACK."
1232
- (cider-ido -read-sym-form prompt (prin1-to-string (cider-ido -form ns))
1233
+ (defun cider-completing -read-var (prompt ns callback )
1234
+ " Perform completing read var in NS using CALLBACK."
1235
+ (cider-completing -read-sym-form prompt (prin1-to-string (cider-fetch-vars -form ns))
1233
1236
(lambda (selected targets )
1234
- (cider-ido- var-select prompt ido- callback ns selected targets))))
1237
+ (cider-completing-read- var-select prompt callback ns selected targets))))
1235
1238
1236
- (defun cider-ido -fns-form (ns )
1239
+ (defun cider-fetch -fns-form (ns )
1237
1240
" Construct a Clojure form for reading fns using supplied NS."
1238
1241
(format " (let [fn-pred (fn [[k v]] (and (fn? (.get v))
1239
1242
(not (re-find #\" clojure.\" (str v)))))]
@@ -1245,27 +1248,26 @@ Once a selecton is made IDO-CALLBACK is called with SELECTED."
1245
1248
(ns-refers '%s )))))) " ns ns))
1246
1249
1247
1250
(defun cider-load-fn-into-repl-buffer ()
1248
- " Browse functions available in current repl buffer using ido .
1251
+ " Browse functions available in current repl buffer.
1249
1252
Once selected, the name of the fn will appear in the repl buffer in parens
1250
1253
ready to call."
1251
1254
(interactive )
1252
- (cider-ido -read-sym-form (format " Fn: %s / " nrepl-buffer-ns)
1253
- (cider-ido -fns-form (cider-current-ns))
1254
- (lambda (f _targets )
1255
- (with-current-buffer (cider-current-repl-buffer)
1256
- (cider-repl--replace-input (format " (%s ) " f))
1257
- (goto-char (- (point-max ) 1 ))))))
1255
+ (cider-completing -read-sym-form (format " Fn: %s / " nrepl-buffer-ns)
1256
+ (cider-fetch -fns-form (cider-current-ns))
1257
+ (lambda (f _targets )
1258
+ (with-current-buffer (cider-current-repl-buffer)
1259
+ (cider-repl--replace-input (format " (%s ) " f))
1260
+ (goto-char (- (point-max ) 1 ))))))
1258
1261
1259
1262
(defun cider-read-symbol-name (prompt callback &optional query )
1260
1263
" Either read a symbol name using PROMPT or choose the one at point.
1261
- Use CALLBACK as the ido read var callback.
1264
+ Use CALLBACK as the completing read var callback.
1262
1265
The user is prompted with PROMPT if a prefix argument is in effect,
1263
1266
if there is no symbol at point, or if QUERY is non-nil."
1264
1267
(let ((symbol-name (cider-symbol-at-point)))
1265
- (cond ((not (or current-prefix-arg query (not symbol-name)))
1266
- (funcall callback symbol-name))
1267
- (ido-mode (cider-ido-read-var prompt nrepl-buffer-ns callback))
1268
- (t (funcall callback (read-from-minibuffer prompt symbol-name))))))
1268
+ (if (not (or current-prefix-arg query (not symbol-name)))
1269
+ (funcall callback symbol-name)
1270
+ (cider-completing-read-var prompt nrepl-buffer-ns callback))))
1269
1271
1270
1272
(defun cider-doc-buffer-for (symbol )
1271
1273
" Return buffer with documentation for SYMBOL."
0 commit comments