finos/morphir-engine/workspace does not have a README file

    ConfigurationOptions

    pub(all) struct ConfigurationOptions {
    directory :
    FileTreePath

    selected : String?
    profiles :
    ProfileSelection

    isolated : Bool
    suppress : Array[String]
    external_files : Map[String, String]
    platform :
    Platform

    }

    Host controls are separate from the existing workspace wire request.

    ConfigurationOptions::new

    fn ConfigurationOptions::new(directory? :
    FileTreePath
    , selected? : String, profiles? :
    ProfileSelection
    , isolated? : Bool, suppress? : Array[String], external_files? : Map[String, String], platform? :
    Platform
    ) -> ConfigurationOptions

    Edit

    pub(all) struct Edit {
    writes : Map[String, String]
    directories : Array[String]
    deletes : Array[String]
    warnings : Array[String]
    }

    A pure edit. Deletes identify subtrees, and are only included when explicitly requested.

    Edit::apply

    fn Edit::apply(self : Edit, tree : Tree) -> Tree raise

    Project

    pub(all) struct Project {
    root : String
    name : String
    anchor : String
    document :
    Document

    error : String?
    }

    ProjectPath

    pub struct ProjectPath(String) derive(Compare, Eq, Hash,
    Debug
    )

    A canonical project root relative to the workspace. The empty path identifies the root project.
    impl Show for ProjectPath

    ProjectPath::compare

    fn ProjectPath::compare(ProjectPath, ProjectPath) -> Int

    ProjectPath::equal

    fn ProjectPath::equal(ProjectPath, ProjectPath) -> Bool

    ProjectPath::hash

    fn ProjectPath::hash(self : ProjectPath) -> Int

    ProjectPath::hash_combine

    fn ProjectPath::hash_combine(ProjectPath, Hasher) -> Unit

    ProjectPath::not_equal

    fn ProjectPath::not_equal(x : ProjectPath, y : ProjectPath) -> Bool

    ProjectPath::op_ge

    fn ProjectPath::op_ge(x : ProjectPath, y : ProjectPath) -> Bool

    ProjectPath::op_gt

    fn ProjectPath::op_gt(x : ProjectPath, y : ProjectPath) -> Bool

    ProjectPath::op_le

    fn ProjectPath::op_le(x : ProjectPath, y : ProjectPath) -> Bool

    ProjectPath::op_lt

    fn ProjectPath::op_lt(x : ProjectPath, y : ProjectPath) -> Bool

    ProjectPath::output

    fn ProjectPath::output(self : ProjectPath, logger : &Logger) -> Unit

    ProjectPath::parse

    fn ProjectPath::parse(path : String) -> ProjectPath raise

    ProjectPath::to_string

    fn ProjectPath::to_string(self : ProjectPath) -> String

    Tree

    pub(all) struct Tree {
    files : Map[String, String]
    directories : Array[String]
    }

    Tree::from_files

    fn Tree::from_files(files : Map[String, String]) -> Tree raise

    Infer directories from canonical file paths, for memory workspaces and browser imports.

    Tree::from_json

    fn Tree::from_json(value :
    Json
    ) -> Tree raise

    Workspace

    pub(all) struct Workspace {
    root : String
    anchor : String
    document :
    Document

    projects : Array[Project]
    primary :
    Document

    warnings : Array[String]
    }

    Workspace::select

    fn Workspace::select(self : Workspace, selector? : String, all? : Bool, invocation? : String) -> Array[Project] raise

    Workspace::to_json

    add_project

    fn add_project(workspace : Workspace, tree : Tree, path : ProjectPath, project : NewProject) -> Edit raise

    configuration_conventions

    Morphir owns names and policy. All directory discovery and ambiguity checks are performed by the published conventions and candidate source APIs.

    configuration_formats

    fn configuration_formats() -> Array[
    Format
    ]

    discover

    fn discover(tree : Tree, root? : String, system? :
    Document
    , global? :
    Document
    , environment? : Map[String, String], overlay? :
    Document
    , options? : ConfigurationOptions) -> Workspace raise

    discover_request

    fn discover_request(request :
    Json
    ) -> Workspace raise

    Discovery protocol 0.1.0. Numeric v1 requests remain readable at this compatibility boundary.

    init_workspace

    fn init_workspace(tree : Tree, project? : NewProject?, members? : Array[String]) -> Edit raise

    join

    fn join(root : String, path : String) -> String raise

    matches

    fn matches(pattern : String, path : String) -> Bool raise

    Confined globs with literal separators, **, ?, classes and alternatives.

    normalize

    fn normalize(path : String) -> String raise

    parent

    fn parent(path : String) -> String

    primary_paths

    fn primary_paths(root : String) -> Array[String] raise

    remove_project

    fn remove_project(workspace : Workspace, tree : Tree, path : ProjectPath, delete_files? : Bool) -> Edit raise

    toml_path

    fn toml_path(anchor : String) -> String raise

    Keep the primary layout and create its TOML counterpart beside lower formats.

    within

    fn within(root : String, path : String) -> Bool