Skip to content

Releases: Rosettea/Hilbish

Hilbish v2.3.2

30 Jul 23:26
0582fbd
Compare
Choose a tag to compare

Fixed

  • Command path searching due to 2.3 changes to the shell interpreter

Hilbish v2.3.1

27 Jul 18:28
ea233fa
Compare
Choose a tag to compare

hehe when you see it release

Added

  • hilbish.opts.tips was added to display random tips on start up.
    Displayed tips can be modified via the hilbish.tips table.

Fixed

  • Fix a minor regression related to the cd command not working with relative paths
  • Updated the motd for 2.3

Hilbish v2.3.0

20 Jul 14:20
cc43cb2
Compare
Choose a tag to compare

Added

  • commander.registry function to get all registered commanders.
  • fs.pipe function to get a pair of connected files (a pipe).
  • Added an alternative 2nd parameter to hilbish.run, which is streams.
    streams is a table of input and output streams to run the command with.
    It uses these 3 keys:
    • input as standard input for the command
    • out as standard output
    • err as standard error

Here is a minimal example of the new usage which allows users to now pipe commands
directly via Lua functions:

local fs = require 'fs'
local pr, pw = fs.pipe()
hilbish.run('ls -l', {
	stdout = pw,
	stderr = pw,
})

pw:close()

hilbish.run('wc -l', {
	stdin = pr
})

Changed

  • The -S flag will be set to Hilbish's absolute path
  • Hilbish now builds on any Unix (if any dependencies also work, which should.)

Fixed

  • Fix ansi attributes causing issues with text when cut off in greenhouse
  • Fix greenhouse appearing on terminal resize
  • Fix crashes when history goes out of bounds when using history navigation
  • exec command should return if no arg presented
  • Commanders can now be cancelled by Ctrl-C and wont hang the shell anymore.
    See issue 198.
  • Shell interpreter can now preserve its environment and set PWD properly.

Hilbish v2.2.3

27 Apr 14:52
5212987
Compare
Choose a tag to compare

Fixed

  • Highligher and hinter work now, since it was regressed from the previous minor release.
  • cat command no longer prints extra newline at end of each file

Added

  • cat command now reads files in chunks, allowing for reading large files

Hilbish v2.2.2

16 Apr 16:09
40c3cec
Compare
Choose a tag to compare

Fixed

  • Line refresh fixes (less flicker)
  • Do more checks for a TTY
    • Panic if ENOTTY is thrown from readline
    • use x/term function to check if a terminal

Added

  • Page Up/Down keybinds for Greenhouse will now scroll up and down the size of the region (a page)

Changed

  • Remove usage of hilbish.goro in Greenhouse.
  • Values in hilbish table are no longer protected. This means
    they can be overridden. (#287)

Hilbish v2.2.1

26 Dec 16:34
30830ed
Compare
Choose a tag to compare

Fixed

  • Removed a left over debug print
  • Recover panic in hilbish.goro

Hilbish v2.2.0

26 Dec 04:19
3128ef7
Compare
Choose a tag to compare

Added

  • Native Modules
  • Made a few additions to the sink type:
    • read() method for retrieving input (so now the in sink of commanders is useful)
    • flush() and autoFlush() related to flushing outputs
    • pipe property to check if a sink with input is a pipe (like stdin)
  • Add fuzzy search to history search (enable via hilbish.opts.fuzzy = true)
  • Show indexes on cdr list and use ~ for home directory.
  • Fix doc command not displaying correct subdocs when using shorthand api doc access (doc api hilbish.jobs as an example)
  • hilbish.messages interface (details in [#219])
  • hilbish.notification signal when a message/notification is sent
  • notifyJobFinish opt to send a notification when background jobs are
  • hilbish.goVersion for the version of Go used to compile Hilbish.
    completed.
  • Allow numbered arg substitutions in aliases.
    • Example: hilbish.alias('hello', 'echo %1 says hello') allows the user to run hello hilbish
      which will output hilbish says hello.
  • Greenhouse
    • Greenhouse is a pager library and program. Basic usage is greenhouse <file>
    • Using this also brings enhancements to the doc command like easy
      navigation of neighboring doc files.
      Ctrl-N can be used for the table of contents, which views adjacent documentation.

Changed

  • Documentation for EVERYTHING has been improved, with more
    information added, code example, parameter details, etc.
    You can see the improvements!
  • Documentation has gotten an uplift in the doc command.
    This includes:
    • Proper highlighting of code
    • Paging (via Greenhouse)
    • Highlighting more markdown things

Fixed

  • Fix panic when runner doesn't return a table
  • Fix edge case of crash on empty alias resolve
  • File completion on Windows
  • Job management commands work now
  • Fix infinite loop when navigating history without any history. #252
  • Return the prefix when calling hilbish.completions.call. #219
  • Replaced sed in-place editing with grep and mv for compatibility with BSD utils

Hilbish v2.1.2

10 Apr 16:34
5541e22
Compare
Choose a tag to compare

Removed

  • Bad april fools code ;(

Hilbish v2.1.1

01 Apr 22:18
57ac7bd
Compare
Choose a tag to compare

Added

  • Validation checks for command input
  • Improved runtime performance
  • Validate Lua code

Hilbish v2.1.0

10 Feb 21:04
7bfd7b1
Compare
Choose a tag to compare

Added

  • Documented custom userdata types (Job and Timer Objects)
    • Coming with this fix is also adding the return types for some functions that were missing it
  • Added a dedicated input and dedicated outputs for commanders (sinks - info at doc api commander).
  • Local docs is used if one of Hilbish's branches is found
  • Return 1 exit code on doc not found
  • hilbish.runner.getCurrent() to get the current runner
  • Initialize Hilbish Lua API before handling signals

Fixed

  • index or _index subdocs should not show up anymore
  • hilbish.which not working correctly with aliases
  • Commanders not being able to pipe with commands or any related operator.
  • Resolve symlinks in completions
  • Updated runner-mode docs
  • Fix hilbish.completion functions panicking when empty input is provided