Skip to content

Support filtering dotnet, python, node.js, executable plugins #3494

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Apr 29, 2025

Conversation

Jack251970
Copy link
Contributor

@Jack251970 Jack251970 commented Apr 29, 2025

Support filtering plugin languages

If users have not installed python environment, they can filter out python language so that they do not need to install python environment during next startup.

Test

image

To onesounds

I am not sure if this UI is good, feel free to change its design.

Copy link

gitstream-cm bot commented Apr 29, 2025

🚨 gitStream Monthly Automation Limit Reached 🚨

Your organization has exceeded the number of pull requests allowed for automation with gitStream.
Monthly PRs automated: 263/250

To continue automating your PR workflows and unlock additional features, please contact LinearB.

Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR extends the plugin filtering functionality by adding support for filtering dotnet, python, node.js, and executable plugins so that users without specific environments (like Python) can avoid installing them unnecessarily.

  • Converted auto-properties to properties with change notification in the view model
  • Updated the UI logic to refresh the plugin list when any filter property changes
  • Extended AllowedLanguage helper methods for Python, Node.js, and executable languages

Reviewed Changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated no comments.

File Description
Flow.Launcher/SettingPages/Views/SettingsPanePluginStore.xaml.cs Updated the property change handler to refresh the view when filter or language display properties change
Flow.Launcher/SettingPages/ViewModels/SettingsPanePluginStoreViewModel.cs Refactored filter properties with notifications and added language-based filtering in SatisfiesFilter
Flow.Launcher.Plugin/AllowedLanguage.cs Introduced helper methods for Python, Node.js, and executable language checks and simplified IsAllowed
Files not reviewed (1)
  • Flow.Launcher/SettingPages/Views/SettingsPanePluginStore.xaml: Language not supported

@Jack251970 Jack251970 added the enhancement New feature or request label Apr 29, 2025

This comment has been minimized.

Copy link

gitstream-cm bot commented Apr 29, 2025

🥷 Code experts: Yusyuriv, onesounds

Jack251970 has most 👩‍💻 activity in the files.
Yusyuriv, onesounds have most 🧠 knowledge in the files.

See details

Flow.Launcher.Plugin/AllowedLanguage.cs

Activity based on git-commit:

Jack251970
APR
MAR
FEB
JAN
DEC
NOV

Knowledge based on git-blame:

Flow.Launcher/SettingPages/ViewModels/SettingsPanePluginStoreViewModel.cs

Activity based on git-commit:

Jack251970
APR 5 additions & 7 deletions
MAR
FEB 6 additions & 4 deletions
JAN
DEC
NOV

Knowledge based on git-blame:
Yusyuriv: 78%

Flow.Launcher/SettingPages/Views/SettingsPanePluginStore.xaml

Activity based on git-commit:

Jack251970
APR 27 additions & 27 deletions
MAR
FEB
JAN
DEC
NOV

Knowledge based on git-blame:
onesounds: 88%
Yusyuriv: 5%

Flow.Launcher/SettingPages/Views/SettingsPanePluginStore.xaml.cs

Activity based on git-commit:

Jack251970
APR 1 additions & 3 deletions
MAR 4 additions & 4 deletions
FEB 1 additions & 2 deletions
JAN
DEC
NOV

Knowledge based on git-blame:
Yusyuriv: 76%
onesounds: 17%

To learn more about /:\ gitStream - Visit our Docs

Copy link
Contributor

coderabbitai bot commented Apr 29, 2025

📝 Walkthrough

Walkthrough

This update introduces language-based filtering to the plugin store interface. The AllowedLanguage class is refactored to include helper methods for identifying Python, Node.js, and executable plugin types, streamlining language checks. The plugin store view model now supports four new boolean properties, allowing users to filter plugins by language category (.Net, Python, Node.js, Executable). The UI is updated to present these options as checkboxes alongside the filter textbox and refresh button. The view logic is adjusted so that any change in filter settings triggers a refresh of the displayed plugin list.

Changes

File(s) Change Summary
Flow.Launcher.Plugin/AllowedLanguage.cs Refactored language checks into helper methods (IsPython, IsNodeJs, IsExecutable); updated IsAllowed to use these methods.
Flow.Launcher/SettingPages/ViewModels/SettingsPanePluginStoreViewModel.cs Added ShowDotNet, ShowPython, ShowNodeJs, ShowExecutable properties; enhanced filtering logic to use these properties.
Flow.Launcher/SettingPages/Views/SettingsPanePluginStore.xaml Modified UI layout; added checkboxes for language filters; rearranged filter controls in a horizontal stack panel.
Flow.Launcher/SettingPages/Views/SettingsPanePluginStore.xaml.cs Updated property change handler to refresh the view on changes to any filter-related property, not just the filter text.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant SettingsPanePluginStoreViewModel
    participant PluginStoreCollectionView

    User->>SettingsPanePluginStoreViewModel: Change filter text or toggle language checkboxes
    SettingsPanePluginStoreViewModel->>SettingsPanePluginStoreViewModel: Update property, trigger OnPropertyChanged
    SettingsPanePluginStoreViewModel->>PluginStoreCollectionView: Refresh view
    PluginStoreCollectionView->>SettingsPanePluginStoreViewModel: Call SatisfiesFilter for each plugin
    SettingsPanePluginStoreViewModel->>SettingsPanePluginStoreViewModel: Check language filter and text filter
    PluginStoreCollectionView->>User: Display filtered plugin list
Loading

Suggested labels

kind/ui

Suggested reviewers

  • onesounds

Poem

In the warren of code where plugins abound,
New filters for languages have now been found!
With checkboxes hopping and toggles anew,
You can sort by Python, Node, or .Net too.
The bunny is pleased, the carrots align—
Plugin store browsing is simply divine!
🐇✨


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9b666d3 and d0b4485.

📒 Files selected for processing (1)
  • Flow.Launcher/SettingPages/Views/SettingsPanePluginStore.xaml (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • Flow.Launcher/SettingPages/Views/SettingsPanePluginStore.xaml
⏰ Context from checks skipped due to timeout of 90000ms (4)
  • GitHub Check: gitStream workflow automation
  • GitHub Check: gitStream.cm
  • GitHub Check: gitStream.cm
  • GitHub Check: build

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
Flow.Launcher/SettingPages/ViewModels/SettingsPanePluginStoreViewModel.cs (1)

99-125: Consider simplifying the SatisfiesFilter method

The language filtering logic is implemented correctly, but could be made more concise.

Consider refactoring for better readability:

public bool SatisfiesFilter(PluginStoreItemViewModel plugin)
{
-    // Check plugin language
-    var pluginShown = false;
-    if (AllowedLanguage.IsDotNet(plugin.Language))
-    {
-        pluginShown = ShowDotNet;
-    }
-    else if (AllowedLanguage.IsPython(plugin.Language))
-    {
-        pluginShown = ShowPython;
-    }
-    else if (AllowedLanguage.IsNodeJs(plugin.Language))
-    {
-        pluginShown = ShowNodeJs;
-    }
-    else if (AllowedLanguage.IsExecutable(plugin.Language))
-    {
-        pluginShown = ShowExecutable;
-    }
-    if (!pluginShown) return false;
-
-    // Check plugin name & description
+    // Check plugin language
+    bool languageShown = 
+        (AllowedLanguage.IsDotNet(plugin.Language) && ShowDotNet) || 
+        (AllowedLanguage.IsPython(plugin.Language) && ShowPython) || 
+        (AllowedLanguage.IsNodeJs(plugin.Language) && ShowNodeJs) || 
+        (AllowedLanguage.IsExecutable(plugin.Language) && ShowExecutable);
+    
+    if (!languageShown) return false;
+    
+    // Check plugin name & description
    return string.IsNullOrEmpty(FilterText) ||
        App.API.FuzzySearch(FilterText, plugin.Name).IsSearchPrecisionScoreMet() ||
        App.API.FuzzySearch(FilterText, plugin.Description).IsSearchPrecisionScoreMet();
}
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9de0eb2 and 7e50eb5.

⛔ Files ignored due to path filters (1)
  • Flow.Launcher/Images/EXE.png is excluded by !**/*.png
📒 Files selected for processing (4)
  • Flow.Launcher.Plugin/AllowedLanguage.cs (2 hunks)
  • Flow.Launcher/SettingPages/ViewModels/SettingsPanePluginStoreViewModel.cs (2 hunks)
  • Flow.Launcher/SettingPages/Views/SettingsPanePluginStore.xaml (2 hunks)
  • Flow.Launcher/SettingPages/Views/SettingsPanePluginStore.xaml.cs (1 hunks)
🧰 Additional context used
🧬 Code Graph Analysis (1)
Flow.Launcher/SettingPages/Views/SettingsPanePluginStore.xaml.cs (1)
Flow.Launcher/SettingPages/ViewModels/SettingsPanePluginStoreViewModel.cs (1)
  • SettingsPanePluginStoreViewModel (10-126)
⏰ Context from checks skipped due to timeout of 90000ms (2)
  • GitHub Check: gitStream.cm
  • GitHub Check: build
🔇 Additional comments (10)
Flow.Launcher/SettingPages/Views/SettingsPanePluginStore.xaml.cs (1)

29-38: LGTM: Property change handling implemented correctly

The switch statement has been properly implemented to handle changes to all filter properties. This ensures the plugin list is refreshed whenever any filter criteria changes, providing immediate visual feedback to users.

Flow.Launcher/SettingPages/Views/SettingsPanePluginStore.xaml (2)

30-31: LGTM: Grid layout improvements

The column definition changes from equal widths to Auto/* provide better responsiveness, allowing the title to take its natural width while giving the rest of the space to the filter controls.


54-140: LGTM: Filter controls UI implementation

The implementation of the language filter checkboxes is well-structured and consistent with the application's design language. The controls are properly arranged in a horizontal StackPanel with appropriate spacing and alignment.

Flow.Launcher.Plugin/AllowedLanguage.cs (5)

67-69: LGTM: Minor formatting changes

The formatting changes to the IsDotNet method maintain consistency with the newly added methods.


71-80: LGTM: Well-implemented Python language check

The IsPython method correctly checks for both Python and PythonV2 language variants using case-insensitive comparison.


82-93: LGTM: Comprehensive Node.js language detection

The IsNodeJs method effectively covers all Node.js-based language variants, including TypeScript and JavaScript (with their V2 variants).


95-104: LGTM: Executable language check implementation

The IsExecutable method properly identifies both Executable and ExecutableV2 language variants using case-insensitive comparison.


113-116: LGTM: Improved IsAllowed method

The refactored IsAllowed method leverages the helper methods, improving code organization and maintainability by centralizing language identification logic.

Flow.Launcher/SettingPages/ViewModels/SettingsPanePluginStoreViewModel.cs (2)

12-24: LGTM: Proper property implementation with notification

The FilterText property has been correctly implemented with a backing field and change notification.


26-80: LGTM: Well-implemented language filter properties

The four new boolean properties (ShowDotNet, ShowPython, ShowNodeJs, ShowExecutable) are properly implemented with backing fields and change notification, enabling the language filtering functionality.

Copy link
Contributor

coderabbitai bot commented Apr 29, 2025

📝 Walkthrough

Walkthrough

This update introduces language-based filtering to the plugin store within the application. The AllowedLanguage class is refactored to encapsulate language group checks into dedicated methods. The plugin store's view model now includes boolean properties for toggling the visibility of plugins by language type (.Net, Python, Node, Executable), with corresponding UI checkboxes added to the XAML layout. The filtering logic in the view model is updated to consider these new properties, and the collection view refresh logic is expanded to respond to changes in any of the filter-related properties.

Changes

File(s) Change Summary
Flow.Launcher.Plugin/AllowedLanguage.cs Refactored language group checks into new static methods (IsPython, IsNodeJs, IsExecutable); updated IsAllowed to use these methods for determining allowed languages.
Flow.Launcher/SettingPages/ViewModels/SettingsPanePluginStoreViewModel.cs Added boolean properties (ShowDotNet, ShowPython, ShowNodeJs, ShowExecutable) with change notifications; updated FilterText property to trigger notifications; modified filtering logic to include language-based filtering.
Flow.Launcher/SettingPages/Views/SettingsPanePluginStore.xaml Updated UI layout: reorganized filter controls into a StackPanel; added checkboxes for language filtering; adjusted column definitions and control arrangement.
Flow.Launcher/SettingPages/Views/SettingsPanePluginStore.xaml.cs Modified property change event handler to refresh the plugin collection view when any filter-related property changes, using a switch statement for multiple properties.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant UI (SettingsPanePluginStore.xaml)
    participant ViewModel
    participant AllowedLanguage

    User->>UI (SettingsPanePluginStore.xaml): Toggle language checkbox or update filter text
    UI (SettingsPanePluginStore.xaml)->>ViewModel: Update property (ShowDotNet, ShowPython, etc. or FilterText)
    ViewModel->>ViewModel: OnPropertyChanged triggers
    ViewModel->>UI (SettingsPanePluginStore.xaml.cs): PropertyChanged event
    UI (SettingsPanePluginStore.xaml.cs)->>UI (SettingsPanePluginStore.xaml.cs): Refresh PluginStoreCollectionView
    ViewModel->>AllowedLanguage: Check plugin language group (IsPython, IsNodeJs, etc.)
    AllowedLanguage-->>ViewModel: Return boolean for language match
    ViewModel->>UI (SettingsPanePluginStore.xaml): Display filtered plugin list
Loading

Suggested labels

kind/ui

Suggested reviewers

  • jjw24
  • onesounds

Poem

A rabbit hopped through lines of code,
Filtering plugins by their mode.
.Net, Python, Node, and Exe—
Check a box, the list obeys!
With UI neat and logic clear,
The perfect plugins now appear.
🐇✨


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9de0eb2 and 7e50eb5.

⛔ Files ignored due to path filters (1)
  • Flow.Launcher/Images/EXE.png is excluded by !**/*.png
📒 Files selected for processing (4)
  • Flow.Launcher.Plugin/AllowedLanguage.cs (2 hunks)
  • Flow.Launcher/SettingPages/ViewModels/SettingsPanePluginStoreViewModel.cs (2 hunks)
  • Flow.Launcher/SettingPages/Views/SettingsPanePluginStore.xaml (2 hunks)
  • Flow.Launcher/SettingPages/Views/SettingsPanePluginStore.xaml.cs (1 hunks)
🧰 Additional context used
🧬 Code Graph Analysis (2)
Flow.Launcher/SettingPages/Views/SettingsPanePluginStore.xaml.cs (1)
Flow.Launcher/SettingPages/ViewModels/SettingsPanePluginStoreViewModel.cs (1)
  • SettingsPanePluginStoreViewModel (10-126)
Flow.Launcher/SettingPages/ViewModels/SettingsPanePluginStoreViewModel.cs (1)
Flow.Launcher.Plugin/AllowedLanguage.cs (5)
  • AllowedLanguage (8-118)
  • IsDotNet (65-69)
  • IsPython (76-80)
  • IsNodeJs (87-93)
  • IsExecutable (100-104)
⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: gitStream workflow automation
  • GitHub Check: gitStream.cm
  • GitHub Check: build
🔇 Additional comments (9)
Flow.Launcher/SettingPages/Views/SettingsPanePluginStore.xaml.cs (1)

29-37: Improved event handling for multiple filters.

The switch statement elegantly handles all filter-related property changes, ensuring the collection view refreshes appropriately when any filter criteria changes. This is a clean implementation that maintains consistency with the new filtering capabilities.

Flow.Launcher/SettingPages/Views/SettingsPanePluginStore.xaml (2)

30-31: LGTM: Column definitions adjusted to support the new UI layout.

The column width modifications properly support the UI reorganization for the new filtering controls.


54-140: Well-structured UI for language filtering options.

The UI implementation for language filtering is clean and consistent. The checkboxes have been properly arranged in a horizontal StackPanel alongside the existing filter textbox and refresh button. All controls have appropriate margins, alignment, and binding to their corresponding ViewModel properties.

Flow.Launcher.Plugin/AllowedLanguage.cs (3)

67-69: LGTM: Code formatting looks good.

The formatting change with proper line breaks improves readability.


71-104: Good encapsulation of language detection logic.

The extraction of language group checks into dedicated methods (IsPython, IsNodeJs, and IsExecutable) improves modularity and readability. The consistent approach using case-insensitive string comparisons is appropriate and follows the established pattern from IsDotNet.


113-116: LGTM: Updates to IsAllowed method leverages new helper methods.

The IsAllowed method correctly utilizes the newly added language check methods, maintaining good code organization.

Flow.Launcher/SettingPages/ViewModels/SettingsPanePluginStoreViewModel.cs (3)

12-24: Good property implementation with backing field.

The FilterText property implementation with a backing field and change notification follows good MVVM practices. The null check before triggering property change is a good defensive programming practice.


26-80: Well-structured filter toggle properties.

The boolean properties for language filtering (ShowDotNet, ShowPython, ShowNodeJs, ShowExecutable) follow a consistent pattern and are properly initialized to true as sensible defaults. Each property correctly implements change notification through OnPropertyChanged().


99-125: Effective implementation of language-based filtering.

The SatisfiesFilter method now properly implements a two-stage filtering approach:

  1. First filters plugins by language based on user preferences
  2. Then applies text-based filtering on name and description

The implementation is efficient, exiting early if the plugin doesn't match the language filter criteria.

✨ Finishing Touches
  • 📝 Generate Docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@onesounds
Copy link
Contributor

image

@Jack251970 Done. Test it.

onesounds
onesounds previously approved these changes Apr 29, 2025

This comment has been minimized.

@Jack251970
Copy link
Contributor Author

Tested and it works well. I have adjusted little for the button & menu flyout.

Copy link

@check-spelling-bot Report

🔴 Please review

See the 📂 files view, the 📜action log, or 📝 job summary for details.

❌ Errors and Warnings Count
❌ forbidden-pattern 22
⚠️ non-alpha-in-dictionary 19

See ❌ Event descriptions for more information.

If the flagged items are 🤯 false positives

If items relate to a ...

  • binary file (or some other file you wouldn't want to check at all).

    Please add a file path to the excludes.txt file matching the containing file.

    File paths are Perl 5 Regular Expressions - you can test yours before committing to verify it will match your files.

    ^ refers to the file's path from the root of the repository, so ^README\.md$ would exclude README.md (on whichever branch you're using).

  • well-formed pattern.

    If you can write a pattern that would match it,
    try adding it to the patterns.txt file.

    Patterns are Perl 5 Regular Expressions - you can test yours before committing to verify it will match your lines.

    Note that patterns can't match multiline strings.

@Jack251970 Jack251970 enabled auto-merge April 29, 2025 11:36
@Jack251970 Jack251970 added this to the 1.20.0 milestone Apr 29, 2025
@Jack251970 Jack251970 merged commit b36562a into dev Apr 29, 2025
10 checks passed
@Jack251970 Jack251970 deleted the plugin_filters branch April 29, 2025 12:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants