diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2020-10-10 18:31:46 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-10 18:31:46 +0200 |
commit | f7cc3ae0b7b8ce67294c00729d278362ad60a4f0 (patch) | |
tree | 5b601432a0b2d835bb31a8d2776d74bfd9b885b0 /src/nvim/api/private/helpers.c | |
parent | 405044a41206e325c4f3ecaa6c62ed8f4bb32abe (diff) | |
parent | 6bf414c0d74ed6f2c573e87290830bade4330c9a (diff) | |
download | rneovim-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.c | 18 |
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)"; +} |