Compare commits

..

2 Commits

Author SHA1 Message Date
sammyette cff7827ace
fix: trim extra whitespace from cd args
this fixed an issue with `cd -` not working
2021-10-08 09:49:57 -04:00
L3af 400dd2944d
feat: respect xdg directories (#71)
* feat: respect xdg directories

* fix: move xdg vars to table

Co-authored-by: L3af <ohhaon@icloud.com>
2021-10-07 20:58:07 -04:00
4 changed files with 26 additions and 8 deletions

View File

@ -34,6 +34,11 @@ func HilbishLoader(L *lua.LState) int {
L.SetField(mod, "host", lua.LString(host))
L.SetField(mod, "home", lua.LString(homedir))
xdg := L.NewTable()
L.SetField(xdg, "config", lua.LString(confDir))
L.SetField(xdg, "data", lua.LString(getenv("XDG_DATA_HOME", homedir + "/.local/share/")))
L.SetField(mod, "xdg", xdg)
L.Push(mod)
return 1
@ -71,3 +76,10 @@ func cwd(L *lua.LState) int {
return 1
}
func getenv(key, fallback string) string {
value := os.Getenv(key)
if len(value) == 0 {
return fallback
}
return value
}

View File

@ -27,6 +27,7 @@ var (
aliases = map[string]string{}
homedir string
confDir string
curuser *user.User
hooks bait.Bait
@ -35,13 +36,18 @@ var (
func main() {
homedir, _ = os.UserHomeDir()
confDir = getenv("XDG_CONFIG_HOME", homedir + "/.config")
curuser, _ = user.Current()
preloadPath = strings.Replace(preloadPath, "~", homedir, 1)
sampleConfPath = strings.Replace(sampleConfPath, "~", homedir, 1)
if defaultConfDir == "" {
// we'll add *our* default if its empty (wont be if its changed comptime)
if _, err := os.Stat(filepath.Join(confDir, "hilbish", "hilbishrc.lua")); os.IsNotExist(err) {
defaultConfPath = filepath.Join(homedir, "/.hilbishrc.lua")
} else {
defaultConfPath = filepath.Join(confDir, "hilbish", "hilbishrc.lua")
}
} else {
// else do ~ substitution
defaultConfPath = filepath.Join(strings.Replace(defaultConfDir, "~", homedir, 1), ".hilbishrc.lua")

View File

@ -16,7 +16,7 @@ commander.register('cd', function (args)
path = path .. tostring(args[i]) .. ' '
end
path = path:gsub('$%$','\0'):gsub('${([%w_]+)}', os.getenv)
:gsub('$([%w_]+)', os.getenv):gsub('%z','$')
:gsub('$([%w_]+)', os.getenv):gsub('%z','$'):gsub('^%s*(.-)%s*$', '%1')
if path == '-' then
path = oldDir

View File

@ -7,12 +7,12 @@ var (
requirePaths = `';./libs/?/?.lua;./libs/?/init.lua;./?/init.lua;./?/?.lua'
.. ';/usr/share/hilbish/libs/?/init.lua;'
.. ';/usr/share/hilbish/libs/?/?.lua;'
.. hilbish.home .. '/.local/share/hilbish/libs/?/init.lua;'
.. hilbish.home .. '/.local/share/hilbish/libs/?/?.lua;'
.. hilbish.home .. '/.local/share/hilbish/libs/?.lua'
.. hilbish.home .. '/.config/hilbish/?/init.lua'
.. hilbish.home .. '/.config/hilbish/?/?.lua'
.. hilbish.home .. '/.config/hilbish/?.lua'`
.. hilbish.xdg.data .. '/hilbish/libs/?/init.lua;'
.. hilbish.xdg.data .. '/hilbish/libs/?/?.lua;'
.. hilbish.xdg.data .. '/hilbish/libs/?.lua'
.. hilbish.xdg.config .. '/?/init.lua'
.. hilbish.xdg.config .. '/?/?.lua'
.. hilbish.xdg.config .. '/?.lua'`
preloadPath = "/usr/share/hilbish/preload.lua"
sampleConfPath = "/usr/share/hilbish/.hilbishrc.lua" // Path to default/sample config
)