commit - 48e3f26d25252f33d0e18c5d1990f25f2b2f5ca8
commit + 09312eb3c7213330c6445ed6f3a68e5028311178
blob - 0ca303b90dd11e96bf69fc947fc9e465960e6082
blob + 33a7c99f19275abab401786c5b3ff2c3402341b5
--- Makefile.am
+++ Makefile.am
bin_PROGRAMS = telescope
-telescope_SOURCES = cmd.gen.h \
+telescope_SOURCES = cmd.h \
+ cmd.gen.h \
compat.h \
compat/*.[ch] \
fs.c \
dist_man1_MANS = telescope.1
-cmd.gen.h: $(srcdir)/ui.c $(srcdir)/gencmd.awk
- ${AWK} -f $(srcdir)/gencmd.awk < $(srcdir)/ui.c > $@
+cmd.gen.h: $(srcdir)/cmd.h $(srcdir)/gencmd.awk
+ ${AWK} -f $(srcdir)/gencmd.awk < $(srcdir)/cmd.h > $@
compile_flags.txt:
printf "%s\n" ${CFLAGS} > compile_flags.txt
blob - /dev/null
blob + 1231e799a729a56a30aee811690097e438642a9b (mode 644)
--- /dev/null
+++ cmd.h
+struct window;
+
+#define CMD(fnname) void fnname(struct window *)
+#define DEFALIAS(s, d) /* nothing */
+
+CMD(cmd_previous_line);
+CMD(cmd_next_line);
+CMD(cmd_backward_char);
+CMD(cmd_forward_char);
+CMD(cmd_backward_paragraph);
+CMD(cmd_forward_paragraph);
+CMD(cmd_move_beginning_of_line);
+CMD(cmd_move_end_of_line);
+CMD(cmd_redraw);
+CMD(cmd_scroll_line_down);
+CMD(cmd_scroll_line_up);
+CMD(cmd_scroll_up);
+CMD(cmd_scroll_down);
+CMD(cmd_beginning_of_buffer);
+CMD(cmd_end_of_buffer);
+
+CMD(cmd_kill_telescope);
+DEFALIAS(q, cmd_kill_telescope)
+DEFALIAS(wq, cmd_kill_telescope)
+
+CMD(cmd_push_button);
+CMD(cmd_push_button_new_tab);
+CMD(cmd_previous_button);
+CMD(cmd_next_button);
+CMD(cmd_previous_page);
+CMD(cmd_next_page);
+CMD(cmd_clear_minibuf);
+CMD(cmd_execute_extended_command);
+CMD(cmd_tab_close);
+CMD(cmd_tab_close_other);
+
+CMD(cmd_tab_new);
+DEFALIAS(tabnew, cmd_tab_new)
+
+CMD(cmd_tab_next);
+DEFALIAS(tabn, cmd_tab_next)
+
+CMD(cmd_tab_previous);
+DEFALIAS(tabp, cmd_tab_previous)
+
+CMD(cmd_tab_move);
+CMD(cmd_tab_move_to);
+CMD(cmd_load_url);
+CMD(cmd_load_current_url);
+CMD(cmd_bookmark_page);
+CMD(cmd_list_bookmarks);
+CMD(cmd_toggle_help);
+
+CMD(cmd_mini_delete_char);
+CMD(cmd_mini_delete_backward_char);
+CMD(cmd_mini_kill_line);
+CMD(cmd_mini_abort);
+CMD(cmd_mini_complete_and_exit);
+CMD(cmd_mini_previous_history_element);
+CMD(cmd_mini_next_history_element);
blob - b6d7dd1e51ffe4cd45f7ffa7829a8d9c2f94c2f5
blob + 6aaa32596257531a4c76d8aa7119178979bc477f
--- telescope.h
+++ telescope.h
#ifndef TELESCOPE_H
#define TELESCOPE_H
+#include "cmd.h"
#include "compat.h"
#include "phos/phos.h"
blob - 37b06480d075ac61d8980db5ea3277a5f5286f19
blob + e9a5a08e440f3bfa00e5e6c38f60412caa0a5da2
--- ui.c
+++ ui.c
*/
#include "telescope.h"
+#include "cmd.gen.h"
#include <assert.h>
#include <curses.h>
static void load_default_keys(void);
static void restore_cursor(struct window*);
-
-#define CMD(fnname) static void fnname(struct window *)
-#define DEFALIAS(s, d) /* nothing */
-
-CMD(cmd_previous_line);
-CMD(cmd_next_line);
-CMD(cmd_backward_char);
-CMD(cmd_forward_char);
-CMD(cmd_backward_paragraph);
-CMD(cmd_forward_paragraph);
-CMD(cmd_move_beginning_of_line);
-CMD(cmd_move_end_of_line);
-CMD(cmd_redraw);
-CMD(cmd_scroll_line_down);
-CMD(cmd_scroll_line_up);
-CMD(cmd_scroll_up);
-CMD(cmd_scroll_down);
-CMD(cmd_beginning_of_buffer);
-CMD(cmd_end_of_buffer);
-
-CMD(cmd_kill_telescope);
-DEFALIAS(q, cmd_kill_telescope)
-DEFALIAS(wq, cmd_kill_telescope)
-
-CMD(cmd_push_button);
-CMD(cmd_push_button_new_tab);
-CMD(cmd_previous_button);
-CMD(cmd_next_button);
-CMD(cmd_previous_page);
-CMD(cmd_next_page);
-CMD(cmd_clear_minibuf);
-CMD(cmd_execute_extended_command);
-CMD(cmd_tab_close);
-CMD(cmd_tab_close_other);
-
-CMD(cmd_tab_new);
-DEFALIAS(tabnew, cmd_tab_new)
-
-CMD(cmd_tab_next);
-DEFALIAS(tabn, cmd_tab_next)
-
-CMD(cmd_tab_previous);
-DEFALIAS(tabp, cmd_tab_previous)
-
-CMD(cmd_tab_move);
-CMD(cmd_tab_move_to);
-CMD(cmd_load_url);
-CMD(cmd_load_current_url);
-CMD(cmd_bookmark_page);
-CMD(cmd_list_bookmarks);
-CMD(cmd_toggle_help);
-
-CMD(cmd_mini_delete_char);
-CMD(cmd_mini_delete_backward_char);
-CMD(cmd_mini_kill_line);
-CMD(cmd_mini_abort);
-CMD(cmd_mini_complete_and_exit);
-CMD(cmd_mini_previous_history_element);
-CMD(cmd_mini_next_history_element);
-#include "cmd.gen.h"
-
static void global_key_unbound(void);
static void minibuffer_hist_save_entry(void);
static void minibuffer_taint_hist(void);
}
}
-static void
+void
cmd_previous_line(struct window *window)
{
struct vline *vl;
restore_cursor(window);
}
-static void
+void
cmd_next_line(struct window *window)
{
struct vline *vl;
restore_cursor(window);
}
-static void
+void
cmd_backward_char(struct window *window)
{
if (window->cpoff != 0)
restore_cursor(window);
}
-static void
+void
cmd_forward_char(struct window *window)
{
size_t len = 0;
restore_cursor(window);
}
-static void
+void
cmd_backward_paragraph(struct window *window)
{
do {
window->current_line->parent->type != LINE_TEXT);
}
-static void
+void
cmd_forward_paragraph(struct window *window)
{
do {
window->current_line->parent->type != LINE_TEXT);
}
-static void
+void
cmd_move_beginning_of_line(struct window *window)
{
window->cpoff = 0;
restore_cursor(window);
}
-static void
+void
cmd_move_end_of_line(struct window *window)
{
struct vline *vl;
restore_cursor(window);
}
-static void
+void
cmd_redraw(struct window *window)
{
handle_resize(0, 0, NULL);
}
-static void
+void
cmd_scroll_line_up(struct window *window)
{
struct vline *vl;
restore_cursor(window);
}
-static void
+void
cmd_scroll_line_down(struct window *window)
{
struct vline *vl;
restore_cursor(window);
}
-static void
+void
cmd_scroll_up(struct window *window)
{
size_t off;
cmd_scroll_line_up(window);
}
-static void
+void
cmd_scroll_down(struct window *window)
{
size_t off;
cmd_scroll_line_down(window);
}
-static void
+void
cmd_beginning_of_buffer(struct window *window)
{
window->current_line = TAILQ_FIRST(&window->head);
restore_cursor(window);
}
-static void
+void
cmd_end_of_buffer(struct window *window)
{
ssize_t off;
restore_cursor(window);
}
-static void
+void
cmd_kill_telescope(struct window *window)
{
save_session();
event_loopbreak();
}
-static void
+void
cmd_push_button(struct window *window)
{
struct vline *vl;
load_url_in_tab(current_tab(), vl->parent->alt);
}
-static void
+void
cmd_push_button_new_tab(struct window *window)
{
struct vline *vl;
new_tab(vl->parent->alt);
}
-static void
+void
cmd_previous_button(struct window *window)
{
do {
} while (window->current_line->parent->type != LINE_LINK);
}
-static void
+void
cmd_next_button(struct window *window)
{
do {
} while (window->current_line->parent->type != LINE_LINK);
}
-static void
+void
cmd_previous_page(struct window *window)
{
struct tab *tab = current_tab();
start_loading_anim(tab);
}
-static void
+void
cmd_next_page(struct window *window)
{
struct tab *tab = current_tab();
start_loading_anim(tab);
}
-static void
+void
cmd_clear_minibuf(struct window *window)
{
handle_clear_minibuf(0, 0, NULL);
}
-static void
+void
cmd_execute_extended_command(struct window *window)
{
size_t len;
strlcat(ministate.prompt, " ", len);
}
-static void
+void
cmd_tab_close(struct window *window)
{
struct tab *tab, *t;
switch_to_tab(t);
}
-static void
+void
cmd_tab_close_other(struct window *window)
{
struct tab *t, *i;
}
}
-static void
+void
cmd_tab_new(struct window *window)
{
new_tab(NEW_TAB_URL);
}
-static void
+void
cmd_tab_next(struct window *window)
{
struct tab *tab, *t;
t->flags &= ~TAB_URGENT;
}
-static void
+void
cmd_tab_previous(struct window *window)
{
struct tab *tab, *t;
t->flags &= ~TAB_URGENT;
}
-static void
+void
cmd_tab_move(struct window *window)
{
struct tab *tab, *t;
TAILQ_INSERT_AFTER(&tabshead, t, tab, tabs);
}
-static void
+void
cmd_tab_move_to(struct window *window)
{
struct tab *tab, *t;
TAILQ_INSERT_BEFORE(t, tab, tabs);
}
-static void
+void
cmd_load_url(struct window *window)
{
if (in_minibuffer) {
cmd_move_end_of_line(&ministate.window);
}
-static void
+void
cmd_load_current_url(struct window *window)
{
struct tab *tab = current_tab();
ministate.window.cpoff = utf8_cplen(ministate.buf);
}
-static void
+void
cmd_bookmark_page(struct window *window)
{
struct tab *tab = current_tab();
ministate.window.cpoff = utf8_cplen(ministate.buf);
}
-static void
+void
cmd_list_bookmarks(struct window *window)
{
load_url_in_tab(current_tab(), "about:bookmarks");
}
-static void
+void
cmd_toggle_help(struct window *window)
{
side_window = !side_window;
handle_resize(0, 0, NULL);
}
-static void
+void
cmd_mini_delete_char(struct window *window)
{
char *c, *n;
memmove(c, n, strlen(n)+1);
}
-static void
+void
cmd_mini_delete_backward_char(struct window *window)
{
char *c, *p, *start;
window->cpoff--;
}
-static void
+void
cmd_mini_kill_line(struct window *window)
{
char *c;
*c = '\0';
}
-static void
+void
cmd_mini_abort(struct window *window)
{
if (!in_minibuffer)
ministate.abortfn();
}
-static void
+void
cmd_mini_complete_and_exit(struct window *window)
{
if (!in_minibuffer)
ministate.donefn();
}
-static void
+void
cmd_mini_previous_history_element(struct window *window)
{
if (ministate.history == NULL) {
window->current_line->line = ministate.hist_cur->h;
}
-static void
+void
cmd_mini_next_history_element(struct window *window)
{
if (ministate.history == NULL) {