File: .lake/packages/lean4/src/lean/lake/Lake/Config/Workspace.lean

full_name: Lake.Workspace.libraryFacetConfigs
code: /-- A Lake workspace -- the top-level package directory. -/
structure Workspace : Type where
  /-- The root package of the workspace. -/
  root : Package
  /-- The detect `Lake.Env` of the workspace. -/
  lakeEnv : Lake.Env
  /-- The packages within the workspace (in `require` declaration order). -/
  packages : Array Package := {}
  /-- Name-package map of packages within the workspace. -/
  packageMap : DNameMap NPackage := {}
  /-- Name-configuration map of module facets defined in the workspace. -/
  moduleFacetConfigs : DNameMap ModuleFacetConfig
  /-- Name-configuration map of package facets defined in the workspace. -/
  packageFacetConfigs : DNameMap PackageFacetConfig
  /-- Name-configuration map of library facets defined in the workspace. -/
  libraryFacetConfigs : DNameMap LibraryFacetConfig
goal: Lake.DNameMap Lake.LibraryFacetConfig

full_name: Lake.Workspace.packageMap
code: /-- A Lake workspace -- the top-level package directory. -/
structure Workspace : Type where
  /-- The root package of the workspace. -/
  root : Package
  /-- The detect `Lake.Env` of the workspace. -/
  lakeEnv : Lake.Env
  /-- The packages within the workspace (in `require` declaration order). -/
  packages : Array Package := {}
  /-- Name-package map of packages within the workspace. -/
  packageMap : DNameMap NPackage := {}
  /-- Name-configuration map of module facets defined in the workspace. -/
  moduleFacetConfigs : DNameMap ModuleFacetConfig
  /-- Name-configuration map of package facets defined in the workspace. -/
  packageFacetConfigs : DNameMap PackageFacetConfig
  /-- Name-configuration map of library facets defined in the workspace. -/
  libraryFacetConfigs : DNameMap LibraryFacetConfig
goal: Lake.DNameMap Lake.NPackage

full_name: Lake.Workspace.moduleFacetConfigs
code: /-- A Lake workspace -- the top-level package directory. -/
structure Workspace : Type where
  /-- The root package of the workspace. -/
  root : Package
  /-- The detect `Lake.Env` of the workspace. -/
  lakeEnv : Lake.Env
  /-- The packages within the workspace (in `require` declaration order). -/
  packages : Array Package := {}
  /-- Name-package map of packages within the workspace. -/
  packageMap : DNameMap NPackage := {}
  /-- Name-configuration map of module facets defined in the workspace. -/
  moduleFacetConfigs : DNameMap ModuleFacetConfig
  /-- Name-configuration map of package facets defined in the workspace. -/
  packageFacetConfigs : DNameMap PackageFacetConfig
  /-- Name-configuration map of library facets defined in the workspace. -/
  libraryFacetConfigs : DNameMap LibraryFacetConfig
goal: Lake.DNameMap Lake.ModuleFacetConfig

full_name: Lake.Workspace.packageFacetConfigs
code: /-- A Lake workspace -- the top-level package directory. -/
structure Workspace : Type where
  /-- The root package of the workspace. -/
  root : Package
  /-- The detect `Lake.Env` of the workspace. -/
  lakeEnv : Lake.Env
  /-- The packages within the workspace (in `require` declaration order). -/
  packages : Array Package := {}
  /-- Name-package map of packages within the workspace. -/
  packageMap : DNameMap NPackage := {}
  /-- Name-configuration map of module facets defined in the workspace. -/
  moduleFacetConfigs : DNameMap ModuleFacetConfig
  /-- Name-configuration map of package facets defined in the workspace. -/
  packageFacetConfigs : DNameMap PackageFacetConfig
  /-- Name-configuration map of library facets defined in the workspace. -/
  libraryFacetConfigs : DNameMap LibraryFacetConfig
goal: Lake.DNameMap Lake.PackageFacetConfig

full_name: Lake.Workspace.lakeEnv
code: /-- A Lake workspace -- the top-level package directory. -/
structure Workspace : Type where
  /-- The root package of the workspace. -/
  root : Package
  /-- The detect `Lake.Env` of the workspace. -/
  lakeEnv : Lake.Env
  /-- The packages within the workspace (in `require` declaration order). -/
  packages : Array Package := {}
  /-- Name-package map of packages within the workspace. -/
  packageMap : DNameMap NPackage := {}
  /-- Name-configuration map of module facets defined in the workspace. -/
  moduleFacetConfigs : DNameMap ModuleFacetConfig
  /-- Name-configuration map of package facets defined in the workspace. -/
  packageFacetConfigs : DNameMap PackageFacetConfig
  /-- Name-configuration map of library facets defined in the workspace. -/
  libraryFacetConfigs : DNameMap LibraryFacetConfig
goal: Lake.Env

full_name: Lake.Workspace.root
code: /-- A Lake workspace -- the top-level package directory. -/
structure Workspace : Type where
  /-- The root package of the workspace. -/
  root : Package
  /-- The detect `Lake.Env` of the workspace. -/
  lakeEnv : Lake.Env
  /-- The packages within the workspace (in `require` declaration order). -/
  packages : Array Package := {}
  /-- Name-package map of packages within the workspace. -/
  packageMap : DNameMap NPackage := {}
  /-- Name-configuration map of module facets defined in the workspace. -/
  moduleFacetConfigs : DNameMap ModuleFacetConfig
  /-- Name-configuration map of package facets defined in the workspace. -/
  packageFacetConfigs : DNameMap PackageFacetConfig
  /-- Name-configuration map of library facets defined in the workspace. -/
  libraryFacetConfigs : DNameMap LibraryFacetConfig
goal: Lake.Package

full_name: Lake.Workspace
code: /-- A Lake workspace -- the top-level package directory. -/
structure Workspace : Type where
  /-- The root package of the workspace. -/
  root : Package
  /-- The detect `Lake.Env` of the workspace. -/
  lakeEnv : Lake.Env
  /-- The packages within the workspace (in `require` declaration order). -/
  packages : Array Package := {}
  /-- Name-package map of packages within the workspace. -/
  packageMap : DNameMap NPackage := {}
  /-- Name-configuration map of module facets defined in the workspace. -/
  moduleFacetConfigs : DNameMap ModuleFacetConfig
  /-- Name-configuration map of package facets defined in the workspace. -/
  packageFacetConfigs : DNameMap PackageFacetConfig
  /-- Name-configuration map of library facets defined in the workspace. -/
  libraryFacetConfigs : DNameMap LibraryFacetConfig
goal: Type

full_name: Lake.Workspace.packages
code: /-- A Lake workspace -- the top-level package directory. -/
structure Workspace : Type where
  /-- The root package of the workspace. -/
  root : Package
  /-- The detect `Lake.Env` of the workspace. -/
  lakeEnv : Lake.Env
  /-- The packages within the workspace (in `require` declaration order). -/
  packages : Array Package := {}
  /-- Name-package map of packages within the workspace. -/
  packageMap : DNameMap NPackage := {}
  /-- Name-configuration map of module facets defined in the workspace. -/
  moduleFacetConfigs : DNameMap ModuleFacetConfig
  /-- Name-configuration map of package facets defined in the workspace. -/
  packageFacetConfigs : DNameMap PackageFacetConfig
  /-- Name-configuration map of library facets defined in the workspace. -/
  libraryFacetConfigs : DNameMap LibraryFacetConfig
goal: Array Lake.Package

full_name: Lake.instNonemptyWorkspace
code: instance : Nonempty Workspace 
goal: Nonempty Lake.Workspace

full_name: Lake.OpaqueWorkspace.instCoeWorkspace
code: hydrate_opaque_type OpaqueWorkspace Workspace
goal: Coe Lake.Workspace Lake.OpaqueWorkspace

full_name: Lake.OpaqueWorkspace.instCoeWorkspace_1
code: hydrate_opaque_type OpaqueWorkspace Workspace
goal: Coe Lake.OpaqueWorkspace Lake.Workspace

full_name: Lake.OpaqueWorkspace.instInhabitedOfWorkspace
code: hydrate_opaque_type OpaqueWorkspace Workspace
goal: Inhabited Lake.OpaqueWorkspace

full_name: Lake.Workspace.dir
code: /-- The path to the workspace's directory (i.e., the directory of the root package). -/
@[inline] def dir (self : Workspace) : FilePath 
goal: Lake.FilePath

full_name: Lake.Workspace.config
code: /-- The workspace's configuration. -/
@[inline] def config (self : Workspace) : WorkspaceConfig 
goal: Lake.WorkspaceConfig

full_name: Lake.Workspace.relLakeDir
code: /-- The path to the workspace' Lake directory relative to `dir`. -/
@[inline] def relLakeDir (self : Workspace) : FilePath 
goal: Lake.FilePath

full_name: Lake.Workspace.lakeDir
code: /-- The the full path to the workspace's Lake directory (e.g., `.lake`). -/
@[inline] def lakeDir (self : Workspace) : FilePath 
goal: Lake.FilePath

full_name: Lake.Workspace.relPkgsDir
code: /-- The path to the workspace's remote packages directory relative to `dir`. -/
@[inline] def relPkgsDir (self : Workspace) : FilePath 
goal: Lake.FilePath

full_name: Lake.Workspace.pkgsDir
code: /-- The workspace's `dir` joined with its `relPkgsDir`. -/
@[inline] def pkgsDir (self : Workspace) : FilePath 
goal: Lake.FilePath

full_name: Lake.Workspace.manifestFile
code: /-- The workspace's Lake manifest. -/
@[inline] def manifestFile (self : Workspace) : FilePath 
goal: Lake.FilePath

full_name: Lake.Workspace.addPackage
code: /-- Add a package to the workspace. -/
def addPackage (pkg : Package) (self : Workspace) : Workspace 
goal: Lake.Workspace

full_name: Lake.Workspace.findPackage?
code: /-- Try to find a package within the workspace with the given name. -/
@[inline] protected def findPackage? (name : Name) (self : Workspace) : Option (NPackage name) 
goal: Option (Lake.NPackage name)

full_name: Lake.Workspace.findScript?
code: /-- Try to find a script in the workspace with the given name. -/
protected def findScript? (script : Name) (self : Workspace) : Option Script 
goal: Option Lake.Script

full_name: Lake.Workspace.isLocalModule
code: /-- Check if the module is local to any package in the workspace. -/
def isLocalModule (mod : Name) (self : Workspace) : Bool 
goal: Bool

full_name: Lake.Workspace.isBuildableModule
code: /-- Check if the module is buildable by any package in the workspace. -/
def isBuildableModule (mod : Name) (self : Workspace) : Bool 
goal: Bool

full_name: Lake.Workspace.findModule?
code: /-- Locate the named, buildable, importable, local module in the workspace. -/
protected def findModule? (mod : Name) (self : Workspace) : Option Module 
goal: Option Lake.Module

full_name: Lake.Workspace.findTargetModule?
code: /-- Locate the named, buildable, but not necessarily importable, module in the workspace. -/
def findTargetModule? (mod : Name) (self : Workspace) : Option Module 
goal: Option Lake.Module

full_name: Lake.Workspace.findLeanLib?
code: /-- Try to find a Lean library in the workspace with the given name. -/
protected def findLeanLib? (name : Name) (self : Workspace) : Option LeanLib 
goal: Option Lake.LeanLib

full_name: Lake.Workspace.findLeanExe?
code: /-- Try to find a Lean executable in the workspace with the given name. -/
protected def findLeanExe? (name : Name) (self : Workspace) : Option LeanExe 
goal: Option Lake.LeanExe

full_name: Lake.Workspace.findExternLib?
code: /-- Try to find an external library in the workspace with the given name. -/
protected def findExternLib? (name : Name) (self : Workspace) : Option ExternLib 
goal: Option Lake.ExternLib

full_name: Lake.Workspace.findTargetConfig?
code: /-- Try to find a target configuration in the workspace with the given name. -/
def findTargetConfig? (name : Name) (self : Workspace) : Option ((pkg : Package) × TargetConfig pkg.name name) 
goal: Option ((pkg : Lake.Package) × Lake.TargetConfig pkg.name name)

full_name: Lake.Workspace.addModuleFacetConfig
code: /-- Add a module facet to the workspace. -/
def addModuleFacetConfig (cfg : ModuleFacetConfig name) (self : Workspace) : Workspace 
goal: Lake.Workspace

full_name: Lake.Workspace.findModuleFacetConfig?
code: /-- Try to find a module facet configuration in the workspace with the given name. -/
def findModuleFacetConfig? (name : Name) (self : Workspace) : Option (ModuleFacetConfig name) 
goal: Option (Lake.ModuleFacetConfig name)

full_name: Lake.Workspace.addPackageFacetConfig
code: /-- Add a package facet to the workspace. -/
def addPackageFacetConfig (cfg : PackageFacetConfig name) (self : Workspace) : Workspace 
goal: Lake.Workspace

full_name: Lake.Workspace.findPackageFacetConfig?
code: /-- Try to find a package facet configuration in the workspace with the given name. -/
def findPackageFacetConfig? (name : Name) (self : Workspace) : Option (PackageFacetConfig name) 
goal: Option (Lake.PackageFacetConfig name)

full_name: Lake.Workspace.addLibraryFacetConfig
code: /-- Add a library facet to the workspace. -/
def addLibraryFacetConfig (cfg : LibraryFacetConfig name) (self : Workspace) : Workspace 
goal: Lake.Workspace

full_name: Lake.Workspace.findLibraryFacetConfig?
code: /-- Try to find a library facet configuration in the workspace with the given name. -/
def findLibraryFacetConfig? (name : Name) (self : Workspace) : Option (LibraryFacetConfig name) 
goal: Option (Lake.LibraryFacetConfig name)

full_name: Lake.Workspace.binPath
code: /-- The workspace's binary directories (which are added to `Path`). -/
def binPath (self : Workspace) : SearchPath 
goal: Lake.SearchPath

full_name: Lake.Workspace.leanPath
code: /-- The workspace's Lean library directories (which are added to `LEAN_PATH`). -/
def leanPath (self : Workspace) : SearchPath 
goal: Lake.SearchPath

full_name: Lake.Workspace.leanSrcPath
code: /-- The workspace's source directories (which are added to `LEAN_SRC_PATH`). -/
def leanSrcPath (self : Workspace) : SearchPath 
goal: Lake.SearchPath

full_name: Lake.Workspace.sharedLibPath
code: /--
The workspace's shared library path (e.g., for `--load-dynlib`).
This is added to the `sharedLibPathEnvVar` by `lake env`.
-/
def sharedLibPath (self : Workspace) : SearchPath 
goal: Lake.SearchPath

full_name: Lake.Workspace.augmentedPath
code: /--
The detected `PATH` of the environment augmented with
the workspace's `binDir` and Lean and Lake installations' `binDir`.
-/
def augmentedPath (self : Workspace) : SearchPath 
goal: Lake.SearchPath

full_name: Lake.Workspace.augmentedLeanPath
code: /--
The detected `LEAN_PATH` of the environment augmented with
the workspace's `leanPath` and Lake's `libDir`.
-/
def augmentedLeanPath (self : Workspace) : SearchPath 
goal: Lake.SearchPath

full_name: Lake.Workspace.augmentedLeanSrcPath
code: /--
The detected `LEAN_SRC_PATH` of the environment augmented with
the workspace's `leanSrcPath` and Lake's `srcDir`.
-/
def augmentedLeanSrcPath (self : Workspace) : SearchPath 
goal: Lake.SearchPath

full_name: Lake.Workspace.augmentedSharedLibPath
code: def augmentedSharedLibPath (self : Workspace) : SearchPath 
goal: Lake.SearchPath

full_name: Lake.Workspace.augmentedEnvVars
code: /--
The detected environment augmented with Lake's and the workspace's paths.
These are the settings use by `lake env` / `Lake.env` to run executables.
-/
def augmentedEnvVars (self : Workspace) : Array (String × Option String) 
goal: Array (String × Option String)

full_name: Lake.Workspace.clean
code: /-- Remove all packages' build outputs (i.e., delete their build directories). -/
def clean (self : Workspace) : IO Unit 
goal: IO Unit