lib/syn/src/span/root.zig

daab053ee43316e1809a84551d573ddd1e5bf3d2

 1 //! The namespace holds what a scan produces: the marked byte ranges of a line, the buffer that
 2 //! receives them, and the arithmetic that sizes that buffer. A caller needs to know before it scans
 3 //! anything how much memory the marks of its longest line take, and then needs the marks of each
 4 //! line in a buffer it can read.
 5 //!
 6 //! Each marked range (*span*) carries its role with it, as a start byte, an end byte and a kind, so
 7 //! a renderer picks colors without scanning again. The buffer (*span storage*) is allocated once
 8 //! from a limit on line length, and every later line reuses it.
 9 pub const capacity = @import("capacity.zig");
10 pub const model = @import("model.zig");
11 pub const storage = @import("storage.zig");
12 
13 pub const Capacity = capacity.Capacity;
14 pub const Limits = capacity.Limits;
15 pub const DeriveError = capacity.DeriveError;
16 pub const Kind = model.Kind;
17 pub const Materialization = model.Materialization;
18 pub const Span = model.Span;
19 pub const Status = storage.Status;
20 pub const Storage = storage.Storage;