diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2021-08-21 13:55:12 +0200 |
---|---|---|
committer | Björn Linse <bjorn.linse@gmail.com> | 2021-10-03 10:46:57 +0200 |
commit | 32565922efe0d1a6e8e4dddb23295d1a08670b54 (patch) | |
tree | 501dd50b3ae199e3b52071d66d307e9d69772f82 /src/nvim/api/private/defs.h | |
parent | 9337fff8aad610acd5ef619f757686c47f0c118c (diff) | |
download | rneovim-32565922efe0d1a6e8e4dddb23295d1a08670b54.tar.gz rneovim-32565922efe0d1a6e8e4dddb23295d1a08670b54.tar.bz2 rneovim-32565922efe0d1a6e8e4dddb23295d1a08670b54.zip |
refactor(api): handle option dicts properly
Do not copy a lot of lua strings (dict keys) to just strequal() them
Just compare them directly to a dedicated hash function.
feat(generators): HASHY McHASHFACE
Diffstat (limited to 'src/nvim/api/private/defs.h')
-rw-r--r-- | src/nvim/api/private/defs.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/nvim/api/private/defs.h b/src/nvim/api/private/defs.h index f0d48bf145..8346e01558 100644 --- a/src/nvim/api/private/defs.h +++ b/src/nvim/api/private/defs.h @@ -19,6 +19,7 @@ #ifdef INCLUDE_GENERATED_DECLARATIONS # define ArrayOf(...) Array # define DictionaryOf(...) Dictionary +# define Dict(name) KeyDict_##name #endif // Basic types @@ -129,5 +130,14 @@ struct key_value_pair { Object value; }; +typedef Object *(*field_hash)(void *retval, const char *str, size_t len); +typedef struct { + char *str; + size_t ptr_off; +} KeySetLink; + +#ifdef INCLUDE_GENERATED_DECLARATIONS +# include "keysets_defs.generated.h" +#endif #endif // NVIM_API_PRIVATE_DEFS_H |