mirror of
https://github.com/python/cpython.git
synced 2025-11-17 01:25:57 +00:00
(py-narrow-to-defun): New command (bound to C-x n d) which mimics the
standard narrow-to-defun but works with Python classes and methods. With no arg, narrows to most enclosing def/method. With C-u arg, narrows to most enclosing class.
This commit is contained in:
parent
f6cdcd509d
commit
f8ddb6afa0
1 changed files with 15 additions and 0 deletions
|
|
@ -477,6 +477,9 @@ Currently-active file is at the head of the list.")
|
||||||
(define-key py-mode-map "\e\C-e" 'py-end-of-def-or-class)
|
(define-key py-mode-map "\e\C-e" 'py-end-of-def-or-class)
|
||||||
(define-key py-mode-map "\C-c-" 'py-up-exception)
|
(define-key py-mode-map "\C-c-" 'py-up-exception)
|
||||||
(define-key py-mode-map "\C-c=" 'py-down-exception)
|
(define-key py-mode-map "\C-c=" 'py-down-exception)
|
||||||
|
;; stuff that is `standard' but doesn't interface well with
|
||||||
|
;; python-mode, which forces us to rebind to special commands
|
||||||
|
(define-key py-mode-map "\C-xnd" 'py-narrow-to-defun)
|
||||||
;; information
|
;; information
|
||||||
(define-key py-mode-map "\C-c\C-b" 'py-submit-bug-report)
|
(define-key py-mode-map "\C-c\C-b" 'py-submit-bug-report)
|
||||||
(define-key py-mode-map "\C-c\C-v" 'py-version)
|
(define-key py-mode-map "\C-c\C-v" 'py-version)
|
||||||
|
|
@ -1827,6 +1830,18 @@ it's tried again going backward."
|
||||||
(max comment-column (+ (current-column) (if (bolp) 0 1)))
|
(max comment-column (+ (current-column) (if (bolp) 0 1)))
|
||||||
)))
|
)))
|
||||||
|
|
||||||
|
(defun py-narrow-to-defun (&optional class)
|
||||||
|
"Make text outside current defun invisible.
|
||||||
|
The defun visible is the one that contains point or follows point.
|
||||||
|
Optional CLASS is passed directly to `py-beginning-of-def-or-class'."
|
||||||
|
(interactive "P")
|
||||||
|
(save-excursion
|
||||||
|
(widen)
|
||||||
|
(py-end-of-def-or-class class)
|
||||||
|
(let ((end (point)))
|
||||||
|
(py-beginning-of-def-or-class class)
|
||||||
|
(narrow-to-region (point) end))))
|
||||||
|
|
||||||
|
|
||||||
(defun py-shift-region (start end count)
|
(defun py-shift-region (start end count)
|
||||||
"Indent lines from START to END by COUNT spaces."
|
"Indent lines from START to END by COUNT spaces."
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue