mikutter-modeのステマ

mikutter-modeとは

Emacsでmikutterプラグインとかがスラスラ書けちゃうプラグインです.

  • Emacsからmikutterにコードを転送して実行する
  • Emacsからmikutterのプラグインを動的に書き換える

みたいなことができます.
yasnippetとかを入れるとプラグインの作成が一層はかどります.

インストール方法

まずはgitでソースを取得

cd ~/.emacs.d/
git clone git://github.com/toshia/mikutter-mode.git

.emacsとかinit.elとかに追記

(add-to-list 'load-path "~/.emacs.d/mikutter-mode")
(require 'mikutter-mode)

とかすると,とりあえず使えるようになります.

使ってみよう

mikutter-modeはdbusで通信するので,dbusが使える状態にしておいて下さい.
mikutterとEmacsを起動します.

とりあえずなんでもいいのでhoge.rbとか適当に新しいファイルを開きましょう.

M-x mikutter-mode

を叩いてmikutter-modeを有効にします.

Service.primary.post :message => "mikutter-mode ナーーーーーーーーーーーーーー"

とだけ入力して C-c C-c しましょう.
C-c C-c すると開いているバッファのコードがそのままmikutterに転送され,評価されます.
どうです!つぶやけていますね!!

Plugin.call(:update, nil, [Message.new(:message => "Systemメッセージだよ♡", :system => true)])

こうするとmikutter_botちゃんがシステムメッセージとしてTLに流れてきます.
デバッグの際とかに便利そうですね.

プラグインの作成・編集

プラグインの作成もいままでよりも格段にやりやすくなっています.
コードを書いて C-c C-c すれば良いのです.

Plugin.create :gray_protected_users do

  filter_message_background_color do | mp, array |
    if mp.to_message.user[:protected] == true
      array = [0xcccc, 0xcccc, 0xcccc]
    end
    [mp, array]
  end

end

例えば,このプラグインは鍵垢ユーザのツイートの背景をグレーに変更します.
C-c C-c するとインストールされ,mikutterに即反映されます.

たとえば,グレーじゃなくて真っ青にしたい場合は,コードを次のように書き換えて C-c C-c すれば即反映されます.

Plugin.create :gray_protected_users do

  filter_message_background_color do | mp, array |
    if mp.to_message.user[:protected] == true
      array = [0, 0, 0xffff]
    end
    [mp, array]
  end

end

鍵垢ユーザのツイートが真っ青ですね!!

mikutter-mode では,現在編集しているプラグインが既にインストールされている場合,
既存のプラグインをアンインストールしてから再度インストールされます.
このため,いちいちmikutterを再起動することなくプラグインの更新が可能になります.

yasnippetの利用

yasnippetを使うと,更にプラグインの作成が簡単になります.

(yas/load-directory "~/.emacs.d/mikutter-mode/snippets" )

とか書いておくと,たとえば

ptl

だけで

Plugin.create : do
  
end

まで展開されます.
commandとかonとかでも展開されるので,mikutter-mode/snippetsの中をのぞいてみましょう.
すばらしいmikutterプラグイン作成ライフを満喫しましょう!