aboutsummaryrefslogtreecommitdiff
path: root/vis.h
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2017-03-19 14:05:32 +0100
committerMarc André Tanner <mat@brain-dump.org>2017-03-19 14:58:07 +0100
commit5166e81e794c0faa80742ad6806745b13b967a51 (patch)
treed2f4cd3ece83311bbea9ea172ea12d8337225fa2 /vis.h
parent5fb583f035bb8e699e8980e63050ef1f41f94dd9 (diff)
downloadvis-5166e81e794c0faa80742ad6806745b13b967a51.tar.gz
vis-5166e81e794c0faa80742ad6806745b13b967a51.tar.xz
vis: add infrastructure for user specified operators
Diffstat (limited to 'vis.h')
-rw-r--r--vis.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/vis.h b/vis.h
index 913a503..6c6e0fe 100644
--- a/vis.h
+++ b/vis.h
@@ -224,6 +224,7 @@ enum VisOperator {
VIS_OP_PUT_AFTER_END,
VIS_OP_PUT_BEFORE,
VIS_OP_PUT_BEFORE_END,
+ VIS_OP_LAST, /* has to be last enum member */
};
/* set operator to execute, has immediate effect if
@@ -242,6 +243,10 @@ enum VisOperator {
*/
bool vis_operator(Vis*, enum VisOperator, ...);
+typedef struct OperatorContext OperatorContext;
+typedef size_t (VisOperatorFunction)(Vis*, Text*, OperatorContext*);
+int vis_operator_register(Vis*, VisOperatorFunction*, void *context);
+
enum VisMotion {
VIS_MOVE_LINE_DOWN,
VIS_MOVE_LINE_UP,