fix #12455 lsp layer

add an internal variable for `lsp` layer `lsp-layer--active-mode-list`
to keep track of active major modes using lsp,
`spacemacs//lsp-declare-prefixes-for-mode` will check this variable
to decide whether to add prefix to which-key or not
This commit is contained in:
Thanh Vuong 2019-06-24 09:05:51 -06:00 committed by duianto
parent 5df46b200e
commit 653a38bce5
3 changed files with 15 additions and 11 deletions

View File

@ -1804,6 +1804,7 @@ Other:
- ~SPC m g s~ to find symbol in current project
- ~SPC m g S~ to find symbol in all projects
- Deleted =fix-lsp-company-prefix= since =company-lsp= is doing that handling.
- Fixed a delay when declaring prefixes for mode (thanks to Thanh Vuong)
**** Debug Adapter Protocol (DAP)
- Key bindings
- ~SPC m d d e~ to edit debug template

View File

@ -27,3 +27,4 @@ If :none, use neither flycheck nor flymake.")
(defvar lsp-ui-sideline-enable t "Enable/disable lsp-ui-sideline overlay")
(defvar lsp-ui-sideline-show-symbol nil "When non-nil, sideline includes symbol info (largely redundant for c modes)") ; don't show symbol on the right of info
(defvar lsp-ui-sideline-ignore-duplicate t "Ignore duplicates")
(defvar lsp-layer--active-mode-list nil "internal variable to store active major modes")

View File

@ -77,17 +77,19 @@
(defun spacemacs//lsp-declare-prefixes-for-mode (mode)
"Define key binding prefixes for the specific MODE."
(spacemacs/declare-prefix-for-mode mode "m=" "format")
(spacemacs/declare-prefix-for-mode mode "mh" "help")
(spacemacs/declare-prefix-for-mode mode "mb" "backend")
(spacemacs/declare-prefix-for-mode mode "mr" "refactor")
(spacemacs/declare-prefix-for-mode mode "mT" "toggle")
(spacemacs/declare-prefix-for-mode mode "mg" "goto")
(spacemacs/declare-prefix-for-mode mode "mG" "peek")
(spacemacs/declare-prefix-for-mode mode "mF" "folder")
(dolist (prefix '("mg" "mG"))
(spacemacs/declare-prefix-for-mode mode (concat prefix "h") "hierarchy")
(spacemacs/declare-prefix-for-mode mode (concat prefix "m") "members")))
(unless (member mode lsp-layer--active-mode-list)
(push mode lsp-layer--active-mode-list)
(spacemacs/declare-prefix-for-mode mode "m=" "format")
(spacemacs/declare-prefix-for-mode mode "mh" "help")
(spacemacs/declare-prefix-for-mode mode "mb" "backend")
(spacemacs/declare-prefix-for-mode mode "mr" "refactor")
(spacemacs/declare-prefix-for-mode mode "mT" "toggle")
(spacemacs/declare-prefix-for-mode mode "mg" "goto")
(spacemacs/declare-prefix-for-mode mode "mG" "peek")
(spacemacs/declare-prefix-for-mode mode "mF" "folder")
(dolist (prefix '("mg" "mG"))
(spacemacs/declare-prefix-for-mode mode (concat prefix "h") "hierarchy")
(spacemacs/declare-prefix-for-mode mode (concat prefix "m") "members"))))
(defun spacemacs/lsp-ui-doc-func ()
"Toggle the function signature in the lsp-ui-doc overlay"