diff options
Diffstat (limited to 'src/nvim/api/private/helpers.c')
-rw-r--r-- | src/nvim/api/private/helpers.c | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c index 784915cd16..a7b48f3b7e 100644 --- a/src/nvim/api/private/helpers.c +++ b/src/nvim/api/private/helpers.c @@ -554,103 +554,6 @@ Dictionary api_metadata(void) return copy_object(DICTIONARY_OBJ(metadata)).data.dictionary; } -char *api_stringify(Object obj) -{ - Array array = ARRAY_DICT_INIT; - print_to_array(obj, &array); - size_t size = 0; - for (size_t i = 0; i < array.size; i++) { - size += array.items[i].data.string.size; - } - - char *rv = xmalloc(size + 1); - size_t pos = 0; - for (size_t i = 0; i < array.size; i++) { - String str = array.items[i].data.string; - memcpy(rv + pos, str.data, str.size); - pos += str.size; - free(str.data); - } - rv[pos] = NUL; - free(array.items); - return rv; -} - -static void print_to_array(Object obj, Array *array) -{ - char buf[32]; - - switch (obj.type) { - case kObjectTypeNil: - ADD(*array, STRING_OBJ(cstr_to_string("nil"))); - break; - - case kObjectTypeBoolean: - ADD(*array, - STRING_OBJ(cstr_to_string(obj.data.boolean ? "true" : "false"))); - break; - - case kObjectTypeInteger: - snprintf(buf, sizeof(buf), "%" PRId64, obj.data.integer); - ADD(*array, STRING_OBJ(cstr_to_string(buf))); - break; - - case kObjectTypeFloat: - snprintf(buf, sizeof(buf), "%f", obj.data.floating); - ADD(*array, STRING_OBJ(cstr_to_string(buf))); - break; - - case kObjectTypeBuffer: - snprintf(buf, sizeof(buf), "Buffer(%" PRIu64 ")", obj.data.buffer); - ADD(*array, STRING_OBJ(cstr_to_string(buf))); - break; - - case kObjectTypeWindow: - snprintf(buf, sizeof(buf), "Window(%" PRIu64 ")", obj.data.window); - ADD(*array, STRING_OBJ(cstr_to_string(buf))); - break; - - case kObjectTypeTabpage: - snprintf(buf, sizeof(buf), "Tabpage(%" PRIu64 ")", obj.data.tabpage); - ADD(*array, STRING_OBJ(cstr_to_string(buf))); - break; - - case kObjectTypeString: - ADD(*array, STRING_OBJ(cstr_to_string("\""))); - ADD(*array, STRING_OBJ(cstr_to_string(obj.data.string.data))); - ADD(*array, STRING_OBJ(cstr_to_string("\""))); - break; - - case kObjectTypeArray: - ADD(*array, STRING_OBJ(cstr_to_string("["))); - for (size_t i = 0; i < obj.data.array.size; i++) { - print_to_array(obj.data.array.items[i], array); - if (i < obj.data.array.size - 1) { - ADD(*array, STRING_OBJ(cstr_to_string(", "))); - } - } - ADD(*array, STRING_OBJ(cstr_to_string("]"))); - break; - - case kObjectTypeDictionary: - ADD(*array, STRING_OBJ(cstr_to_string("{"))); - for (size_t i = 0; i < obj.data.dictionary.size; i++) { - ADD(*array, - STRING_OBJ(cstr_to_string(obj.data.dictionary.items[i].key.data))); - ADD(*array, STRING_OBJ(cstr_to_string(": "))); - print_to_array(obj.data.dictionary.items[i].value, array); - if (i < obj.data.array.size - 1) { - ADD(*array, STRING_OBJ(cstr_to_string(", "))); - } - } - ADD(*array, STRING_OBJ(cstr_to_string("}"))); - break; - - default: - ADD(*array, STRING_OBJ(cstr_to_string("INVALID"))); - } -} - static void init_error_type_metadata(Dictionary *metadata) { Dictionary types = ARRAY_DICT_INIT; |