1
Fork 0
satellite/home/features/neovim/config/lua/my/helpers/env.lua

44 lines
881 B
Lua
Raw Normal View History

2023-01-10 02:38:06 +01:00
local function makeEnv(cond)
return {
-- I am doing this to get type hints!
active = function()
return cond
end,
2023-01-10 02:38:06 +01:00
not_active = function()
return not cond()
end,
unless = function(f)
if not cond() then
f()
end
end,
when = function(f)
if cond() then
f()
end
end,
}
end
return {
vscode = makeEnv(function()
return vim.g.vscode ~= nil
end),
neovide = makeEnv(function()
2023-01-22 01:22:38 +01:00
return vim.g.neovide ~= nil or require("nix.env") == "neovide"
2023-01-10 02:38:06 +01:00
end),
firenvim = makeEnv(function()
2023-03-16 22:22:06 +01:00
return vim.g.started_by_firenvim ~= nil or require("nix.env") == "firenvim"
2023-01-10 02:38:06 +01:00
end),
_and = function(a, b)
return makeEnv(function()
return a.active() and b.active()
end)
end,
_or = function(a, b)
return makeEnv(function()
return a.active() or b.active()
end)
end,
2023-01-10 02:38:06 +01:00
}