mirror of
https://github.com/zoriya/jj.nvim.git
synced 2026-08-05 10:46:08 +00:00
42 lines
1.1 KiB
Lua
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
|