Code Monkey home page Code Monkey logo

helm-lsp's Introduction

Helm lsp integration

https://melpa.org/packages/helm-lsp-badge.svg https://stable.melpa.org/packages/helm-lsp-badge.svg

This package provides alternative of the build-in lsp-mode xref-appropos which provides as you type completion.

Screenshot

demo.png

Commands

  • helm-lsp-workspace-symbol - workspace symbols for the current workspace
  • helm-lsp-global-workspace-symbol - workspace symbols from all of the active workspaces.
  • helm-lsp-code-actions - helm interface to lsp-execute-code-action.
  • helm-lsp-switch-project - switch lsp-mode project (when helm-projectile is present)
  • helm-lsp-diagnostics - browse the errors in the project. Sample query: *err #Test.js Foo Bar will return all of the errors which message contains Foo and Bar, it is in file Test.js and its severity is error

Configuration

Use the following lines to replace xref-find-apropos in lsp-mode controlled buffer.s

(define-key lsp-mode-map [remap xref-find-apropos] #'helm-lsp-workspace-symbol)

helm-lsp's People

Contributors

jamiecunliffe avatar jcs090218 avatar yyoncho avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

helm-lsp's Issues

helm-ag-insert-at-point equivalent

I apologise if my understanding is flawed, but currently when i kick off helm-lsp-workspace-symbol the minibuffer input is blank. I'd like it if it were auto-populated with whatever symbol my point is currently on. I had a look at customize-group helm-lsp but there didn't seem to be anything relevant.

Is this possible? Thank you!

`helm-lsp-workspace-symbol` fails to navigate to symbol

I've only verified that this is the case when using lsp-metals.
Here's the backtrace for the error that happens after searching for a symbol and pressing enter:

Debugger entered--Lisp error: (wrong-type-argument listp #<hash-table equal 2/65 0x2e92dc5>)
  helm-lsp-workspace-symbol-action(#<hash-table equal 4/65 0x2bfe801>)
  helm-execute-selection-action-1()
  helm-execute-selection-action()
  helm-internal(((name . "Workspace symbol") (candidates . #f(compiled-function () #<bytecode 0x26ee56d>)) (keymap keymap (26 . helm-select-action) (tab . helm-execute-persistent-action) (33554440 . describe-key) (33554443 . helm-follow-action-backward) (33554442 . helm-follow-action-forward) (17 . ace-jump-helm-line) (f13 lambda nil (interactive) (helm-select-nth-action 12)) (f12 lambda nil (interactive) (helm-select-nth-action 11)) (f11 lambda nil (interactive) (helm-select-nth-action 10)) (f10 lambda nil (interactive) (helm-select-nth-action 9)) (f9 lambda nil (interactive) (helm-select-nth-action 8)) (f8 lambda nil (interactive) (helm-select-nth-action 7)) (f7 lambda nil (interactive) (helm-select-nth-action 6)) (f6 lambda nil (interactive) (helm-select-nth-action 5)) (f5 lambda nil (interactive) (helm-select-nth-action 4)) (f4 lambda nil (interactive) (helm-select-nth-action 3)) (f3 lambda nil (interactive) (helm-select-nth-action 2)) (f2 lambda nil (interactive) (helm-select-nth-action 1)) (menu-bar keymap (help-menu keymap (describe keymap (describe-mode . helm-help)))) (help keymap (109 . helm-help)) (23 . #f(compiled-function () (interactive nil) #<bytecode 0x235b809>)) (f1 lambda nil (interactive) (helm-select-nth-action 0)) (8 . helm-next-source) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (67108897 . helm-toggle-suspend-update) (3 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (63 . helm-help) (110 . #f(compiled-function () (interactive nil) #<bytecode 0x235b7b5>)) (108 . helm-display-line-numbers-mode) (62 . helm-toggle-truncate-line) (21 . helm-refresh) (6 . helm-follow-mode) (9 . helm-copy-to-buffer) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (37 . helm-exchange-minibuffer-and-header-line) (95 . helm-toggle-full-frame) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (19 . undefined) (24 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (2 . helm-resume-list-buffers-after-quit) (98 . helm-resume-previous-session-after-quit) (6 . helm-quit-and-find-file)) (11 . helm-previous-line) (67108896 . helm-toggle-visible-mark-forward) (0 . helm-toggle-visible-mark) (C-M-up . helm-scroll-other-window-down) (C-M-down . helm-scroll-other-window) (M-prior . helm-scroll-other-window-down) (M-next . helm-scroll-other-window) (12 . "\015") (left . helm-previous-source) (right . helm-next-source) (15 . helm-next-source) (10 . helm-next-line) (9 . helm-execute-persistent-action) (13 . helm-maybe-exit-minibuffer) (7 . helm-keyboard-quit) (22 . helm-next-page) (27 keymap (8388640 . spacemacs/helm-navigation-transient-state/body) (110 . next-history-element) (112 . previous-history-element) (115 . undefined) (5 . helm-display-all-sources) (1 . helm-show-all-candidates-in-source) (85 . helm-unmark-all) (97 . helm-mark-all) (109 . helm-toggle-all-marks) (41 . helm-next-visible-mark) (40 . helm-prev-visible-mark) (91) (32 . spacemacs/helm-navigation-transient-state/body) (33554454 . helm-scroll-other-window-down) (25 . helm-scroll-other-window-down) (22 . helm-scroll-other-window) (12 . helm-reposition-window-other-window) (111 . helm-previous-source) (62 . helm-end-of-buffer) (60 . helm-beginning-of-buffer) (118 . helm-previous-page)) ...) (action . helm-lsp-workspace-symbol-action) (requires-pattern . 0) (candidate-transformer . #f(compiled-function (candidates) #<bytecode 0x2b37c25>)) (filtered-candidate-transformer helm-flx-fuzzy-matching-sort helm-fuzzy-highlight-matches) (volatile . t) (match helm-mm-exact-match helm-mm-match #f(compiled-function (&rest _) #<bytecode 0x26ee581>) helm-fuzzy-match) (fuzzy-match . t) (redisplay . identity) (header-line . "TAB: helm-lsp-workspace-symbol-action (keeping session)") (multimatch . t) (group . helm)) nil nil nil nil nil nil nil nil)
  apply(helm-internal (((name . "Workspace symbol") (candidates . #f(compiled-function () #<bytecode 0x26ee56d>)) (keymap keymap (26 . helm-select-action) (tab . helm-execute-persistent-action) (33554440 . describe-key) (33554443 . helm-follow-action-backward) (33554442 . helm-follow-action-forward) (17 . ace-jump-helm-line) (f13 lambda nil (interactive) (helm-select-nth-action 12)) (f12 lambda nil (interactive) (helm-select-nth-action 11)) (f11 lambda nil (interactive) (helm-select-nth-action 10)) (f10 lambda nil (interactive) (helm-select-nth-action 9)) (f9 lambda nil (interactive) (helm-select-nth-action 8)) (f8 lambda nil (interactive) (helm-select-nth-action 7)) (f7 lambda nil (interactive) (helm-select-nth-action 6)) (f6 lambda nil (interactive) (helm-select-nth-action 5)) (f5 lambda nil (interactive) (helm-select-nth-action 4)) (f4 lambda nil (interactive) (helm-select-nth-action 3)) (f3 lambda nil (interactive) (helm-select-nth-action 2)) (f2 lambda nil (interactive) (helm-select-nth-action 1)) (menu-bar keymap (help-menu keymap (describe keymap (describe-mode . helm-help)))) (help keymap (109 . helm-help)) (23 . #f(compiled-function () (interactive nil) #<bytecode 0x235b809>)) (f1 lambda nil (interactive) (helm-select-nth-action 0)) (8 . helm-next-source) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (67108897 . helm-toggle-suspend-update) (3 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (63 . helm-help) (110 . #f(compiled-function () (interactive nil) #<bytecode 0x235b7b5>)) (108 . helm-display-line-numbers-mode) (62 . helm-toggle-truncate-line) (21 . helm-refresh) (6 . helm-follow-mode) (9 . helm-copy-to-buffer) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (37 . helm-exchange-minibuffer-and-header-line) (95 . helm-toggle-full-frame) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (19 . undefined) (24 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (2 . helm-resume-list-buffers-after-quit) (98 . helm-resume-previous-session-after-quit) (6 . helm-quit-and-find-file)) (11 . helm-previous-line) (67108896 . helm-toggle-visible-mark-forward) (0 . helm-toggle-visible-mark) (C-M-up . helm-scroll-other-window-down) (C-M-down . helm-scroll-other-window) (M-prior . helm-scroll-other-window-down) (M-next . helm-scroll-other-window) (12 . "\015") (left . helm-previous-source) (right . helm-next-source) (15 . helm-next-source) (10 . helm-next-line) (9 . helm-execute-persistent-action) (13 . helm-maybe-exit-minibuffer) (7 . helm-keyboard-quit) (22 . helm-next-page) (27 keymap (8388640 . spacemacs/helm-navigation-transient-state/body) (110 . next-history-element) (112 . previous-history-element) (115 . undefined) (5 . helm-display-all-sources) (1 . helm-show-all-candidates-in-source) (85 . helm-unmark-all) (97 . helm-mark-all) (109 . helm-toggle-all-marks) (41 . helm-next-visible-mark) (40 . helm-prev-visible-mark) (91) (32 . spacemacs/helm-navigation-transient-state/body) (33554454 . helm-scroll-other-window-down) (25 . helm-scroll-other-window-down) (22 . helm-scroll-other-window) (12 . helm-reposition-window-other-window) (111 . helm-previous-source) (62 . helm-end-of-buffer) (60 . helm-beginning-of-buffer) (118 . helm-previous-page)) ...) (action . helm-lsp-workspace-symbol-action) (requires-pattern . 0) (candidate-transformer . #f(compiled-function (candidates) #<bytecode 0x2b37c25>)) (filtered-candidate-transformer helm-flx-fuzzy-matching-sort helm-fuzzy-highlight-matches) (volatile . t) (match helm-mm-exact-match helm-mm-match #f(compiled-function (&rest _) #<bytecode 0x26ee581>) helm-fuzzy-match) (fuzzy-match . t) (redisplay . identity) (header-line . "TAB: helm-lsp-workspace-symbol-action (keeping session)") (multimatch . t) (group . helm)) nil nil nil nil nil nil nil nil))
  helm(((name . "Workspace symbol") (candidates . #f(compiled-function () #<bytecode 0x26ee56d>)) (keymap keymap (26 . helm-select-action) (tab . helm-execute-persistent-action) (33554440 . describe-key) (33554443 . helm-follow-action-backward) (33554442 . helm-follow-action-forward) (17 . ace-jump-helm-line) (f13 lambda nil (interactive) (helm-select-nth-action 12)) (f12 lambda nil (interactive) (helm-select-nth-action 11)) (f11 lambda nil (interactive) (helm-select-nth-action 10)) (f10 lambda nil (interactive) (helm-select-nth-action 9)) (f9 lambda nil (interactive) (helm-select-nth-action 8)) (f8 lambda nil (interactive) (helm-select-nth-action 7)) (f7 lambda nil (interactive) (helm-select-nth-action 6)) (f6 lambda nil (interactive) (helm-select-nth-action 5)) (f5 lambda nil (interactive) (helm-select-nth-action 4)) (f4 lambda nil (interactive) (helm-select-nth-action 3)) (f3 lambda nil (interactive) (helm-select-nth-action 2)) (f2 lambda nil (interactive) (helm-select-nth-action 1)) (menu-bar keymap (help-menu keymap (describe keymap (describe-mode . helm-help)))) (help keymap (109 . helm-help)) (23 . #f(compiled-function () (interactive nil) #<bytecode 0x235b809>)) (f1 lambda nil (interactive) (helm-select-nth-action 0)) (8 . helm-next-source) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (67108897 . helm-toggle-suspend-update) (3 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (63 . helm-help) (110 . #f(compiled-function () (interactive nil) #<bytecode 0x235b7b5>)) (108 . helm-display-line-numbers-mode) (62 . helm-toggle-truncate-line) (21 . helm-refresh) (6 . helm-follow-mode) (9 . helm-copy-to-buffer) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (37 . helm-exchange-minibuffer-and-header-line) (95 . helm-toggle-full-frame) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (19 . undefined) (24 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (2 . helm-resume-list-buffers-after-quit) (98 . helm-resume-previous-session-after-quit) (6 . helm-quit-and-find-file)) (11 . helm-previous-line) (67108896 . helm-toggle-visible-mark-forward) (0 . helm-toggle-visible-mark) (C-M-up . helm-scroll-other-window-down) (C-M-down . helm-scroll-other-window) (M-prior . helm-scroll-other-window-down) (M-next . helm-scroll-other-window) (12 . "\015") (left . helm-previous-source) (right . helm-next-source) (15 . helm-next-source) (10 . helm-next-line) (9 . helm-execute-persistent-action) (13 . helm-maybe-exit-minibuffer) (7 . helm-keyboard-quit) (22 . helm-next-page) (27 keymap (8388640 . spacemacs/helm-navigation-transient-state/body) (110 . next-history-element) (112 . previous-history-element) (115 . undefined) (5 . helm-display-all-sources) (1 . helm-show-all-candidates-in-source) (85 . helm-unmark-all) (97 . helm-mark-all) (109 . helm-toggle-all-marks) (41 . helm-next-visible-mark) (40 . helm-prev-visible-mark) (91) (32 . spacemacs/helm-navigation-transient-state/body) (33554454 . helm-scroll-other-window-down) (25 . helm-scroll-other-window-down) (22 . helm-scroll-other-window) (12 . helm-reposition-window-other-window) (111 . helm-previous-source) (62 . helm-end-of-buffer) (60 . helm-beginning-of-buffer) (118 . helm-previous-page)) ...) (action . helm-lsp-workspace-symbol-action) (requires-pattern . 0) (candidate-transformer . #f(compiled-function (candidates) #<bytecode 0x2b37c25>)) (filtered-candidate-transformer helm-flx-fuzzy-matching-sort helm-fuzzy-highlight-matches) (volatile . t) (match helm-mm-exact-match helm-mm-match #f(compiled-function (&rest _) #<bytecode 0x26ee581>) helm-fuzzy-match) (fuzzy-match . t) (redisplay . identity) (header-line . "TAB: helm-lsp-workspace-symbol-action (keeping session)") (multimatch . t) (group . helm)) nil nil nil nil nil nil nil nil)
  apply(helm (((name . "Workspace symbol") (candidates . #f(compiled-function () #<bytecode 0x26ee56d>)) (keymap keymap (26 . helm-select-action) (tab . helm-execute-persistent-action) (33554440 . describe-key) (33554443 . helm-follow-action-backward) (33554442 . helm-follow-action-forward) (17 . ace-jump-helm-line) (f13 lambda nil (interactive) (helm-select-nth-action 12)) (f12 lambda nil (interactive) (helm-select-nth-action 11)) (f11 lambda nil (interactive) (helm-select-nth-action 10)) (f10 lambda nil (interactive) (helm-select-nth-action 9)) (f9 lambda nil (interactive) (helm-select-nth-action 8)) (f8 lambda nil (interactive) (helm-select-nth-action 7)) (f7 lambda nil (interactive) (helm-select-nth-action 6)) (f6 lambda nil (interactive) (helm-select-nth-action 5)) (f5 lambda nil (interactive) (helm-select-nth-action 4)) (f4 lambda nil (interactive) (helm-select-nth-action 3)) (f3 lambda nil (interactive) (helm-select-nth-action 2)) (f2 lambda nil (interactive) (helm-select-nth-action 1)) (menu-bar keymap (help-menu keymap (describe keymap (describe-mode . helm-help)))) (help keymap (109 . helm-help)) (23 . #f(compiled-function () (interactive nil) #<bytecode 0x235b809>)) (f1 lambda nil (interactive) (helm-select-nth-action 0)) (8 . helm-next-source) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (67108897 . helm-toggle-suspend-update) (3 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (63 . helm-help) (110 . #f(compiled-function () (interactive nil) #<bytecode 0x235b7b5>)) (108 . helm-display-line-numbers-mode) (62 . helm-toggle-truncate-line) (21 . helm-refresh) (6 . helm-follow-mode) (9 . helm-copy-to-buffer) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (37 . helm-exchange-minibuffer-and-header-line) (95 . helm-toggle-full-frame) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (19 . undefined) (24 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (2 . helm-resume-list-buffers-after-quit) (98 . helm-resume-previous-session-after-quit) (6 . helm-quit-and-find-file)) (11 . helm-previous-line) (67108896 . helm-toggle-visible-mark-forward) (0 . helm-toggle-visible-mark) (C-M-up . helm-scroll-other-window-down) (C-M-down . helm-scroll-other-window) (M-prior . helm-scroll-other-window-down) (M-next . helm-scroll-other-window) (12 . "\015") (left . helm-previous-source) (right . helm-next-source) (15 . helm-next-source) (10 . helm-next-line) (9 . helm-execute-persistent-action) (13 . helm-maybe-exit-minibuffer) (7 . helm-keyboard-quit) (22 . helm-next-page) (27 keymap (8388640 . spacemacs/helm-navigation-transient-state/body) (110 . next-history-element) (112 . previous-history-element) (115 . undefined) (5 . helm-display-all-sources) (1 . helm-show-all-candidates-in-source) (85 . helm-unmark-all) (97 . helm-mark-all) (109 . helm-toggle-all-marks) (41 . helm-next-visible-mark) (40 . helm-prev-visible-mark) (91) (32 . spacemacs/helm-navigation-transient-state/body) (33554454 . helm-scroll-other-window-down) (25 . helm-scroll-other-window-down) (22 . helm-scroll-other-window) (12 . helm-reposition-window-other-window) (111 . helm-previous-source) (62 . helm-end-of-buffer) (60 . helm-beginning-of-buffer) (118 . helm-previous-page)) ...) (action . helm-lsp-workspace-symbol-action) (requires-pattern . 0) (candidate-transformer . #f(compiled-function (candidates) #<bytecode 0x2b37c25>)) (filtered-candidate-transformer helm-flx-fuzzy-matching-sort helm-fuzzy-highlight-matches) (volatile . t) (match helm-mm-exact-match helm-mm-match #f(compiled-function (&rest _) #<bytecode 0x26ee581>) helm-fuzzy-match) (fuzzy-match . t) (redisplay . identity) (header-line . "TAB: helm-lsp-workspace-symbol-action (keeping session)") (multimatch . t) (group . helm)) nil nil nil nil nil nil nil nil))
  helm(:sources ((name . "Workspace symbol") (candidates . #f(compiled-function () #<bytecode 0x26ee56d>)) (keymap keymap (26 . helm-select-action) (tab . helm-execute-persistent-action) (33554440 . describe-key) (33554443 . helm-follow-action-backward) (33554442 . helm-follow-action-forward) (17 . ace-jump-helm-line) (f13 lambda nil (interactive) (helm-select-nth-action 12)) (f12 lambda nil (interactive) (helm-select-nth-action 11)) (f11 lambda nil (interactive) (helm-select-nth-action 10)) (f10 lambda nil (interactive) (helm-select-nth-action 9)) (f9 lambda nil (interactive) (helm-select-nth-action 8)) (f8 lambda nil (interactive) (helm-select-nth-action 7)) (f7 lambda nil (interactive) (helm-select-nth-action 6)) (f6 lambda nil (interactive) (helm-select-nth-action 5)) (f5 lambda nil (interactive) (helm-select-nth-action 4)) (f4 lambda nil (interactive) (helm-select-nth-action 3)) (f3 lambda nil (interactive) (helm-select-nth-action 2)) (f2 lambda nil (interactive) (helm-select-nth-action 1)) (menu-bar keymap (help-menu keymap (describe keymap (describe-mode . helm-help)))) (help keymap (109 . helm-help)) (23 . #f(compiled-function () (interactive nil) #<bytecode 0x235b809>)) (f1 lambda nil (interactive) (helm-select-nth-action 0)) (8 . helm-next-source) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (67108897 . helm-toggle-suspend-update) (3 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (63 . helm-help) (110 . #f(compiled-function () (interactive nil) #<bytecode 0x235b7b5>)) (108 . helm-display-line-numbers-mode) (62 . helm-toggle-truncate-line) (21 . helm-refresh) (6 . helm-follow-mode) (9 . helm-copy-to-buffer) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (37 . helm-exchange-minibuffer-and-header-line) (95 . helm-toggle-full-frame) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (19 . undefined) (24 keymap (57 . helm-execute-selection-action-at-nth-+9) (56 . helm-execute-selection-action-at-nth-+8) (55 . helm-execute-selection-action-at-nth-+7) (54 . helm-execute-selection-action-at-nth-+6) (53 . helm-execute-selection-action-at-nth-+5) (52 . helm-execute-selection-action-at-nth-+4) (51 . helm-execute-selection-action-at-nth-+3) (50 . helm-execute-selection-action-at-nth-+2) (49 . helm-execute-selection-action-at-nth-+1) (2 . helm-resume-list-buffers-after-quit) (98 . helm-resume-previous-session-after-quit) (6 . helm-quit-and-find-file)) (11 . helm-previous-line) (67108896 . helm-toggle-visible-mark-forward) (0 . helm-toggle-visible-mark) (C-M-up . helm-scroll-other-window-down) (C-M-down . helm-scroll-other-window) (M-prior . helm-scroll-other-window-down) (M-next . helm-scroll-other-window) (12 . "\015") (left . helm-previous-source) (right . helm-next-source) (15 . helm-next-source) (10 . helm-next-line) (9 . helm-execute-persistent-action) (13 . helm-maybe-exit-minibuffer) (7 . helm-keyboard-quit) (22 . helm-next-page) (27 keymap (8388640 . spacemacs/helm-navigation-transient-state/body) (110 . next-history-element) (112 . previous-history-element) (115 . undefined) (5 . helm-display-all-sources) (1 . helm-show-all-candidates-in-source) (85 . helm-unmark-all) (97 . helm-mark-all) (109 . helm-toggle-all-marks) (41 . helm-next-visible-mark) (40 . helm-prev-visible-mark) (91) (32 . spacemacs/helm-navigation-transient-state/body) (33554454 . helm-scroll-other-window-down) (25 . helm-scroll-other-window-down) (22 . helm-scroll-other-window) (12 . helm-reposition-window-other-window) (111 . helm-previous-source) (62 . helm-end-of-buffer) (60 . helm-beginning-of-buffer) (118 . helm-previous-page)) ...) (action . helm-lsp-workspace-symbol-action) (requires-pattern . 0) (candidate-transformer . #f(compiled-function (candidates) #<bytecode 0x2b37c25>)) (filtered-candidate-transformer helm-flx-fuzzy-matching-sort helm-fuzzy-highlight-matches) (volatile . t) (match helm-mm-exact-match helm-mm-match #f(compiled-function (&rest _) #<bytecode 0x26ee581>) helm-fuzzy-match) (fuzzy-match . t) (redisplay . identity) (header-line . "TAB: helm-lsp-workspace-symbol-action (keeping session)") (multimatch . t) (group . helm)) :input nil)
  helm-lsp--workspace-symbol((#s(lsp--workspace :ewoc nil :server-capabilities #<hash-table equal 19/65 0x10f5e61> :registered-server-capabilities (#s(lsp--registered-capability :id "1" :method "workspace/didChangeWatchedFiles" :options #<hash-table equal 1/65 0x1418a55>)) :root "/home/bjarke/workspace/undo/backend-scala" :client #s(lsp--client :language-id nil :add-on? nil :new-connection (:connect #f(compiled-function (filter sentinel name environment-fn) #<bytecode 0x2f30735>) :test\? #f(compiled-function () #<bytecode 0x2f30749>)) :ignore-regexps nil :ignore-messages nil :notification-handlers #<hash-table equal 5/65 0x2f30755> :request-handlers #<hash-table equal 0/65 0x2f30e49> :response-handlers #<hash-table eql 0/65 0x2f30e69> :prefix-function nil :uri-handlers #<hash-table equal 0/65 0x2f312a9> :action-handlers #<hash-table equal 2/65 0x2f30985> :major-modes (scala-mode) :activation-fn nil :priority -1 :server-id metals :multi-root nil :initialization-options ((decorationProvider . t) (didFocusProvider . t) (executeClientCommandProvider . t) (doctorProvider . "html") (statusBarProvider . "on") (debuggingProvider . t) (treeViewProvider . t)) :custom-capabilities nil :library-folders-fn nil :before-file-open-fn nil :initialized-fn #f(compiled-function (workspace) #<bytecode 0x2f30679>) :remote? nil :completion-in-comments? t :path->uri-fn nil :uri->path-fn nil :environment-fn nil :after-open-fn #f(compiled-function () #<bytecode 0x2f30691>) :async-request-handlers #<hash-table equal 0/65 0x2f316a9> :download-server-fn nil :download-in-progress? nil :buffers nil) :host-root nil :proc #<process metals> :cmd-proc #<process metals> :buffers (#<buffer SetupAgreementPayment.scala>) :semantic-highlighting-faces nil :semantic-highlighting-modifier-faces nil :extra-client-capabilities nil :status initialized :metadata #<hash-table equal 1/65 0x30a48c5> :watches #<hash-table equal 0/65 0x30a48e5> :workspace-folders nil :last-id 0 :status-string nil :shutdown-action nil :diagnostics #<hash-table equal 2/65 0x30a6ef5> :work-done-tokens #<hash-table equal 0/65 0x30a72f5>)) "Workspace symbol" nil)
  helm-lsp-workspace-symbol(nil)
  funcall-interactively(helm-lsp-workspace-symbol nil)
  call-interactively(helm-lsp-workspace-symbol nil nil)
  command-execute(helm-lsp-workspace-symbol)

Clarify setup instructions?

Hello,

I've added (require 'helm-lsp) to my C++ mode hook, and it looks nice when I invoke M-x helm-lsp-workspace-symbol, but I was under the impression this was for interactive usage with lsp. I saw in your README.org that this is meant to be used to replace lsp-mode's xref-appropos function, but I'm not clear on how to do this. Can you please add a few words to clarify how to override that LSP functionality?

create better helm-imenu alternative

  1. Be async
  2. Show context information - errors, deprecated elements.
  3. Provide context operations like delete element
  4. Show elements from all documents if there are such elements
  5. Have icons.

Language server breaks helm-lsp-diagnostics, -sort operation

Executing helm-lsp-diagnostics after an error has been found results in:

-sort: Wrong type argument: hash-table-p, nil
Error running timer ‘helm-update’: (error "No buffer named *helm*")

The error is in dash.el,

(defun -sort (comparator list)
  "Sort LIST, stably, comparing elements using COMPARATOR.
Return the sorted list.  LIST is NOT modified by side effects.
COMPARATOR is called with two elements of LIST, and should return non-nil
if the first element should sort before the second."
  (sort (copy-sequence list) comparator))

and that is being called from helm-lsp--diagnostics-transform (candidates),

     (-sort (-lambda ((full-path-1 _ (&Diagnostic :range
                                                  (&Range :start (&Position :line l1 :character c1))))
                      (full-path-2 _ (&Diagnostic :range
                                                  (&Range :start (&Position :line l2 :character c2)))))
              (if (string= full-path-1 full-path-2)

Commenting out the -sort block is a work-around.

replicate vscode search

In vscode when you search you can specify the target via prefix(e. g. @ looks for symbol in file # looks for global symbol, etc). By default it searches for a file in the project.

Depends on #8

helm-lsp no longer works with melpa-stable lsp-mode 6.3.1

After the latest melpa update, loading helm-lsp fails with

Debugger entered--Lisp error: (void-function lsp-defun)
  (lsp-defun helm-lsp-workspace-symbol-action ((&SymbolInformation :location (&Location :uri :range (&RangeToPoint :start)))) "Action for helm workspace symbol.\nCANDIDATE is the selected item in the helm menu." (find-file (lsp--uri-to-path uri)) (goto-char start))
  eval-buffer(#<buffer  *load*-841817> nil "/Users/laurynas/emacs/elpa/helm-lsp-20200608.1949/helm-lsp.el" nil t)  ; Reading at buffer position 1757
  load-with-code-conversion("/Users/laurynas/emacs/elpa/helm-lsp-20200608.1949/helm-lsp.el" "/Users/laurynas/emacs/elpa/helm-lsp-20200608.1949/helm-lsp.el" nil t)
  require(helm-lsp)
  eval-buffer(#<buffer  *load*-368019> nil "/Users/laurynas/emacs/setup.el" nil t)  ; Reading at buffer position 43793
  load-with-code-conversion("/Users/laurynas/emacs/setup.el" "/Users/laurynas/emacs/setup.el" nil nil)
  load("/Users/laurynas/emacs/setup")
  eval-buffer(#<buffer  *load*> nil "/Users/laurynas/.emacs" nil t)  ; Reading at buffer position 1439
  load-with-code-conversion("/Users/laurynas/.emacs" "/Users/laurynas/.emacs" t t)
  load("~/.emacs" t t)
  #f(compiled-function () #<bytecode 0x400d1a6d>)()
  command-line()
  normal-top-level()

Package-Requires for helm-lsp lists lsp-mode 5.0, might be outdated?

;; Package-Requires: ((emacs "25.1") (dash "2.14.1") (lsp-mode "5.0") (helm "2.0"))

helm-lsp-global-workspace-symbol fails to select a symbol over TRAMP

If an LSP project over TRAMP is opened, helm-lsp-global-workspace-symbol starts and produces the completion list, but selecting any item (including one in an already open buffer) results in the following: (note a spurious "|" at the end of file name)

Use M-x make-directory RET RET to create the directory and its parents
LSP ::foo.c| not in project or it is blacklisted.

And a new empty modified non-file-backed buffer created with a name "foo.c|"
An otherwise unrelated package in auto-save-hook helpfully points out an attempt to access remote file using local path:

Error in auto-save-hook (wakatime-save): (file-missing "Setting current directory" "No such file or directory" "/home/username/should/be/remote/path/")

helm-lsp-workspace-symbol not working

I am using this in a C++ project. I have used this a lot in the past and never had this issue. But now when I do

M-x helm-lsp-workspace-symbol

I get

byte-code: Defining as dynamic an already lexical var

I am using emacs 28.2.

Show text instead of icons, or text and icons, for results from e.g. helm-lsp-workspace-symbol

The screenshot for helm-lsp, I guess for command helm-lsp-workspace-symbol, shows results with the types in parentheses at the end of each line (e.g. struct, method, function). In my helm-lsp, I see icons at the start of the line. Same as for the breadcrumb. The icons look good too, but I don't know what they mean at first glance. It would be useful if you could e.g. switch to showing text instead of icons, or alternatively, show both the icon and also the text.

finding symbols fails - (wrong-type-argument stringp)

hey 👋 running helm-lsp-workspace-symbol or helm-lsp-global-workspace-symbol invariably fails with Error processing message (wrong-type-argument stringp nil). as i type the symbol name.

i'm using emacs-27.2 with helm, projectile and company. what could i be missing?

here's a sample backtrace. i didn't find a way to switch to the backtrace window w/o it being cleared by helm; hence the screenshot:

Screen Shot 2021-06-16 at 12 24 02 PM

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.