[[https://github.com/emacs-lsp/lsp-treemacs/actions][file:https://github.com/emacs-lsp/lsp-treemacs/workflows/CI/badge.svg]]
[[https://melpa.org/#/lsp-treemacs][file:https://melpa.org/packages/lsp-treemacs-badge.svg]]
[[https://stable.melpa.org/#/lsp-treemacs][file:https://stable.melpa.org/packages/lsp-treemacs-badge.svg]]

* Table of Contents                                       :TOC_4_gh:noexport:
- [[#summary][Summary]]
- [[#synchronization][Synchronization]]
- [[#views][Views]]
  - [[#lsp-treemacs-errors-list][lsp-treemacs-errors-list]]
    - [[#commands][Commands]]
    - [[#screenshot][Screenshot]]
  - [[#lsp-treemacs-symbols][lsp-treemacs-symbols]]
    - [[#screenshot-1][Screenshot]]
  - [[#lsp-treemacs-referenceslsp-treemacs-implementations][lsp-treemacs-references/lsp-treemacs-implementations]]
    - [[#screenshot-2][Screenshot]]
  - [[#lsp-treemacs-call-hierarchy][lsp-treemacs-call-hierarchy]]
    - [[#screenshot-3][Screenshot]]
  - [[#lsp-treemacs-type-hierarchy][lsp-treemacs-type-hierarchy]]
  - [[#lsp-treemacs-deps-list][lsp-treemacs-deps-list]]
    - [[#commands-1][Commands]]
    - [[#screenshot-4][Screenshot]]

* Summary
  Integration between [[https://github.com/emacs-lsp/lsp-mode][lsp-mode]] and [[https://github.com/Alexander-Miller/treemacs][treemacs]] and implementation of treeview controls using [[https://github.com/Alexander-Miller/treemacs][treemacs]] as a tree renderer.
* Synchronization
  To enable bidirectional synchronization of lsp workspace folders and [[https://github.com/Alexander-Miller/treemacs][treemacs]] projects.
#+begin_src emacs-lisp
(lsp-treemacs-sync-mode 1)
#+end_src
* Views
** lsp-treemacs-errors-list
   Displays tree like error list structure.
*** Commands
*** Screenshot
    [[file: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
    [[file:screenshots/symbols-list.gif]]
** lsp-treemacs-references/lsp-treemacs-implementations
  Display references/implementations using tree view:
*** Screenshot
    [[file: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
    [[file: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
    [[file:screenshots/dependencies.gif]]
