vis
a vi-like editor based on Plan 9's structural regular expressions
git clone https://9o.is/git/vis.git
commit 86cdb4d86ca0cd979de30da5ce8eac22f7451418 parent 2f1bb9e8db028a9b50197e2a94269245485d50d6 Author: Marc André Tanner <mat@brain-dump.org> Date: Tue, 9 Sep 2014 12:34:21 +0200 Add all 26 marks Diffstat:
| M | config.def.h | | | 75 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- |
| M | vis.h | | | 24 | ++++++++++++++++++++++-- |
2 files changed, 94 insertions(+), 5 deletions(-)
diff --git a/config.def.h b/config.def.h @@ -699,24 +699,93 @@ static KeyBinding vis_registers[] = { /* {a-zA-Z0-9.%#:-"} */ { /* empty last element, array terminator */ }, }; -static KeyBinding vis_marks[] = { /* {a-zA-Z} */ +static KeyBinding vis_marks[] = { { { NONE('`'), NONE('a') }, mark, { .i = MARK_a } }, { { NONE('`'), NONE('b') }, mark, { .i = MARK_b } }, { { NONE('`'), NONE('c') }, mark, { .i = MARK_c } }, + { { NONE('`'), NONE('d') }, mark, { .i = MARK_d } }, + { { NONE('`'), NONE('e') }, mark, { .i = MARK_e } }, + { { NONE('`'), NONE('f') }, mark, { .i = MARK_f } }, + { { NONE('`'), NONE('g') }, mark, { .i = MARK_g } }, + { { NONE('`'), NONE('h') }, mark, { .i = MARK_h } }, + { { NONE('`'), NONE('i') }, mark, { .i = MARK_i } }, + { { NONE('`'), NONE('j') }, mark, { .i = MARK_j } }, + { { NONE('`'), NONE('k') }, mark, { .i = MARK_k } }, + { { NONE('`'), NONE('l') }, mark, { .i = MARK_l } }, + { { NONE('`'), NONE('m') }, mark, { .i = MARK_m } }, + { { NONE('`'), NONE('n') }, mark, { .i = MARK_n } }, + { { NONE('`'), NONE('o') }, mark, { .i = MARK_o } }, + { { NONE('`'), NONE('p') }, mark, { .i = MARK_p } }, + { { NONE('`'), NONE('q') }, mark, { .i = MARK_q } }, + { { NONE('`'), NONE('r') }, mark, { .i = MARK_r } }, + { { NONE('`'), NONE('s') }, mark, { .i = MARK_s } }, + { { NONE('`'), NONE('t') }, mark, { .i = MARK_t } }, + { { NONE('`'), NONE('u') }, mark, { .i = MARK_u } }, + { { NONE('`'), NONE('v') }, mark, { .i = MARK_v } }, + { { NONE('`'), NONE('w') }, mark, { .i = MARK_w } }, + { { NONE('`'), NONE('x') }, mark, { .i = MARK_x } }, + { { NONE('`'), NONE('y') }, mark, { .i = MARK_y } }, + { { NONE('`'), NONE('z') }, mark, { .i = MARK_z } }, { /* empty last element, array terminator */ }, }; -static KeyBinding vis_marks_line[] = { /* {a-zA-Z} */ +static KeyBinding vis_marks_line[] = { { { NONE('\''), NONE('a') }, mark_line, { .i = MARK_a } }, { { NONE('\''), NONE('b') }, mark_line, { .i = MARK_b } }, { { NONE('\''), NONE('c') }, mark_line, { .i = MARK_c } }, + { { NONE('\''), NONE('d') }, mark_line, { .i = MARK_d } }, + { { NONE('\''), NONE('e') }, mark_line, { .i = MARK_e } }, + { { NONE('\''), NONE('f') }, mark_line, { .i = MARK_f } }, + { { NONE('\''), NONE('g') }, mark_line, { .i = MARK_g } }, + { { NONE('\''), NONE('h') }, mark_line, { .i = MARK_h } }, + { { NONE('\''), NONE('i') }, mark_line, { .i = MARK_i } }, + { { NONE('\''), NONE('j') }, mark_line, { .i = MARK_j } }, + { { NONE('\''), NONE('k') }, mark_line, { .i = MARK_k } }, + { { NONE('\''), NONE('l') }, mark_line, { .i = MARK_l } }, + { { NONE('\''), NONE('m') }, mark_line, { .i = MARK_m } }, + { { NONE('\''), NONE('n') }, mark_line, { .i = MARK_n } }, + { { NONE('\''), NONE('o') }, mark_line, { .i = MARK_o } }, + { { NONE('\''), NONE('p') }, mark_line, { .i = MARK_p } }, + { { NONE('\''), NONE('q') }, mark_line, { .i = MARK_q } }, + { { NONE('\''), NONE('r') }, mark_line, { .i = MARK_r } }, + { { NONE('\''), NONE('s') }, mark_line, { .i = MARK_s } }, + { { NONE('\''), NONE('t') }, mark_line, { .i = MARK_t } }, + { { NONE('\''), NONE('u') }, mark_line, { .i = MARK_u } }, + { { NONE('\''), NONE('v') }, mark_line, { .i = MARK_v } }, + { { NONE('\''), NONE('w') }, mark_line, { .i = MARK_w } }, + { { NONE('\''), NONE('x') }, mark_line, { .i = MARK_x } }, + { { NONE('\''), NONE('y') }, mark_line, { .i = MARK_y } }, + { { NONE('\''), NONE('z') }, mark_line, { .i = MARK_z } }, { /* empty last element, array terminator */ }, }; -static KeyBinding vis_marks_set[] = { /* {a-zA-Z} */ +static KeyBinding vis_marks_set[] = { { { NONE('m'), NONE('a') }, mark_set, { .i = MARK_a } }, { { NONE('m'), NONE('b') }, mark_set, { .i = MARK_b } }, { { NONE('m'), NONE('c') }, mark_set, { .i = MARK_c } }, + { { NONE('m'), NONE('d') }, mark_set, { .i = MARK_d } }, + { { NONE('m'), NONE('e') }, mark_set, { .i = MARK_e } }, + { { NONE('m'), NONE('f') }, mark_set, { .i = MARK_f } }, + { { NONE('m'), NONE('g') }, mark_set, { .i = MARK_g } }, + { { NONE('m'), NONE('h') }, mark_set, { .i = MARK_h } }, + { { NONE('m'), NONE('i') }, mark_set, { .i = MARK_i } }, + { { NONE('m'), NONE('j') }, mark_set, { .i = MARK_j } }, + { { NONE('m'), NONE('k') }, mark_set, { .i = MARK_k } }, + { { NONE('m'), NONE('l') }, mark_set, { .i = MARK_l } }, + { { NONE('m'), NONE('m') }, mark_set, { .i = MARK_m } }, + { { NONE('m'), NONE('n') }, mark_set, { .i = MARK_n } }, + { { NONE('m'), NONE('o') }, mark_set, { .i = MARK_o } }, + { { NONE('m'), NONE('p') }, mark_set, { .i = MARK_p } }, + { { NONE('m'), NONE('q') }, mark_set, { .i = MARK_q } }, + { { NONE('m'), NONE('r') }, mark_set, { .i = MARK_r } }, + { { NONE('m'), NONE('s') }, mark_set, { .i = MARK_s } }, + { { NONE('m'), NONE('t') }, mark_set, { .i = MARK_t } }, + { { NONE('m'), NONE('u') }, mark_set, { .i = MARK_u } }, + { { NONE('m'), NONE('v') }, mark_set, { .i = MARK_v } }, + { { NONE('m'), NONE('w') }, mark_set, { .i = MARK_w } }, + { { NONE('m'), NONE('x') }, mark_set, { .i = MARK_x } }, + { { NONE('m'), NONE('y') }, mark_set, { .i = MARK_y } }, + { { NONE('m'), NONE('z') }, mark_set, { .i = MARK_z } }, { /* empty last element, array terminator */ }, }; diff --git a/vis.h b/vis.h @@ -65,9 +65,29 @@ enum Mark { MARK_a, MARK_b, MARK_c, - // ... + MARK_d, + MARK_e, + MARK_f, + MARK_g, + MARK_h, + MARK_i, + MARK_j, + MARK_k, + MARK_l, + MARK_m, + MARK_n, + MARK_o, + MARK_p, + MARK_q, + MARK_r, + MARK_s, + MARK_t, + MARK_u, + MARK_v, + MARK_w, + MARK_x, + MARK_y, MARK_z, - MARK_LAST, }; struct Vis {