aboutsummaryrefslogtreecommitdiff
path: root/vis-core.h
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2017-01-10 10:51:18 +0100
committerMarc André Tanner <mat@brain-dump.org>2017-01-12 22:37:21 +0100
commit0f35467395910cc0bed2b40fdbbc91998f97ac41 (patch)
treed8e47590fd5ea8b30321dade3b94d2d64eeb6cc1 /vis-core.h
parente83a9d5d92896cfd6a4a9aa51f3879e47704e607 (diff)
downloadvis-0f35467395910cc0bed2b40fdbbc91998f97ac41.tar.gz
vis-0f35467395910cc0bed2b40fdbbc91998f97ac41.tar.xz
sam: implement parallel grouping behavior
Diffstat (limited to 'vis-core.h')
-rw-r--r--vis-core.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/vis-core.h b/vis-core.h
index 1015db1..bb20746 100644
--- a/vis-core.h
+++ b/vis-core.h
@@ -3,6 +3,7 @@
#include <setjmp.h>
#include "vis.h"
+#include "sam.h"
#include "vis-lua.h"
#include "register.h"
#include "text.h"
@@ -107,6 +108,12 @@ typedef struct { /** collects all information until an operator is e
Arg arg;
} Action;
+typedef struct Change Change;
+typedef struct {
+ Change *changes; /* all changes in monotonically increasing file position */
+ enum SamError error; /* non-zero in case something went wrong */
+} Transcript;
+
struct File { /* shared state among windows displaying the same file */
Text *text; /* data structure holding the file content */
const char *name; /* file name used when loading/saving */
@@ -117,6 +124,7 @@ struct File { /* shared state among windows displaying the same file */
int refcount; /* how many windows are displaying this file? (always >= 1) */
Mark marks[VIS_MARK_INVALID]; /* marks which are shared across windows */
enum TextSaveMethod save_method; /* whether the file is saved using rename(2) or overwritten */
+ Transcript transcript; /* keeps track of changes performed by sam commands */
File *next, *prev;
};