-/* $OpenBSD: mode-key.c,v 1.62 2015/04/19 21:34:21 nicm Exp $ */
+/* $OpenBSD: mode-key.c,v 1.63 2015/05/08 16:33:29 nicm Exp $ */
/*
* Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net>
* (any matching MODEKEYEDIT_SWITCHMODE*) are special-cased to do this.
*/
+/* Entry in the default mode key tables. */
+struct mode_key_entry {
+ int key;
+
+ /*
+ * Editing mode for vi: 0 is edit mode, keys not in the table are
+ * returned as MODEKEY_OTHER; 1 is command mode, keys not in the table
+ * are returned as MODEKEY_NONE. This is also matched on, allowing some
+ * keys to be bound in edit mode.
+ */
+ int mode;
+ enum mode_key_cmd cmd;
+};
+
/* Edit keys command strings. */
const struct mode_key_cmdstr mode_key_cmdstr_edit[] = {
{ MODEKEYEDIT_BACKSPACE, "backspace" },
-/* $OpenBSD: tmux.h,v 1.508 2015/05/08 16:23:34 nicm Exp $ */
+/* $OpenBSD: tmux.h,v 1.509 2015/05/08 16:33:29 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
MODEKEYCOPY_UP,
};
-/* Entry in the default mode key tables. */
-struct mode_key_entry {
- int key;
-
- /*
- * Editing mode for vi: 0 is edit mode, keys not in the table are
- * returned as MODEKEY_OTHER; 1 is command mode, keys not in the table
- * are returned as MODEKEY_NONE. This is also matched on, allowing some
- * keys to be bound in edit mode.
- */
- int mode;
- enum mode_key_cmd cmd;
-};
-
/* Data required while mode keys are in use. */
struct mode_key_data {
struct mode_key_tree *tree;
};
/* Named mode key table description. */
+struct mode_key_entry;
struct mode_key_table {
const char *name;
const struct mode_key_cmdstr *cmdstr;
/* Saved message entry. */
struct message_entry {
- char *msg;
- u_int msg_num;
- time_t msg_time;
+ char *msg;
+ u_int msg_num;
+ time_t msg_time;
TAILQ_ENTRY(message_entry) entry;
};
/* Status output data from a job. */
struct status_out {
- char *cmd;
- char *out;
+ char *cmd;
+ char *out;
RB_ENTRY(status_out) entry;
};
TAILQ_ENTRY(cmd) qentry;
};
+
struct cmd_list {
int references;
TAILQ_HEAD(, cmd) list;
RB_ENTRY(key_binding) entry;
};
RB_HEAD(key_bindings, key_binding);
+
struct key_table {
const char *name;
struct key_bindings key_bindings;