diff options
author | bfredl <bjorn.linse@gmail.com> | 2022-08-24 15:22:30 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-24 15:22:30 +0200 |
commit | f1ea126a6eb1d9cae53eae3fedbfa51f90ee97b1 (patch) | |
tree | b0c3c27869110cc51cda2f18d64ef9608c956481 /src/nvim/eval/funcs.h | |
parent | f91b1885ddeaf971e17afe49b80f1b1412ecc8a2 (diff) | |
parent | 7784dc9e0d90284b0d9c9cf0833c27d4de22b7f4 (diff) | |
download | rneovim-f1ea126a6eb1d9cae53eae3fedbfa51f90ee97b1.tar.gz rneovim-f1ea126a6eb1d9cae53eae3fedbfa51f90ee97b1.tar.bz2 rneovim-f1ea126a6eb1d9cae53eae3fedbfa51f90ee97b1.zip |
Merge pull request #19906 from bfredl/bigstage
perf(api): allow to use an arena for return values
Diffstat (limited to 'src/nvim/eval/funcs.h')
-rw-r--r-- | src/nvim/eval/funcs.h | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/nvim/eval/funcs.h b/src/nvim/eval/funcs.h index 583ee0e75e..adff0b2441 100644 --- a/src/nvim/eval/funcs.h +++ b/src/nvim/eval/funcs.h @@ -1,11 +1,12 @@ #ifndef NVIM_EVAL_FUNCS_H #define NVIM_EVAL_FUNCS_H +#include "nvim/api/private/dispatch.h" #include "nvim/buffer_defs.h" #include "nvim/eval/typval.h" /// Prototype of C function that implements VimL function -typedef void (*VimLFunc)(typval_T *args, typval_T *rvar, FunPtr data); +typedef void (*VimLFunc)(typval_T *args, typval_T *rvar, EvalFuncData data); /// Special flags for base_arg @see EvalFuncDef #define BASE_NONE 0 ///< Not a method (no base argument). @@ -13,13 +14,13 @@ typedef void (*VimLFunc)(typval_T *args, typval_T *rvar, FunPtr data); /// Structure holding VimL function definition typedef struct { - char *name; ///< Name of the function. - uint8_t min_argc; ///< Minimal number of arguments. - uint8_t max_argc; ///< Maximal number of arguments. - uint8_t base_arg; ///< Method base arg # (1-indexed), BASE_NONE or BASE_LAST. - bool fast; ///< Can be run in |api-fast| events - VimLFunc func; ///< Function implementation. - FunPtr data; ///< Userdata for function implementation. + char *name; ///< Name of the function. + uint8_t min_argc; ///< Minimal number of arguments. + uint8_t max_argc; ///< Maximal number of arguments. + uint8_t base_arg; ///< Method base arg # (1-indexed), BASE_NONE or BASE_LAST. + bool fast; ///< Can be run in |api-fast| events + VimLFunc func; ///< Function implementation. + EvalFuncData data; ///< Userdata for function implementation. } EvalFuncDef; #ifdef INCLUDE_GENERATED_DECLARATIONS |