emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

feature/tree-sitter 3f25b22cad 2/5: Tweak python-ts-mode fontification


From: Yuan Fu
Subject: feature/tree-sitter 3f25b22cad 2/5: Tweak python-ts-mode fontification
Date: Mon, 21 Nov 2022 04:42:05 -0500 (EST)

branch: feature/tree-sitter
commit 3f25b22cadc9f73583e83b00f828ee00efa8764e
Author: Yuan Fu <casouri@gmail.com>
Commit: Yuan Fu <casouri@gmail.com>

    Tweak python-ts-mode fontification
    
    * lisp/progmodes/python.el (python--treesit-fontify-string): Make the
    matching condition for docstrings more specific.
---
 lisp/progmodes/python.el | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index c49af223c6..d38d029277 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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]