aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/private
diff options
context:
space:
mode:
authorThiago de Arruda <tpadilha84@gmail.com>2014-06-18 12:16:53 -0300
committerThiago de Arruda <tpadilha84@gmail.com>2014-06-18 12:16:53 -0300
commit090870ca047dee8d136f863ba742922fc265d6f4 (patch)
tree28b5852d5c6ed9ebc415209d9c42bafa651b53b3 /src/nvim/api/private
parentd199d18159c624844c9c8052d1a98b91084fb803 (diff)
parenta7d027c8ab289d76eda91b6afe3be63a165d4adf (diff)
downloadrneovim-090870ca047dee8d136f863ba742922fc265d6f4.tar.gz
rneovim-090870ca047dee8d136f863ba742922fc265d6f4.tar.bz2
rneovim-090870ca047dee8d136f863ba742922fc265d6f4.zip
Merge PR #853
Diffstat (limited to 'src/nvim/api/private')
-rw-r--r--src/nvim/api/private/defs.h4
-rw-r--r--src/nvim/api/private/helpers.c21
-rw-r--r--src/nvim/api/private/helpers.h43
3 files changed, 48 insertions, 20 deletions
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