[xyzzy:08542] Zope
- Subject: [xyzzy:08542] Zope
- From: YAMAMOTO Taizo <ymtz@xxxxxxxxxxxxxxx>
- X-mailer: Datula version 1.51.08 for Windows
やまもとです。
最近Zopeを使い始めたのですが、xyzzyから編集できるようにちょっと
仕掛けを作ってみました。以下の条件に該当する人がいましたら、使っ
てみてください。
・Zopeを使っている。
・プロダクトのExternalEditorを使っている。
需要は少ないと思いますが、勿体無いので晒してみます。
C-x C-f URLで開くことが出来ます。
------------------------------------------------
;;; .xyzzy
; invoke zope object
(defun invoke-zope-object (loc)
(unless (string-matchp "^\\(http://.*\\)/\\([^/]+\\)$" loc)
(return-from invoke-zope-object nil))
(dolist (buf (buffer-list))
(when (string= loc (get-buffer-alternate-file-name buf))
(message "Old Zope Object")
(return-from invoke-zope-object buf)))
(shell-execute
(format nil "~A/externalEdit_/~A"
(match-string 1)
(match-string 2)) t)
(message "invoke ~A" loc)
(throw nil 'silent-quit))
(add-hook '*before-find-file-hook* 'invoke-zope-object)
; mark zope object
(defun mark-zope-object ()
(when (string-matchp "^.+-.+-\\(.*\\)\\.\\w+$"
(file-namestring (get-buffer-file-name)))
(set-buffer-alternate-file-name
(concat "http://" (substitute-string (match-string 1) "," "/")))))
(add-hook '*find-file-hooks* 'mark-zope-object)
--
YAMAMOTO Taizo / 山本 泰三
mailto:ymtz@xxxxxxxxxxxxxxx
mailto:yamamoto@xxxxxxxxx
http://www1.odn.ne.jp/ymtz/