-- Ensure lazy and hotpot are always installed
local function ensure_installed(plugin, branch)
	local user, repo = string.match(plugin, "(.+)/(.+)")
	local repo_path = vim.fn.stdpath("data") .. "/lazy/" .. repo
	if not (vim.uv or vim.loop).fs_stat(repo_path) then
		vim.notify("Installing " .. plugin .. " " .. branch)
		local repo_url = "https://github.com/" .. plugin .. ".git"
		local out = vim.fn.system({
			"git",
			"clone",
			"--filter=blob:none",
			"--branch=" .. branch,
			repo_url,
			repo_path,
		})
		if vim.v.shell_error ~= 0 then
			vim.api.nvim_echo({
				{ "Failed to clone " .. plugin .. ":\n", "ErrorMsg" },
				{ out, "WarningMsg" },
				{ "\nPress any key to exit..." },
			}, true, {})
			vim.fn.getchar()
			os.exit(1)
		end
	end
	return repo_path
end
local lazy_path = ensure_installed("folke/lazy.nvim", "stable")
local hotpot_path = ensure_installed("rktjmp/hotpot.nvim", "v0.14.6")
-- As per Lazy's install instructions, but also include hotpot
vim.opt.runtimepath:prepend({ hotpot_path, lazy_path })

-- You must call vim.loader.enable() before requiring hotpot unless you are
-- passing {performance = {cache = false}} to Lazy.
vim.loader.enable()

require("hotpot") -- Optionally you may call require("hotpot").setup(...) here

-- config defined in fnl
require("config")

-- You must include Hotpot in your plugin list for it to function correctly.
-- If you want to use Lazy's "structured" style, see the next code sample.
require("lazy").setup({
	spec = {
		-- Add hotpot directly here
		{ "rktjmp/hotpot.nvim" },
		-- Then import your other plugins
		{ import = "plugins" },
	},
})