Your comments

... "system", it's what I said in the post from June 3.

While win, mac and gtk are OK.

But it's not really an issue, I just use gtk now.

Well, it's exactly the same issue as when setting `styledtext.useOwnWordBoundaryDetection = false` before.

If I start here:

|a_b c_d


and I repeatedly press Ctrl+Right, I go there:

a|_b c_d

a_b| c_d

a_b c|_d

a_b c_d|

which is quite slow.

Thanks, 24.1 > styledtext.wordCaretMovementType seems to replace the styledtext.useOwnWordBoundaryDetection entirely but the enum offers more options. "system" is the equivalent of styledtext.useOwnWordBoundaryDetection = true and has the issues I mentioned on Ubuntu, while win, mac and gtk behave as I wanted, one pause per space and skipping underscores.

Finally, word-boundaries also stops once per space but also stops at underscores, like system, but it's good to have a system-independent option for people who reliably want to pause at underscores.

So I'll go with win/mac/gtk, good for 99% of my usage, and I'll be waiting for Subword navigation shortcut feature (link in my previous post).

Note: I'm actually the OP but switched account without noticing at some point.

Reading https://smartgit.userecho.com/communities/1/topics/1562-word-navigation-ctrlleftright-do-not-stop-before-and-after-every-space I found out that the Preferences > Low-level properties > styledtext.useOwnWordBoundaryDetection = false will use the system default boundary detection, and not only affect ctrl+left/right navigation but also double click selection.

Therefore keeping it true will select snake_case_words indeed, but if you set it to false in order to avoid stopping at the left and right of every space during ctrl+left/right navigation, you will also detect boundaries at underscores, breaking highlight on double-click at underscores (at least in Ubuntu 22.04 x SmartGit 23.1.2).

So I'm still looking for an ideal solution.

Great, it works on Linux Ubuntu / Unity desktop to not stop at spaces, and probably other OSes since they use the same convention in other text editors!

But after more testing I understood why the new boundary detection was added: my system default stops at both hyphens and underscores, which is useful when editing subwords but very slow when navigating across a commit message filled with snake_case variable names.

So to get the best of both worlds, I'd either need:

- more options to decide atomically if hyphen - and underscore _ are boundaries

- commands with customisable shortcuts to navigate to previous/next subword (e.g. ctrl+alt+left, ctrl+alt+right - maybe not great with some window managers where it's mapped to snapping windows left/right, but alt+left/right was already taken - anyway, the defaults could be left empty as long as it's customisable)


That would be for another issue though, the space stop was what was taking me the most time. I'll open another issue for underscores.

Thanks, I see all overridden properties automatically appear there, for the rest I have to type part of the property name (except `smartgit.` to search and set them).

(screenshot after clicking to accept the risks)

Image 838

Excellent, the Force Compare button was still annoying to press every time I was looking at big serialized text files (such as Godot engine .tscn). I wish there was a way to just tell SmartGit to force compare files ending with a certain extension.

Anyway, I added the lines to smartgit.properties, the critical one was the one with `smartgit.text.maxLineLength` in my case (for the quick diff preview at least). Not sure why it's called like that since the message near the Force Compare button mentions overall file size, rather than line length...

Where are those properties documented though? I couldn't find them online. Since there is no UI for them it would help users who need advanced tweaking; and ideally they should eventually get their own UI in Preferences, esp. the major ones like maxLineLength.