pub fn parse_pattern_base_path(pattern: &str) -> (PathBuf, String)Expand description
Parses a pattern string to extract the base path and pattern components.
Handles three cases:
- Patterns with path separators and absolute/relative parents
- Patterns with path separators but simple relative paths
- Simple patterns without path separators
§Arguments
pattern- The glob pattern string (e.g., “agents/.md”, “../foo/.md”)
§Returns
A tuple of (base_path, pattern_str) where:
base_pathis the directory to search inpattern_stris the glob pattern to match files against
§Examples
use std::path::{Path, PathBuf};
use agpm_cli::resolver::path_resolver::parse_pattern_base_path;
let (base, pattern) = parse_pattern_base_path("agents/*.md");
assert_eq!(base, PathBuf::from("."));
assert_eq!(pattern, "agents/*.md");
let (base, pattern) = parse_pattern_base_path("../foo/bar/*.md");
assert_eq!(base, PathBuf::from("../foo/bar"));
assert_eq!(pattern, "*.md");