forked from kevadesu/forgejo
This overrides handling of Tab and Enter keys in the ComboMarkdownEditor, so that: * Pressing Tab prepending 4 spaces to the line under cursor, or all the lines in the selection. * Pressing Shift+Tab removes up to 4 spaces. * Pressing Enter repeats any indentation and a "repeatable" prefix (list or blockquote) from the current line. Since Tab "capture" can interfere with keyboard navigation, it's only done if there was any previous input in the textarea or if it was selected with a pointer. Additionally, presing Esc will make the textarea lose focus, resuming tab navigation. This seems adequate to me, but I might be wrong. Had to use the "deprecated" execCommand method, since anything else I tried messes up the undo history. There's a fallback for when (if?) it's actually removed. Only tested in desktop Firefox and Chrome so far. Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4072 Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org> Reviewed-by: Beowulf <beowulf@noreply.codeberg.org> Co-authored-by: Danko Aleksejevs <danko@very.lv> Co-committed-by: Danko Aleksejevs <danko@very.lv>
This commit is contained in:
parent
aa20248c83
commit
221ca0c404
3 changed files with 294 additions and 0 deletions
7
release-notes/8.0.0/feat/4072.md
Normal file
7
release-notes/8.0.0/feat/4072.md
Normal file
|
@ -0,0 +1,7 @@
|
|||
Added handling of Tab and Enter keys to the new Markdown editor, in line with what standalone text editors usually do. This is mostly focused on quickly writing and rearranging lists.
|
||||
|
||||
- Pressing Tab prepending 4 spaces to the line under cursor, or all the lines in the selection.
|
||||
- Pressing Shift+Tab removes up to 4 spaces.
|
||||
- Pressing Enter repeats any indentation and a "repeatable" prefix (list or blockquote) from the current line.
|
||||
- To avoid interfering with keyboard navigation, the Tab presses are only handled once there has been some other interaction with the element after focusing.
|
||||
- Pressing Escape removes focus from the editor and resumes default Tab navigation.
|
Loading…
Add table
Add a link
Reference in a new issue