Skip to content

Commit 4f2801b

Browse files
authored
Always treat queries that start with ? as search queries (#489)
1 parent 5f5686e commit 4f2801b

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

YoutubeDownloader.Core/Resolving/QueryResolver.cs

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -111,11 +111,17 @@ private async Task<QueryResult> ResolveSearchAsync(
111111
public async Task<QueryResult> ResolveAsync(
112112
string query,
113113
CancellationToken cancellationToken = default
114-
) =>
115-
await TryResolvePlaylistAsync(query, cancellationToken)
116-
?? await TryResolveVideoAsync(query, cancellationToken)
117-
?? await TryResolveChannelAsync(query, cancellationToken)
118-
?? await ResolveSearchAsync(query, cancellationToken);
114+
)
115+
{
116+
// If the query starts with a question mark, it's always treated as a search query
117+
if (query.StartsWith('?'))
118+
return await ResolveSearchAsync(query[1..], cancellationToken);
119+
120+
return await TryResolvePlaylistAsync(query, cancellationToken)
121+
?? await TryResolveVideoAsync(query, cancellationToken)
122+
?? await TryResolveChannelAsync(query, cancellationToken)
123+
?? await ResolveSearchAsync(query, cancellationToken);
124+
}
119125

120126
public async Task<QueryResult> ResolveAsync(
121127
IReadOnlyList<string> queries,

YoutubeDownloader/Views/Components/DashboardView.axaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
ScrollViewer.HorizontalScrollBarVisibility="Hidden"
2828
Text="{Binding Query}"
2929
Theme="{DynamicResource SoloTextBox}"
30+
ToolTip.Tip="Any valid YouTube URL or ID is accepted. Prepend a question mark (?) to perform search by text."
3031
Watermark="URL or search query">
3132
<TextBox.InnerLeftContent>
3233
<materialIcons:MaterialIcon

0 commit comments

Comments
 (0)