Go
nyagos

nyagos 4.3でもmigemoでディレクトリ移動したい!

nyagos4.3になり、LuaのエンジンがGopherLuaに変わりました。

nyagos で lua53.dll のかわりに GopherLua を使おう
続・nyagos で lua53.dll のかわりに GopherLua を使おう

これまではlua53.dllを使用していたので、Luaの拡張DLLを自作し、
c/migemoを使ったローマ字入力による日本語ディレクトり移動を実現していたのですが、
Luaエンジン変更に伴い拡張DLLが使えなくなったので、
Luaエンジンに依存しないよう外部コマンドでmigemo部分を置き換えようというのが今回の目的です。

外部コマンドのgmgmgm作成

koron/gomigemoを使って、Go言語でnocd5/gmgmgmというコマンドを作りました。
gmgmgmはマッチパターンと検索したいリストを渡すと
migemoでマッチしたリストを返す簡単なコマンドで、
次のように引数を渡します。
gmgmgm <マッチパターン> <検索したいリスト>

example

$ gmgmgm test 私見 試験 私権 rest test west てすと テスト
test
テスト
試験

インストール

migemoの辞書は埋め込みのものを使用したので、
以下のコマンドだけでインストールが完了し使える状態になります。

go get github.com/nocd5/gmgmgm

nyagosでの利用

nocd5/gmgmgm/example/nyagos.d/catalog/mgcd.luaにサンプルのスクリプトを同梱しました。
lsで得たリストをmigemoで絞込み、nyago組み込みのboxで移動先ディレクトリを選択します。

日本語名のディレクトリに限らず、先頭の文字を入力すればboxでインタラクティブに移動できるので以外と便利です。
gmgmgm.gif