diff options
author | Famiu Haque <famiuhaque@protonmail.com> | 2022-05-12 19:34:38 +0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-12 06:34:38 -0700 |
commit | 2bbd588e73c4c0c17e497fafd281ceba382b9e4d (patch) | |
tree | 6e8abbecb3ad2b6e2a2a5fe50a837fe0401388ca /runtime/lua/vim/_editor.lua | |
parent | 963cfa7020a0e27be7223e43f6b5ee270d2ee7ec (diff) | |
download | rneovim-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.lua | 30 |
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. |