Coder Social home page Coder Social logo

lsp-treemacs's Introduction

https://github.com/emacs-lsp/lsp-treemacs/workflows/CI/badge.svg https://melpa.org/packages/lsp-treemacs-badge.svg https://stable.melpa.org/packages/lsp-treemacs-badge.svg

Table of Contents

Summary

Integration between lsp-mode and treemacs and implementation of treeview controls using treemacs as a tree renderer.

Synchronization

To enable bidirectional synchronization of lsp workspace folders and treemacs projects.

(lsp-treemacs-sync-mode 1)

Views

lsp-treemacs-errors-list

Displays tree like error list structure.

Commands

Screenshot

screenshots/error-list.png

  • lsp-treemacs-quick-fix or press x when you are in Error List view - offer quickfixes for the error at point.

lsp-treemacs-symbols

Displays symbols information.

Screenshot

screenshots/symbols-list.gif

lsp-treemacs-references/lsp-treemacs-implementations

Display references/implementations using tree view:

Screenshot

screenshots/references.gif

lsp-treemacs-call-hierarchy

Display call hierarchy. Use C-u M-x lsp-treemacs-call-hierarchy to display outgoing call hierarchy.

Screenshot

screenshots/call-hierarchy.gif

lsp-treemacs-type-hierarchy

Display type hierarchy.

lsp-treemacs-deps-list

Browse java dependencies, namespaces, files, etc.

Commands

  • lsp-treemacs-java-deps-follow - select the current editor in the dependency
  • lsp-treemacs-java-deps-refresh - refresh the view. Bound to r.

Screenshot

screenshots/dependencies.gif

lsp-treemacs's People

Contributors

813gan avatar aconchillo avatar akawolf avatar alexander-miller avatar ch1bo avatar cweiske avatar danielmartin avatar dsyzling avatar ericdallo avatar gagbo avatar honnix avatar jcs090218 avatar jhenahan avatar kurnevsky avatar leungbk avatar marcantonio avatar mcraveiro avatar nbfalcon avatar samebchase avatar shitikanth avatar tarsius avatar timfel avatar winstw avatar yanhao 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

lsp-treemacs's Issues

Emacs frozens occasionally after call lsp-treemacs-call-hierarchy

I experience this issue occasionally. After I call lsp-treemacs-call-hierarchy to try to check the call hierarchy of a method, emacs frozons immediately. When this issue occur, the emacs cpu usage increases to 15% and emacs keeps frozon. I have kill emacs manually. My emacs version is 26.1 the version with the debian 10. Thanks!

Error (use-package): lsp-treemacs/:catch: Symbol’s value as variable is void: lsp-treemacs--make-ref-item

This error is printed at Emacs initialization.
Backtrace:

Lisp error: (void-variable lsp-treemacs--make-ref-item)
  byte-code("\306\010\307\011!\310\311\n!\312\001!\211G\313\013\002^\314]\f\003^\314]\315\316\006\006%\210\317\320\321\322\005\323\321\324\015T\"\325\326##!\327\004\330\006\007\331\332\333\334\335\336\337\340\006\020!\341\"\342\343\344&\006\257\n\266\203$\207" [lsp-treemacs--make-ref-item filename start start-character end-character start-line lsp-defun (&Range :start (start &as &Position :line start-line :character start-character) :end (&Position :character end-character)) "Return a xref-item from a RANGE in FILENAME." lsp--position-to-point lsp-treemacs--extract-line add-face-text-property 0 highlight t :label s-trim format "%s %s" propertize "%s line" face lsp-details-face :key :point :icon-literal "" :ret-action make-byte-code 128 "\302\011!\210\300b\210\303\304!\207" vconcat vector [filename lsp-treemacs--open-file-in-mru run-hooks xref-after-jump-hook] 3 "\n\n(fn &rest _)" nil] 23)
  require(lsp-treemacs nil t)
  (not (require (quote lsp-treemacs) nil t))
  (if (not (require (quote lsp-treemacs) nil t)) (display-warning (quote use-package) (format "Cannot load %s" (quote lsp-treemacs)) :error) (condition-case err (progn (progn (req-package-handle-loading (quote (lsp-treemacs nil)) (function (lambda nil nil))) (req-package-loaded (quote (lsp-treemacs nil)))) t) ((debug error) (funcall use-package--warning5 :config err))))
  (progn (condition-case err (progn) ((debug error) (funcall use-package--warning5 :init err))) (if (not (require (quote lsp-treemacs) nil t)) (display-warning (quote use-package) (format "Cannot load %s" (quote lsp-treemacs)) :error) (condition-case err (progn (progn (req-package-handle-loading (quote (lsp-treemacs nil)) (function (lambda nil nil))) (req-package-loaded (quote (lsp-treemacs nil)))) t) ((debug error) (funcall use-package--warning5 :config err)))))
  (condition-case err (progn (condition-case err (progn) ((debug error) (funcall use-package--warning5 :init err))) (if (not (require (quote lsp-treemacs) nil t)) (display-warning (quote use-package) (format "Cannot load %s" (quote lsp-treemacs)) :error) (condition-case err (progn (progn (req-package-handle-loading (quote ...) (function ...)) (req-package-loaded (quote ...))) t) ((debug error) (funcall use-package--warning5 :config err))))) ((debug error) (funcall use-package--warning5 :catch err)))
  (progn (defvar use-package--warning5 (function (lambda (keyword err) (let ((msg (format "%s/%s: %s" ... keyword ...))) (display-warning (quote use-package) msg :error))))) (condition-case err (progn (condition-case err (progn) ((debug error) (funcall use-package--warning5 :init err))) (if (not (require (quote lsp-treemacs) nil t)) (display-warning (quote use-package) (format "Cannot load %s" (quote lsp-treemacs)) :error) (condition-case err (progn (progn (req-package-handle-loading ... ...) (req-package-loaded ...)) t) ((debug error) (funcall use-package--warning5 :config err))))) ((debug error) (funcall use-package--warning5 :catch err))))
  eval((progn (defvar use-package--warning5 (function (lambda (keyword err) (let ((msg ...)) (display-warning (quote use-package) msg :error))))) (condition-case err (progn (condition-case err (progn) ((debug error) (funcall use-package--warning5 :init err))) (if (not (require (quote lsp-treemacs) nil t)) (display-warning (quote use-package) (format "Cannot load %s" (quote lsp-treemacs)) :error) (condition-case err (progn (progn ... ...) t) ((debug error) (funcall use-package--warning5 :config err))))) ((debug error) (funcall use-package--warning5 :catch err)))))
  req-package-eval-form((use-package lsp-treemacs :init (progn) :config (progn (req-package-handle-loading (quote (lsp-treemacs nil)) (lambda nil nil)) (req-package-loaded (quote (lsp-treemacs nil))))))
  (lambda nil (req-package-eval-form EVAL))()
  funcall((lambda nil (req-package-eval-form EVAL)))
  (condition-case e (funcall f) ((debug error) (req-package--log-error (format "Unable to load package %s -- %s" pkg e))))
  req-package-handle-loading((lsp-treemacs nil) (lambda nil (req-package-eval-form EVAL)))
  (let* ((DEFAULT (req-package-gen-eval pkg (list (quote progn)) (req-package-patch-config pkg nil) nil)) (EVAL (gethash pkg req-package-evals DEFAULT)) (PKG pkg)) (req-package-handle-loading PKG (function (lambda nil (req-package-eval-form EVAL)))))
  req-package-eval((lsp-treemacs nil))
  (progn (puthash key -1 req-package-deps-left) (req-package-eval key))
  (if (equal (gethash key req-package-deps-left 0) 0) (progn (puthash key -1 req-package-deps-left) (req-package-eval key)))
  (lambda (key value) (if (equal (gethash key req-package-deps-left 0) 0) (progn (puthash key -1 req-package-deps-left) (req-package-eval key))))((lsp-treemacs nil) 0)
  maphash((lambda (key value) (if (equal (gethash key req-package-deps-left 0) 0) (progn (puthash key -1 req-package-deps-left) (req-package-eval key)))) #<hash-table equal 9/200 0x11c0529>)
  req-package-finish()
  eval-buffer(#<buffer  *load*-770573> nil "/home/user/.emacs.d/req-packages.el" nil t)  ; Reading at buffer position 2926
  load-with-code-conversion("/home/user/.emacs.d/req-packages.el" "/home/user/.emacs.d/req-packages.el" nil nil)
  load("~/.emacs.d/req-packages")
  eval-buffer(#<buffer  *load*> nil "/home/user/.emacs" nil t)  ; Reading at buffer position 2670
  load-with-code-conversion("/home/user/.emacs" "/home/user/.emacs" t t)
  load("~/.emacs" t t)
  #f(compiled-function () #<bytecode 0x1e0f4d>)()
  command-line()
  normal-top-level()

symbol order reshuffles on focus changes

For example focus changes causes the list of symbols to be reordered, but also navigating around in the source code. It would be nice to have it sorted alphabetically.

lsp-treemacs window selection

How do I select LSP symbol list or LSP error list using the keyboard? Treemacs do provide treemacs-select-window. Is there an equivalent function I can use with respect LSP treemacs?

Symbol’s function definition is void: make-treemacs-theme

Whenever I use lsp-treemacs, or lsp-mode for a scala buffer, I get this error:
Symbol’s function definition is void: make-treemacs-theme.
After disabling dap-mode and lsp-treemacs, I get this one trying to use lsp-mode:
File mode specification error: (void-function make-treemacs-theme)
lsp-treemacs version 20200811.1646. lsp-mode: 20200812.1516. treemacs: 20200802.819.

problem with lsp-treemacs-errors-list

Hi, when I try to list errors in my Java file and do M-x lsp-treemacs-errors-list, I can see this:

Debugger entered--Lisp error: (void-function lsp-diagnostic-severity)
  lsp-diagnostic-severity(#<hash-table equal 6/65 0x2d839ad>)
  lsp-treemacs--match-diagnostic-severity(#<hash-table equal 6/65 0x2d839ad>)
  -some(lsp-treemacs--match-diagnostic-severity (#<hash-table equal 6/65 0x2d839ad>))
  lsp-treemacs--diagnostics-match-selected-severity((#<hash-table equal 6/65 0x2d839ad>))
  #f(compiled-function (input0) #<bytecode 0x2f7b30d>)(("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/server2/retrieve/RetrieveRemoteProductsRequest.java" #<hash-table equal 6/65 0x2d839ad>))
  -some(#f(compiled-function (input0) #<bytecode 0x2f7b30d>) (("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/server2/retrieve/RetrieveRemoteProductsRequest.java" #<hash-table equal 6/65 0x2d839ad>) ("/home/luke/work/projects/csd-ipl/ipl/src/test/java/int_/nato/nc3a/nsili/bqs/HibernateSpatialHqlGeneratorTest.java" #<hash-table equal 6/65 0x2dab181> #<hash-table equal 6/65 0x2ed47e9>) ("/home/luke/work/projects/csd-ipl/ipl/src/test/java/int_/nato/nc3a/nsili/server2/model/majiic/NsiliServerTester.java" #<hash-table equal 5/65 0x2df5df9> #<hash-table equal 5/65 0x2e438f9> #<hash-table equal 5/65 0x2d815b1> #<hash-table equal 5/65 0x2deadc1>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/util/SyncUtil.java" #<hash-table equal 5/65 0x2e5b7a9>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/server2/model/type/UCOAbsTimeType.java" #<hash-table equal 5/65 0x2e468dd>) ("/home/luke/work/projects/csd-ipl/ipl/src/test/java/int_/nato/nc3a/nsili/net/HttpHandlerTest.java" #<hash-table equal 6/65 0x2e4ace1> #<hash-table equal 6/65 0x2a56609>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/server2/application/NsiliServer.java" #<hash-table equal 5/65 0x2e07e09> #<hash-table equal 5/65 0x2e99581> #<hash-table equal 5/65 0x2e96979> #<hash-table equal 6/65 0x2e2d505> #<hash-table equal 6/65 0x2e99a61> #<hash-table equal 6/65 0x2dfade5> #<hash-table equal 6/65 0x2df4d9d> #<hash-table equal 5/65 0x2cc54ad>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/server2/api/UpdateRequestImpl.java" #<hash-table equal 5/65 0x2ee080d>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/server2/model/type/EnumUserType.java" #<hash-table equal 5/65 0x2da92f9> #<hash-table equal 6/65 0x2ee8bb1> #<hash-table equal 6/65 0x2de959d> #<hash-table equal 5/65 0x2e510e5>) ("/home/luke/work/projects/csd-ipl/ipl/src/test/java/int_/nato/nc3a/nsili/net/TransferableFileTest.java" #<hash-table equal 6/65 0x2edfc29> #<hash-table equal 6/65 0x2f110c5>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/server2/application/NsiliServlet.java" #<hash-table equal 6/65 0x2d71121> #<hash-table equal 6/65 0x2dfa5a5> #<hash-table equal 5/65 0x2e2b9e1> #<hash-table equal 6/65 0x2e4a49d> #<hash-table equal 6/65 0x2e7478d> #<hash-table equal 6/65 0x2eaa269> #<hash-table equal 6/65 0x2eb8275>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/server2/api/LibraryManagerImpl.java" #<hash-table equal 6/65 0x2e4dc85>) ("/home/luke/work/projects/csd-ipl/ipl/src/test/java/int_/nato/nc3a/nsili/sync/Ifas12ExportFileTest.java" #<hash-table equal 5/65 0x2eeb439> #<hash-table equal 6/65 0x2dffe09> #<hash-table equal 5/65 0x2b0a5bd> #<hash-table equal 5/65 0x2ae5311> #<hash-table equal 5/65 0x2de0d79> #<hash-table equal 6/65 0x2e0a239> #<hash-table equal 5/65 0x2ea326d> #<hash-table equal 5/65 0x2d855a5> #<hash-table equal 5/65 0x2d3a04d> #<hash-table equal 5/65 0x2f03879> #<hash-table equal 6/65 0x2e7132d> #<hash-table equal 6/65 0x2e80f39> #<hash-table equal 5/65 0x2eddbc9> #<hash-table equal 5/65 0x2eea7b5> #<hash-table equal 5/65 0x2f083fd>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/sync/SynchronizationException.java" #<hash-table equal 5/65 0x2df2ea1>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/sync/Synchronizer.java" #<hash-table equal 6/65 0x2e7a3d5> #<hash-table equal 6/65 0x2ea3a89> #<hash-table equal 6/65 0x2ee5579> #<hash-table equal 5/65 0x2e684f5> #<hash-table equal 5/65 0x2f0a271> #<hash-table equal 5/65 0x2eabf35>) ("/home/luke/work/projects/csd-ipl/ipl/src/test/java/int_/nato/nc3a/nsili/util/PatternUtilTest.java" #<hash-table equal 6/65 0x2f0f8a9> #<hash-table equal 6/65 0x2f104a9> #<hash-table equal 6/65 0x2f11045>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/server2/api/LibraryImpl.java" #<hash-table equal 5/65 0x2f0a295> #<hash-table equal 5/65 0x2f0aca5> #<hash-table equal 5/65 0x2f0ba11> #<hash-table equal 5/65 0x2f0c4a5> #<hash-table equal 5/65 0x2f0d0a5> #<hash-table equal 5/65 0x2f0dca5>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/server2/order/DestinationHandler.java" #<hash-table equal 5/65 0x2f0487d> #<hash-table equal 5/65 0x2f0547d> #<hash-table equal 5/65 0x2f0607d>) ("/home/luke/work/projects/csd-ipl/installer/izpack-panels/src/test/java/int_/nato/nc3a/nsili/izpack/actions/SetExtraVariablesPanelActionTest.java" #<hash-table equal 6/65 0x2ef77c1> #<hash-table equal 6/65 0x2ef7821> #<hash-table equal 6/65 0x2f021e5> #<hash-table equal 6/65 0x2f02c79>) ("/home/luke/work/projects/csd-ipl/ipl/src/test/java/int_/nato/nc3a/nsili/sync/SyncClientUsingCatalogMgrTest.java" #<hash-table equal 6/65 0x2ef67fd> #<hash-table equal 6/65 0x2ef8811> #<hash-table equal 6/65 0x2ef8871> #<hash-table equal 6/65 0x2efa819> #<hash-table equal 6/65 0x2efa859> #<hash-table equal 6/65 0x2efbf91> #<hash-table equal 6/65 0x2efc075> #<hash-table equal 6/65 0x2efd6ed> #<hash-table equal 6/65 0x2efdc55> #<hash-table equal 6/65 0x2efec79> #<hash-table equal 6/65 0x2eff879>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/util/ifas12/IFAS12HandlerForExport.java" #<hash-table equal 6/65 0x2eeebf1> #<hash-table equal 6/65 0x2ef06f1> #<hash-table equal 6/65 0x2ef07d5> #<hash-table equal 6/65 0x2ef1e4d> #<hash-table equal 6/65 0x2ef23b5> #<hash-table equal 6/65 0x2ef33d9> #<hash-table equal 6/65 0x2ef47dd>) ("/home/luke/work/projects/csd-ipl/ipl/src/test/java/int_/nato/nc3a/nsili/server2/application/NsiliServerTest.java" #<hash-table equal 5/65 0x2eebfd1> #<hash-table equal 5/65 0x2eec011> #<hash-table equal 5/65 0x2eed3cd> #<hash-table equal 5/65 0x2eed42d>) ("/home/luke/work/projects/csd-ipl/installer/izpack-panels/src/main/java/int_/nato/nc3a/nsili/izpack/util/CreationMgrUserPasswordValidator.java" #<hash-table equal 5/65 0x2ee8c09>) ("/home/luke/work/projects/csd-ipl/installer/izpack-panels/src/test/java/int_/nato/nc3a/nsili/izpack/util/SHAProcessorTest.java" #<hash-table equal 6/65 0x2ee4c2d> #<hash-table equal 6/65 0x2ee6031> #<hash-table equal 6/65 0x2ee6bcd>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/server2/create/ChangeRequest.java" #<hash-table equal 5/65 0x2edfc49> #<hash-table equal 5/65 0x2ee1599> #<hash-table equal 5/65 0x2ee202d> #<hash-table equal 5/65 0x2ee2c2d> #<hash-table equal 5/65 0x2ee382d>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/server2/query/BQSStandingQueryDAO.java" #<hash-table equal 6/65 0x2ede82d> #<hash-table equal 6/65 0x2edf42d>) ("/home/luke/work/projects/csd-ipl/installer/izpack-panels/src/main/java/int_/nato/nc3a/nsili/izpack/panels/ORBInitialPortSetupPanel.java" #<hash-table equal 5/65 0x2edcc29>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/server2/api/RequestImpl.java" #<hash-table equal 5/65 0x2ed484d> #<hash-table equal 5/65 0x2ed6a99> #<hash-table equal 5/65 0x2ed7001> #<hash-table equal 5/65 0x2ed8025> #<hash-table equal 5/65 0x2ed9429> #<hash-table equal 5/65 0x2eda029> #<hash-table equal 5/65 0x2edac29> #<hash-table equal 5/65 0x2edb829>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/server2/api/BravoToAlphaDAGPostProcessor.java" #<hash-table equal 6/65 0x2ec8f9d> #<hash-table equal 6/65 0x2ec8fdd> #<hash-table equal 6/65 0x2ecc421> #<hash-table equal 6/65 0x2ecc481> #<hash-table equal 6/65 0x2ecddd1> #<hash-table equal 6/65 0x2ece865> #<hash-table equal 6/65 0x2ecf465> #<hash-table equal 6/65 0x2ed0065> #<hash-table equal 6/65 0x2ed0ca5> #<hash-table equal 6/65 0x2ed1041> #<hash-table equal 6/65 0x2ed1c65>) ("/home/luke/work/projects/csd-ipl/ipl/src/test/java/int_/nato/nc3a/nsili/server2/model/majiic/DatabaseAccessTester.java" #<hash-table equal 6/65 0x2ebc3d5> #<hash-table equal 6/65 0x2ebd819> #<hash-table equal 6/65 0x2ebdbb5> #<hash-table equal 5/65 0x2ebe7d9> #<hash-table equal 5/65 0x2ebf795> #<hash-table equal 5/65 0x2ebf7f5> #<hash-table equal 5/65 0x2ec0f99> #<hash-table equal 5/65 0x2ec0fd9> #<hash-table equal 5/65 0x2ec2795> #<hash-table equal 5/65 0x2ec27f5> #<hash-table equal 6/65 0x2ec4145> #<hash-table equal 5/65 0x2ec4bd9> #<hash-table equal 6/65 0x2ec57d9> #<hash-table equal 6/65 0x2ec63d9> #<hash-table equal 6/65 0x2ec7019>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/server2/create/StorageException.java" #<hash-table equal 5/65 0x2eb9e75>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/server2/create/filehandler/BaseFileHandler.java" #<hash-table equal 5/65 0x2eb8e79>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/util/FormatType.java" #<hash-table equal 5/65 0x2eb6255> #<hash-table equal 5/65 0x2eb8191>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/server2/model/type/UCONameNameType.java" #<hash-table equal 5/65 0x2eb3a75> #<hash-table equal 6/65 0x2eb4a31> #<hash-table equal 6/65 0x2eb4a91>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/sync/SyncClientUsingHttpPost.java" #<hash-table equal 5/65 0x2ead271> #<hash-table equal 6/65 0x2eade71> #<hash-table equal 6/65 0x2eaea71> #<hash-table equal 5/65 0x2eaf60d> #<hash-table equal 5/65 0x2eaf66d> #<hash-table equal 5/65 0x2eb0e11> #<hash-table equal 5/65 0x2eb0e51> #<hash-table equal 5/65 0x2eb2d8d>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/util/ifas12/IFAS12Handler.java" #<hash-table equal 6/65 0x2eabe71>) ("/home/luke/work/projects/bruc-testcases/src/test/java/int_/nato/ncia/majiic/testing/testng/cucumber/GAOISteps.java" #<hash-table equal 6/65 0x2ea50e1> #<hash-table equal 6/65 0x2ea5649> #<hash-table equal 6/65 0x2ea666d> #<hash-table equal 6/65 0x2ea726d> #<hash-table equal 6/65 0x2ea7e6d> #<hash-table equal 6/65 0x2ea8a6d> #<hash-table equal 6/65 0x2ea966d> #<hash-table equal 6/65 0x2eaa209>) ("/home/luke/work/projects/csd-ipl/ipl/src/test/java/int_/nato/nc3a/nsili/util/SyncUtilTest.java" #<hash-table equal 6/65 0x2ea3a29>) ("/home/luke/work/projects/csd-ipl/ipl/src/test/java/int_/nato/nc3a/security/auth/RolenamePrincipalTest.java" #<hash-table equal 6/65 0x2e995a1>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/security/auth/PropertyFileLoginModule.java" #<hash-table equal 5/65 0x2e99aa9> #<hash-table equal 6/65 0x2e99e45> #<hash-table equal 5/65 0x2e9aa69> #<hash-table equal 5/65 0x2e9ba25> #<hash-table equal 5/65 0x2e9ba85> #<hash-table equal 5/65 0x2e9d229> #<hash-table equal 5/65 0x2e9d269> #<hash-table equal 5/65 0x2e9ea25> #<hash-table equal 5/65 0x2e9ea85> #<hash-table equal 5/65 0x2ea03d5> #<hash-table equal 5/65 0x2ea0e69>) ("/home/luke/work/projects/csd-ipl/installer/izpack-panels/src/main/java/int_/nato/nc3a/nsili/izpack/panels/XHTMLInfoPanel.java" #<hash-table equal 5/65 0x2e96d19>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/server2/create/filehandler/VideoFileHandler.java" #<hash-table equal 5/65 0x2e94979> #<hash-table equal 5/65 0x2e95535>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/server2/utils/CORBASerializer.java" #<hash-table equal 5/65 0x2e8b3e9> #<hash-table equal 5/65 0x2e8b951> #<hash-table equal 6/65 0x2e8c975> #<hash-table equal 5/65 0x2e8d575> #<hash-table equal 5/65 0x2e8e175> #<hash-table equal 5/65 0x2e8ed75> #<hash-table equal 5/65 0x2e8f975> #<hash-table equal 6/65 0x2e90511> #<hash-table equal 5/65 0x2e90571> #<hash-table equal 5/65 0x2e91d15> #<hash-table equal 5/65 0x2e91d55> #<hash-table equal 5/65 0x2e93c91>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/server2/utils/NodeUserType.java" #<hash-table equal 6/65 0x2e84379> #<hash-table equal 5/65 0x2e843d9> #<hash-table equal 5/65 0x2e873a9> #<hash-table equal 5/65 0x2e873e9> #<hash-table equal 5/65 0x2e88ba5>) ("/home/luke/work/projects/csd-ipl/ipl/src/test/java/int_/nato/nc3a/nsili/server2/query/QueryResultListTest.java" #<hash-table equal 6/65 0x2e80f5d> #<hash-table equal 6/65 0x2e80f9d> #<hash-table equal 5/65 0x2e826d5> #<hash-table equal 5/65 0x2e827b9>) ("/home/luke/work/projects/csd-ipl/ipl/src/test/java/int_/nato/nc3a/nsili/util/FormatInfoTest.java" #<hash-table equal 6/65 0x2e7d395> #<hash-table equal 6/65 0x2e7e7bd> #<hash-table equal 6/65 0x2e7f779>) ("/home/luke/work/projects/csd-ipl/ipl/src/test/java/int_/nato/nc3a/nsili/sync/SyncClientUsingHttpPostTest.java" #<hash-table equal 6/65 0x2e7bb59> #<hash-table equal 6/65 0x2e7bb99>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/server2/api/OrderRequestImpl.java" #<hash-table equal 5/65 0x2e77f91> #<hash-table equal 6/65 0x2e793b9> #<hash-table equal 5/65 0x2e7a375>) ("/home/luke/work/projects/csd-ipl/ipl/src/main/java/int_/nato/nc3a/nsili/util/ImprovedThreadLocal.java" #<hash-table equal 5/65 0x2e76795>) ("/home/luke/work/projects/csd-ipl/installer/izpack-panels/src/main/java/int_/nato/nc3a/nsili/izpack/panels/CheckSelectedJVM.java" #<hash-table equal 5/65 0x2e747cd>) ...))
  #f(compiled-function (folder-name) #<bytecode 0x2f7b2f9>)("/home/luke/work/projects/csd-ipl")
  -filter(#f(compiled-function (folder-name) #<bytecode 0x2f7b2f9>) ("/home/luke/work/projects/csd-ipl" "/home/luke/work/projects/bruc-testcases"))
  lsp-treemacs--root-folders()
  treemacs--do-expand-lsp-error-list(#<marker at 1 in *LSP Error List*>)
  treemacs-LSP-ERROR-LIST-extension()
  lsp-treemacs-errors-list()
  funcall-interactively(lsp-treemacs-errors-list)
  call-interactively(lsp-treemacs-errors-list nil nil)
  command-execute(lsp-treemacs-errors-list)

I checked and indeed - there is no lsp-diagnostic-severity function in (my) version of LSP...

Any help would be appreciated!

lsp-treemacs-symbols shouldn't break as code is being edited

I am observing that the contents of lsp-treemacs-symbols window often disappears (or parts of it disappear) as I am editing the code, I am assuming due to the fact that while I am typing, the code is not always in a syntactically valid state. (gif illustration attached)

If this is what leads to breakage, it would be far less intrusive for lsp-treemacs-symbol to simply keep the last known good set of symbols (maybe with a visual indicator that current state cannot be parsed).

lsp-tree-bug

Suggestion: make it possible to filter some items from the lsp-treemacs-symbol list

I use LSP with Haskell Language Server, and the request for workspace/symbols returns also the imports under kind 2 as defined in the LSP standard.

As these imports can be numerous, it gets complex having the lsp-treemacs-symbols panel open all the time as I use to have it under treemacs itself, and it is super verbose and you have to go to that panel and scroll until getting to the actual interesting symbols.

I don't think it would be right to remove the imports directly as they are part of the standard, but I think that it would be nice if a variable could be set that filters out specific SymbolKinds.

In this specific use case, I would like to filter out returned values of SymbolKind == 2.

With some guidance I can try to implement this, although I'm not an expert elisper.

EDIT: a screenshot of how it looks like on my machine:
image

Automatic pop-up / collapse when not needed.

Any plans to add a "collapse when there's no errors around" mode to lsp-treemacs? I don't like the fact that it takes up precious screen real estate all the time.

Actually a better approach would be to make it configurable about when it should pop up. I'd ideally want to make it pop up only if I've been idle for 2 seconds and there's some useful information to show.

[SOLVED] lsp-treemacs not working

I am using doom emacs and I installed lsp-treemacs using M-x Package-install

after running lsp-treemacs-symbols or any other lsp-treemacs app it gives me this error Error processing message (void-function lsp-render-symbol).

There is no `lsp-treemacs-symbols-list` function anymore right?

Hi, I find there is no lsp-treemacs-symbols-list in lsp-treemacs.el, only has lsp-treemacs-symbols.

However, in README, there is lsp-treemacs-symbols-list instead of lsp-treemacs-symbols. I guess lsp-treemacs-symbols-listis replaced by lsp-treemacs-symbols, right?

Thank you.

`lsp-treemacs-symbols`: remember the folding of nodes

lsp-treemacs-symbols allows folding and unfolding nodes. However, after the next refresh cycle, all folding information is lost and the modified nodes go back to their normal, unfolded states. That is especially an issue for dap-mode, where losing variable folding is annoying.

This could be implemented as follows:

  • A minor mode could be added, that, for treemacs buffers, records the paths of nodes where the user executed treemacs-TAB-COMMAND into a hash table
  • After a treemacs tree is constructed, it is recursively walked and nodes whose paths were stored are expanded. Not-needed and lazily-generated :children would be ignored.

Garbage-collecting the hash-table could be done by recording the last usage cycle for each mapped node, dropping all nodes that were unused for some (configurable) number of cycles. This has the advantage that, for example, deleting a class and undoing that would restore its fold state. When moving a class into a new namespace though, that wouldn't be the case anymore.

I'd like to hear feedback on my approach, and to then implement it in upstream treemacs.

Add option to close lsp-treemacs buffer on RET action

When an option from lsp-treemacs is chosen (for example open references file), it does not close the lsp-treemacs buffer, it just goes to the file and keep the buffer open.
Can we add some configuration/option to enable this behavior?

lsp-treemacs-symbols No symbol-information

I'am new to emacs and I'am studying it . I am trying to use treemacs with typescript ,js files. Treemacs
it works well in the vision of the project but if I ask it to show me the variables and functions of a react class it returns "No symbol information". To see the variables and functions of a react class I use lsp-treemacs-symbols. So before I go to the project using treemacs-switch-workspace and then I do lsp-treemacs-symbols but on every class I go I obtain always No symbol information.
Is there a guide to use tremmacs symbols with react and typescript ?

Possibility to remove the icons

Hi,

I'm using lsp-treemacs and it added icons which I don't use at all in regular treemacs.
How can I remove the icons and not use them?

Thanks!

lsp-treemacs can not control new window

Hi,
This should be a feature request.
lsp-treemacs is convenient when writing and debugging code. But if I run a code (python in my case) by ", c c", then the new "complication" buffer is at the bottom of the window and across the whole window.
If I want to maximize my code file buffer, by "SPC w m" it only affect the buffers created by treemacs, the "complication" buffer still there. So I have to switch to "complication" buffer and delete the window.

As running the code happens very often, it is a little noisy. I hope you can add the feature that treemacs can control the "complication" buffer or some other kinds of new buffer that not created by treemacs as well.

example

lsp-treemacs-error not working properly on windows 10

This issue is the following of #64

On windows 10, with latest lsp-treemacs, the command lsp-treemacs-error-list does return a tree,
but unfolding items return nothing, whereas lsp-ui-flycheck-list does return correctly the errors.

All other lsp-treemacs commands appear to work well

Strange render in lsp-treemacs-symbols

Hello,
I had a weird render when using lsp-treemacs-symbols like as show on the screenshot.
Capture d’écran de 2019-09-14 15-54-53
Don't know if it is caused by treemacs or lsp-treemacs. I tried to disable my theme but it didn't change anything.

(lsp-treemacs-errors-list) and (lsp-treemacs-java-deps-list) commands displays a blank buffer

** Describe the bug **

(lsp-treemacs-errors-list) and (lsp-treemacs-java-deps-list) commands displays
a blank buffer inside LSP Error List.
Sometimes it shows a message that there is an error in calling the command :

---------------------------------------
It looks like you are trying to run treemacs. Would you like some help with that?
You have called treemacs-mode, but that is just the major mode for treemacs'
buffers, it is not meant to be used manually.

Instead you should call a function like
* treemacs,
* treemacs-select-window, or
* treemacs-add-and-display-current-project

You can safely delete this buffer.
---------------------------------------
\
\
____
/ \
| |
@ @
| |
|| |/
|| ||
|\_/|
\___/

** To Reproduce **
using treemacs package treemacs-20191205.557 will produce the above errors
but the old treemacs package will not produce the above erros.
like using treemacs package treemacs-20191121.626 will not produce the above errors

** Expected behavior **
I think the lsp-treemacs should be updated.
because it uses the old version of the treemacs package

** Logs **
Messages buffer :
[Treemacs] Error on highlight, this shouldn't happen: (wrong-type-argument overlayp nil)

** system **

Linux Debian

GNU Emacs 26.3 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.12)
GNU Emacs 26.2 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.12)
GNU Emacs 26.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.11)

lsp-treemacs 20191202.1647

lsp-java 20191115.1712
lsp-mode 20191205.1708
lsp-ui 20191202.2004

treemacs--do-expand-node: Symbol’s function definition is void: treemacs--maybe-move-forward

When I hit TAB on node in lsp-treemacs-call-hierarchy window I get this error.
Debug on error output:

Debugger entered--Lisp error: (void-function treemacs--maybe-move-forward)
  treemacs--maybe-move-forward()
  treemacs--do-expand-node(#<marker (moves after insertion) at 368 in *Call Hierarchy*>)
  treemacs-expand-node(nil)
  treemacs-TAB-action(nil)
  funcall-interactively(treemacs-TAB-action nil)
  call-interactively(treemacs-TAB-action nil nil)
  command-execute(treemacs-TAB-action)

lsp-treemacs-errors-list shows nothing in C++/clangd

The screenshot of Java errors looks great; I'd love to see the same thing for my C++ code but the "LSP Errors View" window never shows anything - it is empty, regardless of how many errors I inject into source code. flymake displays them... treemacs does not.

I could not find any documentation explaining how to configure this, but I did run (lsp-treemacs-sync-mode 1) before lsp-treemacs-errors-list

Error list is empty, but error and warning count are correct

Thank you for this extension, I am very excited to use it!

image

See my issue above. This could be a problem with my configuration but I'm not really sure where to look. I've simply enabled lsp-treemacs using use-package, as directed:

(use-package lsp-treemacs :commands lsp-treemacs-errors-list)

I see the correct warning / error count, just not the actual files and errors. Please advise how to debug the issue.

Edit:
Some info: It is a Rust project. I am using treemacs, projectile, lsp-mode, and flycheck, not flymake

Use of theme Iconless raises error when trying to expand top-level entry in errors view

If I set the lsp-treemacs-theme to new theme Iconless, pressing the tab key on the top-level entry of the LSP Errors View results in a Wrong type argument: char-or-string-p, nil and the entry is not expanded. The stack trace shows the following:

Debugger entered--Lisp error: (wrong-type-argument char-or-string-p nil)
  treemacs--do-expand-lsp-projects(#<marker (moves after insertion) at 13 in *LSP Error List*>)
  treemacs-expand-lsp-projects(nil)
  treemacs-TAB-action(nil)
  funcall-interactively(treemacs-TAB-action nil)
  call-interactively(treemacs-TAB-action nil nil)
  command-execute(treemacs-TAB-action)

If I set the theme back to Default again (via Erase Customization), kill the LSP Errors View and display the view again, I get the same error. If I then restart Emacs, still using theme Default, display the LSP Errors View again and press the tab key on the top-level entry, no error is raised and the entry is expanded.

I tested this in Spacemacs develop branch, commit c4ad14a, dated Sunday December 20 2020, using a Python file and the pyls backend.

M-x lsp-treemacs-quick-fix hangs in session have jdtls with xmlls or html-ls servers

M-x lsp-treemacs-quick-fix hangs in session have jdtls with xmlls or html-ls servers

LSP Error List buffer

lspWorkspace 3/1/1 /home/myLSP
WelcomeUserAction.java 3/1/1 web3/src/com/mkyong/user/action/
[Java] Java: The value of the field WelcomeUserAction.usernamex is not used (9:16)
[Java] Java: username cannot be resolved to a variable (12:9)
[Java] Java: username cannot be resolved or is not a field (16:7)
[Java] Java: username cannot be resolved (21:6)
[Java] Java: TODO Auto-generated method stub (30:5)

M-x lsp-treemacs-quick-fix
will hang if I have multi servers in session like html-ls or xmlls with jdtls

the result of lsp-log buffer is
Nov 23, 2019 04:53:01 org.eclipse.lsp4j.jsonrpc.RemoteEndpoint fallbackResponseError()
Message: Internal error: java.lang.NullPointerException
java.util.concurrent.CompletionException: java.lang.NullPointerException
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314)
at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:645)
at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:479)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)
Caused by: java.lang.NullPointerException
at org.eclipse.lsp4xml.commons.LanguageModelCache.get(LanguageModelCache.java:56)
at org.eclipse.lsp4xml.XMLTextDocumentService.getXMLDocument(XMLTextDocumentService.java:182)
at org.eclipse.lsp4xml.XMLTextDocumentService.lambda$14(XMLTextDocumentService.java:338)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:642)
... 6 more

==============================
M-x lsp-describe-session
the result is

[-] /home/myLSP/lspWorkspace
|-[-] html-ls:16446
| |-[-] Buffers
| | |-[+] welcome_user.jsp
| | |-[+] login.jsp
| | -[+] error.jsp | -[+] Capabilities
|-[-] xmlls:16409
| |-[-] Buffers
| | |-[+] struts.xml
| | |-[+] web.xml
| | -[+] pom.xml | -[+] Capabilities
-[-] jdtls:16368 |-[-] Buffers | -[+] WelcomeUserAction.java
`-[+] Capabilities

the temp solution is to kill xmlls and html-ls buffers
or kill the processes
16446 0.0 1.1 16:04 00:01 node /usr/local/bin/html-languageserver --stdio
16409 0.4 1.3 16:04 00:11 /usr/bin/java -jar /rmbxz/.emacs.d/lsp4xml/org.eclipse.lsp4xml-0.3.0-uber.jar

==============================

Linux Debian
Emacs GNU Emacs 26.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.11) 
the latest lsp-treemacs

Void variable lsp-error-list

I can't use any of lsp-treemacs-errors-list, lsp-treemacs-symbols, or lsp-treemacs-java-deps-list because every time I do I get:

autoload-do-load: Symbol’s value as variable is void: lsp-error-list

I am running the latest MELPA packages for all of lsp-mode, lsp-java and lsp-treemacs.

This is my LSP setup:

(use-package lsp-mode :ensure t)
(use-package hydra :ensure t)
(use-package company-lsp :ensure t :after lsp-mode)
(use-package lsp-ui :ensure t :after lsp-mode)
(use-package lsp-java :ensure t :after lsp-mode
  :config (add-hook 'java-mode-hook 'lsp))
(use-package lsp-treemacs :ensure t :after lsp-mode
  :commands lsp-treemacs-errors-list)

(use-package dap-mode
  :ensure t :after lsp-mode
  :config
  (dap-mode t)
  (dap-ui-mode t))

(use-package dap-java :after (lsp-java))
(add-hook 'java-mode-hook 'flycheck-mode)

wishlist: support display full function signature

Thanks for the excellent work!
Is there any possible to show function signature rather than just function name in lsp-treemacs, or provide an option to control it? I found the signature is more easily to distinguish than only a name.

lsp-treemacs-error-list returns nothing

Hello,

If I intentionally introduce some syntax errors in my java source, the language server detects
them instantly and I find them correctly reported in lsp-ui-flycheck-list buffer.

However, nothing shows up with lsp-treemacs-error-list and no errors seem to occur.

Other lsp-treemacs commands, like lsp-treemacs-symbols, work well.

My system is windows 10, emacs 27.1 run under mingw64 with all lsp packages and dependencies updated right now.

Apply all quick-fixes?

lsp-treemacs-quick-fix is very nice. Would be even more convenient to apply all quick fixes from the code buffer without having to open the lsp-treemacs-errors-list and step through each error - is this possible?

Thank you!

Second definition of lsp-treemacs--symbol-icon

Did you mean to redefine lsp-treemacs--symbol-icon in lsp-treemacs.el?

The second defun does not display icons for me, but the first one works fine (at least, it displays the icons properly, but indentation seems to be lacking for child nodes... not sure if this is related).

icon issues with doom themes

original issue: doomemacs/themes#500

looks like this:
Screen Shot 2021-01-20 at 12 42 33 PM
should look like this:
Screen Shot 2021-01-20 at 12 41 30 PM

the problem is not present until lsp-mode is enabled.

note: the discussion here picks up where we left off in what turned out to be an unrelated lsp-treemacs issue: #66

Error: void-function nil

While clicking the item in lsp-treemacs windows, I got this error:

Debugger entered--Lisp error: (void-function nil)
  nil()
  treemacs-single-click-expand-action((mouse-1 (#<window 9 on *LSP Symbols List*> 30 (80 . 42) 85997134 nil 30 (9 . 2) nil (0 . 8) (8 . 15))))
  funcall-interactively(treemacs-single-click-expand-action (mouse-1 (#<window 9 on *LSP Symbols List*> 30 (80 . 42) 85997134 nil 30 (9 . 2) nil (0 . 8) (8 . 15))))
  call-interactively(treemacs-single-click-expand-action nil nil)
  #f(compiled-function (cmd &optional record-flag keys special) "Execute CMD as an editor command.\nCMD must be a symbol that satisfies the `commandp' predicate.\nOptional second arg RECORD-FLAG non-nil\nmeans unconditionally put this command in the variable `command-history'.\nOtherwise, that is done only if an arg is read using the minibuffer.\nThe argument KEYS specifies the value to use instead of (this-command-keys)\nwhen reading the arguments; if it is nil, (this-command-keys) is used.\nThe argument SPECIAL, if non-nil, means that this command is executing\na special event, so ignore the prefix argument and don't clear it." #<bytecode 0x408f6815>)(treemacs-single-click-expand-action nil nil nil)
  ad-Advice-command-execute(#f(compiled-function (cmd &optional record-flag keys special) "Execute CMD as an editor command.\nCMD must be a symbol that satisfies the `commandp' predicate.\nOptional second arg RECORD-FLAG non-nil\nmeans unconditionally put this command in the variable `command-history'.\nOtherwise, that is done only if an arg is read using the minibuffer.\nThe argument KEYS specifies the value to use instead of (this-command-keys)\nwhen reading the arguments; if it is nil, (this-command-keys) is used.\nThe argument SPECIAL, if non-nil, means that this command is executing\na special event, so ignore the prefix argument and don't clear it." #<bytecode 0x408f6815>) treemacs-single-click-expand-action)
  apply(ad-Advice-command-execute #f(compiled-function (cmd &optional record-flag keys special) "Execute CMD as an editor command.\nCMD must be a symbol that satisfies the `commandp' predicate.\nOptional second arg RECORD-FLAG non-nil\nmeans unconditionally put this command in the variable `command-history'.\nOtherwise, that is done only if an arg is read using the minibuffer.\nThe argument KEYS specifies the value to use instead of (this-command-keys)\nwhen reading the arguments; if it is nil, (this-command-keys) is used.\nThe argument SPECIAL, if non-nil, means that this command is executing\na special event, so ignore the prefix argument and don't clear it." #<bytecode 0x408f6815>) treemacs-single-click-expand-action)
  command-execute(treemacs-single-click-expand-action)

Errors list always warns about two errors but never shows them

image

This is what I always see on my modeline/when opening lsp-treemacs-error-list. It never shows any errors if I purposefully make them and still shows this empty view if there's no issues.

Also, when I select the folder, for whatever reason it opens dired.

If it matters, I'm using DOOM emacs with java & jdtls.

reference nodes auto expand

the lsp-treemacs-references window opened with nodes collapsed, but I need it auto expanded. is there an option?

60 character limitation in function definition strings causing confusing truncation

Is it currently possible to set the max width of fn def strings? When I expand, fn defs using lsp-treemacs, they are limited to a max of 60 characters. This leads to confusion and cripples the ability to discern full signatures or distinguish between long function names that overrun the limit.

I notice that both lsp-treemacs and lsp-ui-imenu both have this 60 char limitation. Is this a configurable var? Do you know how to set this?

Thanks

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.