diff options
author | bfredl <bjorn.linse@gmail.com> | 2023-04-03 15:21:24 +0200 |
---|---|---|
committer | bfredl <bjorn.linse@gmail.com> | 2023-04-07 21:30:21 +0200 |
commit | efb0896f21e03f64e3a14e7c09994e81956f47b9 (patch) | |
tree | f88cca66495b34631d037bffc3cda6a8db1329fe /src/nvim/api/command.h | |
parent | 04933b1ea968f958d2541dd65fd33ebb503caac3 (diff) | |
download | rneovim-efb0896f21e03f64e3a14e7c09994e81956f47b9.tar.gz rneovim-efb0896f21e03f64e3a14e7c09994e81956f47b9.tar.bz2 rneovim-efb0896f21e03f64e3a14e7c09994e81956f47b9.zip |
refactor(api): make typed dicts appear as types in the source code
problem: can we have Serde?
solution: we have Serde at home
This by itself is just a change of notation, that could be quickly
merged to avoid messy merge conflicts, but upcoming changes are planned:
- keysets no longer need to be defined in one single file. `keysets.h` is
just the initial automatic conversion of the previous `keysets.lua`.
keysets just used in a single api/{scope}.h can be moved to that file, later on.
- Typed dicts will have more specific types than Object. this will
enable most of the existing manual typechecking boilerplate to be eliminated.
We will need some annotation for missing value, i e a boolean will
need to be represented as a TriState (none/false/true) in some cases.
- Eventually: optional parameters in form of a `Dict opts` final
parameter will get added in some form to metadata. this will require
a discussion/desicion about type forward compatibility.
Diffstat (limited to 'src/nvim/api/command.h')
-rw-r--r-- | src/nvim/api/command.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/nvim/api/command.h b/src/nvim/api/command.h index b1c9230551..f16bd0acde 100644 --- a/src/nvim/api/command.h +++ b/src/nvim/api/command.h @@ -1,6 +1,7 @@ #ifndef NVIM_API_COMMAND_H #define NVIM_API_COMMAND_H +#include "nvim/api/keysets.h" #include "nvim/api/private/defs.h" #include "nvim/decoration.h" #include "nvim/ex_cmds.h" |