Commit Diff


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 <stdlib.h>
 
 #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 <telescope.h>"
+	print "#include <cmd.h>"
+	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 <assert.h>
 #include <curses.h>
@@ -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)