summaryrefslogtreecommitdiffstatshomepage
path: root/src/nvim/api/private/dispatch.h
AgeCommit message (Collapse)AuthorFiles
2025-08-14refactor(build): remove INCLUDE_GENERATED_DECLARATIONS guardsbfredl1
These are not needed after #35129 but making uncrustify still play nice with them was a bit tricky. Unfortunately `uncrustify --update-config-with-doc` breaks strings with backslashes. This issue has been reported upstream, and in the meanwhile auto-update on every single run has been disabled.
2024-02-21refactor(api): make freeing of return-value opt-in instead of opt outbfredl1
As only a few API functions make use of explicit freeing of the return value, make it opt-in instead. The arena is always present under the hood, so `Arena *arena` arg now doesn't mean anything other than getting access to this arena. Also it is in principle possible to return an allocated value while still using the arena as scratch space for other stuff (unlikely, but there no reason to not allow it).
2024-01-11refactor(IWYU): fix headersdundargoc1
Remove `export` pramgas from defs headers as it causes IWYU to believe that the definitions from the defs headers comes from main header, which is not what we really want.
2023-12-22refactor(IWYU): add "private" pragma to more generated headers (#26706)zeertzjq1
"export" only prevents IWYU from adding these headers if the headers that export them are included, while "private" ensures that IWYU never adds these headers.
2023-12-21refactor: run IWYU on entire repodundargoc1
Reference: https://github.com/neovim/neovim/issues/6371.
2023-12-17refactor: move non-symbols to defs.h headersdundargoc1
2023-11-30refactor(IWYU): move UI and LineFlags to ui_defs.h (#26318)zeertzjq1
2023-11-28refactor: fix runtime_defs.h (#26259)zeertzjq1
2023-11-27refactor: rename types.h to types_defs.hdundargoc1
2023-11-27build(IWYU): export generated headersdundargoc1
2023-11-12refactor: replace manual header guards with #pragma oncedundargoc1
It is less error-prone than manually defining header guards. Pretty much all compilers support it even if it's not part of the C standard.
2023-04-07refactor(api): make typed dicts appear as types in the source codebfredl1
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.
2022-11-15build: allow IWYU to fix includes for all .c filesdundargoc1
Allow Include What You Use to remove unnecessary includes and only include what is necessary. This helps with reducing compilation times and makes it easier to visualise which dependencies are actually required. Work on https://github.com/neovim/neovim/issues/549, but doesn't close it since this only works fully for .c files and not headers.
2022-10-21refactor(uncrustify): improved formatting rulesdundargoc1
2022-08-23perf(api): allow to use an arena for return valuesbfredl1
2022-05-30refactor(api): use hashy hash for looking up api method and event namesbfredl1
This avoids generating khash tables at runtime, and is consistent with how evalfuncs lookup work.
2019-06-30rename: FUNC_API_ASYNC => FUNC_API_FASTBjörn Linse1
2016-10-22Merge pull request #4568 from bfredl/multirequestBjörn Linse1
atomic multi request for async remote plugins
2016-10-22api: call multiple methods atomically (useful in async contexts)Björn Linse1
remove unused response_id parameter of handle_nvim_... helpers
2016-10-19api: move verbatim c code out of gendispatch.lua and into c filesBjörn Linse1
Remove max_fname_len check, which caused false successful lookups, and was an optimization for a very rare case.
2016-08-31api: auto generate api function wrappers for vimlBjörn Linse1
2016-08-31api: rename "msgpack_rpc/defs.h" to "api/private/dispatch.h" and use the ↵Björn Linse1
header generator.