Implement ein-pager.el: help? works now

This commit is contained in:
Takafumi Arakaki 2012-05-11 05:24:34 +02:00
parent 1a36c9bf3f
commit 93d8688928
2 changed files with 24 additions and 13 deletions

View file

@ -76,12 +76,15 @@ Note that SLOT should not be quoted."
(ein:log 'warn "Not in notebook buffer"))) (ein:log 'warn "Not in notebook buffer")))
(defun ein:notebook-new (notebook-id data &rest args) (defun ein:notebook-new (notebook-id data &rest args)
(apply #'make-ein:$notebook (let ((notebook (apply #'make-ein:$notebook
:notebook-id notebook-id :notebook-id notebook-id
:data data :data data
:msg-cell-map (make-hash-table :test 'equal) :msg-cell-map (make-hash-table :test 'equal)
:nbformat 2 :nbformat 2
args)) args)))
(setf (ein:$notebook-pager notebook)
(ein:pager-new (format "*ein: %s/pager*" notebook-id)))
notebook))
(defun ein:notebook-setup (&rest args) (defun ein:notebook-setup (&rest args)
(setq ein:notebook (apply #'ein:notebook-new args))) (setq ein:notebook (apply #'ein:notebook-new args)))
@ -243,7 +246,7 @@ when the prefix argument is given."
for text = (plist-get p :text) for text = (plist-get p :text)
for source = (plist-get p :source) for source = (plist-get p :source)
if (equal source "IPython.zmq.page.page") if (equal source "IPython.zmq.page.page")
when (equal (ein:trim text) "") when (not (equal (ein:trim text) ""))
do (let ((pager (ein:$notebook-pager notebook))) do (let ((pager (ein:$notebook-pager notebook)))
(ein:pager-clear pager) (ein:pager-clear pager)
(ein:pager-expand pager) (ein:pager-expand pager)

View file

@ -25,19 +25,27 @@
;;; Code: ;;; Code:
(require 'ansi-color)
(require 'ein-log) (require 'ein-log)
(defun ein:pager-new (name)
(get-buffer-create name))
(defun ein:pager-clear (pager) (defun ein:pager-clear (pager)
;; FIXME: implement! (with-current-buffer pager
(ein:log 'info "`ein:pager-clear' is not implemented!")) (erase-buffer)))
(defun ein:pager-expand (pager) (defun ein:pager-expand (pager)
;; FIXME: implement! (pop-to-buffer pager)
(ein:log 'info "`ein:pager-expand' is not implemented!")) (goto-char (point-min))
(unless font-lock-mode
(font-lock-mode)))
(defun ein:pager-append-text (pager text) (defun ein:pager-append-text (pager text)
;; FIXME: implement! (with-current-buffer pager
(ein:log 'info "`ein:pager-append-text' is not implemented!")) (save-excursion
(insert (ansi-color-apply text)))))
(provide 'ein-pager) (provide 'ein-pager)