themerdev/themer

ls support - dircolors paradox

lafleurdeboum opened this issue · 1 comments

Problem

I built a themer-ls plugin for themer, so as (obviously) to use themer colors in ls. While I was debugging it, I noticed that it didn't work at all, and finally found out that a dircolors instruction was hidden in a dotfile for a number of years. After removing it, I found out that there was no need for themer-ls, as ls on its own uses the 8 basic colors defined by themer. But under some circumstances that I could not reproduce, eval $(dircolors) sets some different color codes.

Solution

My point is : there should be somewhere in this project where to state that themer sets true colors inside the 8 first color codes in console. Color management in console is so historically twisted that I'm not even sure I am right putting it like that. But if I am, I think this should be at least stated in the About section of the README. I would say, explain the concept, instead of relying on base16 to do so. Perhaps give some examples, like what exact shade of green should be expected when running

echo "$(tput setaf 2)hello"

be it in a terminal emulator or directly in console.

Alternative

Do nothing. I wouldn't mind. I'm mostly concerned for next-to-come people's headaches. That won't stop me from sleeping at night (when I do).

Thanks for the write-up, @lafleurdeboum .

ls on its own uses the 8 basic colors defined by themer.

To gain some shared context, which terminal emulator are you using from this list? https://github.com/mjswensen/themer#terminals

I'm thinking that the best place for this type of documentation would be in the README that themer generates (the one that contains installation instructions for the outputted themes). That way it's clear as the user is installing the theme exactly the expected effects of installation. Thanks for bringing this up.