mirror of https://github.com/Hilbis/Hilbish
Compare commits
48 Commits
16721713db
...
105b4dd3ce
Author | SHA1 | Date |
---|---|---|
sammyette | 105b4dd3ce | |
sammyette | c1d4f20b9f | |
sammyette | 7b694f2919 | |
TorchedSammy | 05570ec29a | |
TorchedSammy | dff65d6d03 | |
TorchedSammy | dc4343c562 | |
TorchedSammy | 8975ee8d2c | |
TorchedSammy | 1097986fbb | |
TorchedSammy | 39a40fb08e | |
TorchedSammy | e1289c1da6 | |
TorchedSammy | 4ebf5a757c | |
TorchedSammy | 9757b1d16e | |
TorchedSammy | 7e85ee1ac3 | |
TorchedSammy | d5d8c05230 | |
TorchedSammy | c293d442a9 | |
TorchedSammy | 29d876e38e | |
TorchedSammy | 94423173f3 | |
TorchedSammy | a773c974f9 | |
TorchedSammy | 9fefd7b53c | |
TorchedSammy | 9a88b0c1ec | |
TorchedSammy | 0138a30151 | |
TorchedSammy | 5a2fd055d1 | |
TorchedSammy | ce13e50579 | |
TorchedSammy | 2032795815 | |
TorchedSammy | 09f5a3102e | |
TorchedSammy | 50fbe72aa2 | |
TorchedSammy | a6aa58f8fb | |
TorchedSammy | 2e0eabbac7 | |
TorchedSammy | 00c8cab8bb | |
TorchedSammy | 1d7a34e0c5 | |
TorchedSammy | 54fc4f72ae | |
TorchedSammy | c886a585e7 | |
TorchedSammy | 00d7942e1c | |
TorchedSammy | 025a5b0925 | |
TorchedSammy | a80487e287 | |
TorchedSammy | 2cb48afe44 | |
TorchedSammy | b8ad86d341 | |
TorchedSammy | 1fb855286b | |
TorchedSammy | c80bede1d3 | |
TorchedSammy | 350162d084 | |
TorchedSammy | 5b8820beab | |
TorchedSammy | 1c2e0fbe72 | |
TorchedSammy | b89b49e3de | |
TorchedSammy | 635f89aa3a | |
TorchedSammy | 3ef564a26d | |
TorchedSammy | 6e2e85a830 | |
TorchedSammy | 7af90eb1f1 | |
TorchedSammy | a6b52047f2 |
|
@ -2,7 +2,6 @@ baseURL = 'https://rosettea.github.io/Hilbish/'
|
||||||
languageCode = 'en-us'
|
languageCode = 'en-us'
|
||||||
title = 'Hilbish'
|
title = 'Hilbish'
|
||||||
theme = 'hsh'
|
theme = 'hsh'
|
||||||
enableGitInfo = true
|
|
||||||
|
|
||||||
[menu]
|
[menu]
|
||||||
[[menu.nav]]
|
[[menu.nav]]
|
||||||
|
|
|
@ -5,7 +5,4 @@ weight: -40
|
||||||
menu: docs
|
menu: docs
|
||||||
---
|
---
|
||||||
|
|
||||||
Hilbish has a wide range of features to enhance the user's experience and
|
|
||||||
is always adding new ones. If there is something missing here or something
|
|
||||||
you would like to see, please [start a discussion](https://github.com/Rosettea/Hilbish/discussions)
|
|
||||||
or comment on any existing ones which match your request.
|
|
||||||
|
|
|
@ -7,11 +7,61 @@ menu:
|
||||||
parent: "Features"
|
parent: "Features"
|
||||||
---
|
---
|
||||||
|
|
||||||
Hilbish allows you to change how interactive text can be interpreted.
|
Hilbish is *unique,* when interactive it first attempts to run input as
|
||||||
This is mainly due to the fact that the default method Hilbish uses
|
Lua and then tries shell script. But if you're normal, you wouldn't
|
||||||
is that it runs Lua first and then falls back to shell script.
|
really be using Hilbish anyway but you'd also not want this
|
||||||
|
(or maybe want Lua only in some cases.)
|
||||||
|
|
||||||
|
The "runner mode" of Hilbish is customizable via `hilbish.runnerMode`,
|
||||||
|
which determines how Hilbish will run user input. By default, this is
|
||||||
|
set to `hybrid` which is the previously mentioned behaviour of running Lua
|
||||||
|
first then going to shell script. If you want the reverse order, you can
|
||||||
|
set it to `hybridRev` and for isolated modes there is `sh` and `lua`
|
||||||
|
respectively.
|
||||||
|
|
||||||
|
You can also set it to a function, which will be called everytime Hilbish
|
||||||
|
needs to run interactive input. For example, you can set this to a simple
|
||||||
|
function to compile and evaluate Fennel, and now you can run Fennel.
|
||||||
|
You can even mix it with sh to make a hybrid mode with Lua replaced by
|
||||||
|
Fennel.
|
||||||
|
|
||||||
|
An example:
|
||||||
|
```lua
|
||||||
|
hilbish.runnerMode(function(input)
|
||||||
|
local ok = pcall(fennel.eval, input)
|
||||||
|
if ok then
|
||||||
|
return input, 0, nil
|
||||||
|
end
|
||||||
|
|
||||||
|
return hilbish.runner.sh(input)
|
||||||
|
end)
|
||||||
|
```
|
||||||
|
|
||||||
|
The `hilbish.runner` interface is an alternative to using `hilbish.runnerMode`
|
||||||
|
and also provides the sh and Lua runner functions that Hilbish itself uses.
|
||||||
|
A runner function is expected to return 3 values: the input, exit code, and an error.
|
||||||
|
The input return is there incase you need to prompt for more input.
|
||||||
|
If you don't, just return the input passed to the runner function.
|
||||||
|
The exit code has to be a number, it will be 0 otherwise and the error can be
|
||||||
|
`nil` to indicate no error.
|
||||||
|
|
||||||
|
## Functions
|
||||||
|
These are the "low level" functions for the `hilbish.runner` interface.
|
||||||
|
|
||||||
|
+ setMode(mode) > The same as `hilbish.runnerMode`
|
||||||
|
+ sh(input) -> input, code, err > Runs `input` in Hilbish's sh interpreter
|
||||||
|
+ lua(input) -> input, code, err > Evals `input` as Lua code
|
||||||
|
|
||||||
|
The others here are defined in Lua and have EmmyLua documentation.
|
||||||
|
These functions should be preferred over the previous ones.
|
||||||
|
+ setCurrent(mode) > The same as `setMode`, but works with runners managed
|
||||||
|
via the functions below.
|
||||||
|
+ add(name, runner) > Adds a runner to a table of available runners. The `runner`
|
||||||
|
argument is either a function or a table with a run callback.
|
||||||
|
+ set(name, runner) > The same as `add` but requires passing a table and
|
||||||
|
overwrites if the `name`d runner already exists.
|
||||||
|
+ get(name) > runner > Gets a runner by name. It is a table with at least a
|
||||||
|
run function, to run input.
|
||||||
|
+ exec(cmd, runnerName) > Runs `cmd` with a runner. If `runnerName` isn't passed,
|
||||||
|
the current runner mode is used.
|
||||||
|
|
||||||
In some cases, someone might want to switch to just shell script to avoid
|
|
||||||
it while interactive but still have a Lua config, or go full Lua to use
|
|
||||||
Hilbish as a REPL. This also allows users to add alternative languages,
|
|
||||||
instead of either like Fennel.
|
|
||||||
|
|
|
@ -3,20 +3,14 @@ title: Install
|
||||||
description: Steps on how to install Hilbish on all the OSes and distros supported.
|
description: Steps on how to install Hilbish on all the OSes and distros supported.
|
||||||
layout: page
|
layout: page
|
||||||
---
|
---
|
||||||
|
# Github Prebuilt Binaries
|
||||||
|
The easiest and best way to get Hilbish is directly from Github.
|
||||||
|
For official stable releases, check out the latest [Github release.](https://github.com/Rosettea/Hilbish/releases/latest)
|
||||||
|
|
||||||
## Official Binaries
|
# Linux Repositories
|
||||||
The best way to get Hilbish is to get a build directly from GitHub.
|
Hilbish is packaged in a *few* repositories for some distros.
|
||||||
At any time, there are 2 versions of Hilbish recommended for download:
|
|
||||||
the latest stable release, and development builds from the master branch.
|
|
||||||
|
|
||||||
You can download both at any time, but note that the development builds may
|
## Arch Linux (AUR)
|
||||||
have breaking changes.
|
|
||||||
|
|
||||||
For the latest **stable release**, check here: https://github.com/Rosettea/Hilbish/releases/latest
|
|
||||||
For a **development build**: https://nightly.link/Rosettea/Hilbish/workflows/build/master
|
|
||||||
|
|
||||||
## Package Repositories
|
|
||||||
### Arch Linux (AUR)
|
|
||||||
Hilbish is on the AUR. Setup an AUR helper, and install.
|
Hilbish is on the AUR. Setup an AUR helper, and install.
|
||||||
Example with yay:
|
Example with yay:
|
||||||
|
|
||||||
|
@ -29,10 +23,10 @@ Or, from master branch:
|
||||||
yay -S hilbish-git
|
yay -S hilbish-git
|
||||||
```
|
```
|
||||||
|
|
||||||
### Alpine Linux
|
## Alpine Linux
|
||||||
Hilbish is currentlty in the testing/edge repository for Alpine.
|
Hilbish is currentlty in the testing/edge repository for Alpine.
|
||||||
Follow the steps [here](https://wiki.alpinelinux.org/wiki/Enable_Community_Repository)
|
Follow the steps [here](https://wiki.alpinelinux.org/wiki/Enable_Community_Repository)
|
||||||
(Using testing repositories) and install:
|
(Using testing repositories) and install:
|
||||||
```
|
```
|
||||||
apk add hilbish
|
apk install hilbish
|
||||||
```
|
```
|
||||||
|
|
|
@ -25,28 +25,14 @@
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="p-3 col">
|
<div class="col" style="max-width: 80em; margin: auto;">
|
||||||
<div>
|
<div>
|
||||||
<h1>{{ .Title }}</h1>
|
<h1>{{ .Title }}</h1>
|
||||||
<p><em>
|
|
||||||
{{ $date := .Date.UTC.Format "Jan 2, 2006" }}
|
|
||||||
{{ $lastmod := .Lastmod.UTC.Format "Jan 2, 2006" }}
|
|
||||||
{{ if and (ne $lastmod $date) (gt .Lastmod .Date) }}
|
|
||||||
Last updated {{ $lastmod }}<br>
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
{{ if .Description }}
|
{{ if .Description }}
|
||||||
{{ .Description }}<br>
|
<p><i>{{ .Description }}</i></p>
|
||||||
{{ end}}
|
{{ end}}
|
||||||
</em></p>
|
|
||||||
{{.Content}}
|
{{.Content}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="footer mt-auto">
|
|
||||||
<p class="card-small text-muted">
|
|
||||||
Want to help improve this page? <a href="https://github.com/Rosettea/Hilbish/issues/new/choose">Create an issue.</a>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
Loading…
Reference in New Issue