diff --git a/docs/api/commander/index.html b/docs/api/commander/index.html index 4f881cfa..b599332b 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