helix-editor / helix

A post-modern modal text editor.
https://helix-editor.com
Mozilla Public License 2.0
31.64k stars 2.34k forks source link

Customizable statusbar - multiple separators and colors #5868

Closed quomat closed 3 months ago

quomat commented 1 year ago

Hi, currently Helix's statusbar can be configured using a handful of components. There is also a separator support. The most important component, mode indicator, can be colored using color-modes = true in the config. Themes can set the following colors:

ui.statusline.inactive
ui.statusline.normal 
ui.statusline.insert
ui.statusline.select
ui.statusline.separator

However, this set of properties is limited. I would expect to be able to customize it like in the nvim plugin lualine. Reference images:

One particular problem I had is that the powerline separators can not be colored at all, so with the color-modes = true the slant lines are not colored. More generally, having the capability to color every component of the statusline would be helpful for theme creators.

Either:

I think that Helix's strong side is that it's amazing without plugins and we already have this small set of statusline coloring properties, so I feel it is not that far of a stretch to extend the customization further.

CptPotato commented 1 year ago

For a mode separator with theming support there's already #5022.

usagi-flow commented 1 year ago

I like the idea a lot and don't think this functionality should be a plugin.

This level of customization was a bit out of scope when we made the status line configurable (#2434): There wasn't even a colored mode back then. However, I definitely believe the suggested configurability belongs to the existing feature.

I think it'd be great if we'd generalize the theming of the mode and mode separator, i.e. each element can, optionally, be styled (e.g. like the mode element, but it could also be styled differently).

I imagine a generic and realistic solution as follows:

Any further feedback to this would be greatly appreciated. :)

ItsSunnyMonster commented 3 months ago

It seems that #5022 was closed last year without any reason. Are there still plans to support this?