[][src]Trait superfusion::workspace::Workspace

pub trait Workspace {
    type Project: Project;
    type File: File;
    fn projects(&self) -> &[Self::Project];
fn strategy(&self, index: &Index) -> Strategy;
fn file(path: &Path, pid: Pid) -> Option<Self::File>; fn formatter(pid: &Pid, filename: &str) -> String { ... }
fn resolve(&self) -> Timeline<Self>
    where
        Self: Sized
, { ... } }

Workspace interface

Associated Types

Loading content...

Required methods

fn projects(&self) -> &[Self::Project]

fn strategy(&self, index: &Index) -> Strategy

Conflict handling strategy

Note that the strategy should not be determine from the content of the file but rather the location of the file. This is for keeping the handling strategy consistent across all project.

fn file(path: &Path, pid: Pid) -> Option<Self::File>

Loading content...

Provided methods

fn formatter(pid: &Pid, filename: &str) -> String

fn resolve(&self) -> Timeline<Self> where
    Self: Sized

Loading content...

Implementors

Loading content...