Files
jj.nvim/lua/jj/init.lua
T

42 lines
1.1 KiB
Lua

local M = {}
local cmd = require("jj.cmd")
local picker = require("jj.picker")
local utils = require("jj.utils")
--- Jujutsu plugin configuration
--- @class jj.Config
M.config = {
-- Default configuration
--- @type jj.picker.config
picker = {
snacks = {},
},
--- @type jj.utils.highlights Highlight configuration for describe buffer
highlights = {
added = { fg = "#3fb950", ctermfg = "Green" },
modified = { fg = "#56d4dd", ctermfg = "Cyan" },
deleted = { fg = "#f85149", ctermfg = "Red" },
renamed = { fg = "#d29922", ctermfg = "Yellow" },
},
--- @type string Editor mode for describe command: "buffer" (Git-style editor) or "input" (simple input prompt)
describe_editor = "buffer",
}
--- Setup the plugin
--- @param opts jj.Config: Options to configure the plugin
function M.setup(opts)
M.config = vim.tbl_deep_extend("force", M.config, opts or {})
picker.setup(opts and opts.picker or {})
utils.setup({ highlights = M.config.highlights })
-- Pass describe_editor config to cmd module
if opts and opts.describe_editor then
cmd.config.describe_editor = opts.describe_editor
end
cmd.register_command()
end
return M