朝寝して宵寝するまで昼寝して時々起きて居眠りをする
TwitterIrcGateway(以下TIG)の ReTweet 機能がうまく動かないので、irc-mode 側で実装してみました。~/.irc ファイルに追記して使います。
「現在カーソルがある行のつぶやき」をとってきて、書式を整えてくれるだけの簡単なお仕事です。TIG で TypebleMap を使用していることを前提としているので、動かない場合は8行目の正規表現を修正するなどしてみてください。
2009/12/10 修正:正規表現の部分を若干修正しました。
(defun tig-retweet () "ReTweet" (interactive) (irc-check-connection) (irc-dialog-check-joined) (let (prompt msg) (goto-bol) (when (scan-buffer "^[0-2][0-9]:[0-6][0-9] <\\([A-Za-z0-9_]+\\)> \\([^]+\\)\\([0-9]+([a-z]+)\\)?$" :regexp t :no-dup nil) ;;現在行の発言をとるための正規表現 (setq prompt (format nil "ReTweet - ~A: " (or irc-dialog-private (irc-channel-name irc-dialog-channel)))) (setq msg (read-string prompt :default (concat msg " RT @" (match-string 1) ": " (match-string 2)))) (irc-dialog-post-buffered-privmsg (or irc-dialog-private (irc-channel-name irc-dialog-channel)) msg)))) ;キー設定。Ctrl-c i r に設定してあります。 (defvar *irc-prefix* '(#\C-c #\i)) (add-hook '*irc-dialog-mode-hook* #'(lambda () (local-set-key `(,@*irc-prefix* #\r) 'tig-retweet)) )