From: Yuan Fu Date: Wed, 18 Jun 2025 00:44:23 +0000 (-0700) Subject: Use treesit-thing-settings in python-ts-mode X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=475b92b77a5988b807832cdc987b4ba83fe52de8;p=emacs.git Use treesit-thing-settings in python-ts-mode * lisp/progmodes/python.el (python--thing-settings): New variable. (python-ts-mode): Setup treesit-thing-settings. (cherry picked from commit 27a524602ff9899139e7f45e7607711c96a9b666) --- diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 3941a73e044..e6252de4420 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -6058,6 +6058,24 @@ tree-sitter." (python-imenu-create-flat-index (python-imenu-treesit-create-index))) + +;;; 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)