2
2
réplica de https://github.com/Hilbis/Hilbish sincronizado 2025-07-07 03:22:03 +00:00

Comparar comentimentos

..

5 Cometimentos

Autor(a) SHA1 Mensagem Data
sammyette
e37abcb08b
feat: define preload file in var
same as before, enables changing at compile time
2021-06-08 21:00:31 -04:00
sammyette
be5ebd6ada
feat: add back cancel input on ctrl c 2021-06-08 21:00:01 -04:00
sammyette
86dbb97cae
feat: define lua require paths in var
this makes it able to be changed compile time, which should help
in support for systems that dont follow fhs (damn nix)
and windows as well, but that'll be first class
2021-06-08 19:16:37 -04:00
sammyette
2a084fc03e
fix: make minimal config work with new version 2021-06-08 17:40:52 -04:00
sammyette
ef45bafb54
fix: remove extra newline in error message 2021-06-08 17:24:54 -04:00
5 ficheiros modificados com 40 adições e 23 eliminações

17
lua.go
Ver ficheiro

@ -16,8 +16,8 @@ import (
)
var minimalconf = `
ansikit = require 'ansikit'
prompt(ansikit.format(
lunacolors = require 'lunacolors'
prompt(lunacolors.format(
'{blue}%u {cyan}%d {green}{reset} '
))
`
@ -58,18 +58,11 @@ func LuaInit() {
l.PreloadModule("bait", hooks.Loader)
// Add more paths that Lua can require from
l.DoString(`package.path = package.path
.. ';./libs/?/init.lua;./?/init.lua;./?/?.lua'
.. ';/usr/share/hilbish/libs/?/init.lua;'
.. ';/usr/share/hilbish/libs/?/?.lua;'
.. os.getenv 'HOME' .. '/.local/share/hilbish/libs/?/init.lua;'
.. os.getenv 'HOME' .. '/.local/share/hilbish/libs/?/?.lua;'
.. os.getenv 'HOME' .. '/.local/share/hilbish/libs/?.lua'
`)
l.DoString("package.path = package.path .. " + requirePaths)
err := l.DoFile("preload.lua")
if err != nil {
err = l.DoFile("/usr/share/hilbish/preload.lua")
err = l.DoFile(preloadPath)
if err != nil {
fmt.Fprintln(os.Stderr,
"Missing preload file, builtins may be missing.")
@ -83,7 +76,7 @@ func RunConfig(confpath string) {
err := l.DoFile(confpath)
if err != nil {
fmt.Fprintln(os.Stderr, err,
"\nAn error has occured while loading your config! Falling back to minimal default config.\n")
"\nAn error has occured while loading your config! Falling back to minimal default config.")
l.DoString(minimalconf)
}

12
main.go
Ver ficheiro

@ -18,26 +18,17 @@ import (
"golang.org/x/term"
)
var (
version = "v0.4.0"
l *lua.LState
lr *LineReader
prompt string // User's prompt, this will get set when lua side is initialized
multilinePrompt = "> "
commands = map[string]bool{}
aliases = map[string]string{}
homedir string
curuser *user.User
running bool // Is a command currently running
hooks bait.Bait
interactive bool
login bool // Are we the login shell?
noexecute bool // Should we run Lua or only report syntax errors
)
func main() {
@ -227,8 +218,7 @@ func HandleSignals() {
for range c {
if !running {
//readline.ReplaceLine("", 0)
//readline.RefreshLine()
lr.ClearInput()
}
}
}

5
rl.go
Ver ficheiro

@ -34,3 +34,8 @@ func (lr *LineReader) AddHistory(cmd string) {
readline.SaveHistory(homedir + "/.hilbish-history")
}
func (lr *LineReader) ClearInput() {
readline.ReplaceLine("", 0)
readline.RefreshLine()
}

Ver ficheiro

@ -32,3 +32,7 @@ func (lr *LineReader) AddHistory(cmd string) {
return
}
func (lr *LineReader) ClearInput() {
return
}

25
vars.go Ficheiro normal
Ver ficheiro

@ -0,0 +1,25 @@
package main
// String vars that are free to be changed at compile time
var (
version = "v0.4.0"
requirePaths = `';./libs/?/init.lua;./?/init.lua;./?/?.lua'
.. ';/usr/share/hilbish/libs/?/init.lua;'
.. ';/usr/share/hilbish/libs/?/?.lua;'
.. os.getenv 'HOME' .. '/.local/share/hilbish/libs/?/init.lua;'
.. os.getenv 'HOME' .. '/.local/share/hilbish/libs/?/?.lua;'
.. os.getenv 'HOME' .. '/.local/share/hilbish/libs/?.lua'`
preloadPath = "/usr/share/hilbish/preload.lua"
prompt string // Prompt will always get changed anyway
multilinePrompt = "> "
)
// Flags
var (
running bool // Is a command currently running
interactive bool
login bool // Are we the login shell?
noexecute bool // Should we run Lua or only report syntax errors
)