чување 73cc3dcd0ee64f4019d36a4050803a67629b7b52
родитељ ad484cc3d2be36c1f512c5c076abaf6be9ecd467
Аутор: Страхиња Радић <contact@strahinja.org>
Датум: Tue, 7 Mar 2023 21:06:22 +0100
Change config.h and version.h similar to sled
Signed-off-by: Страхиња Радић <contact@strahinja.org>
Diffstat:
измењених датотека: 6, додавања: 13(+), брисања: 304(-)
diff --git a/.gitignore b/.gitignore
@@ -20,6 +20,7 @@ nohup.out
*.pkg.tar.zst
src
PKGBUILD
+config.h
poe
poe.1
date
diff --git a/config.h b/config.h
@@ -1,300 +0,0 @@
-/* See the file LICENSE for copyright and license details. */
-
-/* Comment out to not create backups */
-#define CREATE_BACKUPS
-
-#ifdef PO_C_GLOBALS
-static const char* backup_suffix = "~";
-#endif /* PO_C_GLOBALS */
-
-#define SAVE_WRAP_WIDTH 75
-#define WRAP_FIRST_MSGSTR 0
-#define WARN_COUNT_DOTS 0
-
-#define DLG_FG TB_BLACK
-#define DLG_BG TB_WHITE
-#define EDIT_MSGID_FG TB_BLACK | TB_BOLD
-#define EDIT_MSGID_BG TB_WHITE
-#define EDIT_MSGID_FOCUS_FG TB_BLACK
-#define EDIT_MSGID_FOCUS_BG TB_WHITE
-#define EDIT_MSGID_HEADING_FG TB_WHITE | TB_BOLD
-#define EDIT_MSGID_HEADING_BG TB_WHITE
-#define EDIT_MSGSTR_FG TB_BLACK | TB_BOLD
-#define EDIT_MSGSTR_BG TB_BLACK
-#define EDIT_MSGSTR_FOCUS_FG TB_YELLOW | TB_BOLD
-#define EDIT_MSGSTR_FOCUS_BG TB_BLACK
-#define ERROR_FG TB_WHITE | TB_BOLD
-#define ERROR_BG TB_RED
-#define FLAG_FG TB_YELLOW | TB_BOLD
-#define FLAG_BG TB_DEFAULT
-#define LIST_FLAGS_FG TB_YELLOW | TB_BOLD
-#define LIST_FLAGS_BG TB_DEFAULT
-#define LIST_FLAGS_SEL_FG TB_WHITE | TB_BOLD
-#define LIST_FLAGS_SEL_BG TB_BLUE
-#define LIST_MSGID_FG TB_WHITE
-#define LIST_MSGID_BG TB_DEFAULT
-#define LIST_MSGID_SEL_FG TB_WHITE
-#define LIST_MSGID_SEL_BG TB_BLUE
-#define LIST_MSGID_SPECIAL_FG TB_YELLOW | TB_BOLD
-#define LIST_MSGID_SPECIAL_BG TB_DEFAULT
-#define LIST_MSGID_SPECIAL_SEL_FG TB_WHITE | TB_BOLD
-#define LIST_MSGID_SPECIAL_SEL_BG TB_BLUE
-#define LIST_MSGSTR_FG TB_GREEN
-#define LIST_MSGSTR_BG TB_DEFAULT
-#define LIST_MSGSTR_SEL_FG TB_WHITE | TB_BOLD
-#define LIST_MSGSTR_SEL_BG TB_BLUE
-#define LIST_MSGSTR_WARN_FG TB_RED | TB_BOLD
-#define LIST_MSGSTR_WARN_BG TB_DEFAULT
-#define LIST_MSGSTR_SEL_WARN_FG TB_RED | TB_BOLD
-#define LIST_MSGSTR_SEL_WARN_BG TB_BLUE
-#define LIST_SEL_FG TB_WHITE
-#define LIST_SEL_BG TB_BLUE
-#define MSGID_FG TB_GREEN
-#define MSGID_BG TB_DEFAULT
-#define MSGSTR_FG TB_WHITE
-#define MSGSTR_BG TB_DEFAULT
-#define PROMPT_FG TB_YELLOW | TB_BOLD
-#define PROMPT_BG TB_MAGENTA
-#define SEARCH_FG TB_BLACK
-#define SEARCH_BG TB_WHITE
-#define SEARCH_EDIT_FG TB_WHITE | TB_BOLD
-#define SEARCH_EDIT_BG TB_BLACK
-#define SEARCH_HL_FG TB_WHITE | TB_BOLD
-#define SEARCH_HL_BG TB_GREEN
-#define SHADOW_FG TB_BLACK
-#define SHADOW_BG TB_BLACK | TB_BOLD
-#define TITLE_FG TB_BLACK
-#define TITLE_BG TB_WHITE
-
-#ifdef POE_C_GLOBALS
-int cancel_close(struct DrawState* state);
-int cancel_msgstr(struct DrawState* state);
-int cancel_search(struct DrawState* state);
-int copy_msgid_to_input(struct DrawState* state);
-int edit_page_down(struct DrawState* state);
-int edit_page_up(struct DrawState* state);
-int erase_backwards(struct DrawState* state);
-int erase_forward(struct DrawState* state);
-int erase_prev_word(struct DrawState* state);
-int erase_search_backwards(struct DrawState* state);
-int erase_search_forward(struct DrawState* state);
-int erase_search_prev_word(struct DrawState* state);
-int erase_search_to_end(struct DrawState* state);
-int erase_search_to_start(struct DrawState* state);
-int erase_to_end(struct DrawState* state);
-int erase_to_start(struct DrawState* state);
-int exit_program(struct DrawState* state);
-int hide_search(struct DrawState* state);
-int insert_line(struct DrawState* state);
-int insert_search_space(struct DrawState* state);
-int insert_search_tab(struct DrawState* state);
-int insert_space(struct DrawState* state);
-int insert_tab(struct DrawState* state);
-int move_end(struct DrawState* state);
-int move_down(struct DrawState* state);
-int move_left(struct DrawState* state);
-int move_list_down(struct DrawState* state);
-int move_list_end(struct DrawState* state);
-int move_list_page_down(struct DrawState* state);
-int move_list_page_up(struct DrawState* state);
-int move_list_start(struct DrawState* state);
-int move_list_up(struct DrawState* state);
-int move_next_word(struct DrawState* state);
-int move_prev_word(struct DrawState* state);
-int move_right(struct DrawState* state);
-int move_search_end(struct DrawState* state);
-int move_search_left(struct DrawState* state);
-int move_search_next_word(struct DrawState* state);
-int move_search_prev_word(struct DrawState* state);
-int move_search_right(struct DrawState* state);
-int move_search_start(struct DrawState* state);
-int move_start(struct DrawState* state);
-int move_up(struct DrawState* state);
-int next_fuzzy(struct DrawState* state);
-int next_match(struct DrawState* state);
-int next_plural(struct DrawState* state);
-int next_untranslated(struct DrawState* state);
-int paste_paste_buffer_to_input(struct DrawState* state);
-int prev_match(struct DrawState* state);
-int prev_plural(struct DrawState* state);
-int save_msgstr(struct DrawState* state);
-int show_edit(struct DrawState* state);
-int show_help(struct DrawState* state);
-int show_search(struct DrawState* state);
-int toggle_fuzzy(struct DrawState* state);
-int toggle_info_focused(struct DrawState* state);
-int yank_input_to_paste_buffer(struct DrawState* state);
-int write_file(struct DrawState* state);
-
-/* clang-format off */
-
-/* Always processed */
-static const struct Key top_level_keys[] = {
- { .ev = { .key = TB_KEY_ESC }, .callback = cancel_close },
- { .ev = { .key = TB_KEY_CTRL_Q },
- .callback = exit_program },
-};
-
-/* Edit msgstr box open */
-static const struct Key edit_keys[] = {
- { .ev = { .key = TB_KEY_ARROW_DOWN },
- .callback = move_down },
- { .ev = { .key = TB_KEY_ARROW_LEFT },
- .callback = move_left },
- { .ev = { .key = TB_KEY_ARROW_RIGHT },
- .callback = move_right },
- { .ev = { .key = TB_KEY_ARROW_UP },
- .callback = move_up },
- { .ev = { .key = TB_KEY_BACKSPACE },
- .callback = erase_backwards },
- { .ev = { .key = TB_KEY_BACKSPACE2 },
- .callback = erase_backwards },
- { .ev = { .key = TB_KEY_CTRL_A },
- .callback = move_start },
- { .ev = { .key = TB_KEY_CTRL_C },
- .callback = yank_input_to_paste_buffer },
- { .ev = { .key = TB_KEY_CTRL_E },
- .callback = move_end },
- { .ev = { .key = TB_KEY_CTRL_K },
- .callback = erase_to_end },
- { .ev = { .key = TB_KEY_CTRL_N },
- .callback = next_plural },
- { .ev = { .key = TB_KEY_CTRL_P },
- .callback = prev_plural },
- { .ev = { .key = TB_KEY_CTRL_R },
- .callback = move_prev_word },
- { .ev = { .key = TB_KEY_CTRL_S },
- .callback = save_msgstr },
- { .ev = { .key = TB_KEY_CTRL_T },
- .callback = move_next_word },
- { .ev = { .key = TB_KEY_CTRL_U },
- .callback = erase_to_start },
- { .ev = { .key = TB_KEY_CTRL_V },
- .callback = paste_paste_buffer_to_input },
- { .ev = { .key = TB_KEY_CTRL_W },
- .callback = erase_prev_word },
- { .ev = { .key = TB_KEY_CTRL_Z },
- .callback = toggle_fuzzy },
- { .ev = { .key = TB_KEY_DELETE },
- .callback = erase_forward },
- { .ev = { .key = TB_KEY_END }, .callback = move_end },
- { .ev = { .key = TB_KEY_ENTER },
- .callback = insert_line },
- { .ev = { .key = TB_KEY_F5 }, .callback = copy_msgid_to_input },
- { .ev = { .key = TB_KEY_F6 }, .callback = toggle_info_focused },
- { .ev = { .key = TB_KEY_F8 }, .callback = next_untranslated },
- { .ev = { .key = TB_KEY_F9 }, .callback = next_fuzzy },
- { .ev = { .key = TB_KEY_HOME }, .callback = move_start },
- { .ev = { .key = TB_KEY_PGDN }, .callback = edit_page_down },
- { .ev = { .key = TB_KEY_PGUP }, .callback = edit_page_up },
- { .ev = { .key = TB_KEY_SPACE },
- .callback = insert_space },
- { .ev = { .key = TB_KEY_TAB }, .callback = insert_tab },
-};
-
-/* Search box open */
-static const struct Key search_keys[] = {
- { .ev = { .key = TB_KEY_ARROW_LEFT },
- .callback = move_search_left },
- { .ev = { .key = TB_KEY_ARROW_RIGHT },
- .callback = move_search_right },
- { .ev = { .key = TB_KEY_BACKSPACE },
- .callback = erase_search_backwards },
- { .ev = { .key = TB_KEY_BACKSPACE2 },
- .callback = erase_search_backwards },
- { .ev = { .key = TB_KEY_CTRL_A },
- .callback = move_search_start },
- { .ev = { .key = TB_KEY_CTRL_E },
- .callback = move_search_end },
- { .ev = { .key = TB_KEY_CTRL_K },
- .callback = erase_search_to_end },
- { .ev = { .key = TB_KEY_CTRL_R },
- .callback = move_search_prev_word },
- { .ev = { .key = TB_KEY_CTRL_S },
- .callback = write_file },
- { .ev = { .key = TB_KEY_CTRL_T },
- .callback = move_search_next_word },
- { .ev = { .key = TB_KEY_CTRL_U },
- .callback = erase_search_to_start },
- { .ev = { .key = TB_KEY_CTRL_W },
- .callback = erase_search_prev_word },
- { .ev = { .key = TB_KEY_DELETE },
- .callback = erase_search_forward },
- { .ev = { .key = TB_KEY_END }, .callback = move_search_end },
- { .ev = { .key = TB_KEY_ENTER },
- .callback = hide_search },
- { .ev = { .key = TB_KEY_F3 }, .callback = next_match },
- { .ev = { .key = TB_KEY_F4 }, .callback = prev_match },
- { .ev = { .key = TB_KEY_HOME }, .callback = move_search_start },
- { .ev = { .key = TB_KEY_SPACE },
- .callback = insert_search_space },
- { .ev = { .key = TB_KEY_TAB }, .callback = insert_search_tab },
-};
-
-/* Main window */
-static const struct Key main_keys[] = {
- { .ev = { .key = TB_KEY_ARROW_DOWN },
- .callback = move_list_down },
- { .ev = { .key = TB_KEY_ARROW_UP },
- .callback = move_list_up },
- { .ev = { .key = TB_KEY_END },
- .callback = move_list_end },
- { .ev = { .key = TB_KEY_ENTER },
- .callback = show_edit },
- { .ev = { .key = TB_KEY_F1 }, .callback = show_help },
- { .ev = { .key = TB_KEY_F3 }, .callback = next_match },
- { .ev = { .key = TB_KEY_F4 }, .callback = prev_match },
- { .ev = { .key = TB_KEY_F7 }, .callback = show_search },
- { .ev = { .key = TB_KEY_F8 }, .callback = next_untranslated },
- { .ev = { .key = TB_KEY_F9 }, .callback = next_fuzzy },
- { .ev = { .key = TB_KEY_HOME }, .callback = move_list_start },
- { .ev = { .key = TB_KEY_CTRL_B },
- .callback = move_list_page_up },
- { .ev = { .key = TB_KEY_CTRL_F },
- .callback = move_list_page_down },
- { .ev = { .key = TB_KEY_CTRL_S },
- .callback = write_file },
- { .ev = { .key = TB_KEY_CTRL_Z },
- .callback = toggle_fuzzy },
- { .ev = { .key = TB_KEY_PGDN },
- .callback = move_list_page_down },
- { .ev = { .key = TB_KEY_PGUP }, .callback = move_list_page_up },
- { .ev = { .ch = '/' }, .callback = show_search },
- { .ev = { .ch = 'G' }, .callback = move_list_end },
- { .ev = { .ch = 'H' }, .callback = show_help },
- { .ev = { .ch = 'f' }, .callback = next_fuzzy },
- { .ev = { .ch = 'g' }, .callback = move_list_start },
- { .ev = { .ch = 'j' }, .callback = move_list_down },
- { .ev = { .ch = 'k' }, .callback = move_list_up },
- { .ev = { .ch = 'N' }, .callback = prev_match },
- { .ev = { .ch = 'n' }, .callback = next_match },
- { .ev = { .ch = 'q' }, .callback = exit_program },
- { .ev = { .ch = 'u' }, .callback = next_untranslated },
- { .ev = { .ch = 'w' }, .callback = write_file },
- { .ev = { .ch = 'z' }, .callback = toggle_fuzzy },
-};
-
-#endif /* POE_C_GLOBALS */
-
-void format_filename(char* result, size_t result_size, const char* format,
- const struct DrawState* state);
-void format_msgs(char* result, size_t result_size, const char* format,
- const struct DrawState* state);
-
-static const struct StatusSegment status_segments[] = {
- {.format = "%s%s",
- .callback = format_filename,
- .fg = TB_BLACK,
- .bg = TB_WHITE,
- .alignment = LEFT},
- {.format = "%ld/%ld (%ldu/%ldf/%ldo)",
- .callback = format_msgs,
- .fg = TB_WHITE | TB_BOLD,
- .bg = TB_BLUE,
- .alignment = CENTER},
- {.format = "H=HELP, q=QUIT",
- .callback = NULL,
- .fg = TB_BLACK,
- .bg = TB_WHITE,
- .alignment = RIGHT},
-};
diff --git a/config.h.do b/config.h.do
@@ -0,0 +1,5 @@
+if [ ! -r $1 ]; then
+ cat config.def.h >$3
+fi
+redo-always
+redo-stamp <$3
diff --git a/default.do b/default.do
@@ -3,7 +3,7 @@ if [ -r $1.in ]; then
read VERSION <version
read DATE <date
sed -e "s/%VERSION%/$VERSION/g" \
- -e "s/%DATE%/$DATE/g" <$1.in
+ -e "s/%DATE%/$DATE/g" <$1.in >$3
else
echo "$0: don't know how to build '$1'" >&2
exit 99
diff --git a/default.o.do b/default.o.do
@@ -1,5 +1,8 @@
-for f in *.h; do
+{ for f in *.h; do
echo $f
-done | xargs redo-ifchange
+done
+if [ ! -r config.h ]; then
+ echo config.h
+fi; } | sort | uniq | xargs redo-ifchange
redo-ifchange $2.c
${POE_CC:-gcc -g} -Wall -std=c99 -c $2.c -o $3
diff --git a/poe.do b/poe.do
@@ -5,4 +5,4 @@ for f in *.h *.c; do
echo $f
echo $f | sed -e's/\.c$/.o/g'
done | xargs redo-ifchange
-${POE_CC:-gcc -g} -Wall -std=c99 -o $3 po.o poe.o draw.o util.o
+${POE_CC:-gcc -g} -Wall -std=c99 -o $3 po.o poe.o draw.o util.o >/dev/null