Skip to content

Commit defc049

Browse files
committed
Workaround byte compilation error
Fixes #64
1 parent ce46082 commit defc049

File tree

1 file changed

+34
-28
lines changed

1 file changed

+34
-28
lines changed

lsp-java-treemacs.el

Lines changed: 34 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727

2828
(require 'dash)
2929
(require 'lsp-mode)
30+
(require 'lsp-java)
3031
(require 'dash-functional)
3132
(require 'treemacs-extensions)
3233

@@ -80,28 +81,33 @@ PROJECT-URI, NODE-ID and PATH are the details for the current node."
8081
(treemacs-define-leaf-node lsp-file treemacs-icon-java
8182
:ret-action 'lsp-java-treemacs--open-file)
8283

83-
(defun lsp-java-treemacs--icon-path (rel-path)
84-
"Get fullpath to `lsp-java-treemacs' icon.
85-
REL-PATH rel path to the icon."
86-
(f-join (f-dirname (or load-file-name buffer-file-name)) rel-path))
87-
88-
(treemacs--setup-icon lsp-java-treemacs-jar
89-
(lsp-java-treemacs--icon-path "icons/vscode/file_type_jar.png"))
90-
(treemacs--setup-icon treemacs-lsp-java-package
91-
(lsp-java-treemacs--icon-path "icons/vscode/folder_type_package.png"))
92-
(treemacs--setup-icon lsp-java-treemacs-package-opened
93-
(lsp-java-treemacs--icon-path "icons/vscode/folder_type_package_opened.png"))
94-
(treemacs--setup-icon treemacs-lsp-java-jar-folder
95-
(lsp-java-treemacs--icon-path "icons/vscode/folder_type_component.png"))
96-
(treemacs--setup-icon treemacs-lsp-java-jar-folder-opened
97-
(lsp-java-treemacs--icon-path "icons/vscode/folder_type_component_opened.png"))
98-
(treemacs--setup-icon treemacs-lsp-java-library-folder
99-
(lsp-java-treemacs--icon-path "icons/vscode/folder_type_library.png"))
100-
(treemacs--setup-icon treemacs-lsp-java-library-folder-opened
101-
(lsp-java-treemacs--icon-path "icons/vscode/folder_type_library_opened.png"))
102-
(treemacs--setup-icon treemacs-lsp-java-class
103-
(lsp-java-treemacs--icon-path "icons/vscode/file_type_class.png")
104-
"class")
84+
(defmacro lsp-java-treemacs--setup-icon (var file-name &rest extensions)
85+
"Define VAR with its display property being the image created from FILE-NAME.
86+
Insert VAR into `treemacs-icon-hash' for each of the given file EXTENSIONS."
87+
(unless (treemacs--is-image-creation-impossible?)
88+
`(progn
89+
(defvar ,var
90+
(let* ((image-unselected (treemacs--create-image (f-join (f-dirname (or load-file-name buffer-file-name)) ,file-name)))
91+
(image-selected (treemacs--create-image (f-join (f-dirname (or load-file-name buffer-file-name)) ,file-name))))
92+
(treemacs--set-img-property image-selected :background treemacs--selected-icon-background)
93+
(treemacs--set-img-property image-unselected :background treemacs--not-selected-icon-background)
94+
(concat (propertize " "
95+
'display image-unselected
96+
'img-selected image-selected
97+
'img-unselected image-unselected)
98+
" ")))
99+
(push ,var treemacs--created-icons)
100+
(--each (quote ,extensions) (ht-set! treemacs-icons-hash it ,var))
101+
,var)))
102+
103+
(lsp-java-treemacs--setup-icon lsp-java-treemacs-jar "icons/vscode/file_type_jar.png")
104+
(lsp-java-treemacs--setup-icon lsp-java-treemacs-package "icons/vscode/folder_type_package.png")
105+
(lsp-java-treemacs--setup-icon lsp-java-treemacs-package-opened "icons/vscode/folder_type_package_opened.png")
106+
(lsp-java-treemacs--setup-icon lsp-java-treemacs-jar-folder "icons/vscode/folder_type_component.png")
107+
(lsp-java-treemacs--setup-icon lsp-java-treemacs-jar-folder-opened "icons/vscode/folder_type_component_opened.png")
108+
(lsp-java-treemacs--setup-icon lsp-java-treemacs-library-folder "icons/vscode/folder_type_library.png")
109+
(lsp-java-treemacs--setup-icon lsp-java-treemacs-library-folder-opened "icons/vscode/folder_type_library_opened.png")
110+
(lsp-java-treemacs--setup-icon lsp-java-treemacs-class "icons/vscode/file_type_class.png" "class")
105111

106112
(defmacro treemacs--lsp-node-or-folder ()
107113
"Extract common code from nodes."
@@ -135,16 +141,16 @@ REL-PATH rel path to the icon."
135141

136142
(treemacs-define-expandable-node package
137143
:icon-open lsp-java-treemacs-package-opened
138-
:icon-closed treemacs-lsp-java-package
144+
:icon-closed lsp-java-treemacs-package
139145
:query-function (lsp-java-treemacs--external-library-children
140146
(button-get btn :project-uri)
141147
(button-get btn :node-id)
142148
(button-get btn :node-path))
143149
:render-action (treemacs--lsp-node-or-folder))
144150

145151
(treemacs-define-expandable-node folder
146-
:icon-open treemacs-lsp-java-jar-folder-opened
147-
:icon-closed treemacs-lsp-java-jar-folder
152+
:icon-open lsp-java-treemacs-jar-folder-opened
153+
:icon-closed lsp-java-treemacs-jar-folder
148154
:query-function (lsp-java-treemacs--external-library-children
149155
(button-get btn :project-uri)
150156
(button-get btn :node-id)
@@ -159,8 +165,8 @@ REL-PATH rel path to the icon."
159165
:render-action (treemacs--lsp-node-or-folder))
160166

161167
(treemacs-define-expandable-node external-library
162-
:icon-open treemacs-lsp-java-library-folder-opened
163-
:icon-closed treemacs-lsp-java-library-folder
168+
:icon-open lsp-java-treemacs-library-folder-opened
169+
:icon-closed lsp-java-treemacs-library-folder
164170
:query-function (-> btn
165171
(button-get :parent)
166172
(button-get :path)
@@ -222,7 +228,7 @@ ADDED and REMOVED are pointing which are the changed folders."
222228
(unless (eq 'visible (treemacs-current-visibility))
223229
(treemacs))
224230

225-
(maphash (lambda (root-path workspace)
231+
(maphash (lambda (root-path _workspace)
226232
(unless (or (s-equals? (f-canonical root-path) (f-canonical lsp-java-workspace-dir))
227233
(s-equals? (f-canonical root-path) (f-canonical lsp-java-workspace-cache-dir)))
228234
(treemacs-do-add-project-to-workspace root-path (f-filename root-path))))

0 commit comments

Comments
 (0)