From: Yuan Fu Date: Mon, 21 Nov 2022 04:31:42 +0000 (-0800) Subject: Tweak python-ts-mode fontification X-Git-Tag: emacs-29.0.90~1628 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=3f25b22cadc9f73583e83b00f828ee00efa8764e;p=emacs.git Tweak python-ts-mode fontification * lisp/progmodes/python.el (python--treesit-fontify-string): Make the matching condition for docstrings more specific. --- diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index c49af223c66..d38d0292775 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -1020,12 +1020,18 @@ f-strings. OVERRIDE is the override flag described in fontified." (let* ((string-beg (treesit-node-start node)) (string-end (treesit-node-end node)) + (maybe-expression (treesit-node-parent node)) (maybe-defun (treesit-node-parent (treesit-node-parent - (treesit-node-parent node)))) - (face (if (member (treesit-node-type maybe-defun) - '("function_definition" - "class_definition")) + maybe-expression))) + (face (if (and (member (treesit-node-type maybe-defun) + '("function_definition" + "class_definition")) + ;; This check filters out this case: + ;; def function(): + ;; return "some string" + (equal (treesit-node-type maybe-expression) + "expression_statement")) 'font-lock-doc-face 'font-lock-string-face))) (when (eq (char-after string-beg) ?f)