Module commander
library for custom commands
Introduction#
Commander is the library which handles Hilbish commands. This makes the user able to add Lua-written commands to their shell without making a separate script in a bin folder. Instead, you may simply use the Commander library in your Hilbish config.
local commander = require 'commander'
commander.register('hello', function(args, sinks)
sinks.out:writeln 'Hello world!'
end)
In this example, a command with the name of hello is created
that will print Hello world! to output. One question you may
have is: What is the sinks parameter?
The sinks parameter is a table with 3 keys: input, out, and err.
There is an in alias to input, but it requires using the string accessor syntax (sinks['in'])
as in is also a Lua keyword, so input is preferred for use.
All of them are a @Sink.
In the future, sinks.in will be removed.
inis the standard input. You may use the read functions on this sink to get input from the user.outis standard output. This is usually where command output should go.erris standard error. This sink is for writing errors, as the name would suggest.