Commit Diff
Commit:
a3666ed5ebac24e75f8bed25238464dfff5dd34a
Date:
Fri Jun 25 09:02:24 2021
UTC
Message:
move the list of cmd to its own file
--- .gitignore
+++ .gitignore
@@ -17,7 +17,7 @@ cmd.gen.h
stamp-h1
ylwrap
*.o
-cmd.gen.h
+cmd.gen.c
parse.c
telescope
compile_flags.txt
--- Makefile.am
+++ Makefile.am
@@ -2,7 +2,7 @@ telescope_SOURCES = cmd.c \
telescope_SOURCES = cmd.c \
cmd.h \
- cmd.gen.h \
+ cmd.gen.c \
compat.h \
compat/*.[ch] \
defaults.c \
@@ -30,9 +30,9 @@ BUILT_SOURCES = cmd.gen.h compile_flags.txt
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 @@ cmd.gen.h: $(srcdir)/cmd.h $(srcdir)/gencmd.awk
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:
--- 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)
--- 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/ {
--- 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);
--- 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_select(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 @@ emit_help_item(char *prfx, void *fn)
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)
Omar Polo