Repository navigation
Add word wrap action - #9767
Add word wrap action#9767abelhafi wants to merge 1 commit into
Conversation
43cfa64 to
ed9b0cd
Compare
d21e562 to
c4e1133
Compare
|
Nice, thx. I thought to add a toggle to the editor toolbar. What was you reason for the view menu entry? |
|
Hello, I’ve added the action to the View menu, following the pattern seen in other applications like Notepad++ and VS Code. Also because I prefer to keep the editor clean. Greetings. |
3d64abc to
9aa6671
Compare
|
@abelhafi don't forget to add someone as a reviewer :) |
Prior to this commit, word wrap could only be configured globally or per MIME type under Tools/Options/Editor/Formatting. Consequently, setting different word wrap settings for two individual files of the same MIME type was not supported. This commit adds a new "Word Wrap" checkbox action to the View menu to toggle word wrap for the active editor instance. The action is disabled when word wrap cannot be applied to the current context and comes assigned with the ALT-Z keyboard shortcut, which can be reconfigured via Tools/Options/Keymap. Closes apache#9550
9aa6671 to
e201c23
Compare
|
I'll have a look at this. @abelhafi there is no need for constant rebases. If CI would be enabled each forced push would trigger a rebuild and NB is already straining the resources. When review is done, depending on complexity of the PR and intermittend fixes, a final rebase might be necessary or be advisable. |
matthiasblaesing
left a comment
There was a problem hiding this comment.
@abelhafi thank you for working on this. The implementation looks clean with the drawbacks that are mention in the documentation.
Let me suggest a slight different approach:
Wrapping is not a boolean, so why not expose the three possible values directly. I did not look to deeply into the implementation, but where there is currently a checkbox menuitem, this could be a submenu with the three options that could be directly switched. The keystroke could invoke a "Toggle Wrap" that cycles through wrapping modes "Off" -> "After words" -> "Anywhere". That way there does not need to be a compromise, in worst case toggle has to be invoked 2 times more to reach the original state again.
| /** | ||
| * Constant representing no line wrapping, mapping to | ||
| * {@link LineWrapType#NONE}. This is also used as the fallback treatment for | ||
| * {@link LineWrapType#CHARACTER_BOUND}. | ||
| */ | ||
| private static final String NONE = "none"; //NOI18N | ||
|
|
||
| /** | ||
| * Constant representing standard word wrapping, mapping to | ||
| * {@link LineWrapType#WORD_BOUND}. | ||
| */ | ||
| private static final String WORDS = "words"; //NOI18N |
There was a problem hiding this comment.
This makes sense to me, if we assume that we don't want to introduce new dependencies/API. But looking at LineWrapType, the values encoded there are already API as they are used at multiple places and persitence. So from my POV, given that fromSettingValue already exists, I suggest to introduce getSettingValue to return that value. Drop the local definitions and deal with LineWrapType where possible.
Prior to this commit, word wrap could only be configured globally or per MIME type under Tools/Options/Editor/Formatting. Consequently, setting different word wrap settings for two individual files of the same MIME type was not supported.
This commit adds a new "Word Wrap" checkbox action to the View menu to toggle word wrap for the active editor instance. The action is disabled when word wrap cannot be applied to the current context and comes assigned with the ALT-Z keyboard shortcut, which can be reconfigured via Tools/Options/Keymap.
Closes #9550
^Add meaningful description above
Click to collapse/expand PR instructions
By opening a pull request you confirm that, unless explicitly stated otherwise, the changes -
LLMs, Commit messages and PR description:
git log) that all commits have a valid name and email address for you in the Author field.Assisted-by: MODEL_NAME MODEL_VERSIONline appended to the commit message.Assisted-byline from above)If you're a first time contributor, see the Contributing guidelines for more information.
If you're a committer, please label the PR before pressing "Create pull request" so that the right test jobs can run.
PR approval and merge checklist:
If this PR targets the delivery branch: don't merge. (full wiki article)