dotfiles/nvim/lua/dotenv.lua
2026-06-02 08:20:14 +02:00

29 lines
676 B
Lua

-- code from https://github.com/mcjkula/lua-dotenv/blob/main/env.lua
local M = {}
local env_vars = {}
function M.get(key, default)
local value = env_vars[key] or os.getenv(key)
return value or default
end
function M.load_dotenv(file_path)
file_path = file_path or os.getenv("HOME") .. "/.config/.env"
local file, _ = io.open(file_path, "r")
if not file then
return
end
local content = file:read("*all")
file:close()
for line in content:gmatch("[^\r\n]+") do
local key, value = line:match("^([%w_]+)%s*=%s*(.+)$")
if key and value then
value = value:gsub("^[\"'](.-)[\"']$", "%1")
env_vars[key] = value
end
end
end
return M