feat: add hilbish.midnightEdition

midnight-edition
sammyette 2024-12-22 11:56:53 -04:00
parent 762066022d
commit 40d3933009
Signed by: sammyette
GPG Key ID: 904FC49417B44DCD
4 changed files with 24 additions and 13 deletions

View File

@ -25,6 +25,7 @@ local function doNotifyPrompt()
end
doPrompt()
--[[
bait.catch('command.preexec', function()
running = true
@ -47,3 +48,4 @@ end)
bait.catch('hilbish.notification', function(notif)
doNotifyPrompt()
end)
]]--

9
api.go
View File

@ -51,7 +51,9 @@ func hilbishLoader(mlr *moonlight.Runtime) moonlight.Value {
"hinter": {hlhinter, 1, false},
"multiprompt": {hlmultiprompt, 1, false},
"prependPath": {hlprependPath, 1, false},
*/
"prompt": {hlprompt, 1, true},
/*
"inputMode": {hlinputMode, 1, false},
"interval": {hlinterval, 2, false},
"read": {hlread, 1, false},
@ -80,6 +82,7 @@ func hilbishLoader(mlr *moonlight.Runtime) moonlight.Value {
hshMod.SetField("interactive", moonlight.BoolValue(interactive))
hshMod.SetField("login", moonlight.BoolValue(login))
hshMod.SetField("exitCode", moonlight.IntValue(0))
hshMod.SetField("midnightEdition", moonlight.BoolValue(moonlight.IsMidnight()))
//util.SetField(rtm, mod, "vimMode", rt.NilValue)
// hilbish.userDir table
@ -130,8 +133,10 @@ func hilbishLoader(mlr *moonlight.Runtime) moonlight.Value {
//mod.Set(rt.StringValue("version"), rt.TableValue(versionModule))
// very meta
//moduleModule := moduleLoader(mlr)
//hshMod.SetField("module", moonlight.TableValue(moduleModule))
if moonlight.IsMidnight() {
moduleModule := moduleLoader(mlr)
hshMod.SetField("module", moonlight.TableValue(moduleModule))
}
return moonlight.TableValue(hshMod)
}

View File

@ -41,7 +41,7 @@ func TableValue(t *Table) Value {
}
func FunctionValue(f Callable) Value {
return NilValue
return Value{iface: f}
}
func AsValue(i interface{}) Value {

View File

@ -1,22 +1,25 @@
-- Prelude initializes everything else for our shell
--[[
local _ = require 'succulent' -- Function additions
local bait = require 'bait'
local fs = require 'fs'
--local fs = require 'fs'
package.path = package.path .. ';' .. hilbish.dataDir .. '/?/init.lua'
.. ';' .. hilbish.dataDir .. '/?/?.lua' .. ";" .. hilbish.dataDir .. '/?.lua'
hilbish.module.paths = '?.so;?/?.so;'
.. hilbish.userDir.data .. 'hilbish/libs/?/?.so'
.. ";" .. hilbish.userDir.data .. 'hilbish/libs/?.so'
if not hilbish.midnightEdition then
hilbish.module.paths = '?.so;?/?.so;'
.. hilbish.userDir.data .. 'hilbish/libs/?/?.so'
.. ";" .. hilbish.userDir.data .. 'hilbish/libs/?.so'
table.insert(package.searchers, function(module)
local path = package.searchpath(module, hilbish.module.paths)
if not path then return nil end
table.insert(package.searchers, function(module)
local path = package.searchpath(module, hilbish.module.paths)
if not path then return nil end
-- it didnt work normally, idk
return function() return hilbish.module.load(path) end, path
end)
-- it didnt work normally, idk
return function() return hilbish.module.load(path) end, path
end)
end
require 'nature.commands'
require 'nature.completions'
@ -90,3 +93,4 @@ end)
bait.catch('command.not-executable', function(cmd)
print(string.format('hilbish: %s: not executable', cmd))
end)
]]--