Skip to content
Open
Changes from 1 commit
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
11 changes: 10 additions & 1 deletion lsp-haskell.el
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
;;; lsp-haskell.el --- Haskell support for lsp-mode

;; Version: 1.0
;; Package-Requires: ((emacs "24.3") (lsp-mode "3.0") (haskell-mode "1.0"))
;; Package-Requires: ((emacs "26.1") (lsp-mode "3.0") (haskell-mode "1.0"))
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

;; Keywords: haskell
;; URL: https://github.com/emacs-lsp/lsp-haskell

Expand Down Expand Up @@ -228,6 +228,15 @@ if projectile way fails"
(user-error "Couldn't find cabal file, using: %s" dir)
dir))))

(defun lsp-haskell-execute-code-action-add-signature ()
"Execute code action of add signature.
Add the type signature that GHC infers to the function located below the point."
(interactive)
(let ((action (seq-find (lambda (e) (string-prefix-p "add signature" (gethash "title" e))) (lsp-code-actions-at-point))))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you should not use gethash because when lsp-use-plists is t the data structures will be plists. You may refer to lsp-execute-code-action-by-kind in lsp-java.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I meant lsp-java-execute-matching-action

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or we want the stuff in emacs-lsp/lsp-mode#2402

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

HLS should set an identifiable kind for the action for this reason. If it doesn't please open a PR upstream so that it does. See also #112

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank.
I use lsp:code-action-title.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code action titles aren't the same as kinds! Titles are user facing strings that can change at any time, kinds should be more stable.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, lsp-java is using the title because the server is refusing to fix the kinds.

(if (hash-table-p action)
(lsp-execute-code-action action)
(message "I Can't find add signature action for this point"))))

;; ---------------------------------------------------------------------
;; Starting the server and registration with lsp-mode

Expand Down