バッファから送る
2003-03-18
最近、常用エディタを VZ から xyzzy へ変えるべくあれこれしているわけですが、困っていたひとつのことが解消されるlispをハケーンしました。ただ単に編集中のhtmlファイルをブラウザに渡すだけというものなんですが…。
HIE no xyzzy のxyzzy の音 - ダイヤログボックス/ポップアップリストに載っていた技です。これを .xyzzy に書いておけば、C-]で編集中のhtmlファイルを各UAに渡すことができます。
;; バッファから送るのリスト
(defvar *buffer-send-to-list*
(list
'(" Internet Explorer" . "C:/bin/Sleipnir/sleipnir.exe")
'(" Phoenix" . "C:/bin/phoenix/phoenix.exe")
'(" Mozilla" . "C:/bin/Mozilla/mozilla.exe")
'(" 6Opera" . "C:/bin/opera/opera.exe")
'(" 7Opera" . "C:/bin/opera7/opera.exe")
))
;; バッファから送る
(defun buffer-sendto-dialog ()
(interactive)
(let ((file (get-buffer-file-name)))
(when file
(multiple-value-bind (result data)
(dialog-box
'(dialog 0 0 219 100
(:caption "送っちゃうよ")
(:font 9 "MS Pゴシック")
(:control
(:listbox list nil #x50b10111 7 7 150 82)
(:button IDOK "送る" #x50010001 162 7 50 14)
(:button IDCANCEL "送らない" #x50010000 162 24 50 14)))
(list (cons 'list *buffer-send-to-list*))
nil)
(when result
(let
((cmd (cddr (assoc 'list data))))
(if cmd
(call-process (map-slash-to-backslash (concat cmd " " file)) :wait nil)
(message "なにもえらんでない。"))))))))
(global-set-key #\C-] 'buffer-sendto-dialog)
「バッファから送る」へコメントをつける
- この記事の永続的 URI ならびに トラックバック ping URI
- http://diary.noasobi.net/2003/03/diary_030318a.html