Skip to main content

WorkspaceConfig

Struct WorkspaceConfig 

Source
pub struct WorkspaceConfig {
Show 89 fields pub packages: Vec<String>, pub include_workspace_root: Option<bool>, pub catalog: BTreeMap<String, String>, pub catalogs: BTreeMap<String, BTreeMap<String, String>>, pub node_linker: Option<String>, pub enable_global_virtual_store: Option<bool>, pub disable_global_virtual_store_for_packages: Option<Vec<String>>, pub package_import_method: Option<String>, pub virtual_store_dir: Option<String>, pub modules_dir: Option<String>, pub shamefully_hoist: Option<bool>, pub hoist: Option<bool>, pub hoist_pattern: Option<Vec<String>>, pub hoist_workspace_packages: Option<bool>, pub hoisting_limits: Option<String>, pub dedupe_direct_deps: Option<bool>, pub deploy_all_files: Option<bool>, pub public_hoist_pattern: Option<Vec<String>>, pub store_dir: Option<String>, pub global_virtual_store_dir: Option<String>, pub lockfile: Option<bool>, pub default_lockfile_format: Option<String>, pub lockfile_dir: Option<String>, pub prefer_frozen_lockfile: Option<bool>, pub git_branch_lockfile: Option<bool>, pub merge_git_branch_lockfiles_branch_pattern: Option<Vec<String>>, pub shared_workspace_lockfile: Option<bool>, pub peers_suffix_max_length: Option<u64>, pub overrides: BTreeMap<String, String>, pub patched_dependencies: BTreeMap<String, String>, pub supported_architectures: Option<SupportedArchitectures>, pub ignored_optional_dependencies: Vec<String>, pub pnpmfile_path: Option<String>, pub package_extensions: BTreeMap<String, Value>, pub allowed_deprecated_versions: BTreeMap<String, String>, pub deprecation_warnings: Option<String>, pub update_config: Option<UpdateConfig>, pub update: Option<WorkspaceUpdateConfig>, pub audit: Option<WorkspaceAuditConfig>, pub audit_config: Option<LegacyWorkspaceAuditConfig>, pub audit_level: Option<String>, pub node_download_mirrors: BTreeMap<String, String>, pub runtime_installer: Option<String>, pub runtime_on_fail: Option<String>, pub manage_package_manager_versions: Option<bool>, pub trust_policy: Option<String>, pub trust_policy_exclude: Vec<String>, pub trust_policy_ignore_after: Option<u64>, pub block_exotic_subdeps: Option<bool>, pub ignore_scripts: Option<bool>, pub aube_no_auto_install: Option<bool>, pub aube_no_lock: Option<bool>, pub allow_builds: BTreeMap<String, Value>, pub only_built_dependencies: Vec<String>, pub never_built_dependencies: Vec<String>, pub child_concurrency: Option<u64>, pub network_concurrency: Option<u64>, pub link_concurrency: Option<u64>, pub verify_store_integrity: Option<bool>, pub strict_store_integrity: Option<bool>, pub side_effects_cache: Option<bool>, pub jail_builds: Option<bool>, pub paranoid: Option<bool>, pub jail_build_exclusions: Vec<String>, pub jail_build_permissions: BTreeMap<String, JailBuildPermission>, pub catalog_prune: Option<bool>, pub cleanup_unused_catalogs: Option<bool>, pub link_workspace_packages: Option<Value>, pub save_workspace_protocol: Option<Value>, pub auto_install_peers: Option<bool>, pub strict_peer_dependencies: Option<bool>, pub exclude_links_from_lockfile: Option<bool>, pub dedupe_peer_dependents: Option<bool>, pub dedupe_peers: Option<bool>, pub resolve_peers_from_workspace_root: Option<bool>, pub lockfile_include_tarball_url: Option<bool>, pub minimum_release_age: Option<u64>, pub minimum_package_age: Option<u64>, pub minimum_release_age_exclude: Option<Vec<String>>, pub minimum_release_age_strict: Option<bool>, pub advisory_check: Option<String>, pub advisory_check_on_install: Option<String>, pub advisory_bloom_check: Option<String>, pub advisory_check_every_install: Option<bool>, pub low_download_threshold: Option<u64>, pub allowed_unpopular_packages: Option<Vec<String>>, pub security_scanner: Option<String>, pub peer_dependency_rules: Option<Value>, pub extra: BTreeMap<String, Value>,
}
Expand description

Configuration from pnpm-workspace.yaml.

Fields§

§packages: Vec<String>

Workspace package globs (e.g., ["packages/*"]).

§include_workspace_root: Option<bool>

Include the root manifest in recursive/filter workspace operations.

§catalog: BTreeMap<String, String>

Default catalog for dependency version pinning.

§catalogs: BTreeMap<String, BTreeMap<String, String>>

Named catalogs for dependency version pinning.

§node_linker: Option<String>

Linking strategy: “isolated” (default), “hoisted”, or “pnp”.

§enable_global_virtual_store: Option<bool>

Whether to use the global virtual store (default: false in pnpm, true in aube).

§disable_global_virtual_store_for_packages: Option<Vec<String>>

Package names whose presence in any importer forces per-project materialization (disabling the global virtual store for that install). Defaults to tools with concrete realpath/walk-up failures (Next.js, Nuxt, and Parcel). Vite 8.1+ reads the .modules.yaml compatibility metadata aube writes; older Vite dependency paths are materialized locally and receive the same allow-list lookup as a backport. Add more names as you discover tools with the same restriction; set to [] to disable the heuristic. Declared here so settings.toml’s workspaceYaml source stays in sync with the actual deserialize surface.

§package_import_method: Option<String>

Package import method: “auto”, “hardlink”, “copy”, “clone”, “clone-or-copy”.

§virtual_store_dir: Option<String>

Path to the virtual store directory (default: “node_modules/.aube”).

§modules_dir: Option<String>

Top-level modules directory name (default: “node_modules”). aube accepts the setting for parity but only honors the default value — see settings.toml’s modulesDir entry.

§shamefully_hoist: Option<bool>

Whether to shamefully hoist all packages to root node_modules.

§hoist: Option<bool>

Master switch for the hidden modules directory at node_modules/.aube/node_modules/. Default true.

§hoist_pattern: Option<Vec<String>>

Patterns of packages to hoist.

§hoist_workspace_packages: Option<bool>

Whether workspace packages get symlinked into each importer’s node_modules/. Default true.

§hoisting_limits: Option<String>

Limit how far packages may be promoted in nodeLinker=hoisted.

§dedupe_direct_deps: Option<bool>

When true, the linker skips a workspace package’s per-importer node_modules/<name> symlink if the workspace root already links the same package at the same resolved version. Default false (pnpm parity).

§deploy_all_files: Option<bool>

When true, aube deploy copies every file in the source workspace package into the target directory instead of applying pack’s files / .npmignore filter. Default false (pnpm parity). Declared as a typed field so the settings-meta parity test can see the workspace-yaml key.

§public_hoist_pattern: Option<Vec<String>>

Patterns of packages to hoist to the root node_modules.

§store_dir: Option<String>

Path to the content-addressable store.

§global_virtual_store_dir: Option<String>

Path to the global virtual store — the shared tree of materialized packages every project symlinks into. Defaults to <cacheDir>/virtual-store; set it to keep the virtual store on the same volume as storeDir without moving the rest of the cache.

§lockfile: Option<bool>

Whether to use a lockfile (default: true).

§default_lockfile_format: Option<String>

Format to create when no supported lockfile exists: “aube” or “pnpm”. Existing lockfiles still take precedence.

§lockfile_dir: Option<String>

Directory the lockfile is written to and read from. When unset or equal to the project root, behaves as before. When set to a different directory, the project becomes an importer keyed by its relative path (mirrors pnpm’s lockfile-dir).

§prefer_frozen_lockfile: Option<bool>

Whether to prefer frozen lockfile (default: true).

§git_branch_lockfile: Option<bool>

Write a per-branch lockfile (pnpm-lock.<branch>.yaml) instead of the default pnpm-lock.yaml. Reduces merge conflicts on long-lived branches. Forward slashes in branch names are encoded as !.

§merge_git_branch_lockfiles_branch_pattern: Option<Vec<String>>

Branch-name glob list that triggers an automatic branch-lockfile merge on matching branches. Companion to gitBranchLockfile. See settings.toml for the pattern syntax (including !-prefix negations). Declared as a typed field so the settings-meta parity test can see the workspace-yaml key.

§shared_workspace_lockfile: Option<bool>

Write per-package lockfiles instead of one shared workspace lockfile. Default true matches pnpm. The typed field is declared only so the settings-meta parity test can see the workspace-yaml key — the install path reads the value through aube_settings::resolved.

§peers_suffix_max_length: Option<u64>

Cap on lockfile peer-ID suffix byte length before the resolver replaces the suffix with _<sha256-hex>. Default 1000 (pnpm parity). Same typed/raw duality as child_concurrency — see that field’s comment.

§overrides: BTreeMap<String, String>

Override any dependency in the dependency graph.

§patched_dependencies: BTreeMap<String, String>

name@version → patch-file-path map. pnpm v10 moved this out of package.json’s pnpm.patchedDependencies so users can document why a patch exists with YAML comments; aube merges both locations, with workspace-yaml entries winning on key conflict (same precedence as overrides).

§supported_architectures: Option<SupportedArchitectures>

os/cpu/libc widening set. pnpm v10 moved this alongside overrides — users generating a cross-platform lockfile on Linux CI want to widen in the workspace yaml (where the rest of their shared config lives) rather than package.json. Merged with package.json’s pnpm.supportedArchitectures / aube.supportedArchitectures at install time.

§ignored_optional_dependencies: Vec<String>

Optional-dep names that should always be skipped, even when their platform matches. Merged with package.json’s pnpm.ignoredOptionalDependencies / aube.* at install time. Distinct from --no-optional, which drops all optional deps.

§pnpmfile_path: Option<String>

Override for the pnpmfile path. pnpm lets users point at a non-default location; aube’s default is cwd/.pnpmfile.mjs when present, otherwise cwd/.pnpmfile.cjs. Relative paths resolve against the workspace root.

§package_extensions: BTreeMap<String, Value>

Extend package metadata during resolution.

§allowed_deprecated_versions: BTreeMap<String, String>

Package deprecation ranges whose warnings should be muted.

§deprecation_warnings: Option<String>

Scope of install-time deprecation warnings: none, direct, all, or summary. Declared as a typed field so the settings-meta parity test sees the workspaceYaml key.

§update_config: Option<UpdateConfig>

Update-time policy knobs.

§update: Option<WorkspaceUpdateConfig>

Canonical pnpm 11.16+ update policy.

§audit: Option<WorkspaceAuditConfig>

Canonical pnpm 11.16+ audit policy.

§audit_config: Option<LegacyWorkspaceAuditConfig>

Deprecated audit policy, retained for pnpm 11 compatibility.

§audit_level: Option<String>

Deprecated audit severity, retained for pnpm 11 compatibility.

§node_download_mirrors: BTreeMap<String, String>

Node.js download mirror map (pnpm parity), keyed by channel: release is used for runtime downloads; rc/nightly are parsed but currently unused.

§runtime_installer: Option<String>

Who installs a missing Node.js runtime: auto (mise when present, else aube), mise, or aube. Declared as a typed field so the settings-meta parity test sees the workspaceYaml key.

§runtime_on_fail: Option<String>

Override for devEngines.runtime’s onFail policy: download, error, warn, or ignore.

§manage_package_manager_versions: Option<bool>

Self-version switching toggle (pnpm parity). Declared as a typed field so the settings-meta parity test sees the workspaceYaml key.

§trust_policy: Option<String>

Trust-policy mode. Parsed for pnpm parity; resolver support is limited to accepting the configured policy surface until registry trust metadata is available.

§trust_policy_exclude: Vec<String>

Packages exempt from trust-policy checks.

§trust_policy_ignore_after: Option<u64>

Ignore trust-policy checks for package versions older than this many minutes.

§block_exotic_subdeps: Option<bool>

Reject transitive git/file/tarball dependency specs by default.

§ignore_scripts: Option<bool>

Whether to ignore all lifecycle scripts (default: false).

§aube_no_auto_install: Option<bool>

Skip the aube run / aube exec auto-install staleness check at the workspace level. Same semantics as the aubeNoAutoInstall setting resolved via aube_settings::resolved; both surfaces round-trip through WorkspaceConfig to keep the workspace_yaml_keys_deserialize_onto_workspace_config parity test happy. See AUBE_NO_AUTO_INSTALL env-var alias.

§aube_no_lock: Option<bool>

Bypass the project-level advisory lock on node_modules/ for every mutating aube command in this workspace. Same semantics as the aubeNoLock setting resolved via aube_settings::resolved; useful for CI matrices or deliberately-parallel test rigs running from one shared workspace. See AUBE_NO_LOCK env-var alias.

§allow_builds: BTreeMap<String, Value>

Per-package allowlist for dependency lifecycle scripts. Keys are pnpm-style patterns (name, name@version, name@v1 || v2); values are true to allow or false to deny. Merged with package.json’s pnpm.allowBuilds; an explicit denial from either source takes precedence for the same key.

§only_built_dependencies: Vec<String>

pnpm’s canonical allowlist format: a flat list of package names whose lifecycle scripts are allowed to run. Merged with allow_builds into the same BuildPolicy. Workspace-level entries apply to every importer in the workspace.

§never_built_dependencies: Vec<String>

pnpm’s canonical denylist: lifecycle scripts from these packages never run even if the allowlist includes them (explicit denies always win in BuildPolicy::decide).

§child_concurrency: Option<u64>

Maximum number of dep lifecycle scripts running in parallel during the post-link allowBuilds phase. Defaults to 5 when unset. Mirrors pnpm’s childConcurrency setting.

The typed field isn’t read directly by install::run — every int/string setting in aube has two faces: this struct field (for strict deserialization) and a aube_settings::resolved::<name> accessor that reads from the parallel raw YAML map in ResolveCtx. The duplication exists so the meta::workspace_yaml_keys_deserialize_onto_workspace_config test can catch settings.toml typos that would otherwise let a YAML key fall through to extra and be silently ignored. Same pattern as minimum_release_age / auto_install_peers.

§network_concurrency: Option<u64>

Cap concurrent tarball downloads. When unset, aube uses an auto-scaled worker count x3 default, clamped to 16-64. Same typed/raw duality as child_concurrency.

§link_concurrency: Option<u64>

Cap package materialization/linking worker count. When unset, aube uses platform-aware defaults in aube-linker. Same typed/raw duality as child_concurrency.

§verify_store_integrity: Option<bool>

Whether to verify each tarball’s SHA-512 against the lockfile integrity before importing into the store. Defaults to true (pnpm parity); false skips the check.

§strict_store_integrity: Option<bool>

Companion to verifyStoreIntegrity. When true, a missing dist.integrity on an imported packument is a hard error instead of a warning. Defaults to false for pnpm parity.

§side_effects_cache: Option<bool>

Cache post-build side effects for dependency packages. Accepted for pnpm-config parity but currently a no-op — aube skips dep lifecycle scripts by default.

§jail_builds: Option<bool>

Run approved dependency lifecycle scripts in a restricted build jail. Same typed/raw duality as child_concurrency.

§paranoid: Option<bool>

Master switch that forces both jailBuilds=true and trustPolicy=no-downgrade. Same typed/raw duality as child_concurrency.

§jail_build_exclusions: Vec<String>

Dependency package patterns that should run outside the jail even when jailBuilds is enabled. Same typed/raw duality as child_concurrency.

§jail_build_permissions: BTreeMap<String, JailBuildPermission>

Extra env/path/network grants for packages that still run in the jail. Keys use the same package-pattern syntax as allowBuilds.

§catalog_prune: Option<bool>

Drop catalog entries that no importer references after resolve. Wired through aube_settings::resolved::catalog_prune; the typed field exists only so meta::workspace_yaml_keys_... sees the key as a real field and doesn’t fall through to extra.

§cleanup_unused_catalogs: Option<bool>

Deprecated pre-pnpm-11.22 alias for catalogPrune.

§link_workspace_packages: Option<Value>

Resolve aube add <name> against local workspace siblings before falling back to the registry. The yaml value can be the booleans true / false or the string "deep", so the typed field lands at yaml_serde::Value and the resolver normalizes via aube_settings::resolved::LinkWorkspacePackages.

§save_workspace_protocol: Option<Value>

Spec form written to package.json when aube add matches a workspace sibling. The yaml value can be the booleans true / false or the string "rolling", so the typed field lands at yaml_serde::Value and the resolver normalizes via aube_settings::resolved::SaveWorkspaceProtocol::from_str_normalized.

§auto_install_peers: Option<bool>

Whether to auto-install peer dependencies (default: true).

§strict_peer_dependencies: Option<bool>

Fail the install if any required peer dependency is missing or resolves outside its declared range. Default: false (warn only).

§exclude_links_from_lockfile: Option<bool>

Omit link: dependencies from the lockfile’s importer dependency maps on write. Default: false.

§dedupe_peer_dependents: Option<bool>

Collapse peer-equivalent subtree variants into a single canonical dep_path (cross-subtree intersection). Default: true.

§dedupe_peers: Option<bool>

Emit peer suffixes as (version) instead of (name@version) in the lockfile. Default: false.

§resolve_peers_from_workspace_root: Option<bool>

Consult the root workspace importer’s direct deps for peer resolution before falling back to a graph-wide scan. Default: true.

§lockfile_include_tarball_url: Option<bool>

Record the full registry tarball URL on every registry-sourced package in the lockfile’s resolution.tarball: field. Default: false. Round-trips through the lockfile settings: header so the value is preserved once set.

§minimum_release_age: Option<u64>

Minimum age in minutes that a package version must have before it’s eligible for resolution. pnpm v11 default is 1440 (1 day).

§minimum_package_age: Option<u64>

Minimum age in minutes that a public npm package name must have before aube add accepts it without confirmation. Default: 43200 (30 days).

§minimum_release_age_exclude: Option<Vec<String>>

Package names exempt from minimum_release_age.

§minimum_release_age_strict: Option<bool>

When true, fail the install if no version satisfies a range without violating minimum_release_age. Default: false (fall back to the lowest satisfying version that ignores the cutoff).

§advisory_check: Option<String>

OSV MAL-* advisory check policy for aube add. One of "on" (default, fail open on fetch error), "required" (fail closed on fetch error), or "off".

§advisory_check_on_install: Option<String>

OSV MAL-* advisory check policy for plain reinstalls, backed by a local mirror of OSV’s npm dump. Independent of advisory_check, which fires on aube add, aube update, and other fresh-resolution paths via the live OSV API. Values: "on" (refresh-on-stale, fail-open on refresh error), "required" (fail-closed on refresh error), or "off" (default).

§advisory_bloom_check: Option<String>

Bloom-filter prefilter for OSV MAL-* advisories on lockfile-driven installs. Downloads a sub-MB filter from endevco/osv-bloom (regenerated every 10 minutes) and probes the resolved graph against it. Only bloom hits escalate to the live OSV API for confirmation, so this stays cheap enough to enable per-install. Values: "on" (fail-open on refresh/probe error), "required" (fail-closed on refresh/probe error), or "off" (default). Coexists with advisory_check and advisory_check_on_install.

§advisory_check_every_install: Option<bool>

Force the live-API OSV MAL-* check on every install (including frozen reinstalls). Default false. Set to true for hardened CI where every install must observe the latest advisories regardless of whether the lockfile changed. Trades per-install latency for freshness.

§low_download_threshold: Option<u64>

Weekly-downloads floor for aube add. Below this, aube prompts for confirmation (or fails non-interactively). 0 disables.

§allowed_unpopular_packages: Option<Vec<String>>

Glob patterns exempted from the low_download_threshold gate. Each entry is matched against the full registry name (e.g. @scope/foo). Matching names skip the weekly-downloads lookup; the OSV MAL-* check still runs.

§security_scanner: Option<String>

Bun-compatible security scanner module spec (npm package name or path) loaded via a node bridge at install / add time. Empty string disables the integration.

§peer_dependency_rules: Option<Value>

pnpm-style peer dependency escape hatches. Read by PeerDependencyRules::resolve during install; the actual matching logic lives in aube. We only need the container here so the settings-meta parity test can see the top-level key as a real field (not falling into extra). Leaves of the map are deserialized lazily on demand.

§extra: BTreeMap<String, Value>

Capture unknown fields for forward compatibility.

Implementations§

Source§

impl WorkspaceConfig

Source

pub fn allow_builds_raw(&self) -> BTreeMap<String, AllowBuildRaw>

Convert the raw allow_builds map to the same shape used for package.json’s pnpm.allowBuilds, so callers can merge both sources uniformly.

Source

pub fn load(project_dir: &Path) -> Result<WorkspaceConfig, Error>

Load workspace config from aube-workspace.yaml (preferred) or pnpm-workspace.yaml (pnpm compatibility) in the given directory. Returns Default if neither file exists. If both exist, the aube file wins and the pnpm file is ignored.

Memoized per-process. find_workspace_packages, lockfile-dir resolution, catalog cleanup, jail-builds, and write-target picking all hit this 4-8× per command with the same cwd. Matches the existing RAW_CACHE pattern for the raw map.

Trait Implementations§

Source§

impl Clone for WorkspaceConfig

Source§

fn clone(&self) -> WorkspaceConfig

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for WorkspaceConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for WorkspaceConfig

Source§

fn default() -> WorkspaceConfig

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for WorkspaceConfig

Source§

fn deserialize<__D>( __deserializer: __D, ) -> Result<WorkspaceConfig, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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<D> OwoColorize for D

Source§

fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>
where C: Color,

Set the foreground color generically Read more
Source§

fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>
where C: Color,

Set the background color generically. Read more
Source§

fn black(&self) -> FgColorDisplay<'_, Black, Self>

Change the foreground color to black
Source§

fn on_black(&self) -> BgColorDisplay<'_, Black, Self>

Change the background color to black
Source§

fn red(&self) -> FgColorDisplay<'_, Red, Self>

Change the foreground color to red
Source§

fn on_red(&self) -> BgColorDisplay<'_, Red, Self>

Change the background color to red
Source§

fn green(&self) -> FgColorDisplay<'_, Green, Self>

Change the foreground color to green
Source§

fn on_green(&self) -> BgColorDisplay<'_, Green, Self>

Change the background color to green
Source§

fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>

Change the foreground color to yellow
Source§

fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>

Change the background color to yellow
Source§

fn blue(&self) -> FgColorDisplay<'_, Blue, Self>

Change the foreground color to blue
Source§

fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>

Change the background color to blue
Source§

fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to magenta
Source§

fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to magenta
Source§

fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to purple
Source§

fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to purple
Source§

fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>

Change the foreground color to cyan
Source§

fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>

Change the background color to cyan
Source§

fn white(&self) -> FgColorDisplay<'_, White, Self>

Change the foreground color to white
Source§

fn on_white(&self) -> BgColorDisplay<'_, White, Self>

Change the background color to white
Source§

fn default_color(&self) -> FgColorDisplay<'_, Default, Self>

Change the foreground color to the terminal default
Source§

fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>

Change the background color to the terminal default
Source§

fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>

Change the foreground color to bright black
Source§

fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>

Change the background color to bright black
Source§

fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>

Change the foreground color to bright red
Source§

fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>

Change the background color to bright red
Source§

fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>

Change the foreground color to bright green
Source§

fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>

Change the background color to bright green
Source§

fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>

Change the foreground color to bright yellow
Source§

fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>

Change the background color to bright yellow
Source§

fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>

Change the foreground color to bright blue
Source§

fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>

Change the background color to bright blue
Source§

fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright magenta
Source§

fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright magenta
Source§

fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright purple
Source§

fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright purple
Source§

fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>

Change the foreground color to bright cyan
Source§

fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>

Change the background color to bright cyan
Source§

fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>

Change the foreground color to bright white
Source§

fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>

Change the background color to bright white
Source§

fn bold(&self) -> BoldDisplay<'_, Self>

Make the text bold
Source§

fn dimmed(&self) -> DimDisplay<'_, Self>

Make the text dim
Source§

fn italic(&self) -> ItalicDisplay<'_, Self>

Make the text italicized
Source§

fn underline(&self) -> UnderlineDisplay<'_, Self>

Make the text underlined
Make the text blink
Make the text blink (but fast!)
Source§

fn reversed(&self) -> ReversedDisplay<'_, Self>

Swap the foreground and background colors
Source§

fn hidden(&self) -> HiddenDisplay<'_, Self>

Hide the text
Source§

fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>

Cross out the text
Source§

fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the foreground color at runtime. Only use if you do not know which color will be used at compile-time. If the color is constant, use either OwoColorize::fg or a color-specific method, such as OwoColorize::green, Read more
Source§

fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the background color at runtime. Only use if you do not know what color to use at compile-time. If the color is constant, use either OwoColorize::bg or a color-specific method, such as OwoColorize::on_yellow, Read more
Source§

fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the foreground color to a specific RGB value.
Source§

fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the background color to a specific RGB value.
Source§

fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>

Sets the foreground color to an RGB value.
Source§

fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>

Sets the background color to an RGB value.
Source§

fn style(&self, style: Style) -> Styled<&Self>

Apply a runtime-determined style
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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, <T as TryFrom<U>>::Error>

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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more