commit a3666ed5ebac24e75f8bed25238464dfff5dd34a from: Omar Polo date: Fri Jun 25 09:02:24 2021 UTC move the list of cmd to its own file commit - 7b11ff42507558a83e6df69fc834ee2a20227dc9 commit + a3666ed5ebac24e75f8bed25238464dfff5dd34a blob - c6b5f8f3c899a9b5cfd0c1f09714191a6e925f4d blob + 8852a1c82b1706fadfe1f3b1fec5ff4f426effe5 --- .gitignore +++ .gitignore @@ -17,7 +17,7 @@ missing stamp-h1 ylwrap *.o -cmd.gen.h +cmd.gen.c parse.c telescope compile_flags.txt blob - c8dfd1f1aff18357ca810bf4fef758d08050cfa4 blob + 669e558b248be11c4f2e7e695af4a9d5567ffb60 --- Makefile.am +++ Makefile.am @@ -2,7 +2,7 @@ bin_PROGRAMS = telescope telescope_SOURCES = cmd.c \ cmd.h \ - cmd.gen.h \ + cmd.gen.c \ compat.h \ compat/*.[ch] \ defaults.c \ @@ -30,9 +30,9 @@ telescope_SOURCES = cmd.c \ telescope_SOURCES += phos/phos.h \ phos/phos_uri.c -BUILT_SOURCES = cmd.gen.h compile_flags.txt +BUILT_SOURCES = cmd.gen.c compile_flags.txt -CLEANFILES = cmd.gen.h compile_flags.txt +CLEANFILES = cmd.gen.c compile_flags.txt LDADD = $(LIBOBJS) @@ -40,7 +40,7 @@ dist_doc_DATA = README.md LICENSE dist_man1_MANS = telescope.1 -cmd.gen.h: $(srcdir)/cmd.h $(srcdir)/gencmd.awk +cmd.gen.c: $(srcdir)/cmd.h $(srcdir)/gencmd.awk ${AWK} -f $(srcdir)/gencmd.awk < $(srcdir)/cmd.h > $@ compile_flags.txt: blob - 0dfc9e501a00afc9f03d3595ce80c950c1562ec6 blob + 5bbf8c9ddf6700771237949489155c5fa892f853 --- cmd.c +++ cmd.c @@ -18,7 +18,6 @@ #include #include "telescope.h" -#include "cmd.gen.h" void cmd_previous_line(struct buffer *buffer) blob - e7d78fee04abc5a69182dc77d4e97c49bca4c619 blob + 553c8cc94524ebbd2ac416bed5006b44b8772cfb --- gencmd.awk +++ gencmd.awk @@ -1,7 +1,9 @@ BEGIN { FS = "[(,)]"; - print "static struct cmds { const char *cmd; void(*fn)(struct buffer*); } cmds[] = {"; + print "#include " + print "#include " + print "struct cmd cmds[] = {"; } /^CMD/ { blob - f0c8533732ca7e3137a7d0f9e74c3728c05cb3e3 blob + 261557b1c6e31e11c107f150ba3e3d8fe87dab0c --- telescope.h +++ telescope.h @@ -284,7 +284,13 @@ struct keymap { void (*fn)(struct buffer*); TAILQ_ENTRY(keymap) keymaps; +}; + +struct cmd { + const char *cmd; + void (*fn)(struct buffer *); }; +extern struct cmd cmds[]; /* defaults.c */ void config_init(void); blob - 672771fe6b74879d0766244ee6b7fea2087bb993 blob + 76ab7b16f7b1774a349d8c624970aa0191cb888a --- ui.c +++ ui.c @@ -31,7 +31,6 @@ */ #include "telescope.h" -#include "cmd.gen.h" #include #include @@ -396,7 +395,7 @@ eecmd_self_insert(void) void eecmd_select(void) { - struct cmds *cmd; + struct cmd *cmd; for (cmd = cmds; cmd->cmd != NULL; ++cmd) { if (!strcmp(cmd->cmd, ministate.buf)) { @@ -1115,7 +1114,7 @@ static void emit_help_item(char *prfx, void *fn) { struct line *l; - struct cmds *cmd; + struct cmd *cmd; for (cmd = cmds; cmd->cmd != NULL; ++cmd) { if (fn == cmd->fn)