Skip to main content

GitAdapter

Struct GitAdapter 

Source
pub struct GitAdapter { /* private fields */ }
Expand description

A git repository, exposed as an arbor.

Implementations§

Source§

impl GitAdapter

Source

pub fn open(path: &Path) -> Result<Self, GitError>

Open the repository at path (any directory inside it).

Source

pub fn locator(&self, node: NodeId) -> String

A human-readable locator: /commits/<short>/path, /branches/<name>/path, …

Trait Implementations§

Source§

impl AstAdapter for GitAdapter

Source§

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 traits(&self, node: NodeId) -> Vec<String>

<commit>, <branch>, <tag>, <tree>, <blob>.

Source§

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>

A blob’s content (text, lossily decoded).

Source§

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>

::parent~> — the first parent (the hint is unused: the target is inherently a commit).

Every parent is an outgoing parent edge (merges fan out).

The commits whose parent is here (the children — served from the enumeration, so this loads the commit list).

Source§

fn root(&self) -> NodeId

The root node — the initial navigation context.
Source§

fn children(&self, node: NodeId) -> Vec<NodeId>

The tree children of node, in document order. Read more
Source§

fn name(&self, node: NodeId) -> Option<String>

The name of node — the label of its incoming tree edge. Read more
Source§

fn parent(&self, node: NodeId) -> Option<NodeId>

The parent of node, or None for the root.
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

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

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)>

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)>

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§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.