diff options
author | Nimit Bhardwaj <nimitbhardwaj@gmail.com> | 2018-02-24 15:44:51 +0530 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2018-05-11 13:20:19 +0200 |
commit | 25b630484023716977c3fe2790c13b41f9db9f30 (patch) | |
tree | c6cd3a539518418da64faab85754220b37ecd3c6 /src/nvim/api | |
parent | 273d2cd5d5cfc7616c76d3531e9938750abcc05e (diff) | |
download | rneovim-25b630484023716977c3fe2790c13b41f9db9f30.tar.gz rneovim-25b630484023716977c3fe2790c13b41f9db9f30.tar.bz2 rneovim-25b630484023716977c3fe2790c13b41f9db9f30.zip |
API: nvim_get_commands()
Diffstat (limited to 'src/nvim/api')
-rw-r--r-- | src/nvim/api/buffer.c | 21 | ||||
-rw-r--r-- | src/nvim/api/private/helpers.c | 4 | ||||
-rw-r--r-- | src/nvim/api/vim.c | 13 |
3 files changed, 36 insertions, 2 deletions
diff --git a/src/nvim/api/buffer.c b/src/nvim/api/buffer.c index 023f434f9d..c4508a0c81 100644 --- a/src/nvim/api/buffer.c +++ b/src/nvim/api/buffer.c @@ -24,6 +24,7 @@ #include "nvim/syntax.h" #include "nvim/window.h" #include "nvim/undo.h" +#include "nvim/ex_docmd.h" #ifdef INCLUDE_GENERATED_DECLARATIONS # include "api/buffer.c.generated.h" @@ -478,6 +479,26 @@ ArrayOf(Dictionary) nvim_buf_get_keymap(Buffer buffer, String mode, Error *err) return keymap_array(mode, buf); } +/// Gets a list of dictionaries describing buffer-local commands. +/// The "buffer" key in the returned dictionary reflects the buffer +/// handle where the command is present. +/// +/// @param buffer Buffer handle. +/// @param opts Optional parameters, currently always +/// @param[out] err Error details, if any. +/// +/// @returns Array of dictionaries describing commands. +ArrayOf(Dictionary) nvim_buf_get_commands(Buffer buffer, Dictionary opts, + Error *err) + FUNC_API_SINCE(4) +{ + buf_T *buf = find_buffer_by_handle(buffer, err); + if (!buf) { + return (Array)ARRAY_DICT_INIT; + } + return commands_array(buf); +} + /// Sets a buffer-scoped (b:) variable /// /// @param buffer Buffer handle diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c index b922036893..03f1a882d3 100644 --- a/src/nvim/api/private/helpers.c +++ b/src/nvim/api/private/helpers.c @@ -701,7 +701,7 @@ String cchar_to_string(char c) String cstr_to_string(const char *str) { if (str == NULL) { - return (String) STRING_INIT; + return (String) STRING_INIT; } size_t len = strlen(str); @@ -1149,7 +1149,7 @@ void api_set_error(Error *err, ErrorType errType, const char *format, ...) /// /// @param mode The abbreviation for the mode /// @param buf The buffer to get the mapping array. NULL for global -/// @returns An array of maparg() like dictionaries describing mappings +/// @returns Array of maparg()-like dictionaries describing mappings ArrayOf(Dictionary) keymap_array(String mode, buf_T *buf) { Array mappings = ARRAY_DICT_INIT; diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c index df4912a51e..38e64fd6ed 100644 --- a/src/nvim/api/vim.c +++ b/src/nvim/api/vim.c @@ -959,6 +959,19 @@ ArrayOf(Dictionary) nvim_get_keymap(String mode) return keymap_array(mode, NULL); } +/// Gets a list of dictionaries describing global(non-buffer) commands. +/// +/// @param opts Holds the API Metadata describing what type of commands +/// are needed. +/// @param[out] err Error details, if any. +/// +/// @returns Array of dictionaries describing commands. +ArrayOf(Dictionary) nvim_get_commands(Dictionary opts, Error *err) + FUNC_API_SINCE(4) +{ + return commands_array(NULL); +} + /// Returns a 2-tuple (Array), where item 0 is the current channel id and item /// 1 is the |api-metadata| map (Dictionary). /// |