aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/private/helpers.c
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2020-10-10 18:31:46 +0200
committerGitHub <noreply@github.com>2020-10-10 18:31:46 +0200
commitf7cc3ae0b7b8ce67294c00729d278362ad60a4f0 (patch)
tree5b601432a0b2d835bb31a8d2776d74bfd9b885b0 /src/nvim/api/private/helpers.c
parent405044a41206e325c4f3ecaa6c62ed8f4bb32abe (diff)
parent6bf414c0d74ed6f2c573e87290830bade4330c9a (diff)
downloadrneovim-f7cc3ae0b7b8ce67294c00729d278362ad60a4f0.tar.gz
rneovim-f7cc3ae0b7b8ce67294c00729d278362ad60a4f0.tar.bz2
rneovim-f7cc3ae0b7b8ce67294c00729d278362ad60a4f0.zip
Merge pull request #13038 from bfredl/multiluahl
api: multiple decoration providers at once
Diffstat (limited to 'src/nvim/api/private/helpers.c')
-rw-r--r--src/nvim/api/private/helpers.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c
index e0d5862e02..84517c99fc 100644
--- a/src/nvim/api/private/helpers.c
+++ b/src/nvim/api/private/helpers.c
@@ -1619,14 +1619,28 @@ free_exit:
return virt_text;
}
-bool api_is_truthy(Object obj, const char *what, Error *err)
+bool api_is_truthy(Object obj, const char *what, bool nil_truthy, Error *err)
{
if (obj.type == kObjectTypeBoolean) {
return obj.data.boolean;
} else if (obj.type == kObjectTypeInteger) {
- return obj.data.integer; // C semantics: non-zery int is true
+ return obj.data.integer; // C semantics: non-zero int is true
+ } else if (obj.type == kObjectTypeNil) {
+ return nil_truthy; // caller decides what NIL (missing retval in lua) means
} else {
api_set_error(err, kErrorTypeValidation, "%s is not an boolean", what);
return false;
}
}
+
+const char *describe_ns(NS ns_id)
+{
+ String name;
+ handle_T id;
+ map_foreach(namespace_ids, name, id, {
+ if ((NS)id == ns_id && name.size) {
+ return name.data;
+ }
+ })
+ return "(UNKNOWN PLUGIN)";
+}