Archive for 6月 2nd, 2013
EmacsでRubyのスクリプトを呼び出し現在行をTwitterに投稿するEmacs-Lisp関数
とりあえず動くという程度のものですが、現在行の文字数が140文字を超える場合は、メッセージを出し処理を中断するようにしました。Emacs-Lispのlength関数は半角、全角ともに一文字としてカウントしてくれるようです。call-process-region関数で外部の自作スクリプトを呼び出しています。リージョンとなっていますが、関数内で現在行の行頭と行末にポイントを移動し範囲を設定するようにしてあります。
(defun h-ruby-twit () "RubyのスクリプトでTwitterに投稿" (interactive) (beginning-of-line) (let ((sp (point)) (ep nil)) (end-of-line) (setq ep (point)) (setq text (buffer-substring sp ep)) (message (format "%d文字です。" (length text))) (if (< (length text) 141) (call-process-region sp ep "h-kk_hirono-line-twit" nil nil nil) (message (format "%d文字あります。文字数オーバーなので中止しました。" (length text))))))