Repository Analysis

Flow-Launcher/Flow.Launcher

:mag: Quick file search & app launcher for Windows with community-made plugins

1.8 Likely human-written View on GitHub
1.8
Adjusted Score
1.8
Raw Score
100%
Time Factor
2026-05-29
Last Push
14,833
Stars
C#
Language
78,714
Lines of Code
420
Files
121
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 3MEDIUM 4LOW 114

Pattern Findings

121 matches across 5 categories. Click a row to expand file-level details.

Over-Commented Block113 hits · 107 pts
SeverityFileLineSnippet
LOWPlugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs41 /// Path of the executable for .lnk, or the URL for .url
LOW…ns/Flow.Launcher.Plugin.Program/Programs/UWPPackage.cs641 //public ImageSource Logo()
LOW…ns/Flow.Launcher.Plugin.Program/Programs/UWPPackage.cs661 // }
LOW…ns/Flow.Launcher.Plugin.Program/Programs/UWPPackage.cs681
LOW…ns/Flow.Launcher.Plugin.Program/Programs/UWPPackage.cs701 // context.Close();
LOW…/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs61 /// - Quick Access Links
LOW…ow.Launcher.Plugin.Explorer/Helper/ShellContextMenu.cs1using System;
LOW…ow.Launcher.Plugin.Explorer/Helper/ShellContextMenu.cs21 ///
LOWPlugins/Flow.Launcher.Plugin.WindowsSettings/Main.cs21 /// <summary>
LOWPlugins/Flow.Launcher.Plugin.WindowsSettings/Main.cs41 /// <summary>
LOW…ncher.Plugin.WindowsSettings/Classes/WindowsSetting.cs21 /// <summary>
LOW…ncher.Plugin.WindowsSettings/Classes/WindowsSetting.cs41 public string Type { get; set; }
LOW…ncher.Plugin.WindowsSettings/Classes/WindowsSetting.cs61
LOW…lugin.WindowsSettings/Properties/Resources.Designer.cs1//------------------------------------------------------------------------------
LOWFlow.Launcher.Infrastructure/StringMatcher.cs41 /// 2. Character appears after a space
LOWFlow.Launcher.Infrastructure/Win32Helper.cs561 /// </summary>
LOWFlow.Launcher.Infrastructure/IAlphabet.cs1namespace Flow.Launcher.Infrastructure
LOWFlow.Launcher.Infrastructure/Image/ThumbnailReader.cs41 /// <summary>
LOWFlow.Launcher.Infrastructure/Image/ThumbnailReader.cs81 /// If <paramref name="options"/> is <see cref="ThumbnailOptions.ThumbnailOnly"/> and thumbnail extraction fails
LOWFlow.Launcher.Infrastructure/Http/Http.cs141 /// <summary>
LOW…Launcher.Infrastructure/Hotkey/RegisteredHotkeyData.cs1using System;
LOW…Launcher.Infrastructure/Hotkey/RegisteredHotkeyData.cs21 /// which represents the string "Reload Plugins Data" in <c>en.xaml</c>
LOW…Launcher.Infrastructure/Hotkey/RegisteredHotkeyData.cs41 /// </summary>
LOW…Launcher.Infrastructure/Hotkey/RegisteredHotkeyData.cs61 /// <summary>
LOW…Launcher.Infrastructure/Hotkey/RegisteredHotkeyData.cs81 string hotkey, string descriptionResourceKey, object? descriptionFormatVariable, Action? removeHotkey = null
LOWFlow.Launcher/Settings.cs1namespace Flow.Launcher.Properties
LOWFlow.Launcher/ViewModel/MainViewModel.cs1381 }
LOWFlow.Launcher/ViewModel/MainViewModel.cs1741 /// either from plugins with matching action keywords or global action keyword, but not both. So when the curren
LOW…ow.Launcher/Resources/Controls/CustomScrollViewerEx.cs181 /// </summary>
LOWFlow.Launcher/Properties/Resources.Designer.cs1//------------------------------------------------------------------------------
LOWFlow.Launcher/Helper/SingleInstance.cs21 /// Note: this class should be used with some caution, because it does no
LOWFlow.Launcher/Helper/SingleInstance.cs41
LOWFlow.Launcher.Core/Storage/IRemovable.cs1namespace Flow.Launcher.Core.Storage;
LOWFlow.Launcher.Plugin/UserPlugin.cs21 /// Description of the plugin
LOWFlow.Launcher.Plugin/UserPlugin.cs41 /// Website of the plugin
LOWFlow.Launcher.Plugin/UserPlugin.cs61 /// Icon path of the plugin
LOWFlow.Launcher.Plugin/PluginInitContext.cs1namespace Flow.Launcher.Plugin
LOWFlow.Launcher.Plugin/AllowedLanguage.cs21 /// C#
LOWFlow.Launcher.Plugin/AllowedLanguage.cs41 /// TypeScript
LOWFlow.Launcher.Plugin/PluginMetadata.cs21
LOWFlow.Launcher.Plugin/PluginMetadata.cs41 public string Description { get; set; }
LOWFlow.Launcher.Plugin/PluginMetadata.cs101 /// <summary>
LOWFlow.Launcher.Plugin/PluginMetadata.cs141 /// The minimum Flow Launcher version required for this plugin. Default is "".
LOWFlow.Launcher.Plugin/Query.cs1using System;
LOWFlow.Launcher.Plugin/Query.cs21 /// </summary>
LOWFlow.Launcher.Plugin/Query.cs41 public bool IsReQuery { get; internal set; } = false;
LOWFlow.Launcher.Plugin/Query.cs61
LOWFlow.Launcher.Plugin/Query.cs101 /// <summary>
LOWFlow.Launcher.Plugin/EventHandler.cs21 /// </summary>
LOWFlow.Launcher.Plugin/EventHandler.cs41 public delegate void VisibilityChangedEventHandler(object sender, VisibilityChangedEventArgs args);
LOWFlow.Launcher.Plugin/EventHandler.cs61 /// <summary>
LOWFlow.Launcher.Plugin/PluginPair.cs1namespace Flow.Launcher.Plugin
LOWFlow.Launcher.Plugin/ActionContext.cs21 {
LOWFlow.Launcher.Plugin/KeyEvent.cs1using Windows.Win32;
LOWFlow.Launcher.Plugin/Result.cs41
LOWFlow.Launcher.Plugin/Result.cs61 /// for user on the plugin result. If autocomplete action for example is tab, pressing tab will have
LOWFlow.Launcher.Plugin/Result.cs181 /// <param name="glyph"></param>
LOWFlow.Launcher.Plugin/Result.cs201 /// <remarks>
LOWFlow.Launcher.Plugin/Result.cs241 }
LOWFlow.Launcher.Plugin/Result.cs261 public string TitleToolTip { get; set; }
53 more matches not shown…
Synthetic Comment Markers3 hits · 22 pts
SeverityFileLineSnippet
HIGH…lugin.WindowsSettings/Properties/Resources.Designer.cs3// This code was generated by a tool.
HIGHFlow.Launcher/Properties/Settings.Designer.cs3// This code was generated by a tool.
HIGHFlow.Launcher/Properties/Resources.Designer.cs3// This code was generated by a tool.
Excessive Try-Catch Wrapping3 hits · 6 pts
SeverityFileLineSnippet
MEDIUM.github/update_release_pr.py52 print(f"Error fetching pull requests: {e}")
MEDIUM.github/update_release_pr.py176 print(f"Error updating pull request #{pr_number}: {e}")
MEDIUM.github/update_release_pr.py187 print("Error: GITHUB_TOKEN environment variable not set.")
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippet
MEDIUMFlow.Launcher.Infrastructure/StringMatcher.cs331 // Acronym won't utilize the substring to match
Hyper-Verbose Identifiers1 hit · 1 pts
SeverityFileLineSnippet
LOW.github/update_release_pr.py140def update_pull_request_description(token: str, owner: str, repo: str, pr_number: int, new_description: str) -> None: