* It looks either a bit confusing or to have some bugs (without having investigated deeply, it did things I didn't understand); * It marks all lines when reloading a file (instead of resetting to a blank slate); * If marker margin is not visible, it can render the editor unreadable with the default settings; * I don't see any obvious use case given its current behavior that warrants a so visible feature by default; * I don't think the feature is obvious at first glance, which could easily lead users to wonder what that line is about. It also looks similar to other editor's VCS commit status indicator (including git-changebar Geany plugin) display, yet behaves very differently, possibly increasing confusion.
So for now, I think it's better to have it disabled by default.
See also discussion starting at https://github.com/geany/geany/pull/3551#issuecomment-1751809855 Opinions @kugel- @eht16 @techee @elextr @ntrel and everyone else? You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/3591
-- Commit Summary --
* Do not enable Scintilla's Change History by default
-- File Changes --
M src/keyfile.c (2)
-- Patch Links --
https://github.com/geany/geany/pull/3591.patch https://github.com/geany/geany/pull/3591.diff
Agree. I was very surprised when I first saw it and thought "what went wrong with git-changebar?" and it definitely lead to some confusion for me.
Also a suggestion of some possible improvements that could be done in the future: * make the colors configurable, possibly in `filetypes.common` * the Preferences->Editor->Display tab is getting too big and increases the size of the whole Preferences dialog. Maybe we should add one more tab instead
Maybe Scintilla needs to export some controls, such as resetting when the user does reload, although of course that can be undone, so maybe not. Agree off by default until we get more experience with it.
BTW looking at https://scintilla.org/ScintillaDoc.html#ChangeHistory, if we only showed `!SC_MARKNUM_HISTORY_SAVED` (e.g. display what's *not* saved to disk) it could be a lot easier to grasp, and probably more useful as well. But that's for later I think :)
As said earlier, I also vote for disabling the feature by default.
Fine with me
Merged #3591 into master.
Maybe Scintilla needs to export some controls, such as resetting when the user does reload, although of course that can be undone, so maybe not.
Some downstream projects have actually resorted to emptying the undo buffer on file reload, then toggling Scintilla's edit tracker off and on, to simulate a freshly opened file: notepad-plus-plus/notepad-plus-plus#13858
An ugly hack, for sure, and then there's the `files.keep_edit_history_on_reload` option, which would have to be overstepped whenever change history is active.
Good call to leave it off; it's a self-confessed work in progress, anyway:
During the long development of change history, users (including application developers) were uninterested in details and even argued in favour of inaccurate implementations as better than nothing.
github-comments@lists.geany.org