-- [nfnl] Compiled from ./fnl/scripts/chameleon.fnl by https://github.com/Olical/nfnl, do not edit.
local M = {}
local ___fn___ = vim.fn
local api = vim.api
M.original_color = nil
local function get_kitty_background()
  if (M.original_color == nil) then
    local function _1_(_, d, _0)
      if (#d > 1) then
        return vim.notify("Chameleon.nvim: Error getting background. Make sure kitty remote control is turned on.", vim.log.levels.DEBUG)
      else
        return nil
      end
    end
    local function _3_(_, d, _0)
      for _1, result in ipairs(d) do
        if string.match(result, "^background") then
          local color = vim.split(result, "%s+")[2]
          M.original_color = color
          break
        else
        end
      end
      return nil
    end
    return ___fn___.jobstart({"kitty", "@", "get-colors"}, {on_stderr = _1_, on_stdout = _3_})
  else
    return nil
  end
end
local function change_background(color, sync)
  local arg = ("background=\"" .. color .. "\"")
  local command = ("kitty @ set-colors " .. arg)
  if not sync then
    local function _6_(_, d, _0)
      if (#d > 1) then
        return vim.notify("Chameleon.nvim: Error changing background. Make sure kitty remote control is turned on.", vim.log.levels.DEBUG)
      else
        return nil
      end
    end
    return ___fn___.jobstart(command, {on_stderr = _6_})
  else
    return ___fn___.system(command)
  end
end
local function setup_autocmds()
  local autocmd = api.nvim_create_autocmd
  local autogroup = api.nvim_create_augroup
  local bg_change = autogroup("BackgroundChange", {clear = true})
  local function _9_()
    local color = string.format("#%06X", vim.api.nvim_get_hl(0, {name = "Normal"}).bg)
    return change_background(color)
  end
  autocmd({"ColorScheme", "VimResume"}, {callback = _9_, group = bg_change, pattern = "*"})
  local function _10_()
    local color = string.format("#%06X", vim.api.nvim_get_hl(0, {name = "Normal"}).bg)
    return change_background(color)
  end
  autocmd("User", {callback = _10_, group = bg_change, pattern = "NvChadThemeReload"})
  local function _11_()
    if (M.original_color ~= nil) then
      return change_background(M.original_color, true)
    else
      return nil
    end
  end
  return autocmd({"VimLeavePre", "VimSuspend"}, {callback = _11_, group = autogroup("BackgroundRestore", {clear = true})})
end
M.setup = function()
  get_kitty_background()
  return setup_autocmds()
end
return M