mirror of https://github.com/Hilbis/Hilbish
Compare commits
3 Commits
b70f02e43e
...
69dc1ecbd1
Author | SHA1 | Date |
---|---|---|
sammyette | 69dc1ecbd1 | |
sammyette | 38d036d96f | |
sammyette | a24bca3258 |
|
@ -0,0 +1,10 @@
|
|||
env = {}
|
||||
|
||||
setmetatable(env, {
|
||||
__index = function(_, k)
|
||||
return os.getenv(k)
|
||||
end,
|
||||
__newindex = function(_, k, v)
|
||||
os.setenv(k, tostring(v))
|
||||
end
|
||||
})
|
|
@ -24,6 +24,7 @@ require 'nature.opts'
|
|||
require 'nature.vim'
|
||||
require 'nature.runner'
|
||||
require 'nature.hummingbird'
|
||||
require 'nature.env'
|
||||
|
||||
local shlvl = tonumber(os.getenv 'SHLVL')
|
||||
if shlvl ~= nil then
|
||||
|
@ -32,36 +33,6 @@ else
|
|||
os.setenv('SHLVL', '0')
|
||||
end
|
||||
|
||||
do
|
||||
local virt_G = { }
|
||||
|
||||
setmetatable(_G, {
|
||||
__index = function (_, key)
|
||||
local got_virt = virt_G[key]
|
||||
if got_virt ~= nil then
|
||||
return got_virt
|
||||
end
|
||||
|
||||
if type(key) == 'string' then
|
||||
virt_G[key] = os.getenv(key)
|
||||
end
|
||||
return virt_G[key]
|
||||
end,
|
||||
|
||||
__newindex = function (_, key, value)
|
||||
if type(value) == 'string' then
|
||||
os.setenv(key, value)
|
||||
virt_G[key] = value
|
||||
else
|
||||
if type(virt_G[key]) == 'string' then
|
||||
os.setenv(key, '')
|
||||
end
|
||||
virt_G[key] = value
|
||||
end
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
do
|
||||
local startSearchPath = hilbish.userDir.data .. '/hilbish/start/?/init.lua;'
|
||||
.. hilbish.userDir.data .. '/hilbish/start/?.lua'
|
||||
|
|
|
@ -128,15 +128,19 @@ func (rl *Instance) walkHistory(i int) {
|
|||
}
|
||||
|
||||
rl.histOffset += i
|
||||
historyLen := history.Len()
|
||||
if rl.histOffset == 0 {
|
||||
rl.line = []rune(rl.lineBuf)
|
||||
rl.pos = len(rl.lineBuf)
|
||||
} else if rl.histOffset <= -1 {
|
||||
rl.histOffset = 0
|
||||
} else if rl.histOffset > historyLen {
|
||||
// TODO: should this wrap around?s
|
||||
rl.histOffset = 0
|
||||
} else {
|
||||
dedup = true
|
||||
old = string(rl.line)
|
||||
new, err = history.GetLine(history.Len() - rl.histOffset)
|
||||
new, err = history.GetLine(historyLen - rl.histOffset)
|
||||
if err != nil {
|
||||
rl.resetHelpers()
|
||||
print("\r\n" + err.Error() + "\r\n")
|
||||
|
|
Loading…
Reference in New Issue