Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions lsp-ui-sideline.el
Original file line number Diff line number Diff line change
Expand Up @@ -332,6 +332,9 @@ CURRENT is non-nil when the point is on the symbol."
(overlay-put ov 'after-string string)
(push ov lsp-ui-sideline--ovs))))))

(defun lsp-ui-sideline--code-action-title (action)
(replace-regexp-in-string "[\n\t ]+" " " (gethash "title" action)))

(defvar-local lsp-ui-sideline--code-actions nil)

(defun lsp-ui-sideline-apply-code-actions nil
Expand All @@ -340,9 +343,9 @@ CURRENT is non-nil when the point is on the symbol."
(unless lsp-ui-sideline--code-actions
(user-error "No code actions on the current line"))
(let* ((actions lsp-ui-sideline--code-actions)
(title (completing-read "Apply: " (--map (gethash "title" it) actions)
(title (completing-read "Apply: " (-map #'lsp-ui-sideline--code-action-title actions)
nil t))
(action (--first (equal (gethash "title" it) title) actions)))
(action (--first (equal (lsp-ui-sideline--code-action-title it) title) actions)))
(unless action
(error "Fail to apply action"))
(lsp-execute-code-action action)))
Expand All @@ -351,8 +354,7 @@ CURRENT is non-nil when the point is on the symbol."
"Show code ACTIONS."
(setq lsp-ui-sideline--code-actions actions)
(dolist (action actions)
(-let* ((title (->> (gethash "title" action)
(replace-regexp-in-string "[\n\t ]+" " ")
(-let* ((title (->> (lsp-ui-sideline--code-action-title action)
(concat lsp-ui-sideline-code-actions-prefix)))
(margin (lsp-ui-sideline--margin-width))
(keymap (let ((map (make-sparse-keymap)))
Expand Down