Flow.Launcher/Flow.Launcher.Core/Plugin
Jack251970 79b0385336 Refactor plugin hotkey and action keyword management
Refactored hotkey management to improve thread safety by replacing `Dictionary` with `ConcurrentDictionary` and introducing a lock for updates. Added new methods for hotkey initialization, validation, and translation updates. Enhanced plugin initialization by integrating hotkey checks and removing redundant calls.

Refactored action keyword management with new methods for adding and removing keywords, ensuring thread safety with `TryAdd`, `AddOrUpdate`, and `TryRemove`. Introduced the `PluginHotkeyChangedEvent` class to encapsulate hotkey change events.

Improved thread safety and performance by using thread-safe collections and LINQ. Cleaned up code by removing deprecated methods, redundant comments, and outdated TODOs. Fixed concurrency issues and ensured consistent updates to plugin metadata and hotkey information.
2025-10-16 20:30:17 +08:00
..
JsonRPCV2Models Merge branch 'dev' into binary_storage_api 2025-04-08 16:28:05 +08:00
ExecutablePlugin.cs fix v1 plugin issue 2023-07-03 12:58:44 +08:00
ExecutablePluginV2.cs use HeaderDeliminatedHandler for NodePlugin while NewLineDeliminated for everything else 2024-02-18 23:46:24 -06:00
IResultUpdateRegister.cs Add IResultUpdateRegister interface 2025-07-21 13:52:11 +08:00
JsonPRCModel.cs Revert SettingsChanges to SettingsChange for backwards compatibility 2023-11-19 09:11:27 -05:00
JsonRPCConfigurationModel.cs Add hyperlink layout 2022-12-10 09:53:41 +09:00
JsonRPCPlugin.cs Improve code quality 2025-04-09 19:26:52 +08:00
JsonRPCPluginBase.cs Improve code quality 2025-04-09 19:26:52 +08:00
JsonRPCPluginSettings.cs Use Flow.Launcher.Localization to improve code quality 2025-09-23 17:14:30 +08:00
JsonRPCPluginV2.cs Add code comments 2025-04-09 19:43:22 +08:00
NodePlugin.cs Fix Nodejs plugins not working 2024-02-10 19:59:52 +06:00
NodePluginV2.cs use HeaderDeliminatedHandler for NodePlugin while NewLineDeliminated for everything else 2024-02-18 23:46:24 -06:00
PluginAssemblyLoader.cs load unmanaged dll from dependencyResolver as well 2023-09-11 09:12:41 -05:00
PluginConfig.cs Fix build issue 2025-09-28 11:46:55 +08:00
PluginInstaller.cs Use PublicApi.Instance instead of private one 2025-09-23 17:40:54 +08:00
PluginManager.cs Refactor plugin hotkey and action keyword management 2025-10-16 20:30:17 +08:00
PluginsLoader.cs Change log level for plugin constructor timing message 2025-10-16 18:43:19 +08:00
ProcessStreamPluginV2.cs Code quality 2025-04-13 18:04:50 +08:00
PythonPlugin.cs Add PyWin32-related directories to path for Python plugins 2025-02-02 15:27:02 +06:00
PythonPluginV2.cs Add PyWin32-related directories to path for Python plugins 2025-02-02 15:27:02 +06:00
QueryBuilder.cs Use new model to clear results & Fix clear existing results when using IResultUpdate (#3588) 2025-06-02 13:16:22 +10:00
README.md rename all project file name 2020-04-21 21:27:02 +10:00

There are two kinds of plugins:

  1. System plugin Those plugins that action keyword is "*", those plugin doesn't need action keyword
  2. User Plugin Those plugins that contains customized action keyword