diff options
author | Thiago de Arruda <tpadilha84@gmail.com> | 2014-06-18 12:16:53 -0300 |
---|---|---|
committer | Thiago de Arruda <tpadilha84@gmail.com> | 2014-06-18 12:16:53 -0300 |
commit | 090870ca047dee8d136f863ba742922fc265d6f4 (patch) | |
tree | 28b5852d5c6ed9ebc415209d9c42bafa651b53b3 /src/nvim/api | |
parent | d199d18159c624844c9c8052d1a98b91084fb803 (diff) | |
parent | a7d027c8ab289d76eda91b6afe3be63a165d4adf (diff) | |
download | rneovim-090870ca047dee8d136f863ba742922fc265d6f4.tar.gz rneovim-090870ca047dee8d136f863ba742922fc265d6f4.tar.bz2 rneovim-090870ca047dee8d136f863ba742922fc265d6f4.zip |
Merge PR #853
Diffstat (limited to 'src/nvim/api')
-rw-r--r-- | src/nvim/api/buffer.c | 24 | ||||
-rw-r--r-- | src/nvim/api/private/defs.h | 4 | ||||
-rw-r--r-- | src/nvim/api/private/helpers.c | 21 | ||||
-rw-r--r-- | src/nvim/api/private/helpers.h | 43 | ||||
-rw-r--r-- | src/nvim/api/tabpage.c | 10 | ||||
-rw-r--r-- | src/nvim/api/vim.c | 6 | ||||
-rw-r--r-- | src/nvim/api/window.c | 28 |
7 files changed, 82 insertions, 54 deletions
diff --git a/src/nvim/api/buffer.c b/src/nvim/api/buffer.c index adcdc6da94..034ced184a 100644 --- a/src/nvim/api/buffer.c +++ b/src/nvim/api/buffer.c @@ -31,7 +31,7 @@ /// @return The line count Integer buffer_get_length(Buffer buffer, Error *err) { - buf_T *buf = find_buffer(buffer, err); + buf_T *buf = find_buffer_by_handle(buffer, err); if (!buf) { return 0; @@ -100,7 +100,7 @@ StringArray buffer_get_slice(Buffer buffer, Error *err) { StringArray rv = ARRAY_DICT_INIT; - buf_T *buf = find_buffer(buffer, err); + buf_T *buf = find_buffer_by_handle(buffer, err); if (!buf) { return rv; @@ -160,7 +160,7 @@ void buffer_set_slice(Buffer buffer, StringArray replacement, Error *err) { - buf_T *buf = find_buffer(buffer, err); + buf_T *buf = find_buffer_by_handle(buffer, err); if (!buf) { return; @@ -283,7 +283,7 @@ end: /// @return The variable value Object buffer_get_var(Buffer buffer, String name, Error *err) { - buf_T *buf = find_buffer(buffer, err); + buf_T *buf = find_buffer_by_handle(buffer, err); if (!buf) { return (Object) OBJECT_INIT; @@ -301,7 +301,7 @@ Object buffer_get_var(Buffer buffer, String name, Error *err) /// @return The old value Object buffer_set_var(Buffer buffer, String name, Object value, Error *err) { - buf_T *buf = find_buffer(buffer, err); + buf_T *buf = find_buffer_by_handle(buffer, err); if (!buf) { return (Object) OBJECT_INIT; @@ -318,7 +318,7 @@ Object buffer_set_var(Buffer buffer, String name, Object value, Error *err) /// @return The option value Object buffer_get_option(Buffer buffer, String name, Error *err) { - buf_T *buf = find_buffer(buffer, err); + buf_T *buf = find_buffer_by_handle(buffer, err); if (!buf) { return (Object) OBJECT_INIT; @@ -336,7 +336,7 @@ Object buffer_get_option(Buffer buffer, String name, Error *err) /// @param[out] err Details of an error that may have occurred void buffer_set_option(Buffer buffer, String name, Object value, Error *err) { - buf_T *buf = find_buffer(buffer, err); + buf_T *buf = find_buffer_by_handle(buffer, err); if (!buf) { return; @@ -353,7 +353,7 @@ void buffer_set_option(Buffer buffer, String name, Object value, Error *err) Integer buffer_get_number(Buffer buffer, Error *err) { Integer rv = 0; - buf_T *buf = find_buffer(buffer, err); + buf_T *buf = find_buffer_by_handle(buffer, err); if (!buf) { return rv; @@ -370,7 +370,7 @@ Integer buffer_get_number(Buffer buffer, Error *err) String buffer_get_name(Buffer buffer, Error *err) { String rv = STRING_INIT; - buf_T *buf = find_buffer(buffer, err); + buf_T *buf = find_buffer_by_handle(buffer, err); if (!buf || buf->b_ffname == NULL) { return rv; @@ -386,7 +386,7 @@ String buffer_get_name(Buffer buffer, Error *err) /// @param[out] err Details of an error that may have occurred void buffer_set_name(Buffer buffer, String name, Error *err) { - buf_T *buf = find_buffer(buffer, err); + buf_T *buf = find_buffer_by_handle(buffer, err); if (!buf) { return; @@ -416,7 +416,7 @@ void buffer_set_name(Buffer buffer, String name, Error *err) Boolean buffer_is_valid(Buffer buffer) { Error stub = {.set = false}; - return find_buffer(buffer, &stub) != NULL; + return find_buffer_by_handle(buffer, &stub) != NULL; } /// Inserts a sequence of lines to a buffer at a certain index @@ -440,7 +440,7 @@ void buffer_insert(Buffer buffer, Integer lnum, StringArray lines, Error *err) Position buffer_get_mark(Buffer buffer, String name, Error *err) { Position rv = POSITION_INIT; - buf_T *buf = find_buffer(buffer, err); + buf_T *buf = find_buffer_by_handle(buffer, err); if (!buf) { return rv; diff --git a/src/nvim/api/private/defs.h b/src/nvim/api/private/defs.h index ab806941f4..ee0fc02c4d 100644 --- a/src/nvim/api/private/defs.h +++ b/src/nvim/api/private/defs.h @@ -49,14 +49,14 @@ typedef struct { typedef struct { Object *items; - size_t size; + size_t size, capacity; } Array; typedef struct key_value_pair KeyValuePair; typedef struct { KeyValuePair *items; - size_t size; + size_t size, capacity; } Dictionary; typedef enum { diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c index 264ac7a507..30301e9368 100644 --- a/src/nvim/api/private/helpers.c +++ b/src/nvim/api/private/helpers.c @@ -288,12 +288,7 @@ Object vim_to_object(typval_T *obj) return rv; } -/// Finds the pointer for a window number -/// -/// @param window the window number -/// @param[out] err Details of an error that may have occurred -/// @return the window pointer -buf_T *find_buffer(Buffer buffer, Error *err) +buf_T *find_buffer_by_handle(Buffer buffer, Error *err) { buf_T *rv = handle_get_buffer(buffer); @@ -304,12 +299,7 @@ buf_T *find_buffer(Buffer buffer, Error *err) return rv; } -/// Finds the pointer for a window number -/// -/// @param window the window number -/// @param[out] err Details of an error that may have occurred -/// @return the window pointer -win_T * find_window(Window window, Error *err) +win_T * find_window_by_handle(Window window, Error *err) { win_T *rv = handle_get_window(window); @@ -320,12 +310,7 @@ win_T * find_window(Window window, Error *err) return rv; } -/// Finds the pointer for a tabpage number -/// -/// @param tabpage the tabpage number -/// @param[out] err Details of an error that may have occurred -/// @return the tabpage pointer -tabpage_T * find_tab(Tabpage tabpage, Error *err) +tabpage_T * find_tab_by_handle(Tabpage tabpage, Error *err) { tabpage_T *rv = handle_get_tabpage(tabpage); diff --git a/src/nvim/api/private/helpers.h b/src/nvim/api/private/helpers.h index 68ab4ff614..e1e1a35490 100644 --- a/src/nvim/api/private/helpers.h +++ b/src/nvim/api/private/helpers.h @@ -6,6 +6,7 @@ #include "nvim/api/private/defs.h" #include "nvim/vim.h" #include "nvim/memory.h" +#include "nvim/lib/kvec.h" #define set_api_error(message, err) \ do { \ @@ -13,6 +14,48 @@ err->set = true; \ } while (0) +#define BOOL_OBJ(b) ((Object) { \ + .type = kObjectTypeBoolean, \ + .data.boolean = b \ + }) + +#define INTEGER_OBJ(i) ((Object) { \ + .type = kObjectTypeInteger, \ + .data.integer = i \ + }) + +#define STRING_OBJ(s) ((Object) { \ + .type = kObjectTypeString, \ + .data.string = cstr_to_string(s) \ + }) + +#define STRINGL_OBJ(d, s) ((Object) { \ + .type = kObjectTypeString, \ + .data.string = (String) { \ + .size = s, \ + .data = xmemdup(d, s) \ + }}) + +#define ARRAY_OBJ(a) ((Object) { \ + .type = kObjectTypeArray, \ + .data.array = a \ + }) + +#define DICTIONARY_OBJ(d) ((Object) { \ + .type = kObjectTypeDictionary, \ + .data.dictionary = d \ + }) + +#define NIL ((Object) {.type = kObjectTypeNil}) + +#define PUT(dict, k, v) \ + kv_push(KeyValuePair, \ + dict, \ + ((KeyValuePair) {.key = cstr_to_string(k), .value = v})) + +#define ADD(array, item) \ + kv_push(Object, array, item) + #ifdef INCLUDE_GENERATED_DECLARATIONS # include "api/private/helpers.h.generated.h" #endif diff --git a/src/nvim/api/tabpage.c b/src/nvim/api/tabpage.c index 8d92b01cf9..535722c087 100644 --- a/src/nvim/api/tabpage.c +++ b/src/nvim/api/tabpage.c @@ -16,7 +16,7 @@ WindowArray tabpage_get_windows(Tabpage tabpage, Error *err) { WindowArray rv = ARRAY_DICT_INIT; - tabpage_T *tab = find_tab(tabpage, err); + tabpage_T *tab = find_tab_by_handle(tabpage, err); if (!tab) { return rv; @@ -53,7 +53,7 @@ WindowArray tabpage_get_windows(Tabpage tabpage, Error *err) /// @return The variable value Object tabpage_get_var(Tabpage tabpage, String name, Error *err) { - tabpage_T *tab = find_tab(tabpage, err); + tabpage_T *tab = find_tab_by_handle(tabpage, err); if (!tab) { return (Object) OBJECT_INIT; @@ -71,7 +71,7 @@ Object tabpage_get_var(Tabpage tabpage, String name, Error *err) /// @return The tab page handle Object tabpage_set_var(Tabpage tabpage, String name, Object value, Error *err) { - tabpage_T *tab = find_tab(tabpage, err); + tabpage_T *tab = find_tab_by_handle(tabpage, err); if (!tab) { return (Object) OBJECT_INIT; @@ -88,7 +88,7 @@ Object tabpage_set_var(Tabpage tabpage, String name, Object value, Error *err) Window tabpage_get_window(Tabpage tabpage, Error *err) { Window rv = 0; - tabpage_T *tab = find_tab(tabpage, err); + tabpage_T *tab = find_tab_by_handle(tabpage, err); if (!tab) { return rv; @@ -117,6 +117,6 @@ Window tabpage_get_window(Tabpage tabpage, Error *err) Boolean tabpage_is_valid(Tabpage tabpage) { Error stub = {.set = false}; - return find_tab(tabpage, &stub) != NULL; + return find_tab_by_handle(tabpage, &stub) != NULL; } diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c index b99311a61a..e7261e1096 100644 --- a/src/nvim/api/vim.c +++ b/src/nvim/api/vim.c @@ -291,7 +291,7 @@ Buffer vim_get_current_buffer(void) /// @param[out] err Details of an error that may have occurred void vim_set_current_buffer(Buffer buffer, Error *err) { - buf_T *buf = find_buffer(buffer, err); + buf_T *buf = find_buffer_by_handle(buffer, err); if (!buf) { return; @@ -348,7 +348,7 @@ Window vim_get_current_window(void) /// @param handle The window handle void vim_set_current_window(Window window, Error *err) { - win_T *win = find_window(window, err); + win_T *win = find_window_by_handle(window, err); if (!win) { return; @@ -407,7 +407,7 @@ Tabpage vim_get_current_tabpage(void) /// @param[out] err Details of an error that may have occurred void vim_set_current_tabpage(Tabpage tabpage, Error *err) { - tabpage_T *tp = find_tab(tabpage, err); + tabpage_T *tp = find_tab_by_handle(tabpage, err); if (!tp) { return; diff --git a/src/nvim/api/window.c b/src/nvim/api/window.c index 2b81afdb0c..548d8171a5 100644 --- a/src/nvim/api/window.c +++ b/src/nvim/api/window.c @@ -19,7 +19,7 @@ /// @return The buffer handle Buffer window_get_buffer(Window window, Error *err) { - win_T *win = find_window(window, err); + win_T *win = find_window_by_handle(window, err); if (!win) { return 0; @@ -36,7 +36,7 @@ Buffer window_get_buffer(Window window, Error *err) Position window_get_cursor(Window window, Error *err) { Position rv = {.row = 0, .col = 0}; - win_T *win = find_window(window, err); + win_T *win = find_window_by_handle(window, err); if (win) { rv.row = win->w_cursor.lnum; @@ -53,7 +53,7 @@ Position window_get_cursor(Window window, Error *err) /// @param[out] err Details of an error that may have occurred void window_set_cursor(Window window, Position pos, Error *err) { - win_T *win = find_window(window, err); + win_T *win = find_window_by_handle(window, err); if (!win) { return; @@ -89,7 +89,7 @@ void window_set_cursor(Window window, Position pos, Error *err) /// @return the height in rows Integer window_get_height(Window window, Error *err) { - win_T *win = find_window(window, err); + win_T *win = find_window_by_handle(window, err); if (!win) { return 0; @@ -106,7 +106,7 @@ Integer window_get_height(Window window, Error *err) /// @param[out] err Details of an error that may have occurred void window_set_height(Window window, Integer height, Error *err) { - win_T *win = find_window(window, err); + win_T *win = find_window_by_handle(window, err); if (!win) { return; @@ -132,7 +132,7 @@ void window_set_height(Window window, Integer height, Error *err) /// @return the width in columns Integer window_get_width(Window window, Error *err) { - win_T *win = find_window(window, err); + win_T *win = find_window_by_handle(window, err); if (!win) { return 0; @@ -149,7 +149,7 @@ Integer window_get_width(Window window, Error *err) /// @param[out] err Details of an error that may have occurred void window_set_width(Window window, Integer width, Error *err) { - win_T *win = find_window(window, err); + win_T *win = find_window_by_handle(window, err); if (!win) { return; @@ -176,7 +176,7 @@ void window_set_width(Window window, Integer width, Error *err) /// @return The variable value Object window_get_var(Window window, String name, Error *err) { - win_T *win = find_window(window, err); + win_T *win = find_window_by_handle(window, err); if (!win) { return (Object) OBJECT_INIT; @@ -194,7 +194,7 @@ Object window_get_var(Window window, String name, Error *err) /// @return The old value Object window_set_var(Window window, String name, Object value, Error *err) { - win_T *win = find_window(window, err); + win_T *win = find_window_by_handle(window, err); if (!win) { return (Object) OBJECT_INIT; @@ -211,7 +211,7 @@ Object window_set_var(Window window, String name, Object value, Error *err) /// @return The option value Object window_get_option(Window window, String name, Error *err) { - win_T *win = find_window(window, err); + win_T *win = find_window_by_handle(window, err); if (!win) { return (Object) OBJECT_INIT; @@ -229,7 +229,7 @@ Object window_get_option(Window window, String name, Error *err) /// @param[out] err Details of an error that may have occurred void window_set_option(Window window, String name, Object value, Error *err) { - win_T *win = find_window(window, err); + win_T *win = find_window_by_handle(window, err); if (!win) { return; @@ -246,7 +246,7 @@ void window_set_option(Window window, String name, Object value, Error *err) Position window_get_position(Window window, Error *err) { Position rv; - win_T *win = find_window(window, err); + win_T *win = find_window_by_handle(window, err); if (win) { rv.col = win->w_wincol; @@ -264,7 +264,7 @@ Position window_get_position(Window window, Error *err) Tabpage window_get_tabpage(Window window, Error *err) { Tabpage rv = 0; - win_T *win = find_window(window, err); + win_T *win = find_window_by_handle(window, err); if (win) { rv = win_find_tabpage(win)->handle; @@ -280,6 +280,6 @@ Tabpage window_get_tabpage(Window window, Error *err) Boolean window_is_valid(Window window) { Error stub = {.set = false}; - return find_window(window, &stub) != NULL; + return find_window_by_handle(window, &stub) != NULL; } |