mirror of https://github.com/Hilbis/Hilbish
feat: add -C flag (closes #20)
parent
2b01d5edb2
commit
0fa3d50db7
5
lua.go
5
lua.go
|
@ -17,7 +17,7 @@ prompt(ansikit.format(
|
||||||
))
|
))
|
||||||
`
|
`
|
||||||
|
|
||||||
func LuaInit() {
|
func LuaInit(confpath string) {
|
||||||
l = lua.NewState()
|
l = lua.NewState()
|
||||||
|
|
||||||
l.OpenLibs()
|
l.OpenLibs()
|
||||||
|
@ -60,9 +60,8 @@ func LuaInit() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
homedir, _ := os.UserHomeDir()
|
|
||||||
// Run config
|
// Run config
|
||||||
err = l.DoFile(homedir + "/.hilbishrc.lua")
|
err = l.DoFile(confpath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintln(os.Stderr, err,
|
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.\n")
|
||||||
|
|
13
main.go
13
main.go
|
@ -31,6 +31,9 @@ var bait hooks.Bait
|
||||||
var homedir string
|
var homedir string
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
homedir, _ = os.UserHomeDir()
|
||||||
|
defaultconfpath := homedir + "/.hilbishrc.lua"
|
||||||
|
|
||||||
parser := argparse.NewParser("hilbish", "A shell for lua and flower lovers")
|
parser := argparse.NewParser("hilbish", "A shell for lua and flower lovers")
|
||||||
verflag := parser.Flag("v", "version", &argparse.Options{
|
verflag := parser.Flag("v", "version", &argparse.Options{
|
||||||
Required: false,
|
Required: false,
|
||||||
|
@ -40,6 +43,11 @@ func main() {
|
||||||
Required: false,
|
Required: false,
|
||||||
Help: "Sets $SHELL to Hilbish's executed path",
|
Help: "Sets $SHELL to Hilbish's executed path",
|
||||||
})
|
})
|
||||||
|
configflag := parser.String("C", "config", &argparse.Options{
|
||||||
|
Required: false,
|
||||||
|
Help: "Sets the path to Hilbish's config",
|
||||||
|
Default: defaultconfpath,
|
||||||
|
})
|
||||||
|
|
||||||
err := parser.Parse(os.Args)
|
err := parser.Parse(os.Args)
|
||||||
// If invalid flags or --help/-h,
|
// If invalid flags or --help/-h,
|
||||||
|
@ -57,9 +65,8 @@ func main() {
|
||||||
// Set $SHELL if the user wants to
|
// Set $SHELL if the user wants to
|
||||||
if *setshflag { os.Setenv("SHELL", os.Args[0]) }
|
if *setshflag { os.Setenv("SHELL", os.Args[0]) }
|
||||||
|
|
||||||
homedir, _ = os.UserHomeDir()
|
|
||||||
// If user's config doesn't exixt,
|
// If user's config doesn't exixt,
|
||||||
if _, err := os.Stat(homedir + "/.hilbishrc.lua"); os.IsNotExist(err) {
|
if _, err := os.Stat(defaultconfpath); os.IsNotExist(err) {
|
||||||
// Read default from current directory
|
// Read default from current directory
|
||||||
// (this is assuming the current dir is Hilbish's git)
|
// (this is assuming the current dir is Hilbish's git)
|
||||||
input, err := os.ReadFile(".hilbishrc.lua")
|
input, err := os.ReadFile(".hilbishrc.lua")
|
||||||
|
@ -83,7 +90,7 @@ func main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
HandleSignals()
|
HandleSignals()
|
||||||
LuaInit()
|
LuaInit(*configflag)
|
||||||
|
|
||||||
readline.Completer = readline.FilenameCompleter
|
readline.Completer = readline.FilenameCompleter
|
||||||
readline.LoadHistory(homedir + "/.hilbish-history")
|
readline.LoadHistory(homedir + "/.hilbish-history")
|
||||||
|
|
Loading…
Reference in New Issue