Update README with new config structure

- Document describe.editor configuration for type and keymaps
- Document keymaps configuration for log, status, and close keybindings
- Update examples to show the new nested config structure
- Add section on customizing describe editor keymaps
- Preserve multiline descriptions in describe editor buffer
This commit is contained in:
NicolasGB
2025-11-23 16:34:42 +01:00
committed by Nicolas GB
parent b34e08d815
commit be925a9882
5 changed files with 219 additions and 90 deletions
+3 -34
View File
@@ -2,13 +2,12 @@ local M = {}
local cmd = require("jj.cmd")
local picker = require("jj.picker")
local editor = require("jj.ui.editor")
local diff = require("jj.diff")
local utils = require("jj.utils")
--- Jujutsu plugin configuration
--- @class jj.Config
--- @field cmd? jj.cmd.opts Options for command module
--- @field picker? jj.picker.config Options for picker module
--- @field highlights? jj.ui.editor.highlights Highlight configuration for describe buffer
M.config = {
-- Default configuration
--- @type jj.picker.config
@@ -16,12 +15,7 @@ M.config = {
snacks = {},
},
--- @type jj.ui.editor.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" },
},
highlights = {},
}
--- Setup the plugin
@@ -32,34 +26,9 @@ function M.setup(opts)
-- Setup for sub-modules
picker.setup(opts and opts.picker or {})
editor.setup({ highlights = M.config.highlights })
cmd.setup(opts.cmd)
utils.setup(opts) -- Keep for future-proofing, even if it's a no-op now
cmd.setup(opts and opts.cmd or {})
cmd.register_command()
-- Expose public API functions on the top-level module
M.status = cmd.status
M.describe = cmd.describe
M.log = cmd.log
M.new = cmd.new
M.edit = cmd.edit
M.squash = cmd.squash
M.rebase = cmd.rebase
M.undo = cmd.undo
M.redo = cmd.redo
M.bookmark_create = cmd.bookmark_create
M.bookmark_delete = cmd.bookmark_delete
M.j = cmd.j
M.picker = {
status = picker.status,
file_history = picker.file_history,
}
M.diff = {
vsplit = diff.open_vdiff,
hsplit = diff.open_hdiff,
}
end
return M