Skip to content

Commit 8579c6c

Browse files
authored
lsp-erlang: add new ELP semantic token mappings (#4821)
exported type, deprecated function dynamic type for variable
1 parent 45ab3a8 commit 8579c6c

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

clients/lsp-erlang.el

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,11 +325,20 @@ It must match those used in https://github.com/WhatsApp/erlang-language-platform
325325
"The face modification to use for exported functions."
326326
:group 'lsp-erlang-elp-semantic-tokens)
327327

328+
(defface lsp-erlang-elp-exported-type-modifier-face
329+
'((t :underline t))
330+
"The face modification to use for exported types."
331+
:group 'lsp-erlang-elp-semantic-tokens)
332+
328333
(defface lsp-erlang-elp-deprecated-function-modifier-face
329334
'((t :strike-through t))
330335
"The face modification to use for deprecated functions."
331336
:group 'lsp-erlang-elp-semantic-tokens)
332337

338+
(defface lsp-erlang-elp-type-dynamic-modifier-face
339+
'((t (:weight bold)))
340+
"The face modification to use for dynamic types."
341+
:group 'lsp-erlang-elp-semantic-tokens)
333342

334343
;; ---------------------------------------------------------------------
335344
;; Semantic token modifier face customization
@@ -346,12 +355,24 @@ It must match those used in https://github.com/WhatsApp/erlang-language-platform
346355
:group 'lsp-erlang-elp-semantic-tokens
347356
:package-version '(lsp-mode . "9.0.0"))
348357

358+
(defcustom lsp-erlang-elp-exported-type-modifier 'lsp-erlang-elp-exported-type-modifier-face
359+
"Face for semantic token modifier for `exported_type' attribute."
360+
:type 'face
361+
:group 'lsp-erlang-elp-semantic-tokens
362+
:package-version '(lsp-mode . "9.0.0"))
363+
349364
(defcustom lsp-erlang-elp-deprecated-function-modifier 'lsp-erlang-elp-deprecated-function-modifier-face
350365
"Face for semantic token modifier for `deprecated_function' attribute."
351366
:type 'face
352367
:group 'lsp-erlang-elp-semantic-tokens
353368
:package-version '(lsp-mode . "9.0.0"))
354369

370+
(defcustom lsp-erlang-elp-type-dynamic-modifier 'lsp-erlang-elp-type-dynamic-modifier-face
371+
"Face for semantic token modifier for `type_dynamic' attribute."
372+
:type 'face
373+
:group 'lsp-erlang-elp-semantic-tokens
374+
:package-version '(lsp-mode . "9.0.0"))
375+
355376
;; ---------------------------------------------------------------------
356377

357378
(defun lsp-erlang-elp--semantic-modifiers ()
@@ -361,7 +382,9 @@ tokens legend."
361382
`(
362383
("bound" . ,lsp-erlang-elp-bound-modifier)
363384
("exported_function" . ,lsp-erlang-elp-exported-function-modifier)
364-
("deprecated_function" . ,lsp-erlang-elp-deprecated-function-modifier)))
385+
("exported_type" . ,lsp-erlang-elp-exported-type-modifier)
386+
("deprecated_function" . ,lsp-erlang-elp-deprecated-function-modifier)
387+
("type_dynamic" . ,lsp-erlang-elp-type-dynamic-modifier)))
365388

366389
;; ---------------------------------------------------------------------
367390
;; Client

0 commit comments

Comments
 (0)