Main data structures
Text
The text buffer data structure. All file and text manipulation happens
through a text buffer. Every text buffer has a pointer to a list of
Views which look after the screen. Texts
belonging to a window have a pointer to the corresponding
Data, with t->isbody indicating whether
the text is for the tag or body.
The text also maintains a small cache used in searching through
the buffer.
Files which #include "text.h":
- text.c
-
This (discounting text.h) is the only file that knows how
a text buffer is organised in memory (a simple buffer gap,
but keep that to yourself :-). It contains the basic routines
to read and write a text buffer to/from memory or a file.
- undo.c
-
Responsible for maintaining the undo log.
- sam.h, sambuf.c
-
Wrappers to make a Text behave like
a Sam file, so we can use the Sam regexp code. They provide
a small buffer and some macros for quickly traversing the
Runes of the buffer.
- click.c
-
Code to expand double-clicks etc. Uses the interface provided
by sambuf.c
- search.c
-
Various routines to search through a Text
- text2.c
-
Mostly convenience wrappers around the functionality of text.c,
plus routines for formatting directories.
Data
View
Tile
Main needs
Flicker-free scrolling, Tile heuristics, Sam commands
gary@cs.su.oz.au