parseGitHubRepository function
Parse a GitHub repository string or URL.
Implementation
String? parseGitHubRepository(String input) {
final trimmed = input.trim();
final parsed = parseGitRemote(trimmed);
if (parsed != null) {
if (parsed.host != 'github.com') return null;
return '${parsed.owner}/${parsed.name}';
}
// Check "owner/repo" format
if (!trimmed.contains('://') &&
!trimmed.contains('@') &&
trimmed.contains('/')) {
final parts = trimmed.split('/');
if (parts.length == 2 && parts[0].isNotEmpty && parts[1].isNotEmpty) {
final repo = parts[1].replaceAll(RegExp(r'\.git$'), '');
return '${parts[0]}/$repo';
}
}
return null;
}