Microのプラグイン開発、コマンドモードで引数を使う

Microのプラグイン開発、文字列を出力するのプラグインを改修して、コマンドモードでコマンドを実行する際にコマンドに引数を渡してみます。


~/.config/micro/plug/sample/sample.lua

VERSION = "0.0.1"

local micro = import("micro")
local config = import("micro/config")

function init()
	config.MakeCommand("cmd", fn, config.NoComplete)
end

-- 第一引数にargsがあることに注意
function fn(bp, args)
	micro.InfoBar():Message(args)
end

Microを起動し、コマンドモードにして、

> cmd hoge

を実行してみます。




画面左下のインフォバーに[hoge]が出力されました。

引数は配列として渡されるようです。


配列から値を取り出して使用する場合は、

function fn(bp, args)
	local msg = "";
	for i = 1, #args do
		msg = args[i]
	end

	micro.InfoBar():Message(msg)
end

のように書き換えます。

マインクラフト用ビジュアルエディタを開発しています。
詳しくはinunosinsi/mcws_blockly - githubをご覧ください。