poe

Уређивач .po фајлова
Дневник | Датотеке | Референце | ПРОЧИТАЈМЕ | ЛИЦЕНЦА

чување 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:
M.gitignore | 1+
Dconfig.h | 300-------------------------------------------------------------------------------
Aconfig.h.do | 5+++++
Mdefault.do | 2+-
Mdefault.o.do | 7+++++--
Mpoe.do | 2+-
измењених датотека: 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