mirror of
https://github.com/neovim/neovim.git
synced 2025-09-28 05:58:33 +00:00
Merge pull request #840 from ZyX-I/generate-ex_cmds
Use lua generator in place of ex_cmds_defs header trick
This commit is contained in:
@@ -7,6 +7,10 @@ set(MSGPACK_RPC_HEADER ${PROJECT_SOURCE_DIR}/src/nvim/os/msgpack_rpc.h)
|
||||
set(MSGPACK_DISPATCH ${GENERATED_DIR}/msgpack_dispatch.c)
|
||||
set(HEADER_GENERATOR ${PROJECT_SOURCE_DIR}/scripts/gendeclarations.lua)
|
||||
set(GENERATED_INCLUDES_DIR ${PROJECT_BINARY_DIR}/include)
|
||||
set(GENERATED_EX_CMDS_ENUM ${GENERATED_INCLUDES_DIR}/ex_cmds_enum.generated.h)
|
||||
set(GENERATED_EX_CMDS_DEFS ${GENERATED_DIR}/ex_cmds_defs.generated.h)
|
||||
set(EX_CMDS_GENERATOR ${PROJECT_SOURCE_DIR}/scripts/genex_cmds.lua)
|
||||
set(EX_CMDS_DEFS_FILE ${PROJECT_SOURCE_DIR}/src/nvim/ex_cmds.lua)
|
||||
|
||||
include_directories(${GENERATED_DIR})
|
||||
include_directories(${GENERATED_INCLUDES_DIR})
|
||||
@@ -124,11 +128,20 @@ add_custom_command(OUTPUT ${MSGPACK_DISPATCH}
|
||||
${API_HEADERS}
|
||||
${MSGPACK_RPC_HEADER}
|
||||
${DISPATCH_GENERATOR}
|
||||
)
|
||||
)
|
||||
|
||||
list(APPEND NEOVIM_GENERATED_SOURCES
|
||||
"${PROJECT_BINARY_DIR}/config/auto/pathdef.c"
|
||||
"${MSGPACK_DISPATCH}")
|
||||
"${MSGPACK_DISPATCH}"
|
||||
"${GENERATED_EX_CMDS_ENUM}"
|
||||
"${GENERATED_EX_CMDS_DEFS}"
|
||||
)
|
||||
|
||||
add_custom_command(OUTPUT ${GENERATED_EX_CMDS_ENUM} ${GENERATED_EX_CMDS_DEFS}
|
||||
COMMAND ${LUA_PRG} ${EX_CMDS_GENERATOR}
|
||||
${PROJECT_SOURCE_DIR}/src/nvim ${GENERATED_INCLUDES_DIR} ${GENERATED_DIR}
|
||||
DEPENDS ${EX_CMDS_GENERATOR} ${EX_CMDS_DEFS_FILE}
|
||||
)
|
||||
|
||||
# Our dependencies come first.
|
||||
|
||||
|
2552
src/nvim/ex_cmds.lua
Normal file
2552
src/nvim/ex_cmds.lua
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -66,6 +66,7 @@
|
||||
#include "nvim/version.h"
|
||||
#include "nvim/window.h"
|
||||
#include "nvim/os/os.h"
|
||||
#include "nvim/ex_cmds_defs.h"
|
||||
|
||||
static int quitmore = 0;
|
||||
static int ex_pressedreturn = FALSE;
|
||||
@@ -156,42 +157,9 @@ static int did_lcd; /* whether ":lcd" was produced for a session */
|
||||
/*
|
||||
* Declare cmdnames[].
|
||||
*/
|
||||
#define DO_DECLARE_EXCMD
|
||||
#include "nvim/ex_cmds_defs.h"
|
||||
|
||||
/*
|
||||
* Table used to quickly search for a command, based on its first character.
|
||||
*/
|
||||
static cmdidx_T cmdidxs[27] =
|
||||
{
|
||||
CMD_append,
|
||||
CMD_buffer,
|
||||
CMD_change,
|
||||
CMD_delete,
|
||||
CMD_edit,
|
||||
CMD_file,
|
||||
CMD_global,
|
||||
CMD_help,
|
||||
CMD_insert,
|
||||
CMD_join,
|
||||
CMD_k,
|
||||
CMD_list,
|
||||
CMD_move,
|
||||
CMD_next,
|
||||
CMD_open,
|
||||
CMD_print,
|
||||
CMD_quit,
|
||||
CMD_read,
|
||||
CMD_substitute,
|
||||
CMD_t,
|
||||
CMD_undo,
|
||||
CMD_vglobal,
|
||||
CMD_write,
|
||||
CMD_xit,
|
||||
CMD_yank,
|
||||
CMD_z,
|
||||
CMD_bang
|
||||
};
|
||||
#ifdef INCLUDE_GENERATED_DECLARATIONS
|
||||
# include "ex_cmds_defs.generated.h"
|
||||
#endif
|
||||
|
||||
static char_u dollar_command[2] = {'$', 0};
|
||||
|
||||
|
@@ -1,6 +1,8 @@
|
||||
#ifndef NVIM_EX_DOCMD_H
|
||||
#define NVIM_EX_DOCMD_H
|
||||
|
||||
#include "nvim/ex_cmds_defs.h"
|
||||
|
||||
/* flags for do_cmdline() */
|
||||
#define DOCMD_VERBOSE 0x01 /* included command in error message */
|
||||
#define DOCMD_NOWAIT 0x02 /* don't call wait_return() and friends */
|
||||
@@ -17,8 +19,6 @@
|
||||
#define EXMODE_NORMAL 1
|
||||
#define EXMODE_VIM 2
|
||||
|
||||
typedef char_u *(*LineGetter)(int, void *, int);
|
||||
|
||||
#ifdef INCLUDE_GENERATED_DECLARATIONS
|
||||
# include "ex_docmd.h.generated.h"
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user