mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-30 20:32:00 -08:00
Tweak various ts-mode's indent and fontification (bug#59931)
* lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings): Add raw string literal font-locking. * lisp/progmodes/java-ts-mode.el (java-ts-mode--indent-rules): Add text_block indent rule. (java-ts-mode--font-lock-settings): Add text_block font-locking. * lisp/progmodes/js.el (js-ts-mode): Prefer top-level navigation. * lisp/progmodes/json-ts-mode.el (json-ts-mode--font-lock-settings): Add comment feature. (json-ts-mode): Use comment feature. * lisp/progmodes/typescript-ts-mode.el (typescript-ts-base-mode): Prefer top-level navigation.
This commit is contained in:
parent
647b6a8099
commit
8ec923775d
5 changed files with 13 additions and 3 deletions
|
|
@ -251,7 +251,9 @@ MODE is either `c' or `cpp'."
|
|||
:language mode
|
||||
:feature 'string
|
||||
`((string_literal) @font-lock-string-face
|
||||
(system_lib_string) @font-lock-string-face)
|
||||
(system_lib_string) @font-lock-string-face
|
||||
,@(when (eq mode 'cpp)
|
||||
'((raw_string_literal) @font-lock-string-face)))
|
||||
|
||||
:language mode
|
||||
:feature 'literal
|
||||
|
|
|
|||
|
|
@ -73,6 +73,7 @@
|
|||
((node-is "]") parent-bol 0)
|
||||
((and (parent-is "comment") comment-end) comment-start -1)
|
||||
((parent-is "comment") comment-start-skip 0)
|
||||
((parent-is "text_block") no-indent)
|
||||
((parent-is "class_body") parent-bol java-ts-mode-indent-offset)
|
||||
((parent-is "interface_body") parent-bol java-ts-mode-indent-offset)
|
||||
((parent-is "constructor_body") parent-bol java-ts-mode-indent-offset)
|
||||
|
|
@ -162,7 +163,8 @@
|
|||
:language 'java
|
||||
:override t
|
||||
:feature 'string
|
||||
`((string_literal) @font-lock-string-face)
|
||||
`((string_literal) @font-lock-string-face
|
||||
(text_block) @font-lock-string-face)
|
||||
:language 'java
|
||||
:override t
|
||||
:feature 'literal
|
||||
|
|
|
|||
|
|
@ -3871,6 +3871,7 @@ Currently there are `js-mode' and `js-ts-mode'."
|
|||
;; Indent.
|
||||
(setq-local treesit-simple-indent-rules js--treesit-indent-rules)
|
||||
;; Navigation.
|
||||
(setq-local treesit-defun-prefer-top-level t)
|
||||
(setq-local treesit-defun-type-regexp
|
||||
(rx (or "class_declaration"
|
||||
"method_definition"
|
||||
|
|
|
|||
|
|
@ -74,6 +74,9 @@
|
|||
|
||||
(defvar json-ts-mode--font-lock-settings
|
||||
(treesit-font-lock-rules
|
||||
:language 'json
|
||||
:feature 'comment
|
||||
'((comment) @font-lock-comment-face)
|
||||
:language 'json
|
||||
:feature 'bracket
|
||||
'((["[" "]" "{" "}"]) @font-lock-bracket-face)
|
||||
|
|
@ -161,7 +164,7 @@ the subtrees."
|
|||
;; Font-lock.
|
||||
(setq-local treesit-font-lock-settings json-ts-mode--font-lock-settings)
|
||||
(setq-local treesit-font-lock-feature-list
|
||||
'((constant number pair string)
|
||||
'((comment constant number pair string)
|
||||
(escape-sequence)
|
||||
(bracket delimiter error)))
|
||||
|
||||
|
|
|
|||
|
|
@ -329,6 +329,8 @@ Argument LANGUAGE is either `typescript' or `tsx'."
|
|||
(group (or (syntax comment-end)
|
||||
(seq (+ "*") "/")))))
|
||||
|
||||
(setq-local treesit-defun-prefer-top-level t)
|
||||
|
||||
;; Electric
|
||||
(setq-local electric-indent-chars
|
||||
(append "{}():;," electric-indent-chars))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue