[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:08542] Zope



やまもとです。

最近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/

Index Home