import-popwin 各種言語の import文付近を popupする

emacsでperlのuse文挿入を簡単に - $shibayu36->blog;


を種々の言語で使えるようにして、自分で hook関数を設定できるように
したものです。

必要要件

  • popwin 0.6以降

イメージ

C言語だと include文あたりを popupし、Rubyだと import文、Perlだと
use, require文あたりを popupします。


以下は Pythonの例ですが、import-popwinを実行することで、最寄りの
import, from文近辺を popupしています。

対応言語

設定

(require 'import-popwin)
(global-set-key (kbd "M-g M-i") 'import-popwin)

設定を追加する

以下のように import-popwin:add関数を呼ぶことで設定を追加できます。
登録済みのやつは上書きされます。

(import-popwin:add :mode 'java-mode
                   :regexp "^import\\s-"
                   :before (lambda () (do-something))
                   :fallback (lambda () (do-something))
                   :after (lambda () (do-something)))

import-popwin:addの引数の概要を以下に示します。

キー 概要
:mode メジャーモード(リストでも可)
:regexp import文の正規表現。マッチした次の行へ移動する
:before import文へ移動する前に実行する関数
:fallback :regexpにマッチするものがなかった場合実行する関数
:after import文へ移動後実行する関数

おわりに

画面分割して、その部分に移動することを特に何も考えず行なっていましたが、
こういう作業こそ効率化を考えなくてはいけないと考えさせられました。
わりとよく行う行為でもありますしね。