2
2
зеркало из https://github.com/Hilbis/Hilbish synced 2025-07-05 10:32:03 +00:00

docs: update api docs, make others show up on site

Этот коммит содержится в:
sammyette 2023-12-02 10:49:50 -04:00
родитель f40ce3c8f7
Коммит 1f7f8e5104
Подписано: sammyette
Идентификатор ключа GPG: 904FC49417B44DCD
10 изменённых файлов: 119 добавлений и 17 удалений

32
api.go
Просмотреть файл

@ -336,9 +336,19 @@ func hlmultiprompt(t *rt.Thread, c *rt.GoCont) (rt.Cont, error) {
} }
// alias(cmd, orig) // alias(cmd, orig)
// Sets an alias of `cmd` to `orig` // Sets an alias, with a name of `cmd` to another command.
// --- @param cmd string // #param cmd string Name of the alias
// --- @param orig string // #param orig string Command that will be aliased
/*
#example
-- With this, "ga file" will turn into "git add file"
hilbish.alias('ga', 'git add')
-- Numbered substitutions are supported here!
hilbish.alias('dircount', 'ls %1 | wc -l')
-- "dircount ~" would count how many files are in ~ (home directory).
#example
*/
func hlalias(t *rt.Thread, c *rt.GoCont) (rt.Cont, error) { func hlalias(t *rt.Thread, c *rt.GoCont) (rt.Cont, error) {
if err := c.CheckNArgs(2); err != nil { if err := c.CheckNArgs(2); err != nil {
return nil, err return nil, err
@ -358,8 +368,20 @@ func hlalias(t *rt.Thread, c *rt.GoCont) (rt.Cont, error) {
} }
// appendPath(dir) // appendPath(dir)
// Appends `dir` to $PATH // Appends the provided dir to the command path (`$PATH`)
// --- @param dir string|table // #param dir string|table Directory (or directories) to append to path
/*
#example
hilbish.appendPath '~/go/bin'
-- Will add ~/go/bin to the command path.
-- Or do multiple:
hilbush.appendPath {
'~/go/bin',
'~/.local/bin'
}
#example
*/
func hlappendPath(t *rt.Thread, c *rt.GoCont) (rt.Cont, error) { func hlappendPath(t *rt.Thread, c *rt.GoCont) (rt.Cont, error) {
if err := c.Check1Arg(); err != nil { if err := c.Check1Arg(); err != nil {
return nil, err return nil, err

Просмотреть файл

@ -1,7 +1,7 @@
--- ---
title: API title: API
layout: doc layout: doc
weight: -50 weight: -100
menu: docs menu: docs
--- ---

Просмотреть файл

@ -14,8 +14,8 @@ interfaces and functions which directly relate to shell functionality.
## Functions ## Functions
||| |||
|----|----| |----|----|
|<a href="#alias">alias(cmd, orig)</a>|Sets an alias of `cmd` to `orig`| |<a href="#alias">alias(cmd, orig)</a>|Sets an alias, with a name of `cmd` to another command.|
|<a href="#appendPath">appendPath(dir)</a>|Appends `dir` to $PATH| |<a href="#appendPath">appendPath(dir)</a>|Appends the provided dir to the command path (`$PATH`)|
|<a href="#complete">complete(scope, cb)</a>|Registers a completion handler for `scope`.| |<a href="#complete">complete(scope, cb)</a>|Registers a completion handler for `scope`.|
|<a href="#cwd">cwd() -> string</a>|Returns the current directory of the shell| |<a href="#cwd">cwd() -> string</a>|Returns the current directory of the shell|
|<a href="#exec">exec(cmd)</a>|Replaces running hilbish with `cmd`| |<a href="#exec">exec(cmd)</a>|Replaces running hilbish with `cmd`|
@ -54,9 +54,25 @@ hilbish.alias(cmd, orig)
</a> </a>
</h4> </h4>
Sets an alias of `cmd` to `orig` Sets an alias, with a name of `cmd` to another command.
#### Parameters #### Parameters
This function has no parameters. `string` **`cmd`**
Name of the alias
`string` **`orig`**
Command that will be aliased
#### Example
```lua
-- With this, "ga file" will turn into "git add file"
hilbish.alias('ga', 'git add')
-- Numbered substitutions are supported here!
hilbish.alias('dircount', 'ls %1 | wc -l')
-- "dircount ~" would count how many files are in ~ (home directory).
````
</div> </div>
<hr><div id='appendPath'> <hr><div id='appendPath'>
@ -67,9 +83,24 @@ hilbish.appendPath(dir)
</a> </a>
</h4> </h4>
Appends `dir` to $PATH Appends the provided dir to the command path (`$PATH`)
#### Parameters #### Parameters
This function has no parameters. `string|table` **`dir`**
Directory (or directories) to append to path
#### Example
```lua
hilbish.appendPath '~/go/bin'
-- Will add ~/go/bin to the command path.
-- Or do multiple:
hilbush.appendPath {
'~/go/bin',
'~/.local/bin'
}
````
</div> </div>
<hr><div id='complete'> <hr><div id='complete'>

Просмотреть файл

@ -1,3 +1,12 @@
---
title: Completions
description: Tab completion for commands.
layout: doc
menu:
docs:
parent: "Features"
---
Hilbish has a pretty good completion system. It has a nice looking Hilbish has a pretty good completion system. It has a nice looking
menu, with 2 types of menus: grid (like file completions) or menu, with 2 types of menus: grid (like file completions) or
list. list.

Просмотреть файл

@ -1,3 +1,12 @@
---
title: Jobs
description: Controls for background commands in Hilbish.
layout: doc
menu:
docs:
parent: "Features"
---
Hilbish has pretty standard job control. It's missing one or two things, Hilbish has pretty standard job control. It's missing one or two things,
but works well. One thing which is different from other shells but works well. One thing which is different from other shells
(besides Hilbish) itself is the API for jobs, and of course it's in Lua. (besides Hilbish) itself is the API for jobs, and of course it's in Lua.

Просмотреть файл

@ -1,3 +1,10 @@
---
title: Lunacolors
layout: doc
weight: -60
menu: docs
---
Lunacolors is an ANSI color/styling library for Lua. It is included Lunacolors is an ANSI color/styling library for Lua. It is included
by default in standard Hilbish distributions to provide easy styling by default in standard Hilbish distributions to provide easy styling
for things like prompts and text. for things like prompts and text.

Просмотреть файл

@ -1,3 +1,10 @@
---
title: Nature
layout: doc
weight: -90
menu: docs
---
A bit after creation, we have the outside nature. Little plants, seeds, A bit after creation, we have the outside nature. Little plants, seeds,
growing to their final phase: a full plant. A lot of Hilbish itself is growing to their final phase: a full plant. A lot of Hilbish itself is
written in Go, but there are parts made in Lua, being most builtins written in Go, but there are parts made in Lua, being most builtins

Просмотреть файл

@ -1,3 +1,10 @@
---
title: Vim Mode
layout: doc
weight: -90
menu: docs
---
Hilbish has a Vim binding input mode accessible for use. Hilbish has a Vim binding input mode accessible for use.
It can be enabled with the `hilbish.inputMode` function (check `doc hilbish`). It can be enabled with the `hilbish.inputMode` function (check `doc hilbish`).

Просмотреть файл

@ -1,3 +1,12 @@
---
title: Actions
layout: doc
weight: -80
menu:
docs:
parent: "Vim Mode"
---
Vim actions are essentially just when a user uses a Vim keybind. Vim actions are essentially just when a user uses a Vim keybind.
Things like yanking and pasting are Vim actions. Things like yanking and pasting are Vim actions.
This is not an "offical Vim thing," just a Hilbish thing. This is not an "offical Vim thing," just a Hilbish thing.

Просмотреть файл

@ -49,13 +49,14 @@ function hilbish.editor.getChar() end
--- @param text string --- @param text string
function hilbish.editor.setVimRegister(register, text) end function hilbish.editor.setVimRegister(register, text) end
--- Sets an alias of `cmd` to `orig` --- Sets an alias, with a name of `cmd` to another command.
--- @param cmd string ---
--- @param orig string ---
function hilbish.alias(cmd, orig) end function hilbish.alias(cmd, orig) end
--- Appends `dir` to $PATH --- Appends the provided dir to the command path (`$PATH`)
--- @param dir string|table ---
---
function hilbish.appendPath(dir) end function hilbish.appendPath(dir) end
--- Registers a completion handler for `scope`. --- Registers a completion handler for `scope`.