-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Vim colorscheme, separate repo, togglebg, 24bit RGB #47
Comments
I am looking at adding a light, black, white theme to lightline.vim, looks like dark is already done. In my screenshots I used Solarized for the left side (with termite), and selenized-dark skin for the right (termite). I am thinking this vim theme really needs some work, besides #33 #35 #39 which I have both verified are issues. For example spelling/grammar should use red/blue wavy line as its much neater. The nice thing about the wavy line is it's obvious enough you can see it but not obtrusive enough that you turn it off. This means you can leave " I used to be a long time urxvt user. I have recently decided however to give up on it. rxvt-unicode uses libxft which means that it will likely never able to be run as a Wayland native application, something I am now considering since I've started using sway. After working on a11y particularly in regard to blindness, I noticed that these types of applications are absolutely unusable with a screen reader. As are ones which use libxcb, eg Rofi. Even though I really like Rofi, I have turned termite into a floating launcher for that reason. Could also use bemenu I guess. To get urxvt working correctly, with extra gylphs, one has to set backup fonts, even with that I have only had marginal success. Then other things like cut and paste and clickable URLs need special configuration and crufty perl scripts. All in all, I start to question the efficiency gained from using such a minimal terminal. /end rant Ie see this example (the color test can be run with We should also have a true-color theme for those that use neovim-qt. This may effect things like gvim too. On the left we see the colors stay to what they should be. However if we used the solarized theme (the one for terminal), we see this: This means in total we will need 8 'themes', light, dark, black, white 16bit for terminal, and light, dark, black, white for 24bit RGB. |
Somehow I forgot to look into this one earlier - sorry! |
Out of all my themes, (n)vim is the most important 😀 (sorry emacs people), (though I do want to make sure a good emacs theme is available too). It is the last thing stopping me switching my terminal over to selenized, because I so often use it.
Will do, I kinda liked the way the solarized theme was with the code folds so I might try to cook something up similar to that. |
Ideally it would be great if we could reduce this down to one file, I would be keen to not have a truecolor version if that can be avoided, as if we can get that to work in the main theme. Perhaps these could also be of help:
I do like the format of the solarized.vim theme, with the code folds and that. I think we could make use of "Alternate light scheme" and "optional contrast schemes" ie I am not however sure how we would do this with the palette colors having the same name. Ie br_green in the white palette is different to br_green in the dark palette. I have stopped working on this until we can decide how we want to proceed. |
It may not be necessary to have a separate color scheme, maybe we can do something like vim-solarized8, I have seen that particular 'solarized' variant used quite a lot these days.
Also, How to Create Proper Folding for Vim/Nvim Configuration Turns out not all terminal emulators are going to be truecolor, urxvt and terminlogy being two of them. I guess if we did it like: vim-solarized8 it would fallback to the 256 color theme. I also expect that vim-colortemplate could be very useful to us. Would be great if we could get something included in vim/vim#1665 |
I have started mucking around with it here: I am a bit stuck though on the Violet and Orange colors and their bright versions. I seem to get an error when trying to specify those. |
Colortemplate’s author here. Please see |
Ah okay, so for guicolors i will just say "Orange" and "Violet" because there is no "Light" version of that? It would have been nice to have all the colors defined for "completeness" sake even if only used in GUI mode. Another question, is it possible to have all four variants in the same colortemplate, ie light, dark, black, white or should I keep them separate like that. We have four pallettes and when I tried to have anything but "light" and "dark" in the same file I got an error related to that. (Sorry a bit new to vim color scheming). |
In Colortemplate, a In these definitions:
the last column has invalid color names. Note that whatever (valid) names you use, there is no guarantee that they will correspond to a particular color: that depends entirely on one's terminal settings. E.g., in my terminal, my current settings are like this: If I used your color scheme with Note that for Solarized, most colors in the “Bright“ line (colors 8–15) are in fact shades of gray, and bright magenta is actually violet (Solarized is a bad example of a terminal color palette).
You have two color palettes for dark background and two color palette for light backround, so IMO the cleanest approach is to use two independent colortemplate files and generate two independent color schemes. For example:
and
You might put everything in a single template, though: in that case, you most likely would need to define a user option to select dark/light vs black/white. For example:
The
I recommend reading Edit: sent incomplete reply! |
wow I was not expecting a reply like that 😄 I have been having a look over I should be able to use most of the same file to do the black and white version later. Your template plugin does look like it will produce a nice clean theme definition. I would very much like to use it. I am sure @jan-warchol will agree.
I guess I can just not set the last column. I know it won't be used. What I am wondering is how I should set the foreground/background, those colors are different. For example with the dark variant. I read the section there in I am getting a weird background which appears to be In the case of selenized dark it should be I was trying to get that sorted out before mucking around with the Foreground/Background part of the highlight group. My termite config configuration has them set. For some reason though It does not look right at all :( I know that I haven't yet configured the definitions for all variants. Also is there a pros/cons to setting the definition with rgb() in the pallette as opposed to the shorter hexadecimal value? I was curious about that.
Ah yes I'm aware of that, in fact it is mentioned there.
I think that might be the tidiest way to do it. It is likely anyway users would use light in day and dark at night, or white in day and black at night anyway. I tried doing that https://github.com/dngray/vim-colortemplate/commit/e430deab8a7ae7247c4aeed3018784e6bd40df87 and got:
|
I see I have a lot of catching up! Awesome :D Before looking into details (and trying out colortemplate - thanks @lifepillar !), let me clarify some of my priorities:
With that said, I'll dive into actual scheme design now (I'll focus on selenized dark first). |
I guess I should leave this to you then, as you'd have a specific way you like things 😁 I was thinking you might have been too busy to do it. |
@dngray @lifepillar ok, did some pondering and I think I know how to proceed.
Absolutely! From what I see, colortemplate supports both truecolor (for GUI versions of vim) and ANSI codes (for "old" approach with setting color palette inside terminal), and more. This is just what we need - thank you!
Actually there are a lot of things for which I could use a second opinion, so please do feel invited! And in fact I am quite busy, so it's good to join forces. I'd like to start by adapting the draft that I already have to colortemplate format, focusing on "dark" variant of selenized first (I'd like to work on handling different variants after we have an initial version of dark one and I try it out for a few days). I see that you already did some tests, would you like to turn them into a PR? I can also do this myself in the evening. |
What you've written in #58 is a good start. A general editor agnostic guideline would be good when it comes to keeping consistency across the various editors.
I have been using your draft the last few days and I do like it. I do think we could do better for Vim Suggestions #33 (I consider #35 and #39 to be bugs also). I'm not sure if this is possible, but can we have tty compatibility? I understand colors there are going to be limited, but as long as they are readable that would be nice. Consistency with (n)/vim in console and nvim-qt/gvim would also be good. In the tty the blue in the double quotes is unreadable, (shell script). This might be necessary if X/Wayland won't start. I wonder if we can think of a solution that can solve this but still be appropriate for terminal/graphical vim. I wasn't able to solve the background issue mentioned in #47 (comment) so I'm wondering if @lifepillar might have some tips there. I will work on adapting the things from that draft into the colortemplate and then put it in a PR. |
I have had a bit of a go with the initial coloring. Not sure how to set |
How have you determined that the background is
So, the output is as expected. I guess your issue is related to:
Color names in color directives are (almost) arbitrary names, but Colortemplate does not allow you to call a color Try adding to your template:
No, they are equivalent: use the form you prefer. Incidentally, if you put the cursor on a
@jan-warchol This is what I recommend you do. Colortemplate directly supports that (see As far as I have understood, Selenized comes with two dark backgrounds and two light backgrounds: that's effectively two different color schemes and, although you may bundle everything in a single file, my suggestion above was to keep the two variants (dark/light and black/white) as two distinct color schemes. |
Dark/Light VariantDark:
Light:
Black/White VariantBlack (dark):
White (light):
Maybe @jan-warchol can just see if that's correct. I think I confused myself a bit.
I used the color picker in gimp to determine what the the color was
Seems the most logical to new users too. It also fits in ideally with the use case apas 4 months ago described:
Ideally I want to do something similar to that because I want to become more accustomed to using light themes, I am just so used to dark versions! I think it might be a healthier choice (I do not have astigmatism and always work with a light on; never in the dark). [1] [2], [3]. |
We really need to get on with this, it would also fix #60 I have been a bit busy of late, any chance you will have a go at it @jan-warchol I have it on my to-do list but haven't gotten to it. |
Hi Daniel, great to hear from you!
I've also been busy, and this week I'm preparing a lecture about git, but I
should have time next week. From what I remember the next step for me is to
check lifepillar's colortemplate on vim 8 - I think I'll manage to do that.
pon., 21 paź 2019 o 19:16 Daniel Nathan Gray <[email protected]>
napisał(a):
… We really need to get on with this, it would also fix #60
<#60>
I have been a bit busy of late, any chance you will have a go at it
@jan-warchol <https://github.com/jan-warchol> I have it on my to-do list
but haven't gotten to it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#47?email_source=notifications&email_token=AAKODPGFLP6EJR4QPJ5TZFTQPXPYTA5CNFSM4IJESPB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEB3C7NY#issuecomment-544616375>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAKODPEXJDUTJK7BAVU7MZTQPXPYTANCNFSM4IJESPBQ>
.
|
That does seem to be the case. I was having a bit of trouble #47 (comment) and also #47 (comment) |
Okay, I managed to get colortemplate running on my system. That's not much, but it's a start. |
Hi @dngray, over the last few days I've explored colortemplate and did some groundwork for scheme design. This week(end) I'll move on to the issues you were having. Thanks! |
I'm really quite pleased you found time. I struggled a bit it my self, but it looks very well designed. @lifepillar has done some tremendous work and it really should help us with our 4 variants. (light/dark) and (black/white). Also not sure what the issue is (whether it was an update to the theme) or neovim, but it completely broke in nvim-qt hopefully colortheme can help us with truecolor (nvim-qt) |
Did you end up making any progress with this? |
Hi Daniel,
first: sorry for late reply. I'm in the middle of changing jobs and the
process is quite stressful.
second: the answer is "sort of". I had decided that I need to have a better
understanding of how themes should be designed (i.e. token-color mappings)
before creating vim colorscheme, and I went on to explore that. It turned
into something much bigger than initially planned, and the result is this
project: https://github.com/jan-warchol/limestone-colors
Now, I'd *like *to get back to making selenized work in vim, but honestly
I'm not sure how I'll be able to combine it with job search.
I hope that answers your question. Thanks for reminding me about this issue!
Janek
wt., 18 lut 2020 o 10:37 Daniel Nathan Gray <[email protected]>
napisał(a):
… Did you end up making any progress with this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#47?email_source=notifications&email_token=AAKODPH3V3O337GTRIXJX23RDOT7FA5CNFSM4IJESPB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMBIEOI#issuecomment-587366969>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAKODPEZOHLUJUESSOT4CXTRDOT7FANCNFSM4IJESPBQ>
.
|
While I've ended up rewriting the templates from scratch (this merge uses "ours" strategy to drop changes from target branch), Daniel's help was invaluable in getting this done, so I wanted to give him credit by including his commits for reference. Also, put vim templates in vim directory. utils/templates is for templating the actual palettes (i.e. color values), not highlighting configuration. Fixes #47. \o/
I can imagine...
That limestone theme looks quite pleasant, I will be sure to keep an eye on it! |
While I've ended up rewriting the templates from scratch (this merge uses "ours" strategy to drop changes from target branch), Daniel's help was invaluable in getting this done, so I wanted to give him credit by including his commits for reference. Also, put vim templates in vim directory. utils/templates is for templating the actual palettes (i.e. color values), not highlighting configuration. Fixes jan-warchol#47. \o/
Fixes jan-warchol#47 (most of it).
I am thinking this could do with some work:
Available in a separate repository ie like altercation/vim-colors-solarized the reason for doing this is it can then easily be used by a plugin manager (vimplug etc).
I would consider modifying the togglebg script to work for all four schemes, light, dark, white, black.
I'd consider a 24bit RGB true color only variant for neovim-qt ie like JulioJu/neovim-qt-colors-solarized-truecolor-only
The text was updated successfully, but these errors were encountered: