pub struct GitAdapter { /* private fields */ }Expand description
A git repository, exposed as an arbor.
Implementations§
Trait Implementations§
Source§impl AstAdapter for GitAdapter
impl AstAdapter for GitAdapter
Source§fn children_named(&self, node: NodeId, name: &str) -> Vec<NodeId>
fn children_named(&self, node: NodeId, name: &str) -> Vec<NodeId>
Literal names under /commits go straight through
rev-parse — unique prefixes, HEAD~2, v1.0^{} — with
no enumeration.
Source§fn property(&self, node: NodeId, name: &str) -> Option<Value>
fn property(&self, node: NodeId, name: &str) -> Option<Value>
Commit header fields (ref aliases answer for their commit).
Source§fn default_value(&self, node: NodeId) -> Option<Value>
fn default_value(&self, node: NodeId) -> Option<Value>
A blob’s content (text, lossily decoded).
Source§fn metadata(&self, node: NodeId, key: &str) -> Option<Value>
fn metadata(&self, node: NodeId, key: &str) -> Option<Value>
Commits: ;;;short, ;;;n-parents, ;;;tags,
;;;n-tags. Entries: ;;;type, ;;;mode, ;;;size,
;;;hash.
Source§fn resolve(
&self,
node: NodeId,
property: &str,
_hint: Option<&str>,
) -> Option<NodeId>
fn resolve( &self, node: NodeId, property: &str, _hint: Option<&str>, ) -> Option<NodeId>
::parent~> — the first parent (the hint is unused: the
target is inherently a commit).
Source§fn links(&self, node: NodeId) -> Vec<(String, NodeId)>
fn links(&self, node: NodeId) -> Vec<(String, NodeId)>
Every parent is an outgoing parent edge (merges fan out).
Source§fn backlinks(&self, node: NodeId) -> Vec<(String, NodeId)>
fn backlinks(&self, node: NodeId) -> Vec<(String, NodeId)>
The commits whose parent is here (the children — served from the enumeration, so this loads the commit list).
Source§fn children(&self, node: NodeId) -> Vec<NodeId>
fn children(&self, node: NodeId) -> Vec<NodeId>
The tree children of
node, in document order. Read moreSource§fn name(&self, node: NodeId) -> Option<String>
fn name(&self, node: NodeId) -> Option<String>
The name of
node — the label of its incoming tree edge. Read moreSource§fn link_property(
&self,
_source: NodeId,
_label: &str,
_target: NodeId,
_name: &str,
) -> Option<Value>
fn link_property( &self, _source: NodeId, _label: &str, _target: NodeId, _name: &str, ) -> Option<Value>
A property of the crosslink
source --label--> target — the
$-::prop read. Adapters whose edges carry data (a property
graph’s relationship properties) override this; None if the
edge is bare or unknown. Where parallel edges share source,
label, and target, the adapter answers for one of them,
consistently.Source§fn quantifier_bound(&self) -> usize
fn quantifier_bound(&self) -> usize
The quantifier bound N_max: the depth to which open-ended path
quantifiers (
+, *, {m,}) expand, and the ceiling of any
explicit {m,n} (the effective upper bound is min(n, N_max)).
An adapter whose natural structures run deep may raise it; the
CLI overrides it per run (qua --quantifier-bound).Source§fn allow_shell(&self) -> bool
fn allow_shell(&self) -> bool
Whether the
sh(...) pipeline stage may run external
commands. False by default — query text stays inert data —
and enabled per run by the CLI (qua --allow-shell) through
the AllowShell wrapper.Source§fn invocation_instant(&self) -> Option<(i64, u32)>
fn invocation_instant(&self) -> Option<(i64, u32)>
The invocation instant
now() denotes (spec: The Temporal
Fragment, Determinism): one UTC timeline point bound by the
runner BEFORE evaluation begins — evaluation itself never
reads a clock. None by default (a library run is fully
deterministic; now() reads as null); the CLI binds it at
startup — pinnable with qua --now — through the
WithNow wrapper.Source§fn unit_scale(&self, expr: &str) -> Option<(f64, String)>
fn unit_scale(&self, expr: &str) -> Option<(f64, String)>
The scale of a unit expression — (factor, canonical SI-base
expansion) — for the unital reading’s criterion text (spec:
The Quantital Fragment). The default answers from the
engine’s frozen built-in table; a unit-aware adapter (kaiv)
overrides it to include the mounted document’s own custom
units, so
[::range < '50kellicam'] resolves through the
document’s .!units imports.Auto Trait Implementations§
impl !Freeze for GitAdapter
impl !RefUnwindSafe for GitAdapter
impl !Sync for GitAdapter
impl Send for GitAdapter
impl Unpin for GitAdapter
impl UnsafeUnpin for GitAdapter
impl UnwindSafe for GitAdapter
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more