emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-29 7f7def2ae6 1/5: ; Add treesit-no-parser error


From: Yuan Fu
Subject: emacs-29 7f7def2ae6 1/5: ; Add treesit-no-parser error
Date: Sat, 24 Dec 2022 21:43:13 -0500 (EST)

branch: emacs-29
commit 7f7def2ae62c80fa2fd0c73087b59060b303c230
Author: Yuan Fu <casouri@gmail.com>
Commit: Yuan Fu <casouri@gmail.com>

    ; Add treesit-no-parser error
    
    * lisp/treesit.el (treesit-no-parser): New error.
    (treesit-buffer-root-node): Use the new error.
---
 lisp/treesit.el | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/lisp/treesit.el b/lisp/treesit.el
index 845e6ab388..3d9c61b9dc 100644
--- a/lisp/treesit.el
+++ b/lisp/treesit.el
@@ -141,6 +141,9 @@ parser in `treesit-parser-list', or nil if there is no 
parser."
 
 ;;; Node API supplement
 
+(define-error 'treesit-no-parser "No available parser for this buffer"
+              'treesit-error)
+
 (defun treesit-node-buffer (node)
   "Return the buffer in which NODE belongs."
   (treesit-parser-buffer
@@ -248,11 +251,10 @@ Use the first parser in `treesit-parser-list'.
 If optional argument LANGUAGE is non-nil, use the first parser
 for LANGUAGE."
   (if-let ((parser
-            (or (if language
-                    (treesit-parser-create language)
-                  (or (car (treesit-parser-list))
-                      (signal 'treesit-error
-                              '("Buffer has no parser")))))))
+            (if language
+                (treesit-parser-create language)
+              (or (car (treesit-parser-list))
+                  (signal 'treesit-no-parser (list (current-buffer)))))))
       (treesit-parser-root-node parser)))
 
 (defun treesit-filter-child (node pred &optional named)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]