diff --git a/versions/native-modules/404.html b/versions/native-modules/404.html new file mode 100644 index 0000000..eec0116 --- /dev/null +++ b/versions/native-modules/404.html @@ -0,0 +1,4 @@ +404 Page not found — Hilbish +

Go Home

\ No newline at end of file diff --git a/versions/native-modules/blog/improving-this-website/index.html b/versions/native-modules/blog/improving-this-website/index.html new file mode 100644 index 0000000..fbb1033 --- /dev/null +++ b/versions/native-modules/blog/improving-this-website/index.html @@ -0,0 +1,28 @@ +Improving Hilbish's Branding — Hilbish +

Improving Hilbish's Branding

+by sammyette

Happy birthday Hilbish! As of last month, Hilbish is now 2 years old. +Unfortunately I missed the official date, but I will still make a more +focused post on the date (19st).

I decided to fix up this website and Hilbish’s logo, so that can +be thought of as something for the 2 years milestone?

Hilbish’s old logo was.. not that good. It definitely functioned +as a logo, but the yellow part of it looked ugly (sorry old logo).


You would have definitely seen the new logo, since it is currently +in use on the navigation bar and footer. Here it is in a bigger view:


Website +

Ever since this website was first made, from the release of v2.0, it has +been doing it’s job of being a website good enough, but there were a few issues.

Padding +

Padding is very important! The edges of your screen need space to do nothing, +after all. On mobile or screens small enough, there would not be enough space +for the auto margin to fill, and since there was no padding besides that, +it means things would look a bit cramped. This was simple to fix.

Here it is before:
Before

and after:
After

Docs Navigation +

On the docs page, the pages are on the left on desktop. Since +phones are too small to have this content on the side, it stays at the top. +This is a bit counter intuitive since it brings in extra scrolling +when navigating to every page for docs and just doesn’t look that good.

A few months ago I made it collapse with the site wide navigation, but it +was not hidden by default. So a few improvements were made:

  • Make the doc navigation hidden by default on mobile, just like site wide navigation
  • Make doc navigation have the same look as site wide navigation

Here’s a before:

and after:

Looks a lot better now.

Other Changes +

If you haven’t noticed, I have made other changes to the website. +This includes:

  • Borders! Something this simple makes the website look a lot better, especially on mobile.
  • More padding and margin everywhere. Home, doc pages, blog post listing.
\ No newline at end of file diff --git a/versions/native-modules/blog/index.html b/versions/native-modules/blog/index.html new file mode 100644 index 0000000..a67a9cb --- /dev/null +++ b/versions/native-modules/blog/index.html @@ -0,0 +1,15 @@ +Blogs — Hilbish +
Improving Hilbish's Branding

Happy birthday Hilbish! As of last month, Hilbish is now 2 years old. Unfortunately I missed the official date, but I will still make a more focused post on the date (19st). +I decided to fix up this website and Hilbish’s logo, so that can be thought of as something for the 2 years milestone? +Logo Hilbish’s old logo was.. not that good. It definitely functioned as a logo, but the yellow part of it looked ugly (sorry old logo).

v2.1.2 Release

The release with full changelogs and prebuilt binaries can be seen at the v2.1.2 tag. +This release reverts the April Fool’s code additions in v2.1.1. It is functionally equal to v2.1.0. Nice! +A real release will come possibly in a few days or next week, so stay tuned for the good and feature-filled release of v2.2!

v2.1.1 Release

The release with full changelogs and prebuilt binaries can be seen at the v2.1.1 tag. +Welcome to a fresh new release of Hilbish! Some people (or none) may be awaiting the long coming v2.2 release with lots of features, but I needed to push out this little bug fix (wink) release. +Bug Fixes Validation checks for command input When running this version, you may have noticed an odd message that sometimes comes up when running commands.

v2.1 Release

The release with full changelogs and prebuilt binaries can be seen at the v2.1.0 tag. +Oh look! A new release of Hilbish! This time is the v2.1 release, with a small amount of features and mainly documentation changes and bug fixes. +Documentation There have been a few documentation enhancements for this release. This includes: +Adding the return types for all functions that need them Documenting Hilbish types like job objects and timers properly.

Hilbish v2.0 Release

Hilbish v2.0 has been released! Well actually, it was released a week ago, but I only wrote this Hilbish blog after that. +This is a big release, coming 9 months after the previous v1.2.0 and featuring over 40+ bug fixes and tons of new features and enhancements, so let’s see what is in this release. +Documentation When querying about the problems people have with Hilbish, one of the issues was its poor documentation.

Install

Steps on how to install Hilbish on all the OSes and distros supported.

Welcome to the Hilbish blog

Hello! Welcome to the Hilbish blog. This will mainly contain release announcements and some other things relating to Hilbish (development).

\ No newline at end of file diff --git a/versions/native-modules/blog/index.xml b/versions/native-modules/blog/index.xml new file mode 100644 index 0000000..f27c1a3 --- /dev/null +++ b/versions/native-modules/blog/index.xml @@ -0,0 +1,12 @@ +Blogs on Hilbishhttps://rosettea.github.io/Hilbish/versions/native-modules/blog/Recent content in Blogs on HilbishHugo -- gohugo.ioen-usThu, 13 Apr 2023 22:15:31 -0400Improving Hilbish's Brandinghttps://rosettea.github.io/Hilbish/versions/native-modules/blog/improving-this-website/Thu, 13 Apr 2023 22:15:31 -0400https://rosettea.github.io/Hilbish/versions/native-modules/blog/improving-this-website/Happy birthday Hilbish! As of last month, Hilbish is now 2 years old. Unfortunately I missed the official date, but I will still make a more focused post on the date (19st). +I decided to fix up this website and Hilbish’s logo, so that can be thought of as something for the 2 years milestone? +Logo Hilbish’s old logo was.. not that good. It definitely functioned as a logo, but the yellow part of it looked ugly (sorry old logo).v2.1.2 Releasehttps://rosettea.github.io/Hilbish/versions/native-modules/blog/v2.1.2-release/Mon, 10 Apr 2023 12:27:41 -0400https://rosettea.github.io/Hilbish/versions/native-modules/blog/v2.1.2-release/The release with full changelogs and prebuilt binaries can be seen at the v2.1.2 tag. +This release reverts the April Fool’s code additions in v2.1.1. It is functionally equal to v2.1.0. Nice! +A real release will come possibly in a few days or next week, so stay tuned for the good and feature-filled release of v2.2!v2.1.1 Releasehttps://rosettea.github.io/Hilbish/versions/native-modules/blog/v2.1.1-release/Sat, 01 Apr 2023 18:15:42 -0400https://rosettea.github.io/Hilbish/versions/native-modules/blog/v2.1.1-release/The release with full changelogs and prebuilt binaries can be seen at the v2.1.1 tag. +Welcome to a fresh new release of Hilbish! Some people (or none) may be awaiting the long coming v2.2 release with lots of features, but I needed to push out this little bug fix (wink) release. +Bug Fixes Validation checks for command input When running this version, you may have noticed an odd message that sometimes comes up when running commands.v2.1 Releasehttps://rosettea.github.io/Hilbish/versions/native-modules/blog/v2.1-release/Tue, 07 Feb 2023 18:25:38 -0400https://rosettea.github.io/Hilbish/versions/native-modules/blog/v2.1-release/The release with full changelogs and prebuilt binaries can be seen at the v2.1.0 tag. +Oh look! A new release of Hilbish! This time is the v2.1 release, with a small amount of features and mainly documentation changes and bug fixes. +Documentation There have been a few documentation enhancements for this release. This includes: +Adding the return types for all functions that need them Documenting Hilbish types like job objects and timers properly.Hilbish v2.0 Releasehttps://rosettea.github.io/Hilbish/versions/native-modules/blog/v2.0-release/Thu, 29 Dec 2022 01:55:21 +0000https://rosettea.github.io/Hilbish/versions/native-modules/blog/v2.0-release/Hilbish v2.0 has been released! Well actually, it was released a week ago, but I only wrote this Hilbish blog after that. +This is a big release, coming 9 months after the previous v1.2.0 and featuring over 40+ bug fixes and tons of new features and enhancements, so let’s see what is in this release. +Documentation When querying about the problems people have with Hilbish, one of the issues was its poor documentation.Welcome to the Hilbish bloghttps://rosettea.github.io/Hilbish/versions/native-modules/blog/welcome/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/blog/welcome/Hello! Welcome to the Hilbish blog. This will mainly contain release announcements and some other things relating to Hilbish (development). \ No newline at end of file diff --git a/versions/native-modules/blog/v2.0-release/index.html b/versions/native-modules/blog/v2.0-release/index.html new file mode 100644 index 0000000..81a22a7 --- /dev/null +++ b/versions/native-modules/blog/v2.0-release/index.html @@ -0,0 +1,65 @@ +Hilbish v2.0 Release — Hilbish +

Hilbish v2.0 Release

+by sammyette

Hilbish v2.0 has been released! +Well actually, it was released a week ago, but I only wrote this +Hilbish blog after that.

This is a big release, coming 9 months after the previous v1.2.0 and +featuring over 40+ bug fixes and tons of new features and enhancements, so +let’s see what is in this release.

Documentation +

When querying about the problems people have with Hilbish, one of the +issues was its poor documentation. Hilbish had plain text, autogenerated +documentation which only covered the module functions (bait, hilbish, +commander, etc.) and did not include the interfaces (hilbish.timers, +hilbish.jobs and all that).

I have tried to improve this by working on documenting all the +interfaces (except for some functions of hilbish.runner, that’s hard to do) +and made the documentation markdown for use on this website. This means +that users can look at documentation here or with the doc command.

Hopefully this addresses documentation complaints, and if not, please open an issue.

Main Bug Fixes +

As this is a piece of software with no unit testing that is maintained by me alone, +there is gonna be either some bug or something that I overlooked when +making a change. I make a lot of mistakes. There’s also the other fact that +sometimes there’s just bugs for any other reasosn. Good thing I fixed +more than 40 of those bugs in this release!

Readline Bug Fixes +

The pure Go readline library is good in some ways and bad in others. +A good portion of the bug fixes are for the readline library, and also +related to text input with east asian characters and the like (Korean, Japanese, +etc.)

A few of the fixes (and additions) include:

  • Fixing various crashes, including when there is a “stray” newline at the end of text
  • Grid completion menu causing spam and duplicate text when there are items longer than +the terminal and/or contain Japanese or other characters.
  • Cursor positioning with CJK characters
  • Adding new keybinds and fixing others

Other fixes +

There are a lot more fixes, even more than the ones listed here, but these are the main ones: +- Don’t put alias expanded command in history (I’ve fixed this 5 times now….) +- Handle stdin being nonblocking +- Completion related fixes, like showing the full name, completing files with spaces

Breaking changes +

This release is a major version bump not only because there are tons of fixes, but because +there are breaking changes. This means that there are some changes done which would +cause errors with an old user config (breaking).

Lua 5.4 +

The most important is the use of a new Lua VM library. Previously, Hilbish +used gopher-lua, which implements Lua 5.1. This has been changed to +golua +, which implements Lua 5.4.

Moving from 5.1 to 5.4 does have breaking changes even if it doesn’t seem like it, +and since these are different Lua implementations, there may be some differences there too.

Userdata +

Previously, objects such as jobs or timers were represented by tables. +This has been changed to userdata to make more sense.

Other changes +

Runner functions are now required to return a table. +It can (at the moment) have 4 variables:

  • input (user input)
  • exitCode (exit code)
  • error (error message)
  • continue (whether to prompt for more input) +User input has been added to the return to account for runners wanting to +prompt for continued input, and to add it properly to history. continue +got added so that it would be easier for runners to get continued input +without having to actually handle it at all.

The MacOS config paths now match Linux, since it makes more sense for +a program like Hilbish.

The Hilbish greeting is now an opt, and is printed by default.

Feature Additions +

Besides fixes and changes, this release also includes a good portion of +new features! Users can now add handlers for syntax highlighting and +inline hinting.

Some new hooks have been added, like hilbish.cancel and hilbish.init. +You can look at all the hooks via the doc hooks command

Job management functions have also been added. You can now put jobs in the +foreground/background and disown them via the expected commands and also +via the Lua API.

The hilbish.timers API interface was also added in this release!

Closing Off +

Hilbish has gone from something small and simple for myself to a slightly +advanced shell with a decent amount of features, and a few users. It +still hasn’t reached levels of other alt shells in regards to literally +everything, but the goal is to get there!

If you want to check the FULL changelog, you can do so here. +This v2.0 release marks an advancement in Hilbish (and also how long +one of my projects hasn’t died) and I hope it can advance even further.

Thanks for reading, and I’ll be back for the v2.1 release notes, or maybe +something else in between.

\ No newline at end of file diff --git a/versions/native-modules/blog/v2.1-release/index.html b/versions/native-modules/blog/v2.1-release/index.html new file mode 100644 index 0000000..fd17562 --- /dev/null +++ b/versions/native-modules/blog/v2.1-release/index.html @@ -0,0 +1,44 @@ +v2.1 Release — Hilbish +

v2.1 Release

+by sammyette

The release with full changelogs and prebuilt binaries can be +seen at the v2.1.0 +tag.

Oh look! A new release of Hilbish! This time is the v2.1 release, +with a small amount of features and mainly documentation changes and +bug fixes.

Documentation +

There have been a few documentation enhancements for this release. +This includes:

  • Adding the return types for all functions that need them
  • Documenting Hilbish types like job objects and timers properly. +They now have a separate heading and listing of properties and methods.
  • Fixing outdated documentation

Features +

Sinks +

A major addition is the new “sink” type for commanders to write +their output to. This was the solution to pipes and other shell +operators not working with builtins. If you wrote a commander +and made it print, use sinks.out:write instead.

This is also documented at the commander docs +.

doc command +

Since API documentation has been moved to an API folder and also includes +interfaces, a change has been made to get the module name from the +passed from the requested page. This means that +doc api hilbish hilbish.jobs is now shortened to doc api hilbish.jobs

Bug Fixes +

Small release, small amount of bug fixes. Even though, this is the main +part of this release.

Previously Hilbish completions did not work with symlinks properly. +This can be tested in the previous 2.0 release by attempting to +path complete to /bin. Since this is (or can be?) a symlink to +/usr/bin, it was not marked as a directory and therefore did not +automatically add the ending slash. This has been fixed.

Segfaults +

I found that when I updated my terminal of choice (Tym +) for the new +daemon feature, Hilbish would sometimes segfault on startup. This is due +to it getting a resize event on startup while bait was not initialized +yet.

API Fixes +

  • The hilbish.which function works with aliases.
  • hilbish.completion.files and hilbish.completion.bins will no longer +cause a panic with all empty arguments passed.

Next Release +

Stay tuned for the v2.2 release, which will have a bigger set of features +and maybe some more bug fixes!

\ No newline at end of file diff --git a/versions/native-modules/blog/v2.1.1-release/index.html b/versions/native-modules/blog/v2.1.1-release/index.html new file mode 100644 index 0000000..ca09b51 --- /dev/null +++ b/versions/native-modules/blog/v2.1.1-release/index.html @@ -0,0 +1,26 @@ +v2.1.1 Release — Hilbish +

v2.1.1 Release

+by sammyette

The release with full changelogs and prebuilt binaries can be +seen at the v2.1.1 +tag.

Welcome to a fresh new release of Hilbish! Some people (or none) may be awaiting +the long coming v2.2 release with lots of features, but I needed to push +out this little bug fix (wink) release.

Bug Fixes +

Validation checks for command input +

When running this version, you may have noticed an odd message that sometimes +comes up when running commands. This is from the new TMOLI42SH +(The Meaning of Life is 42 String Hash) input validation scheme.

Improved runtime code +

Commands now have a chance of taking exactly 2-3s more less time of running due to +improvements in the code for shell runners!!!!!

Validate lua code +

Hilbish already threw an error when Lua code was not valid in syntax, but there was the +need for an extra validation scheme (called OpTTCLC - Opinion based Turing Test to Check Lua Code) +which results in less time wasted running invalid and TERRIBLE Lua code.

Features +

There is only 1 new feature in this glorious release.

Fix your mistakes for the future +

If you run a command that does not exist, Hilbish will say goodbye.

Closing +

Hope you enjoy this new release! It took a lot of effort to create this new version +while I was busy doing completely nothing. :)))

\ No newline at end of file diff --git a/versions/native-modules/blog/v2.1.2-release/index.html b/versions/native-modules/blog/v2.1.2-release/index.html new file mode 100644 index 0000000..c4fe845 --- /dev/null +++ b/versions/native-modules/blog/v2.1.2-release/index.html @@ -0,0 +1,13 @@ +v2.1.2 Release — Hilbish +

v2.1.2 Release

+by sammyette

The release with full changelogs and prebuilt binaries can be +seen at the v2.1.2 +tag.

This release reverts the April Fool’s code additions in v2.1.1. It is +functionally equal to v2.1.0. Nice!

A real release will come possibly in a few days or next week, so stay tuned for +the good and feature-filled release of v2.2!

\ No newline at end of file diff --git a/versions/native-modules/blog/welcome/index.html b/versions/native-modules/blog/welcome/index.html new file mode 100644 index 0000000..868e7fc --- /dev/null +++ b/versions/native-modules/blog/welcome/index.html @@ -0,0 +1,6 @@ +Welcome to the Hilbish blog — Hilbish +

Welcome to the Hilbish blog

+by sammyette

Hello! Welcome to the Hilbish blog. This will mainly contain release +announcements and some other things relating to Hilbish (development).

\ No newline at end of file diff --git a/versions/native-modules/categories/index.html b/versions/native-modules/categories/index.html new file mode 100644 index 0000000..2303ecb --- /dev/null +++ b/versions/native-modules/categories/index.html @@ -0,0 +1,15 @@ +Categories — Hilbish +
Improving Hilbish's Branding

Happy birthday Hilbish! As of last month, Hilbish is now 2 years old. Unfortunately I missed the official date, but I will still make a more focused post on the date (19st). +I decided to fix up this website and Hilbish’s logo, so that can be thought of as something for the 2 years milestone? +Logo Hilbish’s old logo was.. not that good. It definitely functioned as a logo, but the yellow part of it looked ugly (sorry old logo).

v2.1.2 Release

The release with full changelogs and prebuilt binaries can be seen at the v2.1.2 tag. +This release reverts the April Fool’s code additions in v2.1.1. It is functionally equal to v2.1.0. Nice! +A real release will come possibly in a few days or next week, so stay tuned for the good and feature-filled release of v2.2!

v2.1.1 Release

The release with full changelogs and prebuilt binaries can be seen at the v2.1.1 tag. +Welcome to a fresh new release of Hilbish! Some people (or none) may be awaiting the long coming v2.2 release with lots of features, but I needed to push out this little bug fix (wink) release. +Bug Fixes Validation checks for command input When running this version, you may have noticed an odd message that sometimes comes up when running commands.

v2.1 Release

The release with full changelogs and prebuilt binaries can be seen at the v2.1.0 tag. +Oh look! A new release of Hilbish! This time is the v2.1 release, with a small amount of features and mainly documentation changes and bug fixes. +Documentation There have been a few documentation enhancements for this release. This includes: +Adding the return types for all functions that need them Documenting Hilbish types like job objects and timers properly.

Hilbish v2.0 Release

Hilbish v2.0 has been released! Well actually, it was released a week ago, but I only wrote this Hilbish blog after that. +This is a big release, coming 9 months after the previous v1.2.0 and featuring over 40+ bug fixes and tons of new features and enhancements, so let’s see what is in this release. +Documentation When querying about the problems people have with Hilbish, one of the issues was its poor documentation.

Install

Steps on how to install Hilbish on all the OSes and distros supported.

Welcome to the Hilbish blog

Hello! Welcome to the Hilbish blog. This will mainly contain release announcements and some other things relating to Hilbish (development).

\ No newline at end of file diff --git a/versions/native-modules/categories/index.xml b/versions/native-modules/categories/index.xml new file mode 100644 index 0000000..a257818 --- /dev/null +++ b/versions/native-modules/categories/index.xml @@ -0,0 +1 @@ +Categories on Hilbishhttps://rosettea.github.io/Hilbish/versions/native-modules/categories/Recent content in Categories on HilbishHugo -- gohugo.ioen-us \ No newline at end of file diff --git a/versions/native-modules/default.png b/versions/native-modules/default.png new file mode 100644 index 0000000..d2cb2c6 Binary files /dev/null and b/versions/native-modules/default.png differ diff --git a/versions/native-modules/docs/api/bait/index.html b/versions/native-modules/docs/api/bait/index.html new file mode 100644 index 0000000..27a410a --- /dev/null +++ b/versions/native-modules/docs/api/bait/index.html @@ -0,0 +1,17 @@ +Module bait — Hilbish +

Module bait

the event emitter

Introduction +

Bait is the event emitter for Hilbish. Why name it bait? Why not. +It throws hooks that you can catch. This is what you will use if +you want to listen in on hooks to know when certain things have +happened, like when you’ve changed directory, a command has failed, +etc. To find all available hooks thrown by Hilbish, see doc hooks.

Functions +

catch(name, cb) +

Catches a hook with name. Runs the cb when it is thrown

catchOnce(name, cb) +

Same as catch, but only runs the cb once and then removes the hook

hooks(name) -> table +

Returns a table with hooks (callback functions) on the event with name.

release(name, catcher) +

Removes the catcher for the event with name. +For this to work, catcher has to be the same function used to catch +an event, like one saved to a variable.

throw(name, …args) +

Throws a hook with name with the provided args

\ No newline at end of file diff --git a/versions/native-modules/docs/api/commander/index.html b/versions/native-modules/docs/api/commander/index.html new file mode 100644 index 0000000..d01fcff --- /dev/null +++ b/versions/native-modules/docs/api/commander/index.html @@ -0,0 +1,23 @@ +Module commander — Hilbish +

Module commander

library for custom commands

Introduction +

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?

The sinks parameter is a table with 3 keys: in, out, +and err. The values of these is a Sink.

  • 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.

Functions +

deregister(name) +

Deregisters any command registered with name

register(name, cb) +

Register a command with name that runs cb when ran

\ No newline at end of file diff --git a/versions/native-modules/docs/api/fs/index.html b/versions/native-modules/docs/api/fs/index.html new file mode 100644 index 0000000..7d8d648 --- /dev/null +++ b/versions/native-modules/docs/api/fs/index.html @@ -0,0 +1,26 @@ +Module fs — Hilbish +

Module fs

filesystem interaction and functionality library

Introduction +

The fs module provides easy and simple access to filesystem functions +and other things, and acts an addition to the Lua standard library’s +I/O and filesystem functions.

Functions +

abs(path) -> string +

Gives an absolute version of path.

basename(path) -> string +

Gives the basename of path. For the rules, +see Go’s filepath.Base

cd(dir) +

Changes directory to dir

dir(path) -> string +

Returns the directory part of path. For the rules, see Go’s +filepath.Dir

glob(pattern) -> matches (table) +

Glob all files and directories that match the pattern. +For the rules, see Go’s filepath.Glob

join(…) -> string +

Takes paths and joins them together with the OS’s +directory separator (forward or backward slash).

mkdir(name, recursive) +

Makes a directory called name. If recursive is true, it will create its parent directories.

readdir(dir) -> +

Returns a table of files in dir.

stat(path) -> +

Returns a table of info about the path. +It contains the following keys: +name (string) - Name of the path +size (number) - Size of the path +mode (string) - Permission mode in an octal format string (with leading 0) +isDir (boolean) - If the path is a directory

\ No newline at end of file diff --git a/versions/native-modules/docs/api/hilbish/hilbish.aliases/index.html b/versions/native-modules/docs/api/hilbish/hilbish.aliases/index.html new file mode 100644 index 0000000..26a3e45 --- /dev/null +++ b/versions/native-modules/docs/api/hilbish/hilbish.aliases/index.html @@ -0,0 +1,10 @@ +Interface hilbish.aliases — Hilbish +

Interface hilbish.aliases

command aliasing

Introduction +

The alias interface deals with all command aliases in Hilbish.

Functions +

add(alias, cmd) +

This is an alias (ha) for the hilbish.alias function.

delete(name) +

Removes an alias.

list() -> table<string, string> +

Get a table of all aliases, with string keys as the alias and the value as the command.

resolve(alias) -> command (string) +

Tries to resolve an alias to its command.

\ No newline at end of file diff --git a/versions/native-modules/docs/api/hilbish/hilbish.completions/index.html b/versions/native-modules/docs/api/hilbish/hilbish.completions/index.html new file mode 100644 index 0000000..3cf6cfd --- /dev/null +++ b/versions/native-modules/docs/api/hilbish/hilbish.completions/index.html @@ -0,0 +1,14 @@ +Interface hilbish.completions — Hilbish +

Interface hilbish.completions

tab completions

Introduction +

The completions interface deals with tab completions.

Functions +

call(name, query, ctx, fields) -> completionGroups (table), prefix (string) +

Calls a completer function. This is mainly used to call +a command completer, which will have a name in the form +of command.name, example: command.git. +You can check doc completions for info on the completionGroups return value.

handler(line, pos) +

The handler function is the callback for tab completion in Hilbish. +You can check the completions doc for more info.

bins(query, ctx, fields) -> entries (table), prefix (string) +

Returns binary/executale completion candidates based on the provided query.

files(query, ctx, fields) -> entries (table), prefix (string) +

Returns file completion candidates based on the provided query.

\ No newline at end of file diff --git a/versions/native-modules/docs/api/hilbish/hilbish.editor/index.html b/versions/native-modules/docs/api/hilbish/hilbish.editor/index.html new file mode 100644 index 0000000..d6b372e --- /dev/null +++ b/versions/native-modules/docs/api/hilbish/hilbish.editor/index.html @@ -0,0 +1,11 @@ +Interface hilbish.editor — Hilbish +

Interface hilbish.editor

interactions for Hilbish's line reader

Introduction +

The hilbish.editor interface provides functions to +directly interact with the line editor in use.

Functions +

getLine() -> string +

Returns the current input line.

getVimRegister(register) -> string +

Returns the text that is at the register.

insert(text) +

Inserts text into the line.

setVimRegister(register, text) +

Sets the vim register at register to hold the passed text.

\ No newline at end of file diff --git a/versions/native-modules/docs/api/hilbish/hilbish.history/index.html b/versions/native-modules/docs/api/hilbish/hilbish.history/index.html new file mode 100644 index 0000000..49d8434 --- /dev/null +++ b/versions/native-modules/docs/api/hilbish/hilbish.history/index.html @@ -0,0 +1,13 @@ +Interface hilbish.history — Hilbish +

Interface hilbish.history

command history

Introduction +

The history interface deals with command history. +This includes the ability to override functions to change the main +method of saving history.

Functions +

add(cmd) +

Adds a command to the history.

all() -> table +

Retrieves all history.

clear() +

Deletes all commands from the history.

get(idx) +

Retrieves a command from the history based on the idx.

size() -> number +

Returns the amount of commands in the history.

\ No newline at end of file diff --git a/versions/native-modules/docs/api/hilbish/hilbish.jobs/index.html b/versions/native-modules/docs/api/hilbish/hilbish.jobs/index.html new file mode 100644 index 0000000..bff93f4 --- /dev/null +++ b/versions/native-modules/docs/api/hilbish/hilbish.jobs/index.html @@ -0,0 +1,21 @@ +Interface hilbish.jobs — Hilbish +

Interface hilbish.jobs

background job management

Introduction +

Manage interactive jobs in Hilbish via Lua.

Jobs are the name of background tasks/commands. A job can be started via +interactive usage or with the functions defined below for use in external runners.

Functions +

add(cmdstr, args, execPath) +

Adds a new job to the job table. Note that this does not immediately run it.

all() -> table<Job> +

Returns a table of all job objects.

disown(id) +

Disowns a job. This deletes it from the job table.

get(id) -> Job +

Get a job object via its ID.

last() -> Job +

Returns the last added job from the table.

Types +

Job +

The Job type describes a Hilbish job.

Properties +

  • cmd: The user entered command string for the job.
  • running: Whether the job is running or not.
  • id: The ID of the job in the job table
  • pid: The Process ID
  • exitCode: The last exit code of the job.
  • stdout: The standard output of the job. This just means the normal logs of the process.
  • stderr: The standard error stream of the process. This (usually) includes error messages of the job.

Methods +

background() +

Puts a job in the background. This acts the same as initially running a job.

foreground() +

Puts a job in the foreground. This will cause it to run like it was +executed normally and wait for it to complete.

start() +

Starts running the job.

stop() +

Stops the job from running.

\ No newline at end of file diff --git a/versions/native-modules/docs/api/hilbish/hilbish.os/index.html b/versions/native-modules/docs/api/hilbish/hilbish.os/index.html new file mode 100644 index 0000000..9b14b4b --- /dev/null +++ b/versions/native-modules/docs/api/hilbish/hilbish.os/index.html @@ -0,0 +1,8 @@ +Interface hilbish.os — Hilbish +

Interface hilbish.os

OS Info

Introduction +

The os interface provides simple text information properties about +the current OS on the systen. This mainly includes the name and +version.

Interface fields +

  • family: Family name of the current OS
  • name: Pretty name of the current OS
  • version: Version of the current OS
\ No newline at end of file diff --git a/versions/native-modules/docs/api/hilbish/hilbish.runner/index.html b/versions/native-modules/docs/api/hilbish/hilbish.runner/index.html new file mode 100644 index 0000000..1758705 --- /dev/null +++ b/versions/native-modules/docs/api/hilbish/hilbish.runner/index.html @@ -0,0 +1,18 @@ +Interface hilbish.runner — Hilbish +

Interface hilbish.runner

interactive command runner customization

Introduction +

The runner interface contains functions that allow the user to change +how Hilbish interprets interactive input. +Users can add and change the default runner for interactive input to any +language or script of their choosing. A good example is using it to +write command in Fennel.

Functions +

setMode(cb) +

This is the same as the hilbish.runnerMode function. It takes a callback, +which will be used to execute all interactive input. +In normal cases, neither callbacks should be overrided by the user, +as the higher level functions listed below this will handle it.

lua(cmd) +

Evaluates cmd as Lua input. This is the same as using dofile +or load, but is appropriated for the runner interface.

sh(cmd) +

Runs a command in Hilbish’s shell script interpreter. +This is the equivalent of using source.

\ No newline at end of file diff --git a/versions/native-modules/docs/api/hilbish/hilbish.timers/index.html b/versions/native-modules/docs/api/hilbish/hilbish.timers/index.html new file mode 100644 index 0000000..53da934 --- /dev/null +++ b/versions/native-modules/docs/api/hilbish/hilbish.timers/index.html @@ -0,0 +1,27 @@ +Interface hilbish.timers — Hilbish +

Interface hilbish.timers

timeout and interval API

Introduction +

If you ever want to run a piece of code on a timed interval, or want to wait +a few seconds, you don’t have to rely on timing tricks, as Hilbish has a +timer API to set intervals and timeouts.

These are the simple functions hilbish.interval and hilbish.timeout (doc +accessible with doc hilbish). But if you want slightly more control over +them, there is the hilbish.timers interface. It allows you to get +a timer via ID and control them.

All functions documented with the Timer type refer to a Timer object.

An example of usage:

local t = hilbish.timers.create(hilbish.timers.TIMEOUT, 5000, function()
+	print 'hello!'
+end)
+
+t:start()
+print(t.running) // true
+

Interface fields +

  • INTERVAL: Constant for an interval timer type
  • TIMEOUT: Constant for a timeout timer type

Functions +

create(type, time, callback) -> Timer +

Creates a timer that runs based on the specified time in milliseconds. +The type can either be hilbish.timers.INTERVAL or hilbish.timers.TIMEOUT

get(id) -> Timer +

Retrieves a timer via its ID.

Types +

Timer +

The Job type describes a Hilbish timer.

Properties +

  • type: What type of timer it is
  • running: If the timer is running
  • duration: The duration in milliseconds that the timer will run

Methods +

start() +

Starts a timer.

stop() +

Stops a timer.

\ No newline at end of file diff --git a/versions/native-modules/docs/api/hilbish/hilbish.userdir/index.html b/versions/native-modules/docs/api/hilbish/hilbish.userdir/index.html new file mode 100644 index 0000000..f5257a3 --- /dev/null +++ b/versions/native-modules/docs/api/hilbish/hilbish.userdir/index.html @@ -0,0 +1,8 @@ +Interface hilbish.userDir — Hilbish +

Interface hilbish.userDir

user-related directories

Introduction +

This interface just contains properties to know about certain user directories. +It is equivalent to XDG on Linux and gets the user’s preferred directories +for configs and data.

Interface fields +

  • config: The user’s config directory
  • data: The user’s directory for program data
\ No newline at end of file diff --git a/versions/native-modules/docs/api/hilbish/index.html b/versions/native-modules/docs/api/hilbish/index.html new file mode 100644 index 0000000..4e91eb8 --- /dev/null +++ b/versions/native-modules/docs/api/hilbish/index.html @@ -0,0 +1,68 @@ +Module hilbish — Hilbish +

Module hilbish

the core Hilbish API

Introduction +

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

Interface fields +

  • ver: The version of Hilbish
  • goVersion: The version of Go that Hilbish was compiled with
  • user: Username of the user
  • host: Hostname of the machine
  • dataDir: Directory for Hilbish data files, including the docs and default modules
  • interactive: Is Hilbish in an interactive shell?
  • login: Is Hilbish the login shell?
  • vimMode: Current Vim input mode of Hilbish (will be nil if not in Vim input mode)
  • exitCode: xit code of the last executed command

Functions +

alias(cmd, orig) +

Sets an alias of cmd to orig

appendPath(dir) +

Appends dir to $PATH

complete(scope, cb) +

Registers a completion handler for scope. +A scope is currently only expected to be command.<cmd>, +replacing with the name of the command (for example command.git). +cb must be a function that returns a table of “completion groups.” +Check doc completions for more information.

cwd() -> string +

Returns the current directory of the shell

exec(cmd) +

Replaces running hilbish with cmd

goro(fn) +

Puts fn in a goroutine

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. +Example:

function hilbish.highlighter(line)
+   return line:gsub('"%w+"', function(c) return lunacolors.green(c) end)
+end
+

This code will highlight all double quoted strings in green.

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.

inputMode(mode) +

Sets the input mode for Hilbish’s line reader. Accepts either emacs or vim

interval(cb, time) -> Timer +

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

multiprompt(str) +

Changes the continued line prompt to str

prependPath(dir) +

Prepends dir to $PATH

prompt(str, typ) +

Changes the shell prompt to str +There are a few verbs that can be used in the prompt text. +These will be formatted and replaced with the appropriate values. +%d - Current working directory +%u - Name of current user +%h - Hostname of device

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)

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

Runs cmd in Hilbish’s sh interpreter. +If returnOut is true, the outputs of cmd will be returned as the 2nd and +3rd values instead of being outputted to the terminal.

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.

timeout(cb, time) -> Timer +

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

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.

Types +

Sink +

A sink is a structure that has input and/or output to/from +a desination.

Methods +

autoFlush(auto) +

Sets/toggles the option of automatically flushing output. +A call with no argument will toggle the value.

flush() +

Flush writes all buffered input to the sink.

read() -> string +

Reads input from the sink.

write(str) +

Writes data to a sink.

writeln(str) +

Writes data to a sink with a newline at the end.

\ No newline at end of file diff --git a/versions/native-modules/docs/api/hilbish/index.xml b/versions/native-modules/docs/api/hilbish/index.xml new file mode 100644 index 0000000..f9449e1 --- /dev/null +++ b/versions/native-modules/docs/api/hilbish/index.xml @@ -0,0 +1,24 @@ +Module hilbish on Hilbishhttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/Recent content in Module hilbish on HilbishHugo -- gohugo.ioen-usInterface hilbish.aliaseshttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.aliases/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.aliases/Introduction The alias interface deals with all command aliases in Hilbish. +Functions add(alias, cmd) This is an alias (ha) for the hilbish.alias function. +delete(name) Removes an alias. +list() -&gt; table&lt;string, string&gt; Get a table of all aliases, with string keys as the alias and the value as the command. +resolve(alias) -&gt; command (string) Tries to resolve an alias to its command.Interface hilbish.completionshttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.completions/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.completions/Introduction The completions interface deals with tab completions. +Functions call(name, query, ctx, fields) -&gt; completionGroups (table), prefix (string) Calls a completer function. This is mainly used to call a command completer, which will have a name in the form of command.name, example: command.git. You can check doc completions for info on the completionGroups return value. +handler(line, pos) The handler function is the callback for tab completion in Hilbish. You can check the completions doc for more info.Interface hilbish.editorhttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.editor/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.editor/Introduction The hilbish.editor interface provides functions to directly interact with the line editor in use. +Functions getLine() -&gt; string Returns the current input line. +getVimRegister(register) -&gt; string Returns the text that is at the register. +insert(text) Inserts text into the line. +setVimRegister(register, text) Sets the vim register at register to hold the passed text.Interface hilbish.historyhttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.history/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.history/Introduction The history interface deals with command history. This includes the ability to override functions to change the main method of saving history. +Functions add(cmd) Adds a command to the history. +all() -&gt; table Retrieves all history. +clear() Deletes all commands from the history. +get(idx) Retrieves a command from the history based on the idx. +size() -&gt; number Returns the amount of commands in the history.Interface hilbish.jobshttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.jobs/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.jobs/Introduction Manage interactive jobs in Hilbish via Lua. +Jobs are the name of background tasks/commands. A job can be started via interactive usage or with the functions defined below for use in external runners. +Functions add(cmdstr, args, execPath) Adds a new job to the job table. Note that this does not immediately run it. +all() -&gt; table&lt;Job&gt; Returns a table of all job objects. +disown(id) Disowns a job. This deletes it from the job table.Interface hilbish.oshttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.os/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.os/ Introduction The os interface provides simple text information properties about the current OS on the systen. This mainly includes the name and version. +Interface fields family: Family name of the current OS name: Pretty name of the current OS version: Version of the current OSInterface hilbish.runnerhttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.runner/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.runner/Introduction The runner interface contains functions that allow the user to change how Hilbish interprets interactive input. Users can add and change the default runner for interactive input to any language or script of their choosing. A good example is using it to write command in Fennel. +Functions setMode(cb) This is the same as the hilbish.runnerMode function. It takes a callback, which will be used to execute all interactive input.Interface hilbish.timershttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.timers/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.timers/Introduction If you ever want to run a piece of code on a timed interval, or want to wait a few seconds, you don&rsquo;t have to rely on timing tricks, as Hilbish has a timer API to set intervals and timeouts. +These are the simple functions hilbish.interval and hilbish.timeout (doc accessible with doc hilbish). But if you want slightly more control over them, there is the hilbish.timers interface. It allows you to get a timer via ID and control them.Interface hilbish.userDirhttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.userdir/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.userdir/ Introduction This interface just contains properties to know about certain user directories. It is equivalent to XDG on Linux and gets the user&rsquo;s preferred directories for configs and data. +Interface fields config: The user&rsquo;s config directory data: The user&rsquo;s directory for program data \ No newline at end of file diff --git a/versions/native-modules/docs/api/index.html b/versions/native-modules/docs/api/index.html new file mode 100644 index 0000000..b2ed9c8 --- /dev/null +++ b/versions/native-modules/docs/api/index.html @@ -0,0 +1,5 @@ +API — Hilbish +

API

Welcome to the API documentation for Hilbish. This documents Lua functions +provided by Hilbish.

\ No newline at end of file diff --git a/versions/native-modules/docs/api/index.xml b/versions/native-modules/docs/api/index.xml new file mode 100644 index 0000000..ad268a9 --- /dev/null +++ b/versions/native-modules/docs/api/index.xml @@ -0,0 +1,11 @@ +API on Hilbishhttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/Recent content in API on HilbishHugo -- gohugo.ioen-usModule baithttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/bait/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/bait/Introduction Bait is the event emitter for Hilbish. Why name it bait? Why not. It throws hooks that you can catch. This is what you will use if you want to listen in on hooks to know when certain things have happened, like when you&rsquo;ve changed directory, a command has failed, etc. To find all available hooks thrown by Hilbish, see doc hooks. +Functions catch(name, cb) Catches a hook with name.Module commanderhttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/commander/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/commander/Introduction 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 &#39;commander&#39; commander.register(&#39;hello&#39;, function(args, sinks) sinks.out:writeln &#39;Hello world!&#39; end) In this example, a command with the name of hello is created that will print Hello world!Module fshttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/fs/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/fs/Introduction The fs module provides easy and simple access to filesystem functions and other things, and acts an addition to the Lua standard library&rsquo;s I/O and filesystem functions. +Functions abs(path) -&gt; string Gives an absolute version of path. +basename(path) -&gt; string Gives the basename of path. For the rules, see Go&rsquo;s filepath.Base +cd(dir) Changes directory to dir +dir(path) -&gt; string Returns the directory part of path. For the rules, see Go&rsquo;s filepath.Module terminalhttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/terminal/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/terminal/Introduction The terminal library is a simple and lower level library for certain terminal interactions. +Functions restoreState() Restores the last saved state of the terminal +saveState() Saves the current state of the terminal +setRaw() Puts the terminal in raw mode +size() Gets the dimensions of the terminal. Returns a table with width and height Note: this is not the size in relation to the dimensions of the display \ No newline at end of file diff --git a/versions/native-modules/docs/api/terminal/index.html b/versions/native-modules/docs/api/terminal/index.html new file mode 100644 index 0000000..5e266d2 --- /dev/null +++ b/versions/native-modules/docs/api/terminal/index.html @@ -0,0 +1,11 @@ +Module terminal — Hilbish +

Module terminal

low level terminal library

Introduction +

The terminal library is a simple and lower level library for certain terminal interactions.

Functions +

restoreState() +

Restores the last saved state of the terminal

saveState() +

Saves the current state of the terminal

setRaw() +

Puts the terminal in raw mode

size() +

Gets the dimensions of the terminal. Returns a table with width and height +Note: this is not the size in relation to the dimensions of the display

\ No newline at end of file diff --git a/versions/native-modules/docs/faq/index.html b/versions/native-modules/docs/faq/index.html new file mode 100644 index 0000000..b8eb2fb --- /dev/null +++ b/versions/native-modules/docs/faq/index.html @@ -0,0 +1,20 @@ +Frequently Asked Questions — Hilbish +

Frequently Asked Questions

Last updated Dec 20, 2022

Is Hilbish POSIX compliant? +

No, it is not. POSIX compliance is a non-goal. Perhaps in the future, +someone would be able to write a native plugin to support shell scripting +(which would be against it’s main goal, but ….)

Windows Support? +

It compiles for Windows (CI ensures it does), but otherwise it is not +directly supported. If you’d like to improve this situation, +checkout the discussion +.

Where is the API documentation? +

The builtin doc command supplies all documentation of Hilbish provided +APIs. You can also check the sidebar.

Why? +

Hilbish emerged from the desire of a Lua configured shell. +It was the initial reason that it was created, but now it’s more: +to be hyper extensible, simpler and more user friendly.

\ No newline at end of file diff --git a/versions/native-modules/docs/features/index.html b/versions/native-modules/docs/features/index.html new file mode 100644 index 0000000..fe56755 --- /dev/null +++ b/versions/native-modules/docs/features/index.html @@ -0,0 +1,7 @@ +Features — Hilbish +

Features

Last updated Apr 14, 2023

Hilbish has a wide range of features to enhance the user’s experience +new ones are always being added. If there is something missing here or +something you would like to see, please start a discussion +or comment on any existing ones which match your request.

\ No newline at end of file diff --git a/versions/native-modules/docs/features/index.xml b/versions/native-modules/docs/features/index.xml new file mode 100644 index 0000000..a2c8d69 --- /dev/null +++ b/versions/native-modules/docs/features/index.xml @@ -0,0 +1,4 @@ +Features on Hilbishhttps://rosettea.github.io/Hilbish/versions/native-modules/docs/features/Recent content in Features on HilbishHugo -- gohugo.ioen-usNotificationhttps://rosettea.github.io/Hilbish/versions/native-modules/docs/features/notifications/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/features/notifications/Hilbish features a simple notification system which can be used by other plugins and parts of the shell to notify the user of various actions. This is used via the hilbish.message interface. +A message is defined as a table with the following properties: +icon: A unicode/emoji icon for the notification. title: The title of the message text: Message text/body channel: The source of the message. This should be a unique and easily readable text identifier.Runner Modehttps://rosettea.github.io/Hilbish/versions/native-modules/docs/features/runner-mode/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/features/runner-mode/Hilbish allows you to change how interactive text can be interpreted. This is mainly due to the fact that the default method Hilbish uses is that it runs Lua first and then falls back to shell script. +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. \ No newline at end of file diff --git a/versions/native-modules/docs/features/notifications/index.html b/versions/native-modules/docs/features/notifications/index.html new file mode 100644 index 0000000..96f06b2 --- /dev/null +++ b/versions/native-modules/docs/features/notifications/index.html @@ -0,0 +1,15 @@ +Notification — Hilbish +

Notification

Last updated Jul 10, 2023
Get notified of shell actions.

Hilbish features a simple notification system which can be +used by other plugins and parts of the shell to notify the user +of various actions. This is used via the hilbish.message interface.

A message is defined as a table with the following properties:

  • icon: A unicode/emoji icon for the notification.
  • title: The title of the message
  • text: Message text/body
  • channel: The source of the message. This should be a +unique and easily readable text identifier.
  • summary: A short summary of the notification and message. +If this is not present and you are using this to display messages, +you should take part of the text instead.

The hilbish.message interface provides the following functions:

  • send(message): Sends a message and emits the hilbish.notification +signal. DO NOT emit the hilbish.notification signal directly, or +the message will not be stored by the message handler.
  • read(idx): Marks message at idx as read.
  • delete(idx): Removes message at idx.
  • readAll(): Marks all messages as read.
  • clear(): Deletes all messages.

There are a few simple use cases of this notification/messaging system. +It could also be used as some “inter-shell” messaging system (???) but +is intended to display to users.

An example is notifying users of completed jobs/commands ran in the background. +Any Hilbish-native command (think the upcoming Greenhouse pager) can display +it.

\ No newline at end of file diff --git a/versions/native-modules/docs/features/runner-mode/index.html b/versions/native-modules/docs/features/runner-mode/index.html new file mode 100644 index 0000000..cabab51 --- /dev/null +++ b/versions/native-modules/docs/features/runner-mode/index.html @@ -0,0 +1,11 @@ +Runner Mode — Hilbish +

Runner Mode

Last updated Apr 14, 2023
Customize the interactive script/command runner.

Hilbish allows you to change how interactive text can be interpreted. +This is mainly due to the fact that the default method Hilbish uses +is that it runs Lua first and then falls back to shell script.

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.

Runner mode can also be used to handle specific kinds of input before +evaluating like normal, which is how Link.hsh +handles links.

\ No newline at end of file diff --git a/versions/native-modules/docs/getting-started/index.html b/versions/native-modules/docs/getting-started/index.html new file mode 100644 index 0000000..9c9bfaf --- /dev/null +++ b/versions/native-modules/docs/getting-started/index.html @@ -0,0 +1,32 @@ +Getting Started — Hilbish +

Getting Started

Last updated Apr 14, 2023

To start Hilbish, open a terminal. If Hilbish has been installed and is not the +default shell, you can simply run hilbish to start it. This will launch +a normal interactive session. +To exit, you can either run the exit command or hit Ctrl+D.

Setting as Default +

Login shell +

There are a few ways to make Hilbish your default shell. A simple way is +to make it your user/login shell.

To do that, simply run chsh -s /usr/bin/hilbish. +Some distros (namely Fedora) might have lchsh instead, which is used like lchsh <user>. +When prompted, you can put the path for Hilbish.

Default with terminal +

The simpler way is to set the default shell for your terminal. The way of +doing this depends on how your terminal settings are configured.

Run after login shell +

Some shells (like zsh) have an rc file, like .zlogin, which is ran when the shell session +is a login shell. In that file, you can run Hilbish. Example:

exec hilbish -S -l
+

This will replace the shell with Hilbish, set $SHELL to Hilbish and launch it as a login shell.

Configuration +

Once installation and setup has been done, you can then configure Hilbish. +It is configured and scripted via Lua, so the config file is a Lua file. +You can use any pure Lua library to do whatever you want.

Hilbish’s sample configuration is usually located in hilbish.dataDir .. '/.hilbishrc.lua'. +You can print that path via Lua to see what it is: print(hilbish.dataDir .. '/.hilbishrc.lua'). +As an example, it will usually will result in /usr/share/hilbish/.hilbishrc.lua on Linux.

To edit your user configuration, you can copy that file to hilbish.userDir.config .. '/hilbish/init.lua', +which follows XDG on Linux and MacOS, and is located in %APPDATA% on Windows.

As the directory is usually ~/.config on Linux, you can run this command to copy it:
cp /usr/share/hilbish/.hilbishrc.lua ~/.config/hilbish/init.lua

Now you can get to editing it. Since it’s just a Lua file, having basic +knowledge of Lua would help. All of Lua’s standard libraries and functions +from Lua 5.4 are available. Hilbish has some custom and modules that are +available. To see them, you can run the doc command. This also works as +general documentation for other things.

\ No newline at end of file diff --git a/versions/native-modules/docs/index.html b/versions/native-modules/docs/index.html new file mode 100644 index 0000000..cf07642 --- /dev/null +++ b/versions/native-modules/docs/index.html @@ -0,0 +1,9 @@ +Introduction — Hilbish +

Introduction

Last updated Dec 20, 2022

Hilbish is a hyper-extensible shell mainly intended for interactive use. +To enhance the interactive experience, Hilbish comes with a wide range +of features and sane defaults, including a nice looking prompt, +advanced completion menus and history search.

Here documents some of the features of Hilbish and the Lua API.

\ No newline at end of file diff --git a/versions/native-modules/docs/index.xml b/versions/native-modules/docs/index.xml new file mode 100644 index 0000000..cfd0669 --- /dev/null +++ b/versions/native-modules/docs/index.xml @@ -0,0 +1,4 @@ +Introduction on Hilbishhttps://rosettea.github.io/Hilbish/versions/native-modules/docs/Recent content in Introduction on HilbishHugo -- gohugo.ioen-usFrequently Asked Questionshttps://rosettea.github.io/Hilbish/versions/native-modules/docs/faq/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/faq/Is Hilbish POSIX compliant? No, it is not. POSIX compliance is a non-goal. Perhaps in the future, someone would be able to write a native plugin to support shell scripting (which would be against it&rsquo;s main goal, but &hellip;.) +Windows Support? It compiles for Windows (CI ensures it does), but otherwise it is not directly supported. If you&rsquo;d like to improve this situation, checkout the discussion . +Where is the API documentation?Getting Startedhttps://rosettea.github.io/Hilbish/versions/native-modules/docs/getting-started/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/getting-started/To start Hilbish, open a terminal. If Hilbish has been installed and is not the default shell, you can simply run hilbish to start it. This will launch a normal interactive session. To exit, you can either run the exit command or hit Ctrl+D. +Setting as Default Login shell There are a few ways to make Hilbish your default shell. A simple way is to make it your user/login shell. \ No newline at end of file diff --git a/versions/native-modules/hilbish-flower.png b/versions/native-modules/hilbish-flower.png new file mode 100644 index 0000000..866e57e Binary files /dev/null and b/versions/native-modules/hilbish-flower.png differ diff --git a/versions/native-modules/hilbish-logo-and-text.png b/versions/native-modules/hilbish-logo-and-text.png new file mode 100644 index 0000000..325034c Binary files /dev/null and b/versions/native-modules/hilbish-logo-and-text.png differ diff --git a/versions/native-modules/index.html b/versions/native-modules/index.html new file mode 100644 index 0000000..b9f766f --- /dev/null +++ b/versions/native-modules/index.html @@ -0,0 +1,15 @@ +Hilbish +

Something Unique.

🌺 Hilbish is the new Moon-powered interactive shell for Lua fans!
Extensible, scriptable, configurable: All in Lua. ✨

Install +GitHub

Simple and Easy Scripting

Hilbish is configured and scripted in the Lua programming language. +This removes all the old, ugly things about Shell script and introduces +everything good about Lua, including other languages (Moonscript & Fennel). +

History and Completion Menus

Hilbish provides the user with proper menus for completions, +history searching. Want to see your previous commands? Hit Ctrl-R.

Tons of Features, and More to Come

Hilbish offers a bunch of features to make your interactive +shell experience rich. Things like syntax highlighting and hinting +available via the Lua API.

* Command hints shown in photo are not default.


Screenshots


Why not just Lua?

Hilbish is your interactive shell as well as a just a Lua interpreter +and enhanced REPL.


Try It Today!

Hilbish is known to run on the 3 major platforms (Windows, MacOS, Linux) +but likely builds on other Unixes! Windows doesn't work as well as it should, +so if you're a Windows user, +say something!

\ No newline at end of file diff --git a/versions/native-modules/index.xml b/versions/native-modules/index.xml new file mode 100644 index 0000000..8e161ea --- /dev/null +++ b/versions/native-modules/index.xml @@ -0,0 +1,53 @@ +Hilbishhttps://rosettea.github.io/Hilbish/versions/native-modules/Recent content on HilbishHugo -- gohugo.ioen-usFrequently Asked Questionshttps://rosettea.github.io/Hilbish/versions/native-modules/docs/faq/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/faq/Is Hilbish POSIX compliant? No, it is not. POSIX compliance is a non-goal. Perhaps in the future, someone would be able to write a native plugin to support shell scripting (which would be against it&rsquo;s main goal, but &hellip;.) +Windows Support? It compiles for Windows (CI ensures it does), but otherwise it is not directly supported. If you&rsquo;d like to improve this situation, checkout the discussion . +Where is the API documentation?Getting Startedhttps://rosettea.github.io/Hilbish/versions/native-modules/docs/getting-started/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/getting-started/To start Hilbish, open a terminal. If Hilbish has been installed and is not the default shell, you can simply run hilbish to start it. This will launch a normal interactive session. To exit, you can either run the exit command or hit Ctrl+D. +Setting as Default Login shell There are a few ways to make Hilbish your default shell. A simple way is to make it your user/login shell.Improving Hilbish's Brandinghttps://rosettea.github.io/Hilbish/versions/native-modules/blog/improving-this-website/Thu, 13 Apr 2023 22:15:31 -0400https://rosettea.github.io/Hilbish/versions/native-modules/blog/improving-this-website/Happy birthday Hilbish! As of last month, Hilbish is now 2 years old. Unfortunately I missed the official date, but I will still make a more focused post on the date (19st). +I decided to fix up this website and Hilbish&rsquo;s logo, so that can be thought of as something for the 2 years milestone? +Logo Hilbish&rsquo;s old logo was.. not that good. It definitely functioned as a logo, but the yellow part of it looked ugly (sorry old logo).v2.1.2 Releasehttps://rosettea.github.io/Hilbish/versions/native-modules/blog/v2.1.2-release/Mon, 10 Apr 2023 12:27:41 -0400https://rosettea.github.io/Hilbish/versions/native-modules/blog/v2.1.2-release/The release with full changelogs and prebuilt binaries can be seen at the v2.1.2 tag. +This release reverts the April Fool&rsquo;s code additions in v2.1.1. It is functionally equal to v2.1.0. Nice! +A real release will come possibly in a few days or next week, so stay tuned for the good and feature-filled release of v2.2!v2.1.1 Releasehttps://rosettea.github.io/Hilbish/versions/native-modules/blog/v2.1.1-release/Sat, 01 Apr 2023 18:15:42 -0400https://rosettea.github.io/Hilbish/versions/native-modules/blog/v2.1.1-release/The release with full changelogs and prebuilt binaries can be seen at the v2.1.1 tag. +Welcome to a fresh new release of Hilbish! Some people (or none) may be awaiting the long coming v2.2 release with lots of features, but I needed to push out this little bug fix (wink) release. +Bug Fixes Validation checks for command input When running this version, you may have noticed an odd message that sometimes comes up when running commands.v2.1 Releasehttps://rosettea.github.io/Hilbish/versions/native-modules/blog/v2.1-release/Tue, 07 Feb 2023 18:25:38 -0400https://rosettea.github.io/Hilbish/versions/native-modules/blog/v2.1-release/The release with full changelogs and prebuilt binaries can be seen at the v2.1.0 tag. +Oh look! A new release of Hilbish! This time is the v2.1 release, with a small amount of features and mainly documentation changes and bug fixes. +Documentation There have been a few documentation enhancements for this release. This includes: +Adding the return types for all functions that need them Documenting Hilbish types like job objects and timers properly.Hilbish v2.0 Releasehttps://rosettea.github.io/Hilbish/versions/native-modules/blog/v2.0-release/Thu, 29 Dec 2022 01:55:21 +0000https://rosettea.github.io/Hilbish/versions/native-modules/blog/v2.0-release/Hilbish v2.0 has been released! Well actually, it was released a week ago, but I only wrote this Hilbish blog after that. +This is a big release, coming 9 months after the previous v1.2.0 and featuring over 40+ bug fixes and tons of new features and enhancements, so let&rsquo;s see what is in this release. +Documentation When querying about the problems people have with Hilbish, one of the issues was its poor documentation.Installhttps://rosettea.github.io/Hilbish/versions/native-modules/install/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/install/Official Binaries The best way to get Hilbish is to get a build directly from GitHub. 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 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 Compiling To read the steps for compiling Hilbish, head over to the GitHub repository.Interface hilbish.aliaseshttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.aliases/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.aliases/Introduction The alias interface deals with all command aliases in Hilbish. +Functions add(alias, cmd) This is an alias (ha) for the hilbish.alias function. +delete(name) Removes an alias. +list() -&gt; table&lt;string, string&gt; Get a table of all aliases, with string keys as the alias and the value as the command. +resolve(alias) -&gt; command (string) Tries to resolve an alias to its command.Interface hilbish.completionshttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.completions/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.completions/Introduction The completions interface deals with tab completions. +Functions call(name, query, ctx, fields) -&gt; completionGroups (table), prefix (string) Calls a completer function. This is mainly used to call a command completer, which will have a name in the form of command.name, example: command.git. You can check doc completions for info on the completionGroups return value. +handler(line, pos) The handler function is the callback for tab completion in Hilbish. You can check the completions doc for more info.Interface hilbish.editorhttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.editor/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.editor/Introduction The hilbish.editor interface provides functions to directly interact with the line editor in use. +Functions getLine() -&gt; string Returns the current input line. +getVimRegister(register) -&gt; string Returns the text that is at the register. +insert(text) Inserts text into the line. +setVimRegister(register, text) Sets the vim register at register to hold the passed text.Interface hilbish.historyhttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.history/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.history/Introduction The history interface deals with command history. This includes the ability to override functions to change the main method of saving history. +Functions add(cmd) Adds a command to the history. +all() -&gt; table Retrieves all history. +clear() Deletes all commands from the history. +get(idx) Retrieves a command from the history based on the idx. +size() -&gt; number Returns the amount of commands in the history.Interface hilbish.jobshttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.jobs/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.jobs/Introduction Manage interactive jobs in Hilbish via Lua. +Jobs are the name of background tasks/commands. A job can be started via interactive usage or with the functions defined below for use in external runners. +Functions add(cmdstr, args, execPath) Adds a new job to the job table. Note that this does not immediately run it. +all() -&gt; table&lt;Job&gt; Returns a table of all job objects. +disown(id) Disowns a job. This deletes it from the job table.Interface hilbish.oshttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.os/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.os/ Introduction The os interface provides simple text information properties about the current OS on the systen. This mainly includes the name and version. +Interface fields family: Family name of the current OS name: Pretty name of the current OS version: Version of the current OSInterface hilbish.runnerhttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.runner/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.runner/Introduction The runner interface contains functions that allow the user to change how Hilbish interprets interactive input. Users can add and change the default runner for interactive input to any language or script of their choosing. A good example is using it to write command in Fennel. +Functions setMode(cb) This is the same as the hilbish.runnerMode function. It takes a callback, which will be used to execute all interactive input.Interface hilbish.timershttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.timers/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.timers/Introduction If you ever want to run a piece of code on a timed interval, or want to wait a few seconds, you don&rsquo;t have to rely on timing tricks, as Hilbish has a timer API to set intervals and timeouts. +These are the simple functions hilbish.interval and hilbish.timeout (doc accessible with doc hilbish). But if you want slightly more control over them, there is the hilbish.timers interface. It allows you to get a timer via ID and control them.Interface hilbish.userDirhttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.userdir/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.userdir/ Introduction This interface just contains properties to know about certain user directories. It is equivalent to XDG on Linux and gets the user&rsquo;s preferred directories for configs and data. +Interface fields config: The user&rsquo;s config directory data: The user&rsquo;s directory for program dataModule baithttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/bait/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/bait/Introduction Bait is the event emitter for Hilbish. Why name it bait? Why not. It throws hooks that you can catch. This is what you will use if you want to listen in on hooks to know when certain things have happened, like when you&rsquo;ve changed directory, a command has failed, etc. To find all available hooks thrown by Hilbish, see doc hooks. +Functions catch(name, cb) Catches a hook with name.Module commanderhttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/commander/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/commander/Introduction 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 &#39;commander&#39; commander.register(&#39;hello&#39;, function(args, sinks) sinks.out:writeln &#39;Hello world!&#39; end) In this example, a command with the name of hello is created that will print Hello world!Module fshttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/fs/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/fs/Introduction The fs module provides easy and simple access to filesystem functions and other things, and acts an addition to the Lua standard library&rsquo;s I/O and filesystem functions. +Functions abs(path) -&gt; string Gives an absolute version of path. +basename(path) -&gt; string Gives the basename of path. For the rules, see Go&rsquo;s filepath.Base +cd(dir) Changes directory to dir +dir(path) -&gt; string Returns the directory part of path. For the rules, see Go&rsquo;s filepath.Module terminalhttps://rosettea.github.io/Hilbish/versions/native-modules/docs/api/terminal/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/terminal/Introduction The terminal library is a simple and lower level library for certain terminal interactions. +Functions restoreState() Restores the last saved state of the terminal +saveState() Saves the current state of the terminal +setRaw() Puts the terminal in raw mode +size() Gets the dimensions of the terminal. Returns a table with width and height Note: this is not the size in relation to the dimensions of the displayNotificationhttps://rosettea.github.io/Hilbish/versions/native-modules/docs/features/notifications/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/features/notifications/Hilbish features a simple notification system which can be used by other plugins and parts of the shell to notify the user of various actions. This is used via the hilbish.message interface. +A message is defined as a table with the following properties: +icon: A unicode/emoji icon for the notification. title: The title of the message text: Message text/body channel: The source of the message. This should be a unique and easily readable text identifier.Runner Modehttps://rosettea.github.io/Hilbish/versions/native-modules/docs/features/runner-mode/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/docs/features/runner-mode/Hilbish allows you to change how interactive text can be interpreted. This is mainly due to the fact that the default method Hilbish uses is that it runs Lua first and then falls back to shell script. +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.Welcome to the Hilbish bloghttps://rosettea.github.io/Hilbish/versions/native-modules/blog/welcome/Mon, 01 Jan 0001 00:00:00 +0000https://rosettea.github.io/Hilbish/versions/native-modules/blog/welcome/Hello! Welcome to the Hilbish blog. This will mainly contain release announcements and some other things relating to Hilbish (development). \ No newline at end of file diff --git a/versions/native-modules/install/index.html b/versions/native-modules/install/index.html new file mode 100644 index 0000000..939183e --- /dev/null +++ b/versions/native-modules/install/index.html @@ -0,0 +1,23 @@ +Install — Hilbish +

Official Binaries +

The best way to get Hilbish is to get a build directly from GitHub. +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 +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

Compiling +

To read the steps for compiling Hilbish, head over to the GitHub repository.

Package Repositories +

Methods of installing Hilbish for your Linux distro.

Fedora (COPR) +

An official COPR is offered to install Hilbish easily on Fedora. +Enable the repo:

sudo dnf copr enable sammyette/Hilbish
+

And install Hilbish:

sudo dnf install hilbish
+

Or for the latest development build from master:

sudo dnf install hilbish-git
+

Arch Linux (AUR) +

Hilbish is on the AUR. Setup an AUR helper, and install. +Example with yay:

yay -S hilbish
+

Or, from master branch:

yay -S hilbish-git
+

Alpine Linux +

Hilbish is currentlty in the testing/edge repository for Alpine. +Follow the steps here +(Using testing repositories) and install:

apk add hilbish
+
\ No newline at end of file diff --git a/versions/native-modules/pillprompt.png b/versions/native-modules/pillprompt.png new file mode 100644 index 0000000..c50d675 Binary files /dev/null and b/versions/native-modules/pillprompt.png differ diff --git a/versions/native-modules/sitemap.xml b/versions/native-modules/sitemap.xml new file mode 100644 index 0000000..977fd33 --- /dev/null +++ b/versions/native-modules/sitemap.xml @@ -0,0 +1 @@ +https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/https://rosettea.github.io/Hilbish/versions/native-modules/docs/features/2023-04-14T00:24:19-04:00https://rosettea.github.io/Hilbish/versions/native-modules/docs/faq/2022-12-20T00:41:48-04:00https://rosettea.github.io/Hilbish/versions/native-modules/docs/getting-started/2023-04-14T00:04:52-04:00https://rosettea.github.io/Hilbish/versions/native-modules/docs/2022-12-20T19:42:44-04:00https://rosettea.github.io/Hilbish/versions/native-modules/blog/2023-04-14T00:04:52-04:00https://rosettea.github.io/Hilbish/versions/native-modules/blog/improving-this-website/2023-04-14T00:04:52-04:00https://rosettea.github.io/Hilbish/versions/native-modules/blog/v2.1.2-release/2023-04-10T12:38:30-04:00https://rosettea.github.io/Hilbish/versions/native-modules/blog/v2.1.1-release/2023-04-01T18:16:13-04:00https://rosettea.github.io/Hilbish/versions/native-modules/blog/v2.1-release/2023-02-10T17:11:44-04:00https://rosettea.github.io/Hilbish/versions/native-modules/blog/v2.0-release/2022-12-28T22:27:05-04:00https://rosettea.github.io/Hilbish/versions/native-modules/2023-04-14T00:04:52-04:00https://rosettea.github.io/Hilbish/versions/native-modules/categories/https://rosettea.github.io/Hilbish/versions/native-modules/install/2023-04-14T00:04:52-04:00https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.aliases/https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.completions/https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.editor/https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.history/https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.jobs/https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.os/https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.runner/https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.timers/https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/hilbish.userdir/https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/bait/https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/commander/https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/fs/https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/hilbish/https://rosettea.github.io/Hilbish/versions/native-modules/docs/api/terminal/https://rosettea.github.io/Hilbish/versions/native-modules/docs/features/notifications/2023-07-10T19:03:30-04:00https://rosettea.github.io/Hilbish/versions/native-modules/docs/features/runner-mode/2023-04-14T00:40:41-04:00https://rosettea.github.io/Hilbish/versions/native-modules/tags/https://rosettea.github.io/Hilbish/versions/native-modules/blog/welcome/2022-12-28T22:27:05-04:00 \ No newline at end of file diff --git a/versions/native-modules/tab.png b/versions/native-modules/tab.png new file mode 100644 index 0000000..409d796 Binary files /dev/null and b/versions/native-modules/tab.png differ diff --git a/versions/native-modules/tags/index.html b/versions/native-modules/tags/index.html new file mode 100644 index 0000000..a58dcb2 --- /dev/null +++ b/versions/native-modules/tags/index.html @@ -0,0 +1,15 @@ +Tags — Hilbish +
Improving Hilbish's Branding

Happy birthday Hilbish! As of last month, Hilbish is now 2 years old. Unfortunately I missed the official date, but I will still make a more focused post on the date (19st). +I decided to fix up this website and Hilbish’s logo, so that can be thought of as something for the 2 years milestone? +Logo Hilbish’s old logo was.. not that good. It definitely functioned as a logo, but the yellow part of it looked ugly (sorry old logo).

v2.1.2 Release

The release with full changelogs and prebuilt binaries can be seen at the v2.1.2 tag. +This release reverts the April Fool’s code additions in v2.1.1. It is functionally equal to v2.1.0. Nice! +A real release will come possibly in a few days or next week, so stay tuned for the good and feature-filled release of v2.2!

v2.1.1 Release

The release with full changelogs and prebuilt binaries can be seen at the v2.1.1 tag. +Welcome to a fresh new release of Hilbish! Some people (or none) may be awaiting the long coming v2.2 release with lots of features, but I needed to push out this little bug fix (wink) release. +Bug Fixes Validation checks for command input When running this version, you may have noticed an odd message that sometimes comes up when running commands.

v2.1 Release

The release with full changelogs and prebuilt binaries can be seen at the v2.1.0 tag. +Oh look! A new release of Hilbish! This time is the v2.1 release, with a small amount of features and mainly documentation changes and bug fixes. +Documentation There have been a few documentation enhancements for this release. This includes: +Adding the return types for all functions that need them Documenting Hilbish types like job objects and timers properly.

Hilbish v2.0 Release

Hilbish v2.0 has been released! Well actually, it was released a week ago, but I only wrote this Hilbish blog after that. +This is a big release, coming 9 months after the previous v1.2.0 and featuring over 40+ bug fixes and tons of new features and enhancements, so let’s see what is in this release. +Documentation When querying about the problems people have with Hilbish, one of the issues was its poor documentation.

Install

Steps on how to install Hilbish on all the OSes and distros supported.

Welcome to the Hilbish blog

Hello! Welcome to the Hilbish blog. This will mainly contain release announcements and some other things relating to Hilbish (development).

\ No newline at end of file diff --git a/versions/native-modules/tags/index.xml b/versions/native-modules/tags/index.xml new file mode 100644 index 0000000..51c74b7 --- /dev/null +++ b/versions/native-modules/tags/index.xml @@ -0,0 +1 @@ +Tags on Hilbishhttps://rosettea.github.io/Hilbish/versions/native-modules/tags/Recent content in Tags on HilbishHugo -- gohugo.ioen-us \ No newline at end of file diff --git a/versions/native-modules/terminal.png b/versions/native-modules/terminal.png new file mode 100644 index 0000000..b2ff38c Binary files /dev/null and b/versions/native-modules/terminal.png differ