emacs-diffs
[Top][All Lists]
Advanced

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

master ee6e737fdf7 4/5: python: Better support := in electric-layout-mod


From: Stefan Kangas
Subject: master ee6e737fdf7 4/5: python: Better support := in electric-layout-mode
Date: Fri, 4 Oct 2024 18:17:34 -0400 (EDT)

branch: master
commit ee6e737fdf7a1bea3abec383a1bf0ae69ac8ca77
Author: Stefan Kangas <stefankangas@gmail.com>
Commit: Stefan Kangas <stefankangas@gmail.com>

    python: Better support := in electric-layout-mode
    
    * lisp/progmodes/python.el (python-base-mode): Use heuristic to better
    support the Python walrus operator := in electric-layout-rules.
---
 lisp/progmodes/python.el | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index 56c80c8264b..7576bae9f95 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -7090,6 +7090,11 @@ implementations: `python-mode' and `python-ts-mode'."
               `((?: . ,(lambda ()
                          (and (zerop (car (syntax-ppss)))
                               (python-info-statement-starts-block-p)
+                              ;; Heuristic: assume walrus operator :=
+                              ;; when colon is preceded by space.
+                              (save-excursion
+                                (goto-char (- (point) 2))
+                                (looking-at (rx (not space) ":")))
                               'after)))))
 
   ;; Add """ ... """ pairing to electric-pair-mode.



reply via email to

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