Skip to content

Commit 41ad0a4

Browse files
committed
Update search classes with keyword
1 parent 88b678e commit 41ad0a4

8 files changed

Lines changed: 18 additions & 28 deletions

File tree

Flow.Launcher.Plugin.OneNote/Main.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ public class Main : IAsyncPlugin, IContextMenu, ISettingProvider, IDisposable
2323
private static Main instance;
2424

2525
private Query currentQuery;
26-
private Search.SearchManager sm2;
2726

2827
public Task InitAsync(PluginInitContext context)
2928
{

Flow.Launcher.Plugin.OneNote/Search/DefaultSearch.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ namespace Flow.Launcher.Plugin.OneNote.Search
66
{
77
public class DefaultSearch : SearchBase
88
{
9-
public DefaultSearch(PluginInitContext context, Settings settings, ResultCreator resultCreator) : base(context, settings, resultCreator, null) { }
9+
public DefaultSearch(PluginInitContext context, Settings settings, ResultCreator resultCreator)
10+
: base(context, settings, resultCreator, null) { }
1011

1112
public override List<Result> GetResults(string query)
1213
{

Flow.Launcher.Plugin.OneNote/Search/NotebookExplorer.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ namespace Flow.Launcher.Plugin.OneNote.Search
99
public class NotebookExplorer : SearchBase
1010
{
1111
private readonly TitleSearch titleSearch;
12-
public NotebookExplorer(PluginInitContext context, Settings settings, ResultCreator resultCreator, TitleSearch titleSearch) : base(context,
13-
settings, resultCreator, () => settings.Keywords.NotebookExplorer)
12+
public NotebookExplorer(PluginInitContext context, Settings settings, ResultCreator resultCreator, TitleSearch titleSearch)
13+
: base(context, settings, resultCreator, settings.Keywords.NotebookExplorer)
1414
{
1515
this.titleSearch = titleSearch;
1616
}
@@ -22,8 +22,8 @@ public override List<Result> GetResults(string query)
2222

2323
List<Result> results = search switch
2424
{
25-
{ } when search.StartsWith(Keywords.TitleSearch) && parent is not OneNotePage => titleSearch.Filter(search, parent, collection),
26-
{ } when search.StartsWith(Keywords.ScopedSearch) && parent is INotebookOrSectionGroup => ScopedSearch(search, parent),
25+
{ } when search.StartsWithOrd(Keywords.TitleSearch) && parent is not OneNotePage => titleSearch.Filter(search, parent, collection),
26+
{ } when search.StartsWithOrd(Keywords.ScopedSearch) && parent is INotebookOrSectionGroup => ScopedSearch(search, parent),
2727
{ } when !string.IsNullOrWhiteSpace(search) => Explorer(search, parent, collection),
2828
_ => ShowAll(parent, collection),
2929
};
@@ -35,8 +35,8 @@ public override List<Result> GetResults(string query)
3535
result.Title = $"Open \"{parent.Name}\" in OneNote";
3636
result.SubTitle = search switch
3737
{
38-
{ } when search.StartsWith(Keywords.TitleSearch) => $"Now searching by title in \"{parent.Name}\"",
39-
{ } when search.StartsWith(Keywords.ScopedSearch) => $"Now searching all pages in \"{parent.Name}\"",
38+
{ } when search.StartsWithOrd(Keywords.TitleSearch) => $"Now searching by title in \"{parent.Name}\"",
39+
{ } when search.StartsWithOrd(Keywords.ScopedSearch) => $"Now searching all pages in \"{parent.Name}\"",
4040
_ => $"Use \'{Keywords.ScopedSearch}\' to search this item. Use \'{Keywords.TitleSearch}\' to search by title in this item",
4141
};
4242

Flow.Launcher.Plugin.OneNote/Search/RecentPages.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ namespace Flow.Launcher.Plugin.OneNote.Search
66
{
77
public class RecentPages : SearchBase
88
{
9-
public RecentPages(PluginInitContext context, Settings settings, ResultCreator resultCreator) : base(context, settings, resultCreator, () => settings.Keywords.RecentPages) { }
9+
public RecentPages(PluginInitContext context, Settings settings, ResultCreator resultCreator)
10+
: base(context, settings, resultCreator, settings.Keywords.RecentPages) { }
1011

1112
public override List<Result> GetResults(string query)
1213
{

Flow.Launcher.Plugin.OneNote/Search/SearchBase.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
using System;
21
using System.Collections.Generic;
32

43
namespace Flow.Launcher.Plugin.OneNote.Search
@@ -8,15 +7,14 @@ public abstract class SearchBase
87
protected readonly PluginInitContext context;
98
protected readonly Settings settings;
109
protected readonly ResultCreator resultCreator;
11-
private readonly Func<string> keywordGetter;
12-
protected SearchBase(PluginInitContext context, Settings settings, ResultCreator resultCreator, Func<string> keywordGetter)
10+
public readonly Keyword Keyword;
11+
protected SearchBase(PluginInitContext context, Settings settings, ResultCreator resultCreator, Keyword keyword)
1312
{
1413
this.context = context;
1514
this.settings = settings;
1615
this.resultCreator = resultCreator;
17-
this.keywordGetter = keywordGetter;
16+
Keyword = keyword;
1817
}
19-
public string Keyword => keywordGetter();
2018
protected Keywords Keywords => settings.Keywords;
2119
public abstract List<Result> GetResults(string query);
2220
}

Flow.Launcher.Plugin.OneNote/Search/SearchExtensions.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ public static IEnumerable<T> FilterBySettings<T>(this IEnumerable<T> source, Set
4141
}
4242
}
4343

44-
//TODO: implement
4544
public static bool StartsWithOrd(this string str, string value)
4645
{
4746
return str.StartsWith(value, StringComparison.Ordinal);

Flow.Launcher.Plugin.OneNote/Search/SearchManager.cs

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,13 @@ namespace Flow.Launcher.Plugin.OneNote.Search
44
{
55
public class SearchManager
66
{
7-
private readonly Settings settings;
8-
97
private readonly TitleSearch titleSearch;
108
private readonly NotebookExplorer notebookExplorer;
119
private readonly DefaultSearch defaultSearch;
1210
private readonly RecentPages recentPages;
1311

1412
public SearchManager(PluginInitContext context, Settings settings, ResultCreator resultCreator)
1513
{
16-
this.settings = settings;
1714
titleSearch = new TitleSearch(context, settings, resultCreator);
1815
notebookExplorer = new NotebookExplorer(context, settings, resultCreator, titleSearch);
1916
recentPages = new RecentPages(context, settings, resultCreator);
@@ -25,16 +22,11 @@ public List<Result> Query(string search)
2522
{
2623
return search switch
2724
{
28-
{ } when search.StartsWith(titleSearch.Keyword) => titleSearch.GetResults(search),
29-
{ } when search.StartsWith(notebookExplorer.Keyword) => notebookExplorer.GetResults(search),
30-
{ } when search.StartsWith(recentPages.Keyword) => recentPages.GetResults(search),
25+
{ } when search.StartsWithOrd(titleSearch.Keyword) => titleSearch.GetResults(search),
26+
{ } when search.StartsWithOrd(notebookExplorer.Keyword) => notebookExplorer.GetResults(search),
27+
{ } when search.StartsWithOrd(recentPages.Keyword) => recentPages.GetResults(search),
3128
_ => defaultSearch.GetResults(search!),
3229
};
3330
}
3431
}
35-
36-
// public record PluginState(PluginInitContext Context, Settings Settings, ResultCreator ResultCreator)
37-
// {
38-
// public Keywords Keywords => Settings.Keywords;
39-
// }
4032
}

Flow.Launcher.Plugin.OneNote/Search/TitleSearch.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ namespace Flow.Launcher.Plugin.OneNote.Search
77
{
88
public class TitleSearch : SearchBase
99
{
10-
public TitleSearch(PluginInitContext context, Settings settings, ResultCreator resultCreator) : base(context, settings, resultCreator,
11-
() => settings.Keywords.TitleSearch) { }
10+
public TitleSearch(PluginInitContext context, Settings settings, ResultCreator resultCreator)
11+
: base(context, settings, resultCreator, settings.Keywords.TitleSearch) { }
1212

1313
public override List<Result> GetResults(string query) => Filter(query, null, OneNoteApplication.GetNotebooks());
1414

0 commit comments

Comments
 (0)