Both 'c-ts-mode' and 'java-ts-mode' have a new user option,
'c-ts-mode-enable-doxygen' and 'java-ts-mode-enable-doxygen'
(defaults to nil) which allow to enable syntax highlighting
of comment blocks based on the Doxygen grammar.
* lisp/progmodes/c-ts-mode.el: Add the 'c-ts-mode-enable-doxygen'
user option variable to disable doxygen grammar.
Notifies the user if doxygen grammar is not available.
* lisp/progmodes/c-ts-mode.el (c-ts-mode, c++-ts-mode): Use the
new 'c-ts-mode-enable-doxygen' option.
* lisp/progmodes/java-ts-mode.el: Add the
'java-ts-mode-enable-doxygen' user option variable to disable
doxygen grammar. Notifies the user if doxygen grammar is not
available.
* lisp/progmodes/java-ts-mode.el (java-ts-mode): Use the new
'java-ts-mode-enable-doxygen' option.
* etc/NEWS: Document the change.
(cherry picked from commit
b0523dffabbec8acd9c5c92711af849a11867884)
The 'go-ts-mode-build-tags' user option is available to set a list of
build tags for the test commands.
+** C-ts mode
+
++++
+*** New user option 'c-ts-mode-enable-doxygen'.
+By default, 'c-ts-mode-enable-doxygen' is nil, and the comment blocks
+are highlighted like other comments. When Non-nil doxygen comment
+blocks are syntax-highlighted if the doxygen grammar is available.
+
+** Java-ts mode
+
++++
+*** New user option 'java-ts-mode-enable-doxygen'.
+By default, 'java-ts-mode-enable-doxygen' is nil, and the comment blocks
+are highlighted like other comments. When Non-nil doxygen comment
+blocks are syntax-highlighted if the doxygen grammar is available.
+
** Emacs Lisp mode
---
;; libraries installed.
;;
;; If the tree-sitter doxygen grammar is available, then the comment
-;; blocks will be highlighted according to this grammar.
+;; blocks can be highlighted according to this grammar.
;;; Code:
:safe 'booleanp
:group 'c)
+(defcustom c-ts-mode-enable-doxygen nil
+ "Enable doxygen syntax highlighting.
+If Non-nil, enable doxygen based font lock for comment blocks.
+This needs to be set before enabling `c-ts-mode'; if you change
+the value after enabling `c-ts-mode', toggle the mode off and on
+again."
+ :version "31.1"
+ :type 'boolean
+ :safe 'booleanp
+ :group 'c)
+
;;; Syntax table
(defvar c-ts-mode--syntax-table
(treesit-font-lock-recompute-features '(emacs-devel)))
;; Inject doxygen parser for comment.
- (when (treesit-ready-p 'doxygen t)
+ (when (and c-ts-mode-enable-doxygen (treesit-ready-p 'doxygen t))
(setq-local treesit-primary-parser primary-parser)
(setq-local treesit-font-lock-settings
(append
#'c-ts-mode--emacs-current-defun-name))
;; Inject doxygen parser for comment.
- (when (treesit-ready-p 'doxygen t)
+ (when (and c-ts-mode-enable-doxygen (treesit-ready-p 'doxygen t))
(setq-local treesit-primary-parser primary-parser)
(setq-local treesit-font-lock-settings
(append
(treesit-ready-p 'c))
(add-to-list 'major-mode-remap-defaults '(c-or-c++-mode . c-or-c++-ts-mode)))
+(when (and c-ts-mode-enable-doxygen (not (treesit-ready-p 'doxygen t)))
+ (message "Doxygen syntax highlighting can't be enabled, please install the language grammar."))
+
(provide 'c-ts-mode)
(provide 'c++-ts-mode)
;;; Commentary:
;;
;; If the tree-sitter doxygen grammar is available, then the comment
-;; blocks will be highlighted according to this grammar.
+;; blocks can be highlighted according to this grammar.
;;; Code:
:safe 'integerp
:group 'java)
+(defcustom java-ts-mode-enable-doxygen nil
+ "Enable doxygen syntax highlighting.
+If Non-nil, enable doxygen based font lock for comment blocks.
+This needs to be set before enabling `java-ts-mode'; if you change
+the value after enabling `java-ts-mode', toggle the mode off and on
+again."
+ :version "31.1"
+ :type 'boolean
+ :safe 'booleanp
+ :group 'java)
+
(defvar java-ts-mode--syntax-table
(let ((table (make-syntax-table)))
;; Taken from the cc-langs version
java-ts-mode--font-lock-settings)
;; Inject doxygen parser for comment.
- (when (treesit-ready-p 'doxygen t)
+ (when (and java-ts-mode-enable-doxygen (treesit-ready-p 'doxygen t))
(setq-local treesit-primary-parser primary-parser)
(setq-local treesit-font-lock-settings
(append treesit-font-lock-settings
(if (treesit-ready-p 'java)
(add-to-list 'auto-mode-alist '("\\.java\\'" . java-ts-mode)))
+(when (and java-ts-mode-enable-doxygen (not (treesit-ready-p 'doxygen t)))
+ (message "Doxygen syntax highlighting can't be enabled, please install the language grammar."))
+
(provide 'java-ts-mode)
;;; java-ts-mode.el ends here