python-ex.el

個人的なpython用のelisp作成中。まだ途中。code

欲しい機能

  • ipythonと通信して実行結果を取得
    • ipythonと通信して実行結果を取得を非同期で
    • 実行結果を現在のバッファのところにコメントとして出力したい。
  • python.elのsend-regionなどから抜け出したい(何か使い辛い)

いろんなタイプのevalを作った。

  • internalはemacs上のipythonと通信
  • externalは外部のpythonを呼び出す

python-ex:evalとpython-ex:eval-asyncなど完成。

使い方?

見ても使い方良く分からないかも。

(require 'python-ex)

(python-ex:eval-external "print 1") ; => 1
(python-ex:eval-external-async "print 10")
(python-ex:eval-external-async "print 10" 'insert) ;;10 insertされてる
(python-ex:eval-internal "print 10") ; => 10
(python-ex:eval-internal-async "print 10")
(python-ex:eval-internal-async "print 10" 'insert) ;;10 insertされてる
(python-ex:eval "print [1]") ; => [1]
;; (python-ex:run-repl t)
;; (python-ex:run-repl)
;; (python-ex:kill-repl)
;; (setq python-ex:auto-scroll-p t)
(python-ex:send-string
 "for i in range(10):
    print i,i,i
" (lambda () (insert "foo")));; foo insertされてる

(python-ex:eval-internal-async
 "print 10"
(lambda (r) (insert r)));; 10 insertされてる
;;;