fix(api): add missing nargs field to user command Lua callbacks #34210

Problem: nvim_create_user_command() Lua callbacks were missing the documented nargs field in the options table passed to the callback function.

Solution: Add nargs field derivation from command argument type flags in nlua_do_ucmd(), using the same logic as nvim_parse_cmd().
(cherry picked from commit 5cfbc35aa8)
This commit is contained in:
glepnir
2025-06-02 06:03:35 +08:00
committed by github-actions[bot]
parent d519b77d2b
commit f2c4305114
2 changed files with 30 additions and 0 deletions

View File

@@ -227,6 +227,7 @@ describe('nvim_create_user_command', function()
line1 = 1,
line2 = 1,
mods = '',
nargs = '*',
smods = {
browse = false,
confirm = false,
@@ -267,6 +268,7 @@ describe('nvim_create_user_command', function()
line1 = 1,
line2 = 1,
mods = '',
nargs = '*',
smods = {
browse = false,
confirm = false,
@@ -307,6 +309,7 @@ describe('nvim_create_user_command', function()
line1 = 1,
line2 = 1,
mods = '',
nargs = '*',
smods = {
browse = false,
confirm = false,
@@ -347,6 +350,7 @@ describe('nvim_create_user_command', function()
line1 = 10,
line2 = 10,
mods = 'confirm unsilent botright horizontal',
nargs = '*',
smods = {
browse = false,
confirm = true,
@@ -387,6 +391,7 @@ describe('nvim_create_user_command', function()
line1 = 1,
line2 = 42,
mods = '',
nargs = '*',
smods = {
browse = false,
confirm = false,
@@ -427,6 +432,7 @@ describe('nvim_create_user_command', function()
line1 = 1,
line2 = 1,
mods = '',
nargs = '*',
smods = {
browse = false,
confirm = false,
@@ -479,6 +485,7 @@ describe('nvim_create_user_command', function()
line1 = 1,
line2 = 1,
mods = '',
nargs = '?',
smods = {
browse = false,
confirm = false,
@@ -520,6 +527,7 @@ describe('nvim_create_user_command', function()
line1 = 1,
line2 = 1,
mods = '',
nargs = '?',
smods = {
browse = false,
confirm = false,
@@ -572,6 +580,7 @@ describe('nvim_create_user_command', function()
line1 = 1,
line2 = 1,
mods = '',
nargs = '0',
smods = {
browse = false,
confirm = false,
@@ -612,6 +621,7 @@ describe('nvim_create_user_command', function()
line1 = 1,
line2 = 1,
mods = '',
nargs = '0',
smods = {
browse = false,
confirm = false,