diff options
author | Thiago de Arruda <tpadilha84@gmail.com> | 2014-09-17 08:56:59 -0300 |
---|---|---|
committer | Thiago de Arruda <tpadilha84@gmail.com> | 2014-09-18 21:30:31 -0300 |
commit | 4a8b52ea08bb5cf501cd20bce4744ae6c7edd9b1 (patch) | |
tree | c7d53772706ed78bee255100b328db11e3dc867e /src/nvim/api/private/defs.h | |
parent | 67a16384a46c5eb51ba43d9150e95a1742cffbde (diff) | |
download | rneovim-4a8b52ea08bb5cf501cd20bce4744ae6c7edd9b1.tar.gz rneovim-4a8b52ea08bb5cf501cd20bce4744ae6c7edd9b1.tar.bz2 rneovim-4a8b52ea08bb5cf501cd20bce4744ae6c7edd9b1.zip |
api/msgpack-rpc: Improve error infrastructure
- Add error type information to `Error`
- Rename `set_api_error` to `api_set_error` for consistency with other api_*
functions/macros.
- Refactor the api_set_error macro to accept formatted strings and error types
- Improve error messages
- Wrap error messages with gettext macro
- Refactor msgpack-rpc serialization to transform Error instances into [type,
message] arrays
- Add error type information to API metadata
- Normalize nvim->client and client->nvim error handling(change
channel_send_call to accept an Error pointer instead of the `errored` boolean
pointer)
- Use macro to initialize Error structures
Diffstat (limited to 'src/nvim/api/private/defs.h')
-rw-r--r-- | src/nvim/api/private/defs.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/nvim/api/private/defs.h b/src/nvim/api/private/defs.h index 2dd229ec5f..76ac23a521 100644 --- a/src/nvim/api/private/defs.h +++ b/src/nvim/api/private/defs.h @@ -8,6 +8,7 @@ #define ARRAY_DICT_INIT {.size = 0, .capacity = 0, .items = NULL} #define STRING_INIT {.data = NULL, .size = 0} #define OBJECT_INIT { .type = kObjectTypeNil } +#define ERROR_INIT { .set = false } #define REMOTE_TYPE(type) typedef uint64_t type #ifdef INCLUDE_GENERATED_DECLARATIONS @@ -16,8 +17,14 @@ #endif // Basic types +typedef enum { + kErrorTypeException, + kErrorTypeValidation +} ErrorType; + typedef struct { - char msg[256]; + ErrorType type; + char msg[1024]; bool set; } Error; |