MeadowからGRINEditを操作する
Emacs側
(defvar GRINEDITPY "grinedit.py" "*The command to send query to grinedit") (defun grinedit (beg end) (interactive "r") (call-process-region beg end GRINEDITPY)) (define-key global-map "\C-cg" 'grinedit)call-process-regionでgrinedit.pyを呼んでいます。 選択されたリージョンは標準入力に流し込まれているみたいでした。 環境によって違ったりするのかも知れません。EmacsLispは詳しくないので。
grinedit.py
import xmlrpclib, sys
text = sys.stdin.read()
server = xmlrpclib.Server("http://localhost:8080/RPC2")
g = server.grinedit
g.initGraph()
for line in text.split("\n"):
g.addVertex("BoxVertex", {"label": line})
grinedit.pyは標準入力に流し込まれた文字列を改行で区切ってGRINEditにXML-RPCでクエリを投げるだけ。
合計でも20行いらなかったですね。 後は個人的にはMeadowで箇条書きを書くとGRINEdit上にマインドマップ状のものが生成されるようにしたいところです。まぁ今回試したこれが動くのなら、技術的には難しくなさそうです。