diff options
Diffstat (limited to 'src/nvim/mapping_defs.h')
-rw-r--r-- | src/nvim/mapping_defs.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/nvim/mapping_defs.h b/src/nvim/mapping_defs.h new file mode 100644 index 0000000000..6691c5ac3b --- /dev/null +++ b/src/nvim/mapping_defs.h @@ -0,0 +1,29 @@ +#pragma once + +#include <stdbool.h> + +#include "nvim/eval/typval_defs.h" +#include "nvim/types_defs.h" + +/// Maximum length of key sequence to be mapped. +enum { MAXMAPLEN = 50, }; + +/// Structure used for mappings and abbreviations. +typedef struct mapblock mapblock_T; +struct mapblock { + mapblock_T *m_next; ///< next mapblock in list + char *m_keys; ///< mapped from, lhs + char *m_str; ///< mapped to, rhs + char *m_orig_str; ///< rhs as entered by the user + LuaRef m_luaref; ///< lua function reference as rhs + int m_keylen; ///< strlen(m_keys) + int m_mode; ///< valid mode + int m_simplified; ///< m_keys was simplified + int m_noremap; ///< if non-zero no re-mapping for m_str + char m_silent; ///< <silent> used, don't echo commands + char m_nowait; ///< <nowait> used + char m_expr; ///< <expr> used, m_str is an expression + sctx_T m_script_ctx; ///< SCTX where map was defined + char *m_desc; ///< description of mapping + bool m_replace_keycodes; ///< replace keycodes in result of expression +}; |