feat(ui): documentation for :CP edit abilities
This commit is contained in:
parent
3fdb74a3d8
commit
181fff42de
2 changed files with 64 additions and 1 deletions
|
|
@ -114,8 +114,12 @@ COMMANDS *cp-commands*
|
||||||
Changes saved to both cache and disk on exit,
|
Changes saved to both cache and disk on exit,
|
||||||
taking effect immediately in :CP run and CLI.
|
taking effect immediately in :CP run and CLI.
|
||||||
|
|
||||||
Keybindings:
|
Keybindings (configurable via |EditConfig|):
|
||||||
q Save all and exit editor
|
q Save all and exit editor
|
||||||
|
]t Jump to next test column
|
||||||
|
[t Jump to previous test column
|
||||||
|
gd Delete current test column
|
||||||
|
ga Add new test column at end
|
||||||
<c-w> Normal window navigation
|
<c-w> Normal window navigation
|
||||||
|
|
||||||
Examples: >
|
Examples: >
|
||||||
|
|
@ -348,6 +352,15 @@ run CSES problems with Rust using the single schema:
|
||||||
{format_verdict} (|VerdictFormatter|, default: nil) Custom verdict line
|
{format_verdict} (|VerdictFormatter|, default: nil) Custom verdict line
|
||||||
formatter. See |cp-verdict-format|.
|
formatter. See |cp-verdict-format|.
|
||||||
|
|
||||||
|
*EditConfig*
|
||||||
|
Fields: ~
|
||||||
|
{next_test_key} (string|nil, default: ']t') Jump to next test.
|
||||||
|
{prev_test_key} (string|nil, default: '[t') Jump to previous test.
|
||||||
|
{delete_test_key} (string|nil, default: 'gd') Delete current test.
|
||||||
|
{add_test_key} (string|nil, default: 'ga') Add new test.
|
||||||
|
{save_and_exit_key} (string|nil, default: 'q') Save and exit editor.
|
||||||
|
All keys are nil-able. Set to nil to disable.
|
||||||
|
|
||||||
*cp.PanelConfig*
|
*cp.PanelConfig*
|
||||||
Fields: ~
|
Fields: ~
|
||||||
{diff_mode} (string, default: "none") Diff backend: "none",
|
{diff_mode} (string, default: "none") Diff backend: "none",
|
||||||
|
|
|
||||||
|
|
@ -65,9 +65,17 @@
|
||||||
---@field prev_test_key string|nil
|
---@field prev_test_key string|nil
|
||||||
---@field format_verdict VerdictFormatter
|
---@field format_verdict VerdictFormatter
|
||||||
|
|
||||||
|
---@class EditConfig
|
||||||
|
---@field next_test_key string|nil
|
||||||
|
---@field prev_test_key string|nil
|
||||||
|
---@field delete_test_key string|nil
|
||||||
|
---@field add_test_key string|nil
|
||||||
|
---@field save_and_exit_key string|nil
|
||||||
|
|
||||||
---@class CpUI
|
---@class CpUI
|
||||||
---@field ansi boolean
|
---@field ansi boolean
|
||||||
---@field run RunConfig
|
---@field run RunConfig
|
||||||
|
---@field edit EditConfig
|
||||||
---@field panel PanelConfig
|
---@field panel PanelConfig
|
||||||
---@field diff DiffConfig
|
---@field diff DiffConfig
|
||||||
---@field picker string|nil
|
---@field picker string|nil
|
||||||
|
|
@ -154,6 +162,13 @@ M.defaults = {
|
||||||
prev_test_key = '<c-p>',
|
prev_test_key = '<c-p>',
|
||||||
format_verdict = helpers.default_verdict_formatter,
|
format_verdict = helpers.default_verdict_formatter,
|
||||||
},
|
},
|
||||||
|
edit = {
|
||||||
|
next_test_key = ']t',
|
||||||
|
prev_test_key = '[t',
|
||||||
|
delete_test_key = 'gd',
|
||||||
|
add_test_key = 'ga',
|
||||||
|
save_and_exit_key = 'q',
|
||||||
|
},
|
||||||
panel = { diff_mode = 'none', max_output_lines = 50 },
|
panel = { diff_mode = 'none', max_output_lines = 50 },
|
||||||
diff = {
|
diff = {
|
||||||
git = {
|
git = {
|
||||||
|
|
@ -329,6 +344,41 @@ function M.setup(user_config)
|
||||||
cfg.ui.run.format_verdict,
|
cfg.ui.run.format_verdict,
|
||||||
'function',
|
'function',
|
||||||
},
|
},
|
||||||
|
edit_next_test_key = {
|
||||||
|
cfg.ui.edit.next_test_key,
|
||||||
|
function(v)
|
||||||
|
return v == nil or (type(v) == 'string' and #v > 0)
|
||||||
|
end,
|
||||||
|
'nil or non-empty string',
|
||||||
|
},
|
||||||
|
edit_prev_test_key = {
|
||||||
|
cfg.ui.edit.prev_test_key,
|
||||||
|
function(v)
|
||||||
|
return v == nil or (type(v) == 'string' and #v > 0)
|
||||||
|
end,
|
||||||
|
'nil or non-empty string',
|
||||||
|
},
|
||||||
|
delete_test_key = {
|
||||||
|
cfg.ui.edit.delete_test_key,
|
||||||
|
function(v)
|
||||||
|
return v == nil or (type(v) == 'string' and #v > 0)
|
||||||
|
end,
|
||||||
|
'nil or non-empty string',
|
||||||
|
},
|
||||||
|
add_test_key = {
|
||||||
|
cfg.ui.edit.add_test_key,
|
||||||
|
function(v)
|
||||||
|
return v == nil or (type(v) == 'string' and #v > 0)
|
||||||
|
end,
|
||||||
|
'nil or non-empty string',
|
||||||
|
},
|
||||||
|
save_and_exit_key = {
|
||||||
|
cfg.ui.edit.save_and_exit_key,
|
||||||
|
function(v)
|
||||||
|
return v == nil or (type(v) == 'string' and #v > 0)
|
||||||
|
end,
|
||||||
|
'nil or non-empty string',
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
for id, lang in pairs(cfg.languages) do
|
for id, lang in pairs(cfg.languages) do
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue