irongit

Configure synchronization of files and directories through a plugin.

27 lines639 BLua
1local M = {}
2M.state = require("syncmap.state")
3M.rsync = require("syncmap.rsync")
4M.utils = require("syncmap.utils")
5M.default = require("syncmap.default")
6M.log = require("syncmap.log")
7M.commands = require("syncmap.commands")
8
9M.opts = M.default
10
11---Setup the sync map plugin
12---@param opts SyncmapOpts
13function M.setup(opts)
14 M.opts = vim.tbl_deep_extend("force", {}, M.default, opts or {})
15 M.utils.opts = M.opts
16 M.state.opts = M.opts
17 M.rsync.opts = M.opts
18 M.log.opts = M.opts
19 M.commands.opts = M.opts
20 M.commands.setup()
21 vim.api.nvim_create_autocmd("User", {
22 pattern = "VeryLazy",
23 callback = M.state.sync,
24 })
25end
26
27return M