helix icon indicating copy to clipboard operation
helix copied to clipboard

many built-in themes do not have a separate highlight color for the primary selection

Open BrianHicks opened this issue 2 years ago • 24 comments

Summary

I've been trying to find a theme I like for use in Helix. Not hard—there are many good options—but I've had to decide against a lot of them because they do not have a separate color for the primary selection. (I use multiple selections a lot, so this is a problem for me!) Themes that seem to have this problem:

  • acme
  • autumn
  • autumn_night
  • ayu_dark
  • ayu_light
  • ayu_mirage
  • base16_default
  • base16_default_dark
  • base16_default_light
  • base16_terminal
  • base16_transparent
  • bogster
  • boo_berry
  • default (oh no!)
  • doom_acario_dark
  • everforest_dark
  • everforest_light
  • flatwhite
  • fleetish
  • gruvbox
  • gruvbox_light
  • noctis_bordo
  • nord_light
  • papercolor-light
  • penumbra+
  • rose_pine
  • rose_pine_dawn
  • rose_pine_moon
  • serika-dark
  • serika-light
  • sonokai
  • tokyonight
  • tokyonight_storm

Reproduction Steps

Load up a big file (I used /usr/share/dict/words) and select some lines, then hit a-s to split into multiple lines. Cycle through the themes. I expected that all (or at least most) of the themes would show a difference between the primary and non-primary selections, but many of them do not.

https://asciinema.org/a/9gvV6uuz0QKLppxU9hA2aLLbo

Helix log

I've skipped providing this because it is not causing crashes or anything. Please LMK if it would still be helpful.

Platform

macOS

Terminal Emulator

wezterm 20220426-073620-4d09fe1f

Helix Version

helix 22.08.1 (66276ce6)

BrianHicks avatar Sep 14 '22 21:09 BrianHicks

I had opened an issue about this a while ago: #1833

Omnikar avatar Sep 14 '22 22:09 Omnikar

oh! Sorry, I searched around but didn't find that one. Regardless, that's the complete list of themes with this problem at the current release.

BrianHicks avatar Sep 14 '22 22:09 BrianHicks

I've added this as a requirement to #3234

AlexanderBrevig avatar Sep 14 '22 23:09 AlexanderBrevig

For me this is not a problem but a feature. Since all selections are edited at once, there is no "primary" apart from view focus. The default theme deliberately doesn't style it differently.

archseer avatar Sep 15 '22 02:09 archseer

For me this is not a problem but a feature. Since all selections are edited at once, there is no "primary" apart from view focus. The default theme deliberately doesn't style it differently.

It's not always apparent what , will do then, especially for beginners. Isn't the inclusion of ui.selection.primary in the code, an indication that it intended to be a visible difference?

AlexanderBrevig avatar Sep 15 '22 05:09 AlexanderBrevig

For me this is not a problem but a feature. Since all selections are edited at once, there is no "primary" apart from view focus. The default theme deliberately doesn't style it differently.

Not a hugely important distinction, but with searching and n/N, the primary selection is the one that is moved to the search match.

I also like to know where my cursor will be when I , out.

n0s4 avatar Sep 15 '22 16:09 n0s4

It's not always apparent what , will do then, especially for beginners.

not just beginners—it's literally impossible to see which match Alt-, will affect

e.g. suppose you have the following text selected:

"from", "suppliers",
"localField", "_id",
"foreignField", "_id",
"as", "supplier",

and you want to change the first , on each line to :

one method would be to select all commas (s,Return) and then cycle+deselect the line ending commas (Alt-,+()

but it's impossible to see where the primary cursor is which makes this extremely difficult

gf3 avatar Sep 15 '22 20:09 gf3

Prior discussion: https://www.reddit.com/r/kakoune/comments/txxv46/the_importance_of_distinguishing_primary_from/

I agree that maybe less distracting would be only coloring differently the primary cursor, not the whole selection.

archseer avatar Sep 16 '22 03:09 archseer

Just to add to this: in section 10.1 of the hx --tutor, the features of cycling and removing selections are demonstrated. Since the default theme does not have a way to distinguish the primary selection, it appears that ( and ) don't do anything (especially to someone new to helix). Basically, it gives the impression that something is broken.

taranlu-houzz avatar Oct 06 '22 19:10 taranlu-houzz

I just came across this in the way that @taranlu-houzz suggests, from 10.1 of the tutor. I think it should be quite a clear difference in every theme, personally, as this is such a selection-centric editing experience (I haven't used vi before so this is all new to me). For those interested, these clearly distinguish both primary cursor and primary selection:

  • dracula
  • dracula_at_night

These clearly distinguish primary selection, not so much cursor:

  • dark_plus
  • snazzy

I will be using dark_plus, for now.

JakeEP avatar Dec 23 '22 16:12 JakeEP

A new Helix 23.05 user here. Annoyed a bit by the fact that the even the note ( #5309 ) wasn't added to the tutorial.

Many hours were wasted because I thought the problem was in my system. Finally I ended up here.

I understand that changing the themes might take some time, but for the sake of newcomers who begin with the tutorial straight away, I'd say that's urgent. At least for the 'default' theme.

Image for the newcomers in here, that shows how nicely the theme 'ayu_evolve', for example, indicates the primary selection:

image

manujarvinen avatar Aug 03 '23 20:08 manujarvinen

Either it's me or even the default theme doesn't show the difference, I don't understand how it isn't patch yet

noahfraiture avatar Apr 12 '24 22:04 noahfraiture

A new Helix 23.05 user here. Annoyed a bit by the fact that the even the note ( #5309 ) wasn't added to the tutorial.

Many hours were wasted because I thought the problem was in my system. Finally I ended up here.

I understand that changing the themes might take some time, but for the sake of newcomers who begin with the tutorial straight away, I'd say that's urgent. At least for the 'default' theme.

Image for the newcomers in here, that shows how nicely the theme 'ayu_evolve', for example, indicates the primary selection:

image

@manujarvinen Sorry if this is a bit off topic, but could you tell me which font you are using?

enricoKoschel avatar May 01 '24 14:05 enricoKoschel

@manujarvinen Sorry if this is a bit off topic, but could you tell me which font you are using?

By all means, I like the font very much. It suits Helix very nicely. It's from www.nerdfonts.com -> IosevkaTerm Nerd Font (can't remember the thickness, try to see what you like)

manujarvinen avatar May 02 '24 07:05 manujarvinen

Are there any theme compatible with macOS Terminal.app (which doesn't have true color support) with which one can differentiate the primary selection? Trying to use alt, to drop some unwanted selections, but I'm flying blind here.

n8henrie avatar May 08 '24 19:05 n8henrie

Another new user here who just wasted a lot of time because of this issue. It's ridiculous that this issue is almost two years old. This is exactly the kind of first impression that will drive people away from giving Helix a fair shot.

austinthresher avatar Jun 21 '24 15:06 austinthresher