flex-autopair v0.3:Emacs 24対応。指定したモードで無効化。モードごとの設定を強化など。
flex-autopair v0.3 をリリースします。変更点は以下です
- Emacs 24に対応しました
- モードを指定して無効にできるようにしました
- モードごとの設定を強化しました
変更詳細
1つめはEmacs 24への対応です。関西Emacsで[twitter:@masutaka]さんから報告を受けて気づきました。Emacs 24の新しいAPIを使おうとして、使い方が間違っていたため動かなくなっていたのを修正しました。
2つ目は無効にするモードの指定についてです。[twitter:@Fenril058]さんからの
提案を受けて、特定のモードで無効化することができるようにしました。
例えばlisp系のモードで無効にするには
(setq flex-autopair-disable-modes '(emacs-lisp-mode lisp-interaction-mode lisp-mode ilem-mode))
とします。これに関連して、v0.2までは
M-x flex-autopair-mode ですべてのバッファに対してトグルできましたが、
v0.3からは
M-x flex-autopair-mode で現在のバッファに対してトグル
M-x global-flex-autopair-mode で新規のバッファに対してトグル
となります。
3つめはモードごとの設定の強化です。v0.2までは条件設定(flex-autopair-conditions)をグローバルで持っていましたが、v0.3ではバッファごとに切り替えができるようになりました。これにより、
- 設定が増えてもそれほど重くならない
- 他のモードを気にせず書き換えられる
などのメリットがあります。
これに関連して各種モード用の設定を追加しました。
- haskell-mode(')とcoffee-mode(`)の設定を追加しました。haskell-modeの方は(')がシンボル名としても使えるように、空白の後ろだけペアにするようになってます。[twitter:@regluu503]さんからのpull requestでした。
- c系のモードで中括弧「{」を入れると自動で改行するようにしました。実際の動きは
{
!! //←!!の場所にカーソルがインデントした状態で配置
}
みたいな感じです。こちらは第5回関西Emacs勉強会での id:lurdan さんからの要望を反映しました。
インストール方法
ソースがgithubにおいてあるので
(auto-install-from-url "https://raw.github.com/uk-ar/flex-autopair/0184a539b874e20938418e4dbeaec0665129bf46/flex-autopair.el")
を評価するか、
marmaladeから
M-x package-install flex-autopair
でインストール可能です。
その他
個人的に一番大きな変更点はモードごとの設定切り替えです。これで、設定が書きやすくなって実用的な使い方ができるかと思います。使ってみて設定の公開もしくはpull requestをしてみて下さい。