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
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..aea0d77a1f6 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginIndicator/Main.cs
+++ b/Plugins/Flow.Launcher.Plugin.PluginIndicator/Main.cs
@@ -10,28 +10,28 @@ 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 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
+ && !plugin.Disabled
+ select new Result
+ {
+ Title = keyword,
+ 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 =>
+ {
+ 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..084779ef9d7 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json
+++ b/Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json
@@ -2,9 +2,9 @@
"ID": "6A122269676E40EB86EB543B945932B9",
"ActionKeyword": "*",
"Name": "Plugin Indicator",
- "Description": "Provide plugin actionword suggestion",
+ "Description": "Provides plugin action keyword suggestions",
"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",