gen_ex_cmds.lua: build the command table

Lua port of create_cmdidxs.vim from 8.0.0572

N/A:
vim-patch:8.0.0572: building the command table requires Perl

Problem:    Building the command table requires Perl.
Solution:   Use a Vim script solution. (Dominique Pelle, closes vim/vim#1641)
6de5e12601
This commit is contained in:
Jan Edmund Lazo
2019-03-10 17:41:18 -04:00
parent 07a5c9d4f0
commit 63025a1d65
2 changed files with 58 additions and 24 deletions

View File

@@ -155,8 +155,6 @@ struct dbg_stuff {
# include "ex_cmds_defs.generated.h"
#endif
static const int command_count = 539;
static char_u dollar_command[2] = {'$', 0};
static void save_dbg_stuff(struct dbg_stuff *dsp)
@@ -2265,8 +2263,11 @@ static char_u * do_one_cmd(char_u **cmdlinep,
need_rethrow = check_cstack = FALSE;
doend:
if (curwin->w_cursor.lnum == 0) /* can happen with zero line number */
// can happen with zero line number
if (curwin->w_cursor.lnum == 0) {
curwin->w_cursor.lnum = 1;
curwin->w_cursor.col = 0;
}
if (errormsg != NULL && *errormsg != NUL && !did_emsg) {
if (flags & DOCMD_VERBOSE) {
@@ -2447,7 +2448,7 @@ static char_u *find_command(exarg_T *eap, int *full)
const int c2 = eap->cmd[1];
if (command_count != (int)CMD_SIZE) {
iemsg((char_u *)_("E943: Command table needs to be updated, run 'make cmdidxs'"));
iemsg((char *)_("E943: Command table needs to be updated, run 'make'"));
getout(1);
}