pub fn scan(paths: Vec<PathBuf>) -> Result<Vec<Command>, ShellError>