diff --git a/docs/api/commander/index.html b/docs/api/commander/index.html index 4f881cf..b599332 100644 --- a/docs/api/commander/index.html +++ b/docs/api/commander/index.html @@ -3,7 +3,24 @@ Hilbish
library for custom commands
Commander is a library for writing custom commands in Lua.
Commander is a library for writing custom commands in Lua. +In order to make it easier to write commands for Hilbish, +not require separate scripts and to be able to use in a config, +the Commander library exists. This is like a very simple wrapper +that works with Hilbish for writing commands. Example:
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?
A sink is a writable/readable pipe, or you can imagine a Lua +file. It’s used in this case to write to the proper output, +incase a user either pipes to another command or redirects somewhere else.
So, the sinks
parameter is a table containing 3 sinks:
+in
, out
, and err
.
in
is the standard input. You can read from this sink
+to get user input. (This is currently unimplemented.)out
is standard output. This is usually where text meant for
+output should go.err
is standard error. This sink is for writing errors, as the
+name would suggest.A sink has 2 methods:
write(str)
will write to the sink.writeln(str)
will write to the sink with a newline at the end.Deregisters any command registered with name
Register a command with name
that runs cb
when ran