mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
Merge pull request #18071 from gpanders/create_uc
refactor!: Rename nvim_add_user_command to nvim_create_user_command
This commit is contained in:
commit
cdfb045ea0
@ -627,62 +627,6 @@ nvim__stats() *nvim__stats()*
|
||||
Return: ~
|
||||
Map of various internal stats.
|
||||
|
||||
*nvim_add_user_command()*
|
||||
nvim_add_user_command({name}, {command}, {*opts})
|
||||
Create a new user command |user-commands|
|
||||
|
||||
{name} is the name of the new command. The name must begin
|
||||
with an uppercase letter.
|
||||
|
||||
{command} is the replacement text or Lua function to execute.
|
||||
|
||||
Example: >
|
||||
:call nvim_add_user_command('SayHello', 'echo "Hello world!"', {})
|
||||
:SayHello
|
||||
Hello world!
|
||||
<
|
||||
|
||||
Parameters: ~
|
||||
{name} Name of the new user command. Must begin with
|
||||
an uppercase letter.
|
||||
{command} Replacement command to execute when this user
|
||||
command is executed. When called from Lua, the
|
||||
command can also be a Lua function. The
|
||||
function is called with a single table argument
|
||||
that contains the following keys:
|
||||
• args: (string) The args passed to the
|
||||
command, if any |<args>|
|
||||
• fargs: (table) The args split by unescaped
|
||||
whitespace (when more than one argument is
|
||||
allowed), if any |<f-args>|
|
||||
• bang: (boolean) "true" if the command was
|
||||
executed with a ! modifier |<bang>|
|
||||
• line1: (number) The starting line of the
|
||||
command range |<line1>|
|
||||
• line2: (number) The final line of the command
|
||||
range |<line2>|
|
||||
• range: (number) The number of items in the
|
||||
command range: 0, 1, or 2 |<range>|
|
||||
• count: (number) Any count supplied |<count>|
|
||||
• reg: (string) The optional register, if
|
||||
specified |<reg>|
|
||||
• mods: (string) Command modifiers, if any
|
||||
|<mods>|
|
||||
{opts} Optional command attributes. See
|
||||
|command-attributes| for more details. To use
|
||||
boolean attributes (such as |:command-bang| or
|
||||
|:command-bar|) set the value to "true". In
|
||||
addition to the string options listed in
|
||||
|:command-complete|, the "complete" key also
|
||||
accepts a Lua function which works like the
|
||||
"customlist" completion mode
|
||||
|:command-completion-customlist|. Additional
|
||||
parameters:
|
||||
• desc: (string) Used for listing the command
|
||||
when a Lua function is used for {command}.
|
||||
• force: (boolean, default true) Override any
|
||||
previous definition.
|
||||
|
||||
nvim_call_atomic({calls}) *nvim_call_atomic()*
|
||||
Calls many API methods atomically.
|
||||
|
||||
@ -740,6 +684,62 @@ nvim_create_buf({listed}, {scratch}) *nvim_create_buf()*
|
||||
See also: ~
|
||||
buf_open_scratch
|
||||
|
||||
*nvim_create_user_command()*
|
||||
nvim_create_user_command({name}, {command}, {*opts})
|
||||
Create a new user command |user-commands|
|
||||
|
||||
{name} is the name of the new command. The name must begin
|
||||
with an uppercase letter.
|
||||
|
||||
{command} is the replacement text or Lua function to execute.
|
||||
|
||||
Example: >
|
||||
:call nvim_create_user_command('SayHello', 'echo "Hello world!"', {})
|
||||
:SayHello
|
||||
Hello world!
|
||||
<
|
||||
|
||||
Parameters: ~
|
||||
{name} Name of the new user command. Must begin with
|
||||
an uppercase letter.
|
||||
{command} Replacement command to execute when this user
|
||||
command is executed. When called from Lua, the
|
||||
command can also be a Lua function. The
|
||||
function is called with a single table argument
|
||||
that contains the following keys:
|
||||
• args: (string) The args passed to the
|
||||
command, if any |<args>|
|
||||
• fargs: (table) The args split by unescaped
|
||||
whitespace (when more than one argument is
|
||||
allowed), if any |<f-args>|
|
||||
• bang: (boolean) "true" if the command was
|
||||
executed with a ! modifier |<bang>|
|
||||
• line1: (number) The starting line of the
|
||||
command range |<line1>|
|
||||
• line2: (number) The final line of the command
|
||||
range |<line2>|
|
||||
• range: (number) The number of items in the
|
||||
command range: 0, 1, or 2 |<range>|
|
||||
• count: (number) Any count supplied |<count>|
|
||||
• reg: (string) The optional register, if
|
||||
specified |<reg>|
|
||||
• mods: (string) Command modifiers, if any
|
||||
|<mods>|
|
||||
{opts} Optional command attributes. See
|
||||
|command-attributes| for more details. To use
|
||||
boolean attributes (such as |:command-bang| or
|
||||
|:command-bar|) set the value to "true". In
|
||||
addition to the string options listed in
|
||||
|:command-complete|, the "complete" key also
|
||||
accepts a Lua function which works like the
|
||||
"customlist" completion mode
|
||||
|:command-completion-customlist|. Additional
|
||||
parameters:
|
||||
• desc: (string) Used for listing the command
|
||||
when a Lua function is used for {command}.
|
||||
• force: (boolean, default true) Override any
|
||||
previous definition.
|
||||
|
||||
nvim_del_current_line() *nvim_del_current_line()*
|
||||
Deletes the current line.
|
||||
|
||||
@ -1864,16 +1864,6 @@ nvim__buf_redraw_range({buffer}, {first}, {last})
|
||||
nvim__buf_stats({buffer}) *nvim__buf_stats()*
|
||||
TODO: Documentation
|
||||
|
||||
*nvim_buf_add_user_command()*
|
||||
nvim_buf_add_user_command({buffer}, {name}, {command}, {*opts})
|
||||
Create a new user command |user-commands| in the given buffer.
|
||||
|
||||
Parameters: ~
|
||||
{buffer} Buffer handle, or 0 for current buffer.
|
||||
|
||||
See also: ~
|
||||
nvim_add_user_command
|
||||
|
||||
nvim_buf_attach({buffer}, {send_buffer}, {opts}) *nvim_buf_attach()*
|
||||
Activates buffer-update events on a channel, or as Lua
|
||||
callbacks.
|
||||
@ -1983,6 +1973,16 @@ nvim_buf_call({buffer}, {fun}) *nvim_buf_call()*
|
||||
Return value of function. NB: will deepcopy lua values
|
||||
currently, use upvalues to send lua references in and out.
|
||||
|
||||
*nvim_buf_create_user_command()*
|
||||
nvim_buf_create_user_command({buffer}, {name}, {command}, {*opts})
|
||||
Create a new user command |user-commands| in the given buffer.
|
||||
|
||||
Parameters: ~
|
||||
{buffer} Buffer handle, or 0 for current buffer.
|
||||
|
||||
See also: ~
|
||||
nvim_create_user_command
|
||||
|
||||
nvim_buf_del_keymap({buffer}, {mode}, {lhs}) *nvim_buf_del_keymap()*
|
||||
Unmaps a buffer-local |mapping| for the given mode.
|
||||
|
||||
@ -2015,7 +2015,7 @@ nvim_buf_del_user_command({buffer}, {name})
|
||||
Delete a buffer-local user-defined command.
|
||||
|
||||
Only commands created with |:command-buffer| or
|
||||
|nvim_buf_add_user_command()| can be deleted with this
|
||||
|nvim_buf_create_user_command()| can be deleted with this
|
||||
function.
|
||||
|
||||
Parameters: ~
|
||||
|
@ -244,6 +244,7 @@ with a {thing} that groups functions under a common concept).
|
||||
|
||||
Use existing common {action} names if possible:
|
||||
add Append to, or insert into, a collection
|
||||
create Create a new thing
|
||||
del Delete a thing (or group of things)
|
||||
exec Execute code
|
||||
get Get a thing (or group of things by query)
|
||||
|
@ -1377,9 +1377,9 @@ Object nvim_buf_call(Buffer buffer, LuaRef fun, Error *err)
|
||||
///
|
||||
/// @param buffer Buffer handle, or 0 for current buffer.
|
||||
/// @param[out] err Error details, if any.
|
||||
/// @see nvim_add_user_command
|
||||
void nvim_buf_add_user_command(Buffer buffer, String name, Object command, Dict(user_command) *opts,
|
||||
Error *err)
|
||||
/// @see nvim_create_user_command
|
||||
void nvim_buf_create_user_command(Buffer buffer, String name, Object command,
|
||||
Dict(user_command) *opts, Error *err)
|
||||
FUNC_API_SINCE(9)
|
||||
{
|
||||
buf_T *target_buf = find_buffer_by_handle(buffer, err);
|
||||
@ -1389,14 +1389,14 @@ void nvim_buf_add_user_command(Buffer buffer, String name, Object command, Dict(
|
||||
|
||||
buf_T *save_curbuf = curbuf;
|
||||
curbuf = target_buf;
|
||||
add_user_command(name, command, opts, UC_BUFFER, err);
|
||||
create_user_command(name, command, opts, UC_BUFFER, err);
|
||||
curbuf = save_curbuf;
|
||||
}
|
||||
|
||||
/// Delete a buffer-local user-defined command.
|
||||
///
|
||||
/// Only commands created with |:command-buffer| or
|
||||
/// |nvim_buf_add_user_command()| can be deleted with this function.
|
||||
/// |nvim_buf_create_user_command()| can be deleted with this function.
|
||||
///
|
||||
/// @param buffer Buffer handle, or 0 for current buffer.
|
||||
/// @param name Name of the command to delete.
|
||||
|
@ -1416,7 +1416,8 @@ const char *get_default_stl_hl(win_T *wp)
|
||||
}
|
||||
}
|
||||
|
||||
void add_user_command(String name, Object command, Dict(user_command) *opts, int flags, Error *err)
|
||||
void create_user_command(String name, Object command, Dict(user_command) *opts, int flags,
|
||||
Error *err)
|
||||
{
|
||||
uint32_t argt = 0;
|
||||
long def = -1;
|
||||
|
@ -2408,7 +2408,7 @@ Dictionary nvim_eval_statusline(String str, Dict(eval_statusline) *opts, Error *
|
||||
///
|
||||
/// Example:
|
||||
/// <pre>
|
||||
/// :call nvim_add_user_command('SayHello', 'echo "Hello world!"', {})
|
||||
/// :call nvim_create_user_command('SayHello', 'echo "Hello world!"', {})
|
||||
/// :SayHello
|
||||
/// Hello world!
|
||||
/// </pre>
|
||||
@ -2436,10 +2436,10 @@ Dictionary nvim_eval_statusline(String str, Dict(eval_statusline) *opts, Error *
|
||||
/// {command}.
|
||||
/// - force: (boolean, default true) Override any previous definition.
|
||||
/// @param[out] err Error details, if any.
|
||||
void nvim_add_user_command(String name, Object command, Dict(user_command) *opts, Error *err)
|
||||
void nvim_create_user_command(String name, Object command, Dict(user_command) *opts, Error *err)
|
||||
FUNC_API_SINCE(9)
|
||||
{
|
||||
add_user_command(name, command, opts, 0, err);
|
||||
create_user_command(name, command, opts, 0, err);
|
||||
}
|
||||
|
||||
/// Delete a user-defined command.
|
||||
|
@ -92,11 +92,11 @@ describe('nvim_get_commands', function()
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('nvim_add_user_command', function()
|
||||
describe('nvim_create_user_command', function()
|
||||
before_each(clear)
|
||||
|
||||
it('works with strings', function()
|
||||
meths.add_user_command('SomeCommand', 'let g:command_fired = <args>', {nargs = 1})
|
||||
meths.create_user_command('SomeCommand', 'let g:command_fired = <args>', {nargs = 1})
|
||||
meths.command('SomeCommand 42')
|
||||
eq(42, meths.eval('g:command_fired'))
|
||||
end)
|
||||
@ -104,7 +104,7 @@ describe('nvim_add_user_command', function()
|
||||
it('works with Lua functions', function()
|
||||
exec_lua [[
|
||||
result = {}
|
||||
vim.api.nvim_add_user_command('CommandWithLuaCallback', function(opts)
|
||||
vim.api.nvim_create_user_command('CommandWithLuaCallback', function(opts)
|
||||
result = opts
|
||||
end, {
|
||||
nargs = "*",
|
||||
@ -176,7 +176,7 @@ describe('nvim_add_user_command', function()
|
||||
-- f-args doesn't split when command nargs is 1 or "?"
|
||||
exec_lua [[
|
||||
result = {}
|
||||
vim.api.nvim_add_user_command('CommandWithOneArg', function(opts)
|
||||
vim.api.nvim_create_user_command('CommandWithOneArg', function(opts)
|
||||
result = opts
|
||||
end, {
|
||||
nargs = "?",
|
||||
@ -204,7 +204,7 @@ describe('nvim_add_user_command', function()
|
||||
|
||||
it('can define buffer-local commands', function()
|
||||
local bufnr = meths.create_buf(false, false)
|
||||
bufmeths.add_user_command(bufnr, "Hello", "", {})
|
||||
bufmeths.create_user_command(bufnr, "Hello", "", {})
|
||||
matches("Not an editor command: Hello", pcall_err(meths.command, "Hello"))
|
||||
meths.set_current_buf(bufnr)
|
||||
meths.command("Hello")
|
||||
@ -213,7 +213,7 @@ describe('nvim_add_user_command', function()
|
||||
|
||||
it('can use a Lua complete function', function()
|
||||
exec_lua [[
|
||||
vim.api.nvim_add_user_command('Test', '', {
|
||||
vim.api.nvim_create_user_command('Test', '', {
|
||||
nargs = "*",
|
||||
complete = function(arg, cmdline, pos)
|
||||
local options = {"aaa", "bbb", "ccc"}
|
||||
@ -236,23 +236,23 @@ describe('nvim_add_user_command', function()
|
||||
|
||||
it('does not allow invalid command names', function()
|
||||
matches("'name' must begin with an uppercase letter", pcall_err(exec_lua, [[
|
||||
vim.api.nvim_add_user_command('test', 'echo "hi"', {})
|
||||
vim.api.nvim_create_user_command('test', 'echo "hi"', {})
|
||||
]]))
|
||||
|
||||
matches('Invalid command name', pcall_err(exec_lua, [[
|
||||
vim.api.nvim_add_user_command('t@', 'echo "hi"', {})
|
||||
vim.api.nvim_create_user_command('t@', 'echo "hi"', {})
|
||||
]]))
|
||||
|
||||
matches('Invalid command name', pcall_err(exec_lua, [[
|
||||
vim.api.nvim_add_user_command('T@st', 'echo "hi"', {})
|
||||
vim.api.nvim_create_user_command('T@st', 'echo "hi"', {})
|
||||
]]))
|
||||
|
||||
matches('Invalid command name', pcall_err(exec_lua, [[
|
||||
vim.api.nvim_add_user_command('Test!', 'echo "hi"', {})
|
||||
vim.api.nvim_create_user_command('Test!', 'echo "hi"', {})
|
||||
]]))
|
||||
|
||||
matches('Invalid command name', pcall_err(exec_lua, [[
|
||||
vim.api.nvim_add_user_command('💩', 'echo "hi"', {})
|
||||
vim.api.nvim_create_user_command('💩', 'echo "hi"', {})
|
||||
]]))
|
||||
end)
|
||||
end)
|
||||
@ -261,14 +261,14 @@ describe('nvim_del_user_command', function()
|
||||
before_each(clear)
|
||||
|
||||
it('can delete global commands', function()
|
||||
meths.add_user_command('Hello', 'echo "Hi"', {})
|
||||
meths.create_user_command('Hello', 'echo "Hi"', {})
|
||||
meths.command('Hello')
|
||||
meths.del_user_command('Hello')
|
||||
matches("Not an editor command: Hello", pcall_err(meths.command, "Hello"))
|
||||
end)
|
||||
|
||||
it('can delete buffer-local commands', function()
|
||||
bufmeths.add_user_command(0, 'Hello', 'echo "Hi"', {})
|
||||
bufmeths.create_user_command(0, 'Hello', 'echo "Hi"', {})
|
||||
meths.command('Hello')
|
||||
bufmeths.del_user_command(0, 'Hello')
|
||||
matches("Not an editor command: Hello", pcall_err(meths.command, "Hello"))
|
||||
|
@ -31,7 +31,7 @@ vim.api.nvim_exec("augroup test_group\
|
||||
", false)
|
||||
|
||||
vim.api.nvim_command("command Bdelete :bd")
|
||||
vim.api.nvim_add_user_command("TestCommand", ":echo 'Hello'", {})
|
||||
vim.api.nvim_create_user_command("TestCommand", ":echo 'Hello'", {})
|
||||
|
||||
vim.api.nvim_exec ("\
|
||||
function Close_Window() abort\
|
||||
@ -114,7 +114,7 @@ test_group FileType
|
||||
script_location), result)
|
||||
end)
|
||||
|
||||
it('"Last set" for command defined by nvim_add_user_command', function()
|
||||
it('"Last set" for command defined by nvim_create_user_command', function()
|
||||
local result = exec_capture(':verbose command TestCommand')
|
||||
eq(string.format([[
|
||||
Name Args Address Complete Definition
|
||||
|
Loading…
Reference in New Issue
Block a user