vxml_pipeline/tracking
Serializes, selects, and displays VXML for pipeline tracking monitors.
Types
pub type LineSelector =
fn(SLine) -> SelectionStatus
A VXML instance is serialized into a list of SLine for the purposes of tracking (see “–track” command line option); each SLine (for “Selected (or not) Line”) is one of four variants:
- VSLine: a tag “<> …” of a V-node
- ASLine: a key-attr pair line “key=val” of a V-node
- TSLine: the caret “<>” that marks the start of a T-node
- LSLine: a content-line for a T-node
Each SLine comes with a selection status, given by its ‘selected’ field.
pub type SLine {
VSLine(
blame: blame.Blame,
indent: Int,
content: String,
selected: SelectionStatus,
tag: String,
)
ASLine(
blame: blame.Blame,
indent: Int,
content: String,
selected: SelectionStatus,
key: String,
val: String,
)
TSLine(
blame: blame.Blame,
indent: Int,
content: String,
selected: SelectionStatus,
)
LSLine(
blame: blame.Blame,
indent: Int,
content: String,
selected: SelectionStatus,
)
}
Constructors
-
VSLine( blame: blame.Blame, indent: Int, content: String, selected: SelectionStatus, tag: String, ) -
ASLine( blame: blame.Blame, indent: Int, content: String, selected: SelectionStatus, key: String, val: String, ) -
TSLine( blame: blame.Blame, indent: Int, content: String, selected: SelectionStatus, ) -
LSLine( blame: blame.Blame, indent: Int, content: String, selected: SelectionStatus, )
pub type SelectionStatus {
NotSelected
OG
Bystander
}
Constructors
-
NotSelected -
OG -
Bystander
Values
pub fn apply_line_selector_to_line(
line: SLine,
line_selector: fn(SLine) -> SelectionStatus,
) -> SLine
pub fn extend_selection_to_ancestors(
lines: List(SLine),
with_elder_siblings w1: Bool,
with_ancestor_attrs w2: Bool,
with_elder_sibling_attrs w3: Bool,
) -> List(SLine)
pub fn extend_selector_down(
f: fn(List(SLine)) -> List(SLine),
amt: Int,
) -> fn(List(SLine)) -> List(SLine)
pub fn extend_selector_to_ancestors(
f: fn(List(SLine)) -> List(SLine),
with_elder_siblings w1: Bool,
with_ancestor_attrs w2: Bool,
with_elder_sibling_attrs w3: Bool,
) -> fn(List(SLine)) -> List(SLine)
pub fn extend_selector_up(
f: fn(List(SLine)) -> List(SLine),
amt: Int,
) -> fn(List(SLine)) -> List(SLine)
pub fn line_selector_to_selector(
line_selector: fn(SLine) -> SelectionStatus,
) -> fn(List(SLine)) -> List(SLine)
pub fn or_selectors(
s1: fn(List(SLine)) -> List(SLine),
s2: fn(List(SLine)) -> List(SLine),
) -> fn(List(SLine)) -> List(SLine)