Skip to main content

FigBackend

Struct FigBackend 

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

A Backend over a standalone config file, backed by fig::Editor.

Implementations§

Source§

impl FigBackend

Source

pub fn open(source: &[u8], format: Format) -> Result<Self, BackendError>

Open an editor over a copy of source parsed as format.

Trait Implementations§

Source§

impl Backend for FigBackend

Source§

fn apply(&mut self, op: EditOp) -> Result<(), BackendError>

Apply one edit. Atomic: on Err, the document is unchanged.
Source§

fn to_value(&self) -> Result<Value, BackendError>

The current value tree to render (for an embed backend, the metadata region — not the whole host file).
Source§

fn source(&self) -> Result<String, BackendError>

The canonical serialized form the embedder persists on save (for an embed backend, the full rendered host file).
Source§

fn leading_comment(&self, path: &[Seg]) -> Result<Option<String>, BackendError>

The own-line comment block immediately above the node at path, lines joined by \n with markers and indentation stripped. None when there is no block — and, by default, always: a backend that never reads comments renders every page exactly as it did before this method existed, so the comment surface is opt-in for an implementor and never a blank column for a document that has none. Read more
Source§

fn trailing_comment(&self, path: &[Seg]) -> Result<Option<String>, BackendError>

The same-line comment after the value at path, marker stripped. None when there is none, and by default always — see leading_comment.
Source§

fn schema(&self) -> Option<Schema>

The schema governing this document, if the backend knows one. The backend is exactly the component that knows where the document came from, so it is the right place to know what governs it — a prov backend returns the schema resolved from the workspace config; a standalone config file has none. Defaulted to None so existing backends are unaffected.
Source§

fn candidates(&self, path: &[Seg]) -> Result<Option<Vec<Choice>>, BackendError>

The values a picker at path should offer, when the backend can enumerate them. None — the default — means it cannot, and a frontend falls back to free text. Read more
Source§

fn item_key( &self, seq_path: &[Seg], index: usize, ) -> Result<Option<String>, BackendError>

A stable identity for item index of the sequence at seq_path, if the backend has one. None — the default — leaves the model to infer one. Read more

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 = !

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

fn try_from(value: U) -> Result<T, !>

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.