From f19d1d624df172fc0f3081e655c0a50825d538e2 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Sat, 31 Dec 2022 17:23:45 +0930 Subject: [PATCH 1/4] allow plugin name to be searchable by Plugin Indicator --- .../Languages/en.xaml | 6 ++- .../Main.cs | 42 +++++++++---------- .../plugin.json | 2 +- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginIndicator/Languages/en.xaml b/Plugins/Flow.Launcher.Plugin.PluginIndicator/Languages/en.xaml index a6176a35f9d..3df1f468d8c 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginIndicator/Languages/en.xaml +++ b/Plugins/Flow.Launcher.Plugin.PluginIndicator/Languages/en.xaml @@ -2,7 +2,9 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:system="clr-namespace:System;assembly=mscorlib"> + Activate {0} plugin action keyword + Plugin Indicator Provides plugins action words suggestions - - \ No newline at end of file + + diff --git a/Plugins/Flow.Launcher.Plugin.PluginIndicator/Main.cs b/Plugins/Flow.Launcher.Plugin.PluginIndicator/Main.cs index b5377eb17ab..b0918d8c736 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginIndicator/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginIndicator/Main.cs @@ -10,28 +10,26 @@ public class Main : IPlugin, IPluginI18n public List Query(Query query) { - // if query contains more than one word, eg. github tips - // user has decided to type something else rather than wanting to see the available action keywords - if (query.SearchTerms.Length > 1) - return new List(); - - var results = from keyword in PluginManager.NonGlobalPlugins.Keys - where keyword.StartsWith(query.Search) - let metadata = PluginManager.NonGlobalPlugins[keyword].Metadata - where !metadata.Disabled - select new Result - { - Title = keyword, - SubTitle = $"Activate {metadata.Name} plugin", - Score = 100, - IcoPath = metadata.IcoPath, - AutoCompleteText = $"{keyword}{Plugin.Query.TermSeparator}", - Action = c => - { - context.API.ChangeQuery($"{keyword}{Plugin.Query.TermSeparator}"); - return false; - } - }; + var results = + from keyword in PluginManager.NonGlobalPlugins.Keys + let metadata = PluginManager.NonGlobalPlugins[keyword].Metadata + where (context.API.FuzzySearch(query.Search, keyword).IsSearchPrecisionScoreMet() + || context.API.FuzzySearch(query.Search, metadata.Name).IsSearchPrecisionScoreMet() + || string.IsNullOrEmpty(query.Search)) // To list all available action keywords + && !metadata.Disabled + select new Result + { + Title = keyword, + SubTitle = string.Format(context.API.GetTranslation("flowlauncher_plugin_pluginindicator_result_subtitle"), metadata.Name), + Score = 100, + IcoPath = metadata.IcoPath, + AutoCompleteText = $"{keyword}{Plugin.Query.TermSeparator}", + Action = c => + { + context.API.ChangeQuery($"{keyword}{Plugin.Query.TermSeparator}"); + return false; + } + }; return results.ToList(); } diff --git a/Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json b/Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json index fb527e3a8eb..68bf66085ab 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json @@ -4,7 +4,7 @@ "Name": "Plugin Indicator", "Description": "Provide plugin actionword suggestion", "Author": "qianlifeng", - "Version": "2.0.0", + "Version": "2.0.1", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.PluginIndicator.dll", From 1d02f231a6e006d0cf271a997ff3a57af1692a16 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Sun, 1 Jan 2023 12:27:27 +0930 Subject: [PATCH 2/4] update to use score from fuzzy search --- .../Flow.Launcher.Plugin.PluginIndicator/Main.cs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginIndicator/Main.cs b/Plugins/Flow.Launcher.Plugin.PluginIndicator/Main.cs index b0918d8c736..aea0d77a1f6 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginIndicator/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.PluginIndicator/Main.cs @@ -12,17 +12,19 @@ public List Query(Query query) { var results = from keyword in PluginManager.NonGlobalPlugins.Keys - let metadata = PluginManager.NonGlobalPlugins[keyword].Metadata - where (context.API.FuzzySearch(query.Search, keyword).IsSearchPrecisionScoreMet() - || context.API.FuzzySearch(query.Search, metadata.Name).IsSearchPrecisionScoreMet() + let plugin = PluginManager.NonGlobalPlugins[keyword].Metadata + let keywordSearchResult = context.API.FuzzySearch(query.Search, keyword) + let searchResult = keywordSearchResult.IsSearchPrecisionScoreMet() ? keywordSearchResult : context.API.FuzzySearch(query.Search, plugin.Name) + let score = searchResult.Score + where (searchResult.IsSearchPrecisionScoreMet() || string.IsNullOrEmpty(query.Search)) // To list all available action keywords - && !metadata.Disabled + && !plugin.Disabled select new Result { Title = keyword, - SubTitle = string.Format(context.API.GetTranslation("flowlauncher_plugin_pluginindicator_result_subtitle"), metadata.Name), - Score = 100, - IcoPath = metadata.IcoPath, + SubTitle = string.Format(context.API.GetTranslation("flowlauncher_plugin_pluginindicator_result_subtitle"), plugin.Name), + Score = score, + IcoPath = plugin.IcoPath, AutoCompleteText = $"{keyword}{Plugin.Query.TermSeparator}", Action = c => { From 1d1af7263a49c2377ce307f117354940aa549793 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Sun, 1 Jan 2023 12:36:03 +0930 Subject: [PATCH 3/4] fix typos --- Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json b/Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json index 68bf66085ab..084779ef9d7 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json @@ -2,7 +2,7 @@ "ID": "6A122269676E40EB86EB543B945932B9", "ActionKeyword": "*", "Name": "Plugin Indicator", - "Description": "Provide plugin actionword suggestion", + "Description": "Provides plugin action keyword suggestions", "Author": "qianlifeng", "Version": "2.0.1", "Language": "csharp", From ff00c676c9bbb646957c6ddac69cabad42d108dc Mon Sep 17 00:00:00 2001 From: Vic <10308169+VictoriousRaptor@users.noreply.github.com> Date: Sun, 1 Jan 2023 13:36:10 +0800 Subject: [PATCH 4/4] Update expect.txt --- .github/actions/spelling/expect.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt index c969a00f8b3..51bcf83f5d4 100644 --- a/.github/actions/spelling/expect.txt +++ b/.github/actions/spelling/expect.txt @@ -56,4 +56,5 @@ TSource runas dpi popup -ptr \ No newline at end of file +ptr +pluginindicator \ No newline at end of file