local Trans = require 'Trans' local function set_strategy_opts(conf) local all_backends = Trans.backend.all_name 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) if Trans.conf.warning then vim.notify([[ 新版本v2已经发布, 见: https://github.com/JuanZoran/Trans.nvim 请使用当前默认(v2)分支 ]], vim.log.levels.WARN) end end