mirror of https://github.com/Hilbis/Hilbish
Compare commits
3 Commits
72d6b0a4a0
...
246fc4d7ee
Author | SHA1 | Date |
---|---|---|
sammyette | 246fc4d7ee | |
sammyette | 91ec0cf4a4 | |
sammyette | 2a80795331 |
|
@ -1 +0,0 @@
|
|||
hello!
|
2
vars.go
2
vars.go
|
@ -11,7 +11,7 @@ var (
|
|||
|
||||
// Version info
|
||||
var (
|
||||
ver = "v2.0.0"
|
||||
ver = "v2.0.1"
|
||||
releaseName = "Hibiscus"
|
||||
gitCommit string
|
||||
gitBranch string
|
||||
|
|
|
@ -20,6 +20,16 @@ enableGitInfo = true
|
|||
name = 'Docs'
|
||||
pageref = '/docs'
|
||||
weight = 3
|
||||
|
||||
[[menu.nav]]
|
||||
identifier = 'blog'
|
||||
name = 'Blog'
|
||||
pageref = '/blog'
|
||||
weight = 4
|
||||
|
||||
[markup.goldmark.renderer]
|
||||
unsafe = true
|
||||
|
||||
[author]
|
||||
[author.sammyette]
|
||||
name = 'sammyette'
|
||||
picture = 'https://avatars1.githubusercontent.com/u/38820196?s=460&u=b9f4efb2375bae6cb30656d790c6e0a2939327c0&v=4'
|
||||
|
|
|
@ -0,0 +1,114 @@
|
|||
---
|
||||
title: "Hilbish v2.0 Release"
|
||||
date: 2022-12-29T01:55:21+00:00
|
||||
---
|
||||
|
||||
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](https://github.com/arnodel/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.](https://github.com/Rosettea/Hilbish/releases/tag/v2.0.0)
|
||||
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.
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
title: "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).
|
|
@ -2,6 +2,7 @@
|
|||
title: Install
|
||||
description: Steps on how to install Hilbish on all the OSes and distros supported.
|
||||
layout: page
|
||||
draft: true
|
||||
---
|
||||
|
||||
## Official Binaries
|
||||
|
|
|
@ -1,4 +1 @@
|
|||
<a href="{{ .Destination | safeURL }}"{{ with .Title}} title="{{ . }}"{{ end }}{{ if eq (substr .Destination 0 4) "http" }} target="_blank" rel="noopener"{{ end }}>
|
||||
{{ .Text | safeHTML }}
|
||||
</a>
|
||||
|
||||
<a href="{{ .Destination | safeURL }}"{{ with .Title}} title="{{ . }}"{{ end }}{{ if eq (substr .Destination 0 4) "http" }} target="_blank" rel="noopener"{{ end }}>{{ .Text | safeHTML }}</a>
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
{{ define "main" }}
|
||||
<main>
|
||||
<div class="row row-cols-1 row-cols-md-1 g-4">
|
||||
{{ range where .Site.RegularPages "Section" "in" "blog" }}
|
||||
<div class="col d-flex justify-content-center">
|
||||
<div class="card" style="width: 56rem;">
|
||||
<div class="card-body">
|
||||
<a href="{{ .Permalink }}"><h5 class="card-title">{{ .Title }}</h5></a>
|
||||
<h6 class='card-subtitle text-muted mb-2'>
|
||||
{{- if isset .Params "date" -}}
|
||||
<time>{{ .Date.Format "January 2, 2006" }}</time>
|
||||
{{- end -}}
|
||||
</h6>
|
||||
<p class="card-text">{{if .Description}}{{ .Description }}{{ else }}{{ .Summary }}{{ end }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{- end }}
|
||||
</div>
|
||||
</main>
|
||||
{{ end }}
|
|
@ -2,7 +2,16 @@
|
|||
<main>
|
||||
<div class="container mt-2">
|
||||
<h1>{{ .Title }}</h1>
|
||||
{{.Content}}
|
||||
<img src='{{ .Site.Author.sammyette.picture }}' width=48 style='border-radius: 100%'>
|
||||
<em class='text-muted'>
|
||||
by <strong>{{ .Site.Author.sammyette.name }}</strong>
|
||||
{{- if isset .Params "date" -}}
|
||||
<time> // {{ .Date.Format "January 2, 2006" }}</time>
|
||||
{{- end -}}
|
||||
</em>
|
||||
<div class='my-4'>
|
||||
{{.Content}}
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
{{ end }}
|
||||
|
|
Loading…
Reference in New Issue