aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/_editor.lua
diff options
context:
space:
mode:
authorFamiu Haque <famiuhaque@protonmail.com>2022-05-12 19:34:38 +0600
committerGitHub <noreply@github.com>2022-05-12 06:34:38 -0700
commit2bbd588e73c4c0c17e497fafd281ceba382b9e4d (patch)
tree6e8abbecb3ad2b6e2a2a5fe50a837fe0401388ca /runtime/lua/vim/_editor.lua
parent963cfa7020a0e27be7223e43f6b5ee270d2ee7ec (diff)
downloadrneovim-2bbd588e73c4c0c17e497fafd281ceba382b9e4d.tar.gz
rneovim-2bbd588e73c4c0c17e497fafd281ceba382b9e4d.tar.bz2
rneovim-2bbd588e73c4c0c17e497fafd281ceba382b9e4d.zip
feat(lua): vim.cmd() with kwargs acts like nvim_cmd() #18523
Diffstat (limited to 'runtime/lua/vim/_editor.lua')
-rw-r--r--runtime/lua/vim/_editor.lua30
1 files changed, 27 insertions, 3 deletions
diff --git a/runtime/lua/vim/_editor.lua b/runtime/lua/vim/_editor.lua
index 9bdbf6d1c7..98921463b3 100644
--- a/runtime/lua/vim/_editor.lua
+++ b/runtime/lua/vim/_editor.lua
@@ -284,9 +284,33 @@ vim.funcref = function(viml_func_name)
return vim.fn[viml_func_name]
end
--- An easier alias for commands.
-vim.cmd = function(command)
- return vim.api.nvim_exec(command, false)
+--- Execute Vim script commands.
+---
+--- Example:
+--- <pre>
+--- vim.cmd('echo 42')
+--- vim.cmd([[
+--- augroup My_group
+--- autocmd!
+--- autocmd FileType c setlocal cindent
+--- augroup END
+--- ]])
+--- vim.cmd({ cmd = 'echo', args = { '"foo"' } })
+--- </pre>
+---
+---@param command string|table Command(s) to execute.
+--- If a string, executes multiple lines of Vim script at once. In this
+--- case, it is an alias to |nvim_exec()|, where `output` is set to
+--- false. Thus it works identical to |:source|.
+--- If a table, executes a single command. In this case, it is an alias
+--- to |nvim_cmd()| where `opts` is empty.
+---@see |ex-cmd-index|
+function vim.cmd(command)
+ if type(command) == 'table' then
+ return vim.api.nvim_cmd(command, {})
+ else
+ return vim.api.nvim_exec(command, false)
+ end
end
-- These are the vim.env/v/g/o/bo/wo variable magic accessors.