1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//! Typed byte spans over the raw text of a log entry.
//!
//! [`message_fields`] locates the fields a message carries and returns their
//! byte ranges instead of copies, so a consumer can rewrite the text in place —
//! redacting a caller id, colorizing a channel name — without re-deriving
//! positions the classifier already computed.
//!
//! A kind is emitted only where classification isolates it. Nothing here scans
//! free text for numbers, addresses or URIs: see `docs/design-rationale.md`.
use Range;
/// The byte range of `sub` inside `parent`, or `None` when `sub` is not a
/// subslice of it. Empty subslices never yield a range — a helper that returns
/// a `""` literal rather than an in-place empty slice must degrade to no span.
///
/// Deriving the range from the subslice's own address is what keeps a span on a
/// char boundary: a length added to a marker offset silently omits whatever the
/// slicer skipped to reach the token.
pub use message_fields;
pub use ;
pub use processing_parts;
pub use apply_fields;