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).
This commit is contained in:
parent
5fef06fcf7
commit
b78583cde7
1 changed files with 8 additions and 7 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue