Skip to content

Commit dc081ad

Browse files
authored
Merge pull request #150 from dakra/lsp-multi-ivy-read
Use ivy if present for multiple selection
2 parents ac3c698 + 3e21be3 commit dc081ad

File tree

1 file changed

+22
-14
lines changed

1 file changed

+22
-14
lines changed

lsp-java.el

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1030,20 +1030,28 @@ PROJECT-URI uri of the item."
10301030
:buffer "*lsp-java select*"
10311031
:prompt message)
10321032
result)
1033-
(let ((deps initial-selection) dep)
1034-
(while (setq dep (cl-rest (lsp--completing-read
1035-
(if deps
1036-
(format "%s (selected %s): " message (length deps))
1037-
(concat message ": "))
1038-
items
1039-
(-lambda ((name . id))
1040-
(if (-contains? deps id)
1041-
(concat name "")
1042-
name)))))
1043-
(if (-contains? deps dep)
1044-
(setq deps (remove dep deps))
1045-
(cl-pushnew dep deps)))
1046-
deps)))
1033+
(if (functionp 'ivy-read)
1034+
(let (result)
1035+
(ivy-read message (mapcar #'car items)
1036+
:action (lambda (c) (setq result (list (cdr (assoc c items)))))
1037+
:multi-action
1038+
(lambda (canditates)
1039+
(setq result (mapcar (lambda (c) (cdr (assoc c items))) canditates))))
1040+
result)
1041+
(let ((deps initial-selection) dep)
1042+
(while (setq dep (cl-rest (lsp--completing-read
1043+
(if deps
1044+
(format "%s (selected %s): " message (length deps))
1045+
(concat message ": "))
1046+
items
1047+
(-lambda ((name . id))
1048+
(if (-contains? deps id)
1049+
(concat name "")
1050+
name)))))
1051+
(if (-contains? deps dep)
1052+
(setq deps (remove dep deps))
1053+
(cl-pushnew dep deps)))
1054+
deps))))
10471055

10481056
(defun lsp-java--apply-document-changes (response)
10491057
"Apply document CHANGES."

0 commit comments

Comments
 (0)