elves / elvish

Powerful scripting language & versatile interactive shell
https://elv.sh/
BSD 2-Clause "Simplified" License
5.65k stars 299 forks source link

API to change the in-command colours? #1813

Closed IngwiePhoenix closed 3 months ago

IngwiePhoenix commented 4 months ago

What new feature should Elvish have?

Right now, these are the default colors in Elvish:

image

But I quite like the blue color scheme that Fish uses; so I would like to be able to set those colors myself, if possible.

I looked into the store and edit hooks; but couldn't find the related hooks.

Output of "elvish -version"

0.20.1+official

Code of Conduct

krader1961 commented 4 months ago

Elvish currently does not support customizing its color scheme. This is a duplicate of issue #1001. This question pops up on the discussion forums (or issues like this one) from time to time but so seldom it hasn't become a priority to implement a method for customizing the color theme. And so far no one has been motivated enough to write the necessary code. 😺

krader1961 commented 4 months ago

And so far no one has been motivated enough to write the necessary code.

An example of being motivated to work on a change that might not otherwise happen any time soon is my work to replace the Elvish daemon and dependency on the BoltDB project with a far simpler, traditional, flat-file store for shell history. When I started using Elvish I often encountered errors involving the daemon. I haven't encountered any of those problems in several years but still dislike that Elvish interactive history is stored in a huge binary blob that requires a dependency of a large project and the need for all Elvish instances to talk to a daemon over RPC to manipulate the history store. So for approximately four months I have been working on a series of changes to replace that daemon and BoltDB dependency with a far simpler mechanism that stores the history in a simple JSON encoded flat-file.

I haven't felt strongly enough about being able to customize the editor theme because the existing default theme works well enough for me given I use a terminal with a "light" (rather than "dark") background. The Elvish default colors are different from those I customized Fish, Ksh, or Bash to use but are "good enough". Passionate users like yourself, @IngwiePhoenix, are encouraged to submit changes that will benefit all users.

xiaq commented 3 months ago

Closing as this is a duplicate.

I'm rewriting the TUI stack pretty soon and customizable theme will be one of the things that'll be supported.