]> git.eshelyaron.com Git - emacs.git/commitdiff
Use treesit-thing-settings in python-ts-mode
authorYuan Fu <casouri@gmail.com>
Wed, 18 Jun 2025 00:44:23 +0000 (17:44 -0700)
committerEshel Yaron <me@eshelyaron.com>
Wed, 18 Jun 2025 08:15:39 +0000 (10:15 +0200)
* lisp/progmodes/python.el (python--thing-settings): New variable.
(python-ts-mode): Setup treesit-thing-settings.

(cherry picked from commit 27a524602ff9899139e7f45e7607711c96a9b666)

lisp/progmodes/python.el

index 3941a73e044c57a778aca5b7ec68e460b960b7f6..e6252de4420e072955be14e2d16ac2e103e7b622 100644 (file)
@@ -6058,6 +6058,24 @@ tree-sitter."
   (python-imenu-create-flat-index
    (python-imenu-treesit-create-index)))
 \f
+
+;;; Tree-sitter things
+
+(defvar python--thing-settings
+  `((python
+     (defun ,(rx (or "function" "class") "_definition"))
+     (sexp ,(rx (or "expression"
+                    "string"
+                    "call"
+                    "operator"
+                    "identifier"
+                    "integer"
+                    "float")))
+     (sentence ,(rx (or "statement"
+                        "clause")))
+     (text ,(rx (or "string" "comment")))))
+  "`treesit-thing-settings' for Python.")
+
 ;;; Misc helpers
 
 (defun python-info-current-defun (&optional include-type)
@@ -7257,26 +7275,10 @@ implementations: `python-mode' and `python-ts-mode'."
     (setq-local treesit-font-lock-settings python--treesit-settings)
     (setq-local imenu-create-index-function
                 #'python-imenu-treesit-create-index)
-    (setq-local treesit-defun-type-regexp (rx (or "function" "class")
-                                              "_definition"))
     (setq-local treesit-defun-name-function
                 #'python--treesit-defun-name)
 
-    (when (boundp 'treesit-sentence-type-regexp)
-      (setq-local treesit-sentence-type-regexp
-                  (regexp-opt '("statement"
-                                "clause"))))
-
-    (when (boundp 'treesit-sexp-type-regexp)
-      (setq-local treesit-sexp-type-regexp
-                  (regexp-opt '("expression"
-                                "string"
-                                "call"
-                                "operator"
-                                "identifier"
-                                "integer"
-                                "float"))))
-
+    (setq treesit-thing-settings python--thing-settings)
     (treesit-major-mode-setup)
 
     (setq-local syntax-propertize-function #'python--treesit-syntax-propertize)