mirror of
https://github.com/python/cpython.git
synced 2025-11-02 19:12:55 +00:00
Added Donald Beaudry's change for neater indentation within
parentheses
This commit is contained in:
parent
5333c5d734
commit
d3976e20d8
1 changed files with 15 additions and 6 deletions
|
|
@ -1,4 +1,4 @@
|
||||||
;;; Major mode for editing Python programs, version 1.08a
|
;;; Major mode for editing Python programs, version 1.08a+
|
||||||
;; by: Tim Peters <tim@ksr.com>
|
;; by: Tim Peters <tim@ksr.com>
|
||||||
;; after an original idea by: Michael A. Guravage
|
;; after an original idea by: Michael A. Guravage
|
||||||
;;
|
;;
|
||||||
|
|
@ -204,6 +204,9 @@ Emacs bell is also rung as a warning.")
|
||||||
( ?\# . "<") ; hash starts comment
|
( ?\# . "<") ; hash starts comment
|
||||||
( ?\n . ">")))) ; newline ends comment
|
( ?\n . ">")))) ; newline ends comment
|
||||||
|
|
||||||
|
(defvar py-nested-indent t
|
||||||
|
"*If non-nil, indent nested continuation lines to inside the opening paren")
|
||||||
|
|
||||||
(defconst py-stringlit-re "'\\([^'\n\\]\\|\\\\.\\)*'"
|
(defconst py-stringlit-re "'\\([^'\n\\]\\|\\\\.\\)*'"
|
||||||
"regexp matching a Python string literal")
|
"regexp matching a Python string literal")
|
||||||
|
|
||||||
|
|
@ -515,12 +518,18 @@ the new line indented."
|
||||||
(cond
|
(cond
|
||||||
;; are we on a continuation line?
|
;; are we on a continuation line?
|
||||||
( (py-continuation-line-p)
|
( (py-continuation-line-p)
|
||||||
(forward-line -1)
|
(let ((nest (and py-nested-indent (py-nesting-level))))
|
||||||
(if (py-continuation-line-p) ; on at least 3rd line in block
|
(if nest
|
||||||
(current-indentation) ; so just continue the pattern
|
(save-excursion
|
||||||
|
(goto-char nest)
|
||||||
|
(beginning-of-line)
|
||||||
|
(1+ (- nest (point))))
|
||||||
|
(forward-line -1)
|
||||||
|
(if (py-continuation-line-p) ; on at least 3rd line in block
|
||||||
|
(current-indentation) ; so just continue the pattern
|
||||||
;; else on 2nd line in block, so indent more
|
;; else on 2nd line in block, so indent more
|
||||||
(+ (current-indentation) py-indent-offset
|
(+ (current-indentation) py-indent-offset
|
||||||
py-continuation-offset)))
|
py-continuation-offset)))))
|
||||||
;; not on a continuation line
|
;; not on a continuation line
|
||||||
|
|
||||||
;; if at start of restriction, or on a non-indenting comment line,
|
;; if at start of restriction, or on a non-indenting comment line,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue