diff --git a/versions/doc-improvements/docs/api/hilbish/hilbish.jobs/index.html b/versions/doc-improvements/docs/api/hilbish/hilbish.jobs/index.html index 9c84018..6355203 100644 --- a/versions/doc-improvements/docs/api/hilbish/hilbish.jobs/index.html +++ b/versions/doc-improvements/docs/api/hilbish/hilbish.jobs/index.html @@ -6,7 +6,7 @@ interactive usage or with the functions defined below for use in external runners.

Functions

add(cmdstr, args, execPath)Creates a new job. This function does not run the job. This function is intended to be
all() -> table[@Job]Returns a table of all job objects.
disown(id)Disowns a job. This simply deletes it from the list of jobs without stopping it.
get(id) -> @JobGet a job object via its ID.
last() -> @JobReturns the last added job to the table.

hilbish.jobs.add(cmdstr, args, execPath)

Creates a new job. This function does not run the job. This function is intended to be
used by runners, but can also be used to create jobs via Lua. Commanders cannot be ran as jobs.

Parameters -

string cmdstr
String that a user would write for the job

table args
Arguments for the commands. Has to include the name of the command.

string execPath
Binary to use to run the command. Does not

Example +

string cmdstr
String that a user would write for the job

table args
Arguments for the commands. Has to include the name of the command.

string execPath
Binary to use to run the command. Needs to be an absolute path.

Example
1hilbish.jobs.add('go build', {'go', 'build'}, '/usr/bin/go')
 

hilbish.jobs.all() -> table[Job]

Returns a table of all job objects.

Parameters diff --git a/versions/doc-improvements/docs/api/hilbish/index.html b/versions/doc-improvements/docs/api/hilbish/index.html index 3b3dde9..69fa54b 100644 --- a/versions/doc-improvements/docs/api/hilbish/index.html +++ b/versions/doc-improvements/docs/api/hilbish/index.html @@ -4,7 +4,7 @@

Module hilbish

the core Hilbish API

Introduction

The Hilbish module includes the core API, containing interfaces and functions which directly relate to shell functionality.

Functions -

alias(cmd, orig)Sets an alias, with a name of cmd to another command.
appendPath(dir)Appends the provided dir to the command path ($PATH)
complete(scope, cb)Registers a completion handler for the specified scope.
cwd() -> stringReturns the current directory of the shell
exec(cmd)Replaces the currently running Hilbish instance with the supplied command.
goro(fn)Puts fn in a Goroutine.
highlighter(line)Line highlighter handler.
hinter(line, pos)The command line hint handler. It gets called on every key insert to
inputMode(mode)Sets the input mode for Hilbish’s line reader. Accepts either emacs or vim.
interval(cb, time) -> @TimerRuns the cb function every time milliseconds.
multiprompt(str)Changes the text prompt when Hilbish asks for more input.
prependPath(dir)Prepends dir to $PATH.
prompt(str, typ)Changes the shell prompt to the provided string.
read(prompt) -> input (string)Read input from the user, using Hilbish’s line editor/input reader.
run(cmd, returnOut) -> exitCode (number), stdout (string), stderr (string)Runs cmd in Hilbish’s shell script interpreter.
runnerMode(mode)Sets the execution/runner mode for interactive Hilbish. This determines whether
timeout(cb, time) -> @TimerRuns the cb function after time in milliseconds.
which(name) -> stringChecks if name is a valid command.

Static module fields +

alias(cmd, orig)Sets an alias, with a name of cmd to another command.
appendPath(dir)Appends the provided dir to the command path ($PATH)
complete(scope, cb)Registers a completion handler for the specified scope.
cwd() -> stringReturns the current directory of the shell.
exec(cmd)Replaces the currently running Hilbish instance with the supplied command.
goro(fn)Puts fn in a Goroutine.
highlighter(line)Line highlighter handler.
hinter(line, pos)The command line hint handler. It gets called on every key insert to
inputMode(mode)Sets the input mode for Hilbish’s line reader.
interval(cb, time) -> @TimerRuns the cb function every specified amount of time.
multiprompt(str)Changes the text prompt when Hilbish asks for more input.
prependPath(dir)Prepends dir to $PATH.
prompt(str, typ)Changes the shell prompt to the provided string.
read(prompt) -> input (string)Read input from the user, using Hilbish’s line editor/input reader.
run(cmd, returnOut) -> exitCode (number), stdout (string), stderr (string)Runs cmd in Hilbish’s shell script interpreter.
runnerMode(mode)Sets the execution/runner mode for interactive Hilbish.
timeout(cb, time) -> @TimerExecuted the cb function after a period of time.
which(name) -> stringChecks if name is a valid command.

Static module fields

verThe version of Hilbish
goVersionThe version of Go that Hilbish was compiled with
userUsername of the user
hostHostname of the machine
dataDirDirectory for Hilbish data files, including the docs and default modules
interactiveIs Hilbish in an interactive shell?
loginIs Hilbish the login shell?
vimModeCurrent Vim input mode of Hilbish (will be nil if not in Vim input mode)
exitCodeExit code of the last executed command

hilbish.alias(cmd, orig)

Sets an alias, with a name of cmd to another command.

Parameters

string cmd
Name of the alias

string orig
Command that will be aliased

Example @@ -52,11 +52,11 @@ interfaces and functions which directly relate to shell functionality.

22 return {compGroup}, pfx 23end)


hilbish.cwd() -> string -

Returns the current directory of the shell

Parameters +

Returns the current directory of the shell.

Parameters

This function has no parameters.


hilbish.exec(cmd)

Replaces the currently running Hilbish instance with the supplied command.
This can be used to do an in-place restart.

Parameters

string cmd


hilbish.goro(fn) -

Puts fn in a Goroutine.
This can be used to run any function in another thread.
NOTE: THIS FUNCTION MAY CRASH HILBISH IF OUTSIDE VARIABLES ARE ACCESSED.

Parameters +

Puts fn in a Goroutine.
This can be used to run any function in another thread at the same time as other Lua code.
NOTE: THIS FUNCTION MAY CRASH HILBISH IF OUTSIDE VARIABLES ARE ACCESSED.
This is a limitation of the Lua runtime.

Parameters

function fn


hilbish.highlighter(line)

Line highlighter handler.
This is mainly for syntax highlighting, but in reality could set the input
of the prompt to display anything. The callback is passed the current line
and is expected to return a line that will be used as the input display.
Note that to set a highlighter, one has to override this function.

Parameters

string line

Example @@ -66,16 +66,16 @@ interfaces and functions which directly relate to shell functionality.

4end


hilbish.hinter(line, pos)

The command line hint handler. It gets called on every key insert to
determine what text to use as an inline hint. It is passed the current
line and cursor position. It is expected to return a string which is used
as the text for the hint. This is by default a shim. To set hints,
override this function with your custom handler.

Parameters -

string line

number pos

Example +

string line

number pos
Position of cursor in line. Usually equals string.len(line)

Example
1-- this will display "hi" after the cursor in a dimmed color.
 2function hilbish.hinter(line, pos)
 3	return 'hi'
 4end
 

hilbish.inputMode(mode) -

Sets the input mode for Hilbish’s line reader. Accepts either emacs or vim.
emacs is the default. Setting it to vim changes behavior of input to be
Vim-like with modes and Vim keybinds.

Parameters -

string mode


hilbish.interval(cb, time) -> Timer -

Runs the cb function every time milliseconds.
This creates a timer that starts immediately.

Parameters -

function cb

number time


hilbish.multiprompt(str) +

Sets the input mode for Hilbish’s line reader.
emacs is the default. Setting it to vim changes behavior of input to be
Vim-like with modes and Vim keybinds.

Parameters +

string mode
Can be set to either emacs or vim


hilbish.interval(cb, time) -> Timer +

Runs the cb function every specified amount of time.
This creates a timer that ticking immediately.

Parameters +

function cb

number time
Time in milliseconds.


hilbish.multiprompt(str)

Changes the text prompt when Hilbish asks for more input.
This will show up when text is incomplete, like a missing quote

Parameters

string str

Example
 1--[[
@@ -104,14 +104,15 @@ interfaces and functions which directly relate to shell functionality.

4hilbish.prompt '%u@%h :%d $' 5-- prompt: user@hostname: ~/directory $


hilbish.read(prompt) -> input (string) -

Read input from the user, using Hilbish’s line editor/input reader.
This is a separate instance from the one Hilbish actually uses.
Returns input, will be nil if ctrl + d is pressed, or an error occurs (which shouldn’t happen).

Parameters -

string prompt?


hilbish.run(cmd, returnOut) -> exitCode (number), stdout (string), stderr (string) +

Read input from the user, using Hilbish’s line editor/input reader.
This is a separate instance from the one Hilbish actually uses.
Returns input, will be nil if Ctrl-D is pressed, or an error occurs.

Parameters +

string prompt?
Text to print before input, can be empty.


hilbish.run(cmd, returnOut) -> exitCode (number), stdout (string), stderr (string)

Runs cmd in Hilbish’s shell script interpreter.

Parameters

string cmd

boolean returnOut
If this is true, the function will return the standard output and error of the command instead of printing it.


hilbish.runnerMode(mode) -

Sets the execution/runner mode for interactive Hilbish. This determines whether
Hilbish wll try to run input as Lua and/or sh or only do one of either.
Accepted values for mode are hybrid (the default), hybridRev (sh first then Lua),
sh, and lua. It also accepts a function, to which if it is passed one
will call it to execute user input instead.

Parameters +

Sets the execution/runner mode for interactive Hilbish.
This determines whether Hilbish wll try to run input as Lua
and/or sh or only do one of either.
Accepted values for mode are hybrid (the default), hybridRev (sh first then Lua),
sh, and lua. It also accepts a function, to which if it is passed one
will call it to execute user input instead.
Read about runner mode +for more information.

Parameters

string|function mode


hilbish.timeout(cb, time) -> Timer -

Runs the cb function after time in milliseconds.
This creates a Timer that starts immediately.

Parameters -

function cb

number time


hilbish.which(name) -> string +

Executed the cb function after a period of time.
This creates a Timer that starts ticking immediately.

Parameters +

function cb

number time
Time to run in milliseconds.


hilbish.which(name) -> string

Checks if name is a valid command.
Will return the path of the binary, or a basename if it’s a commander.

Parameters

string name

Types


Sink