[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master b78583c: Indent python multiline strings to start and previous le
From: |
Lars Ingebrigtsen |
Subject: |
master b78583c: Indent python multiline strings to start and previous levels |
Date: |
Sun, 9 Aug 2020 14:45:02 -0400 (EDT) |
branch: master
commit b78583cde7d8aaa1fa19c20975c03d689c78baef
Author: Carlos Pita <carlosjosepita@gmail.com>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
Indent python multiline strings to start and previous levels
* progmodes/python.el (python-indent--calculate-indentation): Add an
additional indentation point to match indentation of previous line in
a multiline string. Then Tab iterates between 0, the start indentation
level and the previous line level (bug#37726).
---
lisp/progmodes/python.el | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index 3af55be..dcdadae 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -1070,11 +1070,18 @@ possibilities can be narrowed to specific indentation
points."
(`(:no-indent . ,_) (prog-first-column)) ; usually 0
(`(,(or :after-line
:after-comment
- :inside-string
:after-backslash) . ,start)
;; Copy previous indentation.
(goto-char start)
(current-indentation))
+ (`(,(or :inside-string
+ :inside-docstring) . ,start)
+ ;; Copy previous indentation inside string
+ (let ((prev (progn (forward-line -1)
+ (current-indentation)))
+ (base (progn (goto-char start)
+ (current-column))))
+ (sort (delete-dups (list 0 prev base)) #'<)))
(`(,(or :inside-paren-at-closing-paren
:inside-paren-at-closing-nested-paren) . ,start)
(goto-char (+ 1 start))
@@ -1083,12 +1090,6 @@ possibilities can be narrowed to specific indentation
points."
(current-indentation)
;; Align with opening paren.
(current-column)))
- (`(:inside-docstring . ,start)
- (let* ((line-indentation (current-indentation))
- (base-indent (progn
- (goto-char start)
- (current-indentation))))
- (max line-indentation base-indent)))
(`(,(or :after-block-start
:after-backslash-first-line
:after-backslash-assignment-continuation
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master b78583c: Indent python multiline strings to start and previous levels,
Lars Ingebrigtsen <=