singerdmx / flutter-quill

Rich text editor for Flutter
https://pub.dev/packages/flutter_quill
MIT License
2.6k stars 840 forks source link

Invoking macOS intents that have missing actions #2288

Open EchoEllet opened 2 months ago

EchoEllet commented 2 months ago

Currently, we have some intents that need actions to work properly. Take a look at this comment. Intent like ExtendSelectionToNextParagraphBoundaryOrCaretLocationIntent needs to be implemented, also should separate the intent and actions of macOS from the others since they might not need to be registered in defaultSinlgeActivatorIntents(), see this comment. Having them without any reason can be confusing.

This issue was written quickly without much of details as we're currently in the middle of other tasks, reporting this issue so we don't lose track of issues.

EchoEllet commented 2 months ago

Some intents such as QuillEditorApplyHeaderIntent doesn't have related actions, and don't work as far as I have tested.

EchoEllet commented 2 months ago

Testing on Linux, some of the intents doesn't work it all or work differetnly without using the same intent/action, it's still not quite clear

https://github.com/user-attachments/assets/83200d79-ac50-4c4a-8d0f-d12d892d962e

On the long term, we will probably need to fully rewrite the Keyboard shortcuts functionality.

AtlasAutocode commented 2 months ago

On the long term, we will probably need to fully rewrite the Keyboard shortcuts functionality.

Yes. It is hit or miss whether something works or not.

A lot of the macOS shortcuts do not work and other apps for the mac do not seem to implement keyboard actions in a consistent fashion (example: what do the Home and End keys do? Different apps do different things!) I am sure you have this link to Apple keyboard shortcuts for the mac: Shortcuts

EchoEllet commented 2 months ago

Sure but the main issue is not with the functionality, it's with the project code quality, the readability, and consistency, we have already discussed some of the issues so I will avoid the details here to not repeat the discussion here, instead we should have one issue with all of our points simplified.

If #2279 was a functionality issue, then I have already fixed it on the same day. You have said it yourself, we only understand 10% of the project code, so many questions and no answers which leads us to introduce regressions or completely detach the changes we're making.