branch: elpa/typst-ts-mode
commit dc378979745a3a0cb1d436a22f601cc96bc79dd8
Author: Meow King <mr.meowk...@anche.no>
Commit: Meow King <mr.meowk...@anche.no>

    fix(raw-block-highlighting): don't emit error when editing a raw block of 
the language of uninstalled ts-parser.
    
    JJ:
---
 basic-syntax.typ | 2 +-
 side/utils.el    | 9 +++++++++
 typst-ts-mode.el | 6 +++++-
 3 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/basic-syntax.typ b/basic-syntax.typ
index bf34ccd7a3..3ac0baf52b 100644
--- a/basic-syntax.typ
+++ b/basic-syntax.typ
@@ -17,7 +17,7 @@
   // raw block
   ```bash
 sudo rm -rf *
-```
+  ```
   <label> // label
   @reference // reference
 
diff --git a/side/utils.el b/side/utils.el
index 4fc0a21d68..fa056e3dab 100644
--- a/side/utils.el
+++ b/side/utils.el
@@ -34,6 +34,15 @@
   ;; note that when in intensive testing, you'd better turn off 
`auto-save-visited-mode'
   (whitespace-mode 1))
 
+(defun typst-ts/util/setup-fontification-debug-environment ()
+  (interactive)
+  (setq
+   ;; treesit--font-lock-verbose t
+   debug-on-error t)
+
+  (treesit-explore-mode 1)
+  (treesit-inspect-mode 1))
+
 (defun typst-ts/util/els/get-all-ts-major-modes ()
   "Get all tree sitter major modes from `treesit-auto'."
   (require 'treesit-auto)
diff --git a/typst-ts-mode.el b/typst-ts-mode.el
index 8e26c02550..e01e4a1aa4 100644
--- a/typst-ts-mode.el
+++ b/typst-ts-mode.el
@@ -510,6 +510,8 @@ BTW, if you want to enable/disable specific font lock 
feature, please change
   "See variable `typst-ts-mode-font-lock-rules'.")
 
 (defun typst-ts-mode-font-lock-rules ()
+  ;; use function `typst-ts/util/setup-fontification-debug-environment' in
+  ;; `side/utils.el' to setup test environment.
   "Generate font lock rules for `treesit-font-lock-rules'.
 If you want to customize the rules, please customize the same name variable
 `typst-ts-mode-font-lock-rules'."
@@ -1434,7 +1436,9 @@ See `treesit-language-at-point-function'."
            (gethash
             (downcase (treesit-node-text lang-node))
             typst-ts-els-tag-lang-map))))
-    (if lang lang 'typst)))
+    (if lang
+        (if (treesit-ready-p lang t) lang nil)
+      'typst)))
 
 (defun typst-ts-mode--treesit-range-rules (langs)
   ;; from vimscript-ts-mode.el

Reply via email to