aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/private/helpers.c
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2016-01-31 01:25:00 +0300
committerZyX <kp-pav@yandex.ru>2016-04-18 02:44:03 +0300
commitd70a322c40e849f98ad573d2a37dc680c5616b26 (patch)
treeabe3c021dd0d7e9ae0f0f7a6b23d4ec8f548f930 /src/nvim/api/private/helpers.c
parent18903bd9b88ec960cb36b1ddd2b5062aad4bac2e (diff)
downloadrneovim-d70a322c40e849f98ad573d2a37dc680c5616b26.tar.gz
rneovim-d70a322c40e849f98ad573d2a37dc680c5616b26.tar.bz2
rneovim-d70a322c40e849f98ad573d2a37dc680c5616b26.zip
eval: Add special variables v:false, v:null, v:none
Diffstat (limited to 'src/nvim/api/private/helpers.c')
-rw-r--r--src/nvim/api/private/helpers.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c
index c770618ce4..a8082655fd 100644
--- a/src/nvim/api/private/helpers.c
+++ b/src/nvim/api/private/helpers.c
@@ -651,6 +651,22 @@ static Object vim_to_object_rec(typval_T *obj, PMap(ptr_t) *lookup)
}
switch (obj->v_type) {
+ case VAR_SPECIAL:
+ switch (obj->vval.v_special) {
+ case kSpecialVarTrue:
+ case kSpecialVarFalse: {
+ rv.type = kObjectTypeBoolean;
+ rv.data.boolean = (obj->vval.v_special == kSpecialVarTrue);
+ break;
+ }
+ case kSpecialVarNull:
+ case kSpecialVarNone: {
+ rv.type = kObjectTypeNil;
+ break;
+ }
+ }
+ break;
+
case VAR_STRING:
rv.type = kObjectTypeString;
rv.data.string = cstr_to_string((char *) obj->vval.v_string);
@@ -730,6 +746,10 @@ static Object vim_to_object_rec(typval_T *obj, PMap(ptr_t) *lookup)
}
}
break;
+
+ case VAR_UNKNOWN:
+ case VAR_FUNC:
+ break;
}
return rv;