mirror of
https://github.com/Hilbis/Hilbish
synced 2025-03-13 18:00:41 +00:00
* refactor: put file history handler in line reader instance instead of global * feat: add lua history handler in go * feat: use lua to retrieve readline history * refactor: handle history in lua this also introduces a new opt: history if it is false, command history won't get added * fix: remove nature.history require * docs: add changes in changelog * fix: add comma after history opt
34 lines
653 B
Lua
34 lines
653 B
Lua
local opts = {}
|
|
hilbish.opts = {}
|
|
|
|
setmetatable(hilbish.opts, {
|
|
__newindex = function(_, k, v)
|
|
if opts[k] == nil then
|
|
error(string.format('opt %s does not exist', k))
|
|
end
|
|
|
|
opts[k] = v
|
|
end,
|
|
__index = function(_, k)
|
|
return opts[k]
|
|
end
|
|
})
|
|
|
|
local function setupOpt(name, default)
|
|
opts[name] = default
|
|
require('nature.opts.' .. name)
|
|
end
|
|
|
|
local defaultOpts = {
|
|
autocd = false,
|
|
history = true,
|
|
greeting = string.format([[Welcome to {magenta}Hilbish{reset}, {cyan}%s{reset}.
|
|
The nice lil shell for {blue}Lua{reset} fanatics!
|
|
]], hilbish.user),
|
|
motd = true
|
|
}
|
|
|
|
for optsName, default in pairs(defaultOpts) do
|
|
setupOpt(optsName, default)
|
|
end
|