aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api
diff options
context:
space:
mode:
authorScott Prager <splinterofchaos@gmail.com>2015-04-13 10:25:14 -0400
committerScott Prager <splinterofchaos@gmail.com>2015-04-13 10:25:14 -0400
commitd60ae3159ecb2906e53a44241a51dada359d38f0 (patch)
tree7385a2852836512c36ef67fa3fb97ba3409bfe55 /src/nvim/api
parenta9ee85b9fc2d4e3faa466e9c3062cd41315f8456 (diff)
parentc4da6bf2bac692c972ec9d06f8352996d563860f (diff)
downloadrneovim-d60ae3159ecb2906e53a44241a51dada359d38f0.tar.gz
rneovim-d60ae3159ecb2906e53a44241a51dada359d38f0.tar.bz2
rneovim-d60ae3159ecb2906e53a44241a51dada359d38f0.zip
Merge pull request #1446 from splinterofchaos/obj
Allow the execution of msgpack notifications and extend vimL lightly.
Diffstat (limited to 'src/nvim/api')
-rw-r--r--src/nvim/api/private/defs.h9
-rw-r--r--src/nvim/api/private/helpers.c3
2 files changed, 12 insertions, 0 deletions
diff --git a/src/nvim/api/private/defs.h b/src/nvim/api/private/defs.h
index 76ac23a521..6c8e324649 100644
--- a/src/nvim/api/private/defs.h
+++ b/src/nvim/api/private/defs.h
@@ -22,6 +22,15 @@ typedef enum {
kErrorTypeValidation
} ErrorType;
+typedef enum {
+ kMessageTypeRequest,
+ kMessageTypeResponse,
+ kMessageTypeNotification
+} MessageType;
+
+/// Used as the message ID of notifications.
+#define NO_RESPONSE UINT64_MAX
+
typedef struct {
ErrorType type;
char msg[1024];
diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c
index 492da25a82..67ff77ebac 100644
--- a/src/nvim/api/private/helpers.c
+++ b/src/nvim/api/private/helpers.c
@@ -405,6 +405,9 @@ bool object_to_vim(Object obj, typval_T *tv, Error *err)
tv->vval.v_number = obj.data.boolean;
break;
+ case kObjectTypeBuffer:
+ case kObjectTypeWindow:
+ case kObjectTypeTabpage:
case kObjectTypeInteger:
if (obj.data.integer > INT_MAX || obj.data.integer < INT_MIN) {
api_set_error(err, Validation, _("Integer value outside range"));