workspace

Function workspace 

Source
pub fn workspace() -> Result<Workspace>
Expand description

convenience function to get workspace instance with extended fallbacks

uses Workspace ::resolve_with_extended_fallbacks() which tries multiple strategies including $PRO and $HOME for installed CLI applications. always succeeds by falling back through multiple strategies.

§note

this function always succeeds (never returns Err), but maintains Result return type for backward compatibility. you can safely .unwrap() the result.

§Errors

this function never returns an error. it always succeeds by falling back through multiple resolution strategies. the Result return type is maintained for backward compatibility only.

§examples

use workspace_tools ::workspace;

// works without WORKSPACE_PATH set (uses fallbacks)
let ws = workspace()?;
let config_dir = ws.config_dir();

§resolution priority

  1. cargo workspace (development context)
  2. WORKSPACE_PATH environment variable
  3. git repository root
  4. $PRO environment variable (installed apps)
  5. $HOME directory (universal fallback)
  6. current working directory