pub trait PackageRegistry {
// Required method
fn resolve(&self, spec: &PackageSpec) -> Result<Arc<Path>, PackageError>;
// Provided methods
fn reset(&mut self) { ... }
fn revision(&self) -> Option<NonZeroUsize> { ... }
fn packages(&self) -> &[(PackageSpec, Option<EcoString>)] { ... }
}
Expand description
A trait for package registries.
Required Methods§
Sourcefn resolve(&self, spec: &PackageSpec) -> Result<Arc<Path>, PackageError>
fn resolve(&self, spec: &PackageSpec) -> Result<Arc<Path>, PackageError>
Resolves a package specification to a local path.
Provided Methods§
Sourcefn revision(&self) -> Option<NonZeroUsize>
fn revision(&self) -> Option<NonZeroUsize>
If the state of package registry can be well-defined by a revision, it should return it. This is used to determine if the compiler should clean and pull the registry again.
Sourcefn packages(&self) -> &[(PackageSpec, Option<EcoString>)]
fn packages(&self) -> &[(PackageSpec, Option<EcoString>)]
A list of all available packages and optionally descriptions for them.
This function is optional to implement. It enhances the user experience
by enabling autocompletion for packages. Details about packages from the
@preview
namespace are available from
https://packages.typst.org/preview/index.json
.