[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.