From d4dfde906022618bd9e0cbcd3559625186f77407 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Thu, 4 Sep 2014 07:52:14 +0200 Subject: Implement rudimentary mark handling --- vis.h | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'vis.h') diff --git a/vis.h b/vis.h index 9c88c4e..5157842 100644 --- a/vis.h +++ b/vis.h @@ -32,6 +32,15 @@ enum Reg { REG_LAST, }; +enum Mark { + MARK_a, + MARK_b, + MARK_c, + // ... + MARK_z, + MARK_LAST, +}; + struct Vis { int width, height; /* terminal size, available for all windows */ VisWin *windows; /* list of windows */ @@ -91,6 +100,7 @@ typedef struct { } Operator; typedef struct { + size_t (*cmd)(const Arg*); size_t (*win)(Win*); size_t (*txt)(Text*, size_t pos); enum { @@ -117,6 +127,8 @@ typedef struct { Movement *movement; TextObject *textobj; Register *reg; + Mark mark; + Arg arg; } Action; typedef struct { @@ -157,12 +169,6 @@ void vis_delete_key(Vis*); void vis_insert(Vis*, size_t pos, const char *data, size_t len); void vis_delete(Vis*, size_t pos, size_t len); -// mark handling -typedef int Mark; -void vis_mark_set(Vis*, Mark, size_t pos); -void vis_mark_goto(Vis*, Mark); -void vis_mark_clear(Vis*, Mark); - // TODO comment bool vis_syntax_load(Vis*, Syntax *syntaxes, Color *colors); void vis_syntax_unload(Vis*); -- cgit v1.2.3