mirror of https://github.com/Hilbis/Hilbish
Compare commits
No commits in common. "246fc4d7ee3239b4d220eeae04bee43d6165df6a" and "72d6b0a4a0266eb1b3ab1b6c17ea90a3020cc152" have entirely different histories.
246fc4d7ee
...
72d6b0a4a0
|
@ -0,0 +1 @@
|
||||||
|
hello!
|
2
vars.go
2
vars.go
|
@ -11,7 +11,7 @@ var (
|
||||||
|
|
||||||
// Version info
|
// Version info
|
||||||
var (
|
var (
|
||||||
ver = "v2.0.1"
|
ver = "v2.0.0"
|
||||||
releaseName = "Hibiscus"
|
releaseName = "Hibiscus"
|
||||||
gitCommit string
|
gitCommit string
|
||||||
gitBranch string
|
gitBranch string
|
||||||
|
|
|
@ -20,16 +20,6 @@ enableGitInfo = true
|
||||||
name = 'Docs'
|
name = 'Docs'
|
||||||
pageref = '/docs'
|
pageref = '/docs'
|
||||||
weight = 3
|
weight = 3
|
||||||
[[menu.nav]]
|
|
||||||
identifier = 'blog'
|
|
||||||
name = 'Blog'
|
|
||||||
pageref = '/blog'
|
|
||||||
weight = 4
|
|
||||||
|
|
||||||
[markup.goldmark.renderer]
|
[markup.goldmark.renderer]
|
||||||
unsafe = true
|
unsafe = true
|
||||||
|
|
||||||
[author]
|
|
||||||
[author.sammyette]
|
|
||||||
name = 'sammyette'
|
|
||||||
picture = 'https://avatars1.githubusercontent.com/u/38820196?s=460&u=b9f4efb2375bae6cb30656d790c6e0a2939327c0&v=4'
|
|
||||||
|
|
|
@ -1,114 +0,0 @@
|
||||||
---
|
|
||||||
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.
|
|
|
@ -1,6 +0,0 @@
|
||||||
---
|
|
||||||
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,7 +2,6 @@
|
||||||
title: Install
|
title: Install
|
||||||
description: Steps on how to install Hilbish on all the OSes and distros supported.
|
description: Steps on how to install Hilbish on all the OSes and distros supported.
|
||||||
layout: page
|
layout: page
|
||||||
draft: true
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Official Binaries
|
## Official Binaries
|
||||||
|
|
|
@ -1 +1,4 @@
|
||||||
<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>
|
||||||
|
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
{{ 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,16 +2,7 @@
|
||||||
<main>
|
<main>
|
||||||
<div class="container mt-2">
|
<div class="container mt-2">
|
||||||
<h1>{{ .Title }}</h1>
|
<h1>{{ .Title }}</h1>
|
||||||
<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}}
|
{{.Content}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</main>
|
</main>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
Loading…
Reference in New Issue