diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2025-04-04 03:36:17 +0300 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2025-04-04 03:53:07 +0300 |
commit | d2f759a1d4c8a42db73ac62cb8317847a1b40249 (patch) | |
tree | 780f2fe82f56d6d35409e9fe79b2402282a6df6e /AUTHORS | |
parent | b391858790d19a5e91efc824a3329350bc3928d9 (diff) | |
download | sciteco-d2f759a1d4c8a42db73ac62cb8317847a1b40249.tar.gz |
scroll caret __almost__ always automatically after key presses
* The old heuristics - scroll if dot changes after key press -
turned out to be too simplistic.
They broke the clang-format macro (M#cf), which left the view at the
top of the document since the entire document is temporarily erased.
Other simplified examples of this bug would be:
@^Um{[: HECcat$ ]:} Mm
Or even: @^Um{[: H@X.aG.a ]:} Mm
* Actually, the heuristics could be tricked even without deleting any
significant amount of text from the buffer.
The following test case replaces the previous character with a linefeed
in a single key press:
@^Um{-DI^J$} Mm
If executed on the last visible line, dot wouldn't be scrolled into the view
since it did not change.
* At the same time, we'd like to keep the existing mouse scroll behavior from
fnkeys.tes, which is allowed to scroll dot outside of the visible area.
Therefore, dot is scrolled into view always, except after mouse events.
You may have to call SCI_SCROLLCARET manually in the ^KMOUSE macro,
which is arguably not always straight forward.
* Some macros like M#cf may still leave the vertical scrolling position
in unexpected positions. This could either be fixed by eradicating all
remaining automatic scrolling from Scintilla or by explicitly restoring
the vertical position from the macro (FIXME).
* This was broken since the introduction of mouse support,
so it wasn't in v2.3.0.
Diffstat (limited to 'AUTHORS')
0 files changed, 0 insertions, 0 deletions