feat: add hilbish.greeting

windows-fixes
TorchedSammy 2021-12-31 13:25:53 -04:00
parent bcbd4be7f9
commit 9d685ab785
Signed by: sammyette
GPG Key ID: 904FC49417B44DCD
2 changed files with 9 additions and 2 deletions

View File

@ -8,8 +8,7 @@ function doPrompt(fail)
)) ))
end end
print(lunacolors.format('Welcome to {magenta}Hilbish{reset}, {cyan}' .. hilbish.user print(lunacolors.format(hilbish.greeting))
.. '{reset}.\n' .. 'The nice lil shell for {blue}Lua{reset} fanatics!\n'))
doPrompt() doPrompt()

View File

@ -23,11 +23,18 @@ var exports = map[string]lua.LGFunction {
"read": hlread, "read": hlread,
} }
var greeting string
func hilbishLoader(L *lua.LState) int { func hilbishLoader(L *lua.LState) int {
mod := L.SetFuncs(L.NewTable(), exports) mod := L.SetFuncs(L.NewTable(), exports)
host, _ := os.Hostname() host, _ := os.Hostname()
username := curuser.Username username := curuser.Username
greeting = `Welcome to {magenta}Hilbish{reset}, {cyan}` + curuser.Username + `{reset}.
The nice lil shell for {blue}Lua{reset} fanatics!
`
if runtime.GOOS == "windows" { if runtime.GOOS == "windows" {
username = strings.Split(username, "\\")[1] // for some reason Username includes the hostname on windows username = strings.Split(username, "\\")[1] // for some reason Username includes the hostname on windows
} }
@ -39,6 +46,7 @@ func hilbishLoader(L *lua.LState) int {
util.SetField(L, mod, "dataDir", lua.LString(dataDir), "Directory for Hilbish's data files") util.SetField(L, mod, "dataDir", lua.LString(dataDir), "Directory for Hilbish's data files")
util.SetField(L, mod, "interactive", lua.LBool(interactive), "If this is an interactive shell") util.SetField(L, mod, "interactive", lua.LBool(interactive), "If this is an interactive shell")
util.SetField(L, mod, "login", lua.LBool(interactive), "Whether this is a login shell") util.SetField(L, mod, "login", lua.LBool(interactive), "Whether this is a login shell")
util.SetField(L, mod, "greeting", lua.LString(greeting), "Hilbish's welcome message for interactive shells. It has Lunacolors formatting.")
util.Document(L, mod, "Hilbish's core API, containing submodules and functions which relate to the shell itself.") util.Document(L, mod, "Hilbish's core API, containing submodules and functions which relate to the shell itself.")
// hilbish.userDir table // hilbish.userDir table