From dda0b7a9cd5f8b325b401aa7ba44c6fbe103fb6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Augustin=20Ch=C3=A9neau?= Date: Sat, 9 Sep 2023 15:35:49 +0200 Subject: [PATCH] Do not always call `treesit-language-at` in `treesit-node-at` --- lisp/treesit.el | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lisp/treesit.el b/lisp/treesit.el index 1711446b40b..3d1ceda6d06 100644 --- a/lisp/treesit.el +++ b/lisp/treesit.el @@ -190,15 +190,14 @@ treesit-node-at is nil, try to guess the language at POS using `treesit-language-at'. If there's a local parser at POS, try to use that parser first." - (let* ((lang-at-point (treesit-language-at pos)) - (root (if (treesit-parser-p parser-or-lang) + (let* ((root (if (treesit-parser-p parser-or-lang) (treesit-parser-root-node parser-or-lang) (or (when-let ((parser (car (treesit-local-parsers-at pos (or parser-or-lang - lang-at-point))))) + (treesit-language-at pos)))))) (treesit-parser-root-node parser)) (treesit-buffer-root-node - (or parser-or-lang lang-at-point))))) + (or parser-or-lang (treesit-language-at pos)))))) (node root) (node-before root) (pos-1 (max (1- pos) (point-min))) -- 2.42.0