fix(api): use E226 instead of E227 for duplicate abbreviation (#33159)

(cherry picked from commit 99529577cc)
This commit is contained in:
zeertzjq
2025-03-30 07:12:01 +08:00
committed by github-actions[bot]
parent 1e8e74dbff
commit 2b2a90051e
2 changed files with 9 additions and 1 deletions

View File

@ -2804,7 +2804,9 @@ void modify_keymap(uint64_t channel_id, Buffer buffer, bool is_unmap, String mod
api_set_error(err, kErrorTypeException, e_nomap, 0);
goto fail_and_free;
case 5:
api_set_error(err, kErrorTypeException, e_mapping_already_exists_for_str, lhs.data);
api_set_error(err, kErrorTypeException,
is_abbrev ? e_abbreviation_already_exists_for_str
: e_mapping_already_exists_for_str, lhs.data);
goto fail_and_free;
default:
assert(false && "Unrecognized return code!");

View File

@ -814,6 +814,12 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
'E227: Mapping already exists for <tab>',
pcall_err(api.nvim_set_keymap, 'n', '<tab>', 'rhs', { unique = true })
)
api.nvim_set_keymap('ia', 'lhs', 'rhs', {})
eq(
'E226: Abbreviation already exists for lhs',
pcall_err(api.nvim_set_keymap, 'ia', 'lhs', 'rhs', { unique = true })
)
end)
it('can set <expr> mappings whose RHS change dynamically', function()