diff options
Diffstat (limited to 'lisp/progmodes/python.el')
-rw-r--r-- | lisp/progmodes/python.el | 14 |
1 files changed, 10 insertions, 4 deletions
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) |