mirror of
https://github.com/vale981/emacs-ipython-notebook
synced 2025-03-05 17:11:41 -05:00
Add command ein:notebook-worksheet-open-prev
This commit is contained in:
parent
e9fc021c74
commit
44b042eb7a
1 changed files with 26 additions and 9 deletions
|
@ -681,6 +681,18 @@ given."
|
|||
(when show
|
||||
(funcall show (ein:worksheet-buffer next)))))
|
||||
|
||||
(defun* ein:notebook-worksheet--open-new
|
||||
(notebook new &optional (adj "next") show)
|
||||
(when new
|
||||
(if (ein:worksheet-has-buffer-p new)
|
||||
(ein:log 'verbose "The worksheet already has a buffer.")
|
||||
(ein:log 'info "Rendering %s worksheet..." adj)
|
||||
(ein:notebook--worksheet-render notebook new)
|
||||
(ein:log 'info "Rendering %s worksheet... Done." adj)))
|
||||
(when show
|
||||
(assert (ein:worksheet-p new) nil "No %s worksheet." adj)
|
||||
(funcall show (ein:worksheet-buffer new))))
|
||||
|
||||
(defun ein:notebook-worksheet-open-next (notebook ws &optional show)
|
||||
"Open next worksheet.
|
||||
|
||||
|
@ -700,17 +712,22 @@ given."
|
|||
for current in worksheets
|
||||
for next in (cdr worksheets)
|
||||
when (eq current ws) return next))))
|
||||
(when next
|
||||
(if (ein:worksheet-has-buffer-p next)
|
||||
(ein:log 'verbose "Next worksheet already has a buffer.")
|
||||
(ein:log 'info "Rendering next worksheet...")
|
||||
(ein:notebook--worksheet-render notebook next)
|
||||
(ein:log 'info "Rendering next worksheet... Done.")))
|
||||
(when show
|
||||
(assert (ein:worksheet-p next) nil "No next worksheet.")
|
||||
(funcall show (ein:worksheet-buffer next)))
|
||||
(ein:notebook-worksheet--open-new notebook next "next" show)
|
||||
next))
|
||||
|
||||
(defun ein:notebook-worksheet-open-prev (notebook ws &optional show)
|
||||
"Open previous worksheet.
|
||||
See also `ein:notebook-worksheet-open-next'."
|
||||
(interactive (list (ein:notebook--get-nb-or-error)
|
||||
(ein:worksheet--get-ws-or-error)
|
||||
#'switch-to-buffer))
|
||||
(let ((prev (if (ein:scratchsheet-p ws)
|
||||
(car (last (ein:$notebook-worksheets notebook)))
|
||||
(loop for (prev current) on (ein:$notebook-worksheets notebook)
|
||||
when (eq current ws) return prev))))
|
||||
(ein:notebook-worksheet--open-new notebook prev "previous" show)
|
||||
prev))
|
||||
|
||||
(defun ein:notebook-worksheet-insert-new (notebook ws &optional render show
|
||||
inserter)
|
||||
(let ((new (ein:notebook--worksheet-new notebook)))
|
||||
|
|
Loading…
Add table
Reference in a new issue