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

pub type SelectionStatus {
  NotSelected
  OG
  Bystander
}

Constructors

  • NotSelected
  • OG
  • Bystander
pub type Selector =
  fn(List(SLine)) -> List(SLine)

Values

pub fn apply_line_selector_to_line(
  line: SLine,
  line_selector: fn(SLine) -> SelectionStatus,
) -> SLine
pub fn extend_selection_down(
  lines: List(SLine),
  amt: Int,
) -> List(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_selection_up(
  lines: List(SLine),
  amt: Int,
) -> 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)
pub fn vxml_to_s_lines(vxml: vxml.VXML) -> List(SLine)
Search Document