From 22df6492101f0163c0126dcdf2be01bd58ae7c28 Mon Sep 17 00:00:00 2001 From: glepnir Date: Sun, 3 Aug 2025 10:52:54 +0800 Subject: fix(api): nvim_create_user_command addr option should allow ranges #35077 Problem: Using `addr` without `range` in nvim_create_user_command gives "No range allowed" error, inconsistent with `:command -addr` behavior. Solution: Set EX_RANGE flag when `addr` option is specified to match `:command` behavior. --- test/functional/api/command_spec.lua | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'test/functional/api/command_spec.lua') diff --git a/test/functional/api/command_spec.lua b/test/functional/api/command_spec.lua index cc09178834..2d49febf57 100644 --- a/test/functional/api/command_spec.lua +++ b/test/functional/api/command_spec.lua @@ -782,6 +782,13 @@ describe('nvim_create_user_command', function() eq(5, #api.nvim_list_tabpages()) eq(1, fn.tabpagenr()) end) + + it('"addr" flag allows ranges without explicit "range" flag', function() + exec_lua([[ + vim.api.nvim_create_user_command('Test2', 'echo "hello "', { addr = 'other' }) + ]]) + eq('hello 12', n.exec_capture('1,2Test2')) + end) end) describe('nvim_del_user_command', function() -- cgit