From 764d5473a42ce196489e9ac0316672e4a1fc7105 Mon Sep 17 00:00:00 2001 From: Roman Rudakov Date: Wed, 16 Apr 2025 22:20:18 +0200 Subject: [PATCH] [#11] Add regex syntax highlighting --- CHANGELOG.md | 1 + README.md | 19 +++- clojure-ts-mode.el | 107 +++++++++++++++++---- screenshots/markdown-syntax-dark-theme.png | Bin 0 -> 59689 bytes screenshots/regex-syntax-dark-theme.png | Bin 0 -> 50440 bytes test/samples/regex.clj | 7 ++ 6 files changed, 115 insertions(+), 19 deletions(-) create mode 100644 screenshots/markdown-syntax-dark-theme.png create mode 100644 screenshots/regex-syntax-dark-theme.png create mode 100644 test/samples/regex.clj diff --git a/CHANGELOG.md b/CHANGELOG.md index 41e2a14..8c11acd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## main (unreleased) - [#16](https://github.com/clojure-emacs/clojure-ts-mode/issues/16): Introduce `clojure-ts-align`. +- [#11](https://github.com/clojure-emacs/clojure-ts-mode/issues/11): Enable regex syntax highlighting. ## 0.3.0 (2025-04-15) diff --git a/README.md b/README.md index f44f583..0c96c55 100644 --- a/README.md +++ b/README.md @@ -293,12 +293,29 @@ highlighted like regular clojure code. ### Highlight markdown syntax in docstrings By default markdown syntax is highlighted in the docstrings using -`markdown_inline` grammar. To disable this feature set +`markdown-inline` grammar. To disable this feature set ``` emacs-lisp (setopt clojure-ts-use-markdown-inline nil) ``` +Example of syntax highlighting: + + + +### Highlight regex syntax + +By default syntax inside regex literals is highlighted using [regex](https://github.com/tree-sitter/tree-sitter-regex) grammar. To +disable this feature set + +```emacs-lisp +(setopt clojure-ts-use-regex-parser nil) +``` + +Example of syntax highlighting: + + + ### Navigation and Evaluation To make forms inside of `(comment ...)` forms appear as top-level forms for evaluation and navigation, set diff --git a/clojure-ts-mode.el b/clojure-ts-mode.el index 7c16c01..f88f342 100644 --- a/clojure-ts-mode.el +++ b/clojure-ts-mode.el @@ -121,6 +121,12 @@ double quotes on the third column." :safe #'booleanp :package-version '(clojure-ts-mode . "0.2.3")) +(defcustom clojure-ts-use-regex-parser t + "When non-nil, use separate grammar to highlight regex syntax." + :type 'boolean + :safe #'booleanp + :package-version '(clojure-ts-mode . "0.4")) + (defcustom clojure-ts-auto-remap t "When non-nil, redirect all `clojure-mode' buffers to `clojure-ts-mode'." :safe #'booleanp @@ -407,17 +413,37 @@ if a third argument (the value) is provided. :*) (:match ,clojure-ts--interface-def-symbol-regexp @_def_symbol)))) -(defvar clojure-ts--treesit-range-settings - (treesit-range-rules - :embed 'markdown-inline - :host 'clojure - :local t - (clojure-ts--docstring-query '@capture))) +(defun clojure-ts--treesit-range-settings (use-markdown-inline use-regex) + "Return value for `treesit-range-settings' for `clojure-ts-mode'. -(defun clojure-ts--font-lock-settings (markdown-available) +When USE-MARKDOWN-INLINE is non-nil, include range settings for +markdown-inline parser. + +When USE-REGEX is non-nil, include range settings for regex parser." + (append + (when use-markdown-inline + (treesit-range-rules + :embed 'markdown-inline + :host 'clojure + :offset '(1 . -1) + :local t + (clojure-ts--docstring-query '@capture))) + (when use-regex + (treesit-range-rules + :embed 'regex + :host 'clojure + :offset '(2 . -1) + :local t + '((regex_lit) @capture))))) + +(defun clojure-ts--font-lock-settings (markdown-available regex-available) "Return font lock settings suitable for use in `treesit-font-lock-settings'. + When MARKDOWN-AVAILABLE is non-nil, includes rules for highlighting docstrings -with the markdown-inline grammar." +with the markdown-inline grammar. + +When REGEX-AVAILABLE is non-nil, includes rules for highlighting regex +literals with regex grammar." (append (treesit-font-lock-rules :feature 'string @@ -590,6 +616,44 @@ with the markdown-inline grammar." (inline_link (link_destination) @font-lock-constant-face) (shortcut_link (link_text) @link)]))) + (when regex-available + ;; Queries are adapted from + ;; https://github.com/tree-sitter/tree-sitter-regex/blob/v0.24.3/queries/highlights.scm. + (treesit-font-lock-rules + :feature 'regex + :language 'regex + :override t + '((["(" + ")" + "(?" + "(?:" + "(?<" + "(?P<" + "(?P=" + ">" + "[" + "]" + "{" + "}" + "[:" + ":]"] @font-lock-regexp-grouping-construct) + (["*" + "+" + "?" + "|" + "=" + "!"] @font-lock-property-name-face) + ((group_name) @font-lock-variable-name-face) + ((count_quantifier + [(decimal_digits) @font-lock-number-face + "," @font-lock-delimiter-face])) + ((flags) @font-lock-constant-face) + ((character_class + ["^" @font-lock-escape-face + (class_range "-" @font-lock-escape-face)])) + ((identity_escape) @font-lock-builtin-face) + ([(start_assertion) (end_assertion)] @font-lock-constant-face)))) + (treesit-font-lock-rules :feature 'quote :language 'clojure @@ -1555,7 +1619,9 @@ between BEG and END." "v0.0.13") (markdown-inline "https://github.com/MDeiml/tree-sitter-markdown" "v0.4.1" - "tree-sitter-markdown-inline/src")) + "tree-sitter-markdown-inline/src") + (regex "https://github.com/tree-sitter/tree-sitter-regex" + "v0.24.3")) "Intended to be used as the value for `treesit-language-source-alist'.") (defun clojure-ts--ensure-grammars () @@ -1584,20 +1650,22 @@ function can also be used to upgrade the grammars if they are outdated." (let ((treesit-language-source-alist clojure-ts-grammar-recipes)) (treesit-install-language-grammar grammar))))) -(defun clojure-ts-mode-variables (&optional markdown-available) +(defun clojure-ts-mode-variables (&optional markdown-available regex-available) "Initialize buffer-local variables for `clojure-ts-mode'. -See `clojure-ts--font-lock-settings' for usage of MARKDOWN-AVAILABLE." + +See `clojure-ts--font-lock-settings' for usage of MARKDOWN-AVAILABLE and +REGEX-AVAILABLE." (setq-local indent-tabs-mode nil) (setq-local comment-add 1) (setq-local comment-start ";") (setq-local treesit-font-lock-settings - (clojure-ts--font-lock-settings markdown-available)) + (clojure-ts--font-lock-settings markdown-available regex-available)) (setq-local treesit-font-lock-feature-list '((comment definition variable) (keyword string char symbol builtin type) - (constant number quote metadata doc) - (bracket deref function regex tagged-literals))) + (constant number quote metadata doc regex) + (bracket deref function tagged-literals))) (setq-local treesit-defun-prefer-top-level t) (setq-local treesit-defun-tactic 'top-level) @@ -1630,13 +1698,16 @@ See `clojure-ts--font-lock-settings' for usage of MARKDOWN-AVAILABLE." :syntax-table clojure-ts-mode-syntax-table (clojure-ts--ensure-grammars) (let ((use-markdown-inline (and clojure-ts-use-markdown-inline - (treesit-ready-p 'markdown-inline t)))) - (when use-markdown-inline - (setq-local treesit-range-settings clojure-ts--treesit-range-settings)) + (treesit-ready-p 'markdown-inline t))) + (use-regex (and clojure-ts-use-regex-parser + (treesit-ready-p 'regex t)))) + (setq-local treesit-range-settings + (clojure-ts--treesit-range-settings use-markdown-inline + use-regex)) (when (treesit-ready-p 'clojure) (treesit-parser-create 'clojure) - (clojure-ts-mode-variables use-markdown-inline) + (clojure-ts-mode-variables use-markdown-inline use-regex) (when clojure-ts--debug (setq-local treesit--indent-verbose t) diff --git a/screenshots/markdown-syntax-dark-theme.png b/screenshots/markdown-syntax-dark-theme.png new file mode 100644 index 0000000000000000000000000000000000000000..7a908acb9058f09c069961534df494a184a42910 GIT binary patch literal 59689 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 literal 0 HcmV?d00001 diff --git a/screenshots/regex-syntax-dark-theme.png b/screenshots/regex-syntax-dark-theme.png new file mode 100644 index 0000000000000000000000000000000000000000..ad7ee45dd7963bd9b77e1403333fdc6cb7128704 GIT binary patch literal 50440 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 literal 0 HcmV?d00001 diff --git a/test/samples/regex.clj b/test/samples/regex.clj new file mode 100644 index 0000000..f37b50a --- /dev/null +++ b/test/samples/regex.clj @@ -0,0 +1,7 @@ +(ns regex) + +(def email-pattern + #"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?") + +(def simple-regex + #"^(\\d+).*[a|b|c|d].*[a-z0-9!#]$")