Microでプラグインを開発していると、コマンドやショートカットキーではなく、キーイベントが必要になる時があります。


例として矢印キー(upやdown)を押した時にインフォバーにメッセージを出力するようにしてみます。
コードのサンプルとして、~/.config/micro/plug/presskey/presskey.luaにコードを書きます。
~/.config/micro/plug/presskey/presskey.lua
VERSION = "0.0.1"
local micro = import("micro")
-- up ⬆️
function preCursorUp(pane)
micro.InfoBar():Message("pressed up key.")
end
-- down ⬇️
function preCursorDown(pane)
micro.InfoBar():Message("pressed down key.")
end
-- left ⬅️
function preCursorLeft(pane)
micro.InfoBar():Message("pressed left key.")
end
-- right ➡️
function preCursorRight(pane)
micro.InfoBar():Message("pressed right key.")
end
-- tab
function preIndentSelection(pane)
micro.InfoBar():Message("pressed tab key.")
end
Microでは、関数名でpreから始まる関数がキーイベントになるようです。
関数を用意しておくだけで、作成した関数をプラグイン用のファイルの他の箇所で呼び出す必要はありません。
後は自身で開発しているプラグインに合わせ、関数内のコードを書き換えて、処理を完成させます。