local Trans = require 'Trans' -- local function set_strategy_opts(conf) -- local all_backends = conf.frontend.default.enabled_backend -- local g_strategy = conf.strategy -- local function parse_backend(backend) -- if type(backend) == 'string' then -- return backend == '*' and all_backends or { backend } -- end -- return backend -- end -- local default_strategy = g_strategy.default -- default_strategy.backend = parse_backend(default_strategy.backend) -- default_strategy.__index = default_strategy -- g_strategy.default = nil -- setmetatable(g_strategy, { -- __index = function() -- return default_strategy -- end, -- }) -- for _, strategy in pairs(g_strategy) do -- strategy.backend = parse_backend(strategy.backend) -- setmetatable(strategy, default_strategy) -- end -- end local function define_highlights(conf) local set_hl = vim.api.nvim_set_hl local highlights = Trans.style.theme[conf.theme] for hl, opt in pairs(highlights) do set_hl(0, hl, opt) end end ---@class Trans ---@field setup fun(opts: { mode: string, mode: string }) return function(opts) if opts then Trans.conf = vim.tbl_deep_extend('force', Trans.conf, opts) end local conf = Trans.conf conf.dir = vim.fn.expand(conf.dir) -- set_strategy_opts(conf) define_highlights(conf) end