Merge pull request #10 from mcchrish/zenflesh

Zenflesh
This commit is contained in:
Michael Chris Lopez
2021-09-17 19:47:30 +08:00
committed by GitHub
35 changed files with 1561 additions and 444 deletions

View File

@@ -7,8 +7,6 @@ on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
branches: [ main ]
pull_request:
branches: [ main ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
@@ -26,7 +24,7 @@ jobs:
- uses: actions/checkout@v2
- name: panvimdoc
uses: kdheepak/panvimdoc@v2.6.0
uses: kdheepak/panvimdoc@v2.7.1
with:
# Output vimdoc project name
vimdoc: zenbones

127
README.md
View File

@@ -1,13 +1,12 @@
# Zenbones
# Zenflesh, Zenbones
Zenbones is a light vim/neovim
[colorscheme](https://neovim.io/doc/user/syntax.html#:colorscheme) designed to
highlight code using contrasts and font variations. Colors are tasked only for
other roles such as diagnostics, diffs, search matches.
Zenbones is a vim/neovim colorscheme designed to highlight code using contrasts
and font variations. Colors are tasked only for other roles such as diagnostics,
diffs, search matches.
<!-- panvimdoc-ignore-start -->
![Zenbones main image](https://user-images.githubusercontent.com/7200153/131045472-05c76909-0071-4c24-bd30-f15da3ae4e82.jpg)
![Zenbones main image](https://user-images.githubusercontent.com/7200153/133774819-32b4e18b-6af7-48ac-91d5-16c4f413ad20.jpg)
<p align="center">
<em>A rock garden in <a href="https://en.wikipedia.org/wiki/Ry%C5%8Dan-ji">Ryōan-ji</a>.</em>
@@ -43,85 +42,78 @@ use "rktjmp/lush.nvim"
Just apply the colorscheme as usual:
```vim
colorscheme zenbones
colorscheme zenbones " light
colorscheme zenflesh " dark
```
If you want to make use of the lua version:
```vim
" has('nvim') only
" Requires `neovim` and `rktjmp/lush.nvim` installed
colorscheme zenbones-lush
colorscheme zenflesh-lush
```
It works pretty much the same as the first one but pretty handy when extending
or customizing the colors to your likings.
<!-- panvimdoc-ignore-start -->
## Showcase
**Diff highlights**
<img width="1080" alt="Vim diff" src="https://user-images.githubusercontent.com/7200153/131212101-3a3b4083-f3ae-4dfc-ab1f-133cf3600a01.png">
**Search matches**
<img width="1080" alt="Search matches" src="https://user-images.githubusercontent.com/7200153/131212102-620323dc-01db-4e40-ae74-640a00368121.png">
**LSP diagnostics**
<img width="1080" alt="LSP diagnostics" src="https://user-images.githubusercontent.com/7200153/131212106-b515ba76-d157-46b3-b1cb-c72811abbff3.png">
_Font used is [Iosevka Curly Slab](https://typeof.net/Iosevka/)_.
<!-- panvimdoc-ignore-end -->
## Configuration
Configuration is only available for `zenbones-lush`.
Configuration is only available for `zenbones-lush` and `zenflesh-lush`.
#### g:zenbones_lightness
Change background colors lightness.
**'bright'**
| 'bright' | _(unset)_ | 'dim' |
| :-----------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------: |
| ![Bright lightness](https://user-images.githubusercontent.com/7200153/133776552-5919f664-17d9-4d96-bf44-d587f20b01dc.png) | ![Default lightness](https://user-images.githubusercontent.com/7200153/133776625-d8e9dd88-13b3-4362-9cad-2031ef6ccf7d.png) | ![Dim lightness](https://user-images.githubusercontent.com/7200153/133776674-ff7d15e9-52e3-4a27-9099-722ffcbe1cb8.png) |
<img width="1080" alt="Bright lightness" src="https://user-images.githubusercontent.com/7200153/131272384-710e253f-059d-46fd-bf0e-7d82f62d62cd.png">
#### g:zenflesh_darkness
**Default** _(unset)_
Change background colors darkness.
<img width="1080" alt="Default lightness" src="https://user-images.githubusercontent.com/7200153/131272333-3fb67e68-fcd2-48ae-b8c4-ab24b701ed5e.png">
**'dim'**
<img width="1080" alt="Dim lightness" src="https://user-images.githubusercontent.com/7200153/131272410-329636bb-fd8e-42fb-83aa-f436d211b5ed.png">
| 'stark' | _(unset)_ | 'warm' |
| :---------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------: |
| ![Stark darkness](https://user-images.githubusercontent.com/7200153/133776839-4b12c3dd-233f-47d1-9740-006bf50e812a.png) | ![Default darkness](https://user-images.githubusercontent.com/7200153/133776882-26d006b4-50db-49ad-bd79-3bec327a95fc.png) | ![Warm darkness](https://user-images.githubusercontent.com/7200153/133776957-3d2949c9-51b6-4537-aca4-6ced80113b91.png) |
#### g:zenbones_solid_vert_split
Set to `v:true` to make vertical split more visible with a dimmer background
#### g:zenflesh_solid_vert_split
Set to `v:true` to make vertical split more distinguishable background
highlight.
#### g:zenbones_dim_noncurrent_window
Set to `v:true` to make non-current window background dimmer than _Normal_.
#### g:zenflesh_lighten_noncurrent_window
Set to `v:true` to make non-current window background warmer than _Normal_.
#### g:zenbones_italic_comments
#### g:zenflesh_italic_comments
Set to `v:false` to make comments not italicize.
## Advanced Usage
Zenbones is pretty extensible thanks to
[Lush](https://github.com/rktjmp/lush.nvim). You can easily retrieve the colors
Zenbones is pretty extensible thanks to Lush. You can easily retrieve the colors
in lua:
```lua
local theme = require "zenbones"
local colors = require "zenbones.colors"
local theme = require "zenbones" -- or zenflesh
local palette = require "zenbones.palette"
print(theme.StatusLine.bg.hex)
print(sand.darken(20).hex)
print(palette.blossom.darken(20).hex)
```
See also
[Lush's documentation](https://github.com/rktjmp/lush.nvim#advanced-usage) for
the complete options.
more options.
## Other plugins support
@@ -145,48 +137,11 @@ currently supported.
## Other implementations
- [iTerm2](extras/iterm/zenbones.itermcolors)
- [Kitty](extras/kitty/zenbones.conf)
- [Alacritty](extras/alacritty/zenbones.yml)
- [WezTerm](extras/wezterm/Zenbones.toml)
- [Tmux](extras/tmux/zenbones.tmux)
### Print terminal colors
You can retrieve the terminal colors by using this command:
```vim
:lua require("zenbones.print").print_terminal_colors()
```
Useful when you want to apply a zenbones theme to your terminal. Recent output:
```
Terminal colors
foreground: #2C363C
background: #F0EDEC
ansi color0: #2C363C
ansi color1: #A8334C
ansi color2: #617437
ansi color3: #944927
ansi color4: #286486
ansi color5: #88507D
ansi color6: #3B8992
ansi color7: #F0EDEC
ansi color8: #44525B
ansi color9: #9C2842
ansi color10: #55672A
ansi color11: #87411E
ansi color12: #1F5A7A
ansi color13: #864079
ansi color14: #2F7C85
ansi color15: #DCD2CE
cursor foreground: #F2F0EF
cursor background: #2C363C
inactive cursor foreground: #F2F0EF
inactive cursor background: #4D5C65
selection background: #D2DFE7
```
- [iTerm2](extras/iterm)
- [Kitty](extras/kitty)
- [Alacritty](extras/alacritty)
- [WezTerm](extras/wezterm)
- [Tmux](extras/tmux)
It's also possible to generate color configuration files using a template,
[this one for Kitty](lua/zenbones/build/kitty.lua) for example. Please feel free

View File

@@ -10,7 +10,7 @@ let s:p.inactive.left = [ [ "#596A76", "#DAD3CF" ], [ "#596A76", "#DAD3CF" ] ]
let s:p.inactive.middle = [ [ "#596A76", "#DAD3CF" ] ]
let s:p.inactive.right = [ [ "#596A76", "#DAD3CF" ] ]
let s:p.insert.left = [ [ "#564E4A", "#DDE6CD", "bold" ], [ "#564E4A", "#C4B6AF" ] ]
let s:p.insert.left = [ [ "#564E4A", "#99C6E9", "bold" ], [ "#564E4A", "#C4B6AF" ] ]
let s:p.replace.left = [ [ "#564E4A", "#E7CBCE", "bold" ], [ "#564E4A", "#C4B6AF" ] ]
let s:p.visual.left = [ [ "#564E4A", "#D2DFE7", "bold" ], [ "#564E4A", "#C4B6AF" ] ]

View File

@@ -0,0 +1,22 @@
let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
let s:p.normal.left = [ [ "#BBAEA8", "#716965", "bold" ], [ "#BBAEA8", "#4E4845" ] ]
let s:p.normal.middle = [ [ "#B4BDC3", "#3D3836" ] ]
let s:p.normal.right = [ [ "#BBAEA8", "#4E4845" ], [ "#BBAEA8", "#4E4845" ] ]
let s:p.normal.warning = [ [ "#B77E64", "#362C28" ] ]
let s:p.normal.error = [ [ "#DE6E7C", "#3A2A2C" ] ]
let s:p.inactive.left = [ [ "#CAD0D4", "#312D2B" ], [ "#CAD0D4", "#312D2B" ] ]
let s:p.inactive.middle = [ [ "#CAD0D4", "#312D2B" ] ]
let s:p.inactive.right = [ [ "#CAD0D4", "#312D2B" ] ]
let s:p.insert.left = [ [ "#BBAEA8", "#455C6F", "bold" ], [ "#BBAEA8", "#4E4845" ] ]
let s:p.replace.left = [ [ "#BBAEA8", "#5B2E33", "bold" ], [ "#BBAEA8", "#4E4845" ] ]
let s:p.visual.left = [ [ "#BBAEA8", "#37393B", "bold" ], [ "#BBAEA8", "#4E4845" ] ]
let s:p.tabline.left = [ [ "#B4BDC3", "#4E4845", "italic" ] ]
let s:p.tabline.middle = [ [ "#CAD0D4", "#312D2B" ] ]
let s:p.tabline.right = [ [ "#B4BDC3", "#4E4845" ] ]
let s:p.tabline.tabsel = [ [ "#B4BDC3", "#1C1918", "bold" ] ]
let g:lightline#colorscheme#zenbones#palette = lightline#colorscheme#fill(s:p)

View File

@@ -7,22 +7,22 @@ endif
set background=light
let g:colors_name = 'zenbones'
let g:terminal_color_0 = '#2C363C'
let g:terminal_color_0 = '#F0EDEC'
let g:terminal_color_1 = '#A8334C'
let g:terminal_color_2 = '#617437'
let g:terminal_color_2 = '#4F6C31'
let g:terminal_color_3 = '#944927'
let g:terminal_color_4 = '#286486'
let g:terminal_color_5 = '#88507D'
let g:terminal_color_6 = '#3B8992'
let g:terminal_color_7 = '#F0EDEC'
let g:terminal_color_8 = '#44525B'
let g:terminal_color_9 = '#9C2842'
let g:terminal_color_10 = '#55672A'
let g:terminal_color_11 = '#87411E'
let g:terminal_color_12 = '#1F5A7A'
let g:terminal_color_13 = '#864079'
let g:terminal_color_14 = '#2F7C85'
let g:terminal_color_15 = '#DCD2CE'
let g:terminal_color_7 = '#2C363C'
let g:terminal_color_8 = '#CFC1BA'
let g:terminal_color_9 = '#94253E'
let g:terminal_color_10 = '#3F5A22'
let g:terminal_color_11 = '#803D1C'
let g:terminal_color_12 = '#1D5573'
let g:terminal_color_13 = '#7B3B70'
let g:terminal_color_14 = '#2B747C'
let g:terminal_color_15 = '#4F5E68'
if has('terminal')
let g:terminal_ansi_colors = [
@@ -49,20 +49,16 @@ highlight Bold guifg=NONE guibg=NONE guisp=NONE gui=bold
highlight BufferVisible guifg=#596A76 guibg=NONE guisp=NONE gui=NONE
highlight BufferVisibleIndex guifg=#596A76 guibg=NONE guisp=NONE gui=NONE
highlight BufferVisibleSign guifg=#596A76 guibg=NONE guisp=NONE gui=NONE
highlight CocErrorHighlight guifg=#A8334C guibg=NONE guisp=NONE gui=underline
highlight CocHintHighlight guifg=#88507D guibg=NONE guisp=NONE gui=underline
highlight CocInfoHighlight guifg=#286486 guibg=NONE guisp=NONE gui=underline
highlight CocMarkdownLink guifg=#3B8992 guibg=NONE guisp=NONE gui=underline
highlight CocWarningHighlight guifg=#944927 guibg=NONE guisp=NONE gui=underline
highlight ColorColumn guifg=NONE guibg=#EFD8D3 guisp=NONE gui=NONE
highlight Comment guifg=#948985 guibg=NONE guisp=NONE gui=italic
highlight Conceal guifg=#4D5C65 guibg=NONE guisp=NONE gui=bold,italic
highlight Constant guifg=#53636D guibg=NONE guisp=NONE gui=italic
highlight Constant guifg=#556570 guibg=NONE guisp=NONE gui=italic
highlight Cursor guifg=#F2F0EF guibg=#2C363C guisp=NONE gui=NONE
highlight CursorLine guifg=NONE guibg=#E6E1DF guisp=NONE gui=NONE
highlight CursorLineNr guifg=#2C363C guibg=NONE guisp=NONE gui=bold
highlight Delimiter guifg=#8E817B guibg=NONE guisp=NONE gui=NONE
highlight DiffAdd guifg=NONE guibg=#DDE6CD guisp=NONE gui=NONE
highlight DiffAdd guifg=NONE guibg=#D8E7CD guisp=NONE gui=NONE
highlight DiffChange guifg=NONE guibg=#C0DAF2 guisp=NONE gui=NONE
highlight DiffDelete guifg=NONE guibg=#E7CBCE guisp=NONE gui=NONE
highlight DiffText guifg=#2C363C guibg=#99C6E9 guisp=NONE gui=NONE
@@ -72,7 +68,7 @@ highlight FloatBorder guifg=#786D68 guibg=NONE guisp=NONE gui=NONE
highlight FoldColumn guifg=#A79891 guibg=NONE guisp=NONE gui=bold
highlight Folded guifg=#564E4A guibg=#CDC2BC guisp=NONE gui=NONE
highlight Function guifg=#2C363C guibg=NONE guisp=NONE gui=NONE
highlight GitSignsAdd guifg=#617437 guibg=NONE guisp=NONE gui=NONE
highlight GitSignsAdd guifg=#4F6C31 guibg=NONE guisp=NONE gui=NONE
highlight GitSignsChange guifg=#286486 guibg=NONE guisp=NONE gui=NONE
highlight GitSignsDelete guifg=#A8334C guibg=NONE guisp=NONE gui=NONE
highlight HopNextKey2 guifg=#286486 guibg=NONE guisp=NONE gui=NONE
@@ -97,11 +93,12 @@ highlight LspDiagnosticsUnderlineInformation guifg=#286486 guibg=NONE guisp=NONE
highlight LspDiagnosticsUnderlineWarning guifg=#944927 guibg=NONE guisp=NONE gui=undercurl
highlight LspDiagnosticsVirtualTextError guifg=#A8334C guibg=#E7DDDE guisp=NONE gui=NONE
highlight LspDiagnosticsVirtualTextWarning guifg=#944927 guibg=#F0E6E4 guisp=NONE gui=NONE
highlight MoreMsg guifg=#617437 guibg=NONE guisp=NONE gui=bold
highlight MoreMsg guifg=#4F6C31 guibg=NONE guisp=NONE gui=bold
highlight NeogitHunkHeaderHighlight guifg=#2C363C guibg=#E6E1DF guisp=NONE gui=bold
highlight NonText guifg=#C0B0A8 guibg=NONE guisp=NONE gui=NONE
highlight Normal guifg=#2C363C guibg=#F0EDEC guisp=NONE gui=NONE
highlight NormalFloat guifg=NONE guibg=#E1DCD9 guisp=NONE gui=NONE
highlight Number guifg=NONE guibg=NONE guisp=NONE gui=italic
highlight Pmenu guifg=NONE guibg=#DAD3CF guisp=NONE gui=NONE
highlight PmenuSbar guifg=NONE guibg=#B2A39B guisp=NONE gui=NONE
highlight PmenuSel guifg=NONE guibg=#C4B6AF guisp=NONE gui=NONE
@@ -125,27 +122,31 @@ highlight Title guifg=NONE guibg=NONE guisp=NONE gui=bold
highlight Todo guifg=NONE guibg=NONE guisp=NONE gui=bold,underline
highlight Type guifg=#5C534F guibg=NONE guisp=NONE gui=NONE
highlight Underlined guifg=NONE guibg=NONE guisp=NONE gui=underline
highlight VertSplit guifg=#F7F6F5 guibg=NONE guisp=NONE gui=NONE
highlight Visual guifg=NONE guibg=#D2DFE7 guisp=NONE gui=NONE
highlight WarningMsg guifg=#944927 guibg=NONE guisp=NONE gui=NONE
highlight WildMenu guifg=#F0EDEC guibg=#88507D guisp=NONE gui=NONE
highlight diffAdded guifg=#617437 guibg=NONE guisp=NONE gui=NONE
highlight diffAdded guifg=#4F6C31 guibg=NONE guisp=NONE gui=NONE
highlight diffChanged guifg=#286486 guibg=NONE guisp=NONE gui=NONE
highlight diffFile guifg=#944927 guibg=NONE guisp=NONE gui=bold
highlight diffIndexLine guifg=#944927 guibg=NONE guisp=NONE gui=NONE
highlight diffLine guifg=#88507D guibg=NONE guisp=NONE gui=bold
highlight diffNewFile guifg=#617437 guibg=NONE guisp=NONE gui=italic
highlight diffNewFile guifg=#4F6C31 guibg=NONE guisp=NONE gui=italic
highlight diffOldFile guifg=#A8334C guibg=NONE guisp=NONE gui=italic
highlight diffRemoved guifg=#A8334C guibg=NONE guisp=NONE gui=NONE
highlight lCursor guifg=#F2F0EF guibg=#4D5C65 guisp=NONE gui=NONE
highlight markdownH1 guifg=#2C363C guibg=NONE guisp=NONE gui=bold,underline
highlight! link Boolean Number
highlight! link BufferCurrent TabLineSel
highlight! link CocCodeLens LineNr
highlight! link CocErrorHighlight LspDiagnosticsUnderlineError
highlight! link CocErrorSign LspDiagnosticsDefaultError
highlight! link CocErrorVirtualText LspDiagnosticsVirtualTextError
highlight! link CocHintHighlight LspDiagnosticsUnderlineHint
highlight! link CocHintSign LspDiagnosticsDefaultHint
highlight! link CocInfoHighlight LspDiagnosticsUnderlineInformation
highlight! link CocInfoSign LspDiagnosticsDefaultInformation
highlight! link CocSelectedText SpellBad
highlight! link CocWarningHighlight LspDiagnosticsUnderlineWarning
highlight! link CocWarningSign LspDiagnosticsDefaultWarning
highlight! link CocWarningVitualText LspDiagnosticsVirtualTextWarning
highlight! link CursorColumn CursorLine
@@ -192,6 +193,7 @@ highlight! link TermCursor Cursor
highlight! link TroubleNormal Function
highlight! link TroubleSource Constant
highlight! link TroubleText Function
highlight! link VertSplit LineNr
highlight! link WhichKey Statement
highlight! link WhichKeyGroup Special
highlight! link WhichKeySeparator LineNr

21
colors/zenflesh-lush.lua Normal file
View File

@@ -0,0 +1,21 @@
vim.opt.background = "dark"
vim.g.colors_name = "zenflesh-lush"
require("zenflesh.terminal").setup()
-- By setting our module to nil, we clear lua's cache,
-- which means the require ahead will *always* occur.
--
-- This isn't strictly required but it can be a useful trick if you are
-- incrementally editing your config a lot and want to be sure your themes
-- changes are being picked up without restarting neovim.
--
-- Note if you're working in on your theme and have :Lushify'd the buffer,
-- your changes will be applied with our without the following line.
--
-- The performance impact of this call can be measured in the hundreds of
-- *nanoseconds* and such could be considered "production safe".
package.loaded["zenflesh"] = nil
-- include our theme file and pass it to lush to apply
require "lush"(require "zenflesh")

214
colors/zenflesh.vim Normal file
View File

@@ -0,0 +1,214 @@
if exists('g:colors_name')
highlight clear
syntax reset
set t_Co=256
endif
set background=dark
let g:colors_name = 'zenflesh'
let g:terminal_color_0 = '#1C1918'
let g:terminal_color_1 = '#DE6E7C'
let g:terminal_color_2 = '#819B69'
let g:terminal_color_3 = '#B77E64'
let g:terminal_color_4 = '#6099C0'
let g:terminal_color_5 = '#B279A7'
let g:terminal_color_6 = '#66A5AD'
let g:terminal_color_7 = '#B4BDC3'
let g:terminal_color_8 = '#3E3834'
let g:terminal_color_9 = '#E8838F'
let g:terminal_color_10 = '#8BAE68'
let g:terminal_color_11 = '#D68C67'
let g:terminal_color_12 = '#61ABDA'
let g:terminal_color_13 = '#CF86C1'
let g:terminal_color_14 = '#65B8C1'
let g:terminal_color_15 = '#888F94'
if has('terminal')
let g:terminal_ansi_colors = [
\ g:terminal_color_0,
\ g:terminal_color_1,
\ g:terminal_color_2,
\ g:terminal_color_3,
\ g:terminal_color_4,
\ g:terminal_color_5,
\ g:terminal_color_6,
\ g:terminal_color_7,
\ g:terminal_color_8,
\ g:terminal_color_9,
\ g:terminal_color_10,
\ g:terminal_color_11,
\ g:terminal_color_12,
\ g:terminal_color_13,
\ g:terminal_color_14,
\ g:terminal_color_15
\ ]
endif
highlight Bold guifg=NONE guibg=NONE guisp=NONE gui=bold
highlight BufferVisible guifg=#CAD0D4 guibg=NONE guisp=NONE gui=NONE
highlight BufferVisibleIndex guifg=#CAD0D4 guibg=NONE guisp=NONE gui=NONE
highlight BufferVisibleSign guifg=#CAD0D4 guibg=NONE guisp=NONE gui=NONE
highlight CocMarkdownLink guifg=#66A5AD guibg=NONE guisp=NONE gui=underline
highlight ColorColumn guifg=NONE guibg=#675047 guisp=NONE gui=NONE
highlight Comment guifg=#6C6765 guibg=NONE guisp=NONE gui=italic
highlight Conceal guifg=#8D9499 guibg=NONE guisp=NONE gui=bold,italic
highlight Constant guifg=#868C91 guibg=NONE guisp=NONE gui=italic
highlight Cursor guifg=#171514 guibg=#C4CACF guisp=NONE gui=NONE
highlight CursorLine guifg=NONE guibg=#24211F guisp=NONE gui=NONE
highlight CursorLineNr guifg=#B4BDC3 guibg=NONE guisp=NONE gui=bold
highlight Delimiter guifg=#8E8480 guibg=NONE guisp=NONE gui=NONE
highlight DiffAdd guifg=NONE guibg=#333C2C guisp=NONE gui=NONE
highlight DiffChange guifg=NONE guibg=#2D404E guisp=NONE gui=NONE
highlight DiffDelete guifg=NONE guibg=#5B2E33 guisp=NONE gui=NONE
highlight DiffText guifg=#B4BDC3 guibg=#455C6F guisp=NONE gui=NONE
highlight Directory guifg=NONE guibg=NONE guisp=NONE gui=bold
highlight Error guifg=#DE6E7C guibg=NONE guisp=NONE gui=NONE
highlight FloatBorder guifg=#817873 guibg=NONE guisp=NONE gui=NONE
highlight FoldColumn guifg=#5A5350 guibg=NONE guisp=NONE gui=bold
highlight Folded guifg=#BBAEA8 guibg=#3D3836 guisp=NONE gui=NONE
highlight Function guifg=#B4BDC3 guibg=NONE guisp=NONE gui=NONE
highlight GitSignsAdd guifg=#819B69 guibg=NONE guisp=NONE gui=NONE
highlight GitSignsChange guifg=#6099C0 guibg=NONE guisp=NONE gui=NONE
highlight GitSignsDelete guifg=#DE6E7C guibg=NONE guisp=NONE gui=NONE
highlight HopNextKey2 guifg=#6099C0 guibg=NONE guisp=NONE gui=NONE
highlight Identifier guifg=#979FA4 guibg=NONE guisp=NONE gui=NONE
highlight IncSearch guifg=#1C1918 guibg=#B279A7 guisp=NONE gui=bold
highlight IndentBlanklineChar guifg=#373432 guibg=NONE guisp=NONE gui=NONE
highlight Italic guifg=NONE guibg=NONE guisp=NONE gui=italic
highlight LightspeedGreyWash guifg=#6C6765 guibg=NONE guisp=NONE gui=NONE
highlight LightspeedLabel guifg=#B279A7 guibg=NONE guisp=NONE gui=bold,underline
highlight LightspeedLabelDistant guifg=#66A5AD guibg=NONE guisp=NONE gui=bold,underline
highlight LightspeedLabelDistantOverlapped guifg=#66A5AD guibg=NONE guisp=NONE gui=underline
highlight LightspeedLabelOverlapped guifg=#B279A7 guibg=NONE guisp=NONE gui=underline
highlight LightspeedOneCharMatch guifg=#1C1918 guibg=#B279A7 guisp=NONE gui=bold
highlight LightspeedPendingChangeOpArea guifg=#B279A7 guibg=NONE guisp=NONE gui=NONE
highlight LightspeedShortcut guifg=#1C1918 guibg=#B279A7 guisp=NONE gui=bold,underline
highlight LineNr guifg=#5A5350 guibg=NONE guisp=NONE gui=NONE
highlight LspDiagnosticsDefaultHint guifg=#B279A7 guibg=NONE guisp=NONE gui=NONE
highlight LspDiagnosticsDefaultInformation guifg=#6099C0 guibg=NONE guisp=NONE gui=NONE
highlight LspDiagnosticsUnderlineError guifg=#DE6E7C guibg=NONE guisp=NONE gui=undercurl
highlight LspDiagnosticsUnderlineHint guifg=#B279A7 guibg=NONE guisp=NONE gui=undercurl
highlight LspDiagnosticsUnderlineInformation guifg=#6099C0 guibg=NONE guisp=NONE gui=undercurl
highlight LspDiagnosticsUnderlineWarning guifg=#B77E64 guibg=NONE guisp=NONE gui=undercurl
highlight LspDiagnosticsVirtualTextError guifg=#DE6E7C guibg=#3A2A2C guisp=NONE gui=NONE
highlight LspDiagnosticsVirtualTextWarning guifg=#B77E64 guibg=#362C28 guisp=NONE gui=NONE
highlight MoreMsg guifg=#819B69 guibg=NONE guisp=NONE gui=bold
highlight NeogitHunkHeaderHighlight guifg=#B4BDC3 guibg=#24211F guisp=NONE gui=bold
highlight NonText guifg=#524C4A guibg=NONE guisp=NONE gui=NONE
highlight Normal guifg=#B4BDC3 guibg=#1C1918 guisp=NONE gui=NONE
highlight NormalFloat guifg=NONE guibg=#2B2725 guisp=NONE gui=NONE
highlight Number guifg=NONE guibg=NONE guisp=NONE gui=italic
highlight Pmenu guifg=NONE guibg=#34302E guisp=NONE gui=NONE
highlight PmenuSbar guifg=NONE guibg=#716965 guisp=NONE gui=NONE
highlight PmenuSel guifg=NONE guibg=#4E4845 guisp=NONE gui=NONE
highlight PmenuThumb guifg=NONE guibg=#8B827D guisp=NONE gui=NONE
highlight Search guifg=#B4BDC3 guibg=#73516C guisp=NONE gui=NONE
highlight SneakLabelMask guifg=#B279A7 guibg=#B279A7 guisp=NONE gui=NONE
highlight Special guifg=#9CA4AA guibg=NONE guisp=NONE gui=bold
highlight SpecialComment guifg=#6C6765 guibg=NONE guisp=NONE gui=bold
highlight SpecialKey guifg=#524C4A guibg=NONE guisp=NONE gui=italic
highlight SpellBad guifg=#CB7A83 guibg=NONE guisp=NONE gui=undercurl
highlight SpellCap guifg=#CB7A83 guibg=NONE guisp=NONE gui=undercurl
highlight SpellRare guifg=#CB7A83 guibg=NONE guisp=NONE gui=undercurl
highlight Statement guifg=#B4BDC3 guibg=NONE guisp=NONE gui=bold
highlight StatusLine guifg=#B4BDC3 guibg=#3D3836 guisp=NONE gui=NONE
highlight StatusLineNC guifg=#CAD0D4 guibg=#312D2B guisp=NONE gui=NONE
highlight TabLine guifg=#B4BDC3 guibg=#3D3836 guisp=NONE gui=italic
highlight TabLineSel guifg=NONE guibg=NONE guisp=NONE gui=bold
highlight TelescopeMatching guifg=#B279A7 guibg=NONE guisp=NONE gui=bold
highlight TelescopeSelectionCaret guifg=#DE6E7C guibg=#24211F guisp=NONE gui=NONE
highlight Title guifg=NONE guibg=NONE guisp=NONE gui=bold
highlight Todo guifg=NONE guibg=NONE guisp=NONE gui=bold,underline
highlight Type guifg=#9E948F guibg=NONE guisp=NONE gui=NONE
highlight Underlined guifg=NONE guibg=NONE guisp=NONE gui=underline
highlight Visual guifg=NONE guibg=#37393B guisp=NONE gui=NONE
highlight WarningMsg guifg=#B77E64 guibg=NONE guisp=NONE gui=NONE
highlight WildMenu guifg=#1C1918 guibg=#B279A7 guisp=NONE gui=NONE
highlight diffAdded guifg=#819B69 guibg=NONE guisp=NONE gui=NONE
highlight diffChanged guifg=#6099C0 guibg=NONE guisp=NONE gui=NONE
highlight diffFile guifg=#B77E64 guibg=NONE guisp=NONE gui=bold
highlight diffIndexLine guifg=#B77E64 guibg=NONE guisp=NONE gui=NONE
highlight diffLine guifg=#B279A7 guibg=NONE guisp=NONE gui=bold
highlight diffNewFile guifg=#819B69 guibg=NONE guisp=NONE gui=italic
highlight diffOldFile guifg=#DE6E7C guibg=NONE guisp=NONE gui=italic
highlight diffRemoved guifg=#DE6E7C guibg=NONE guisp=NONE gui=NONE
highlight lCursor guifg=#171514 guibg=#797F84 guisp=NONE gui=NONE
highlight markdownH1 guifg=#B4BDC3 guibg=NONE guisp=NONE gui=bold,underline
highlight! link Boolean Number
highlight! link BufferCurrent TabLineSel
highlight! link CocCodeLens LineNr
highlight! link CocErrorHighlight LspDiagnosticsUnderlineError
highlight! link CocErrorSign LspDiagnosticsDefaultError
highlight! link CocErrorVirtualText LspDiagnosticsVirtualTextError
highlight! link CocHintHighlight LspDiagnosticsUnderlineHint
highlight! link CocHintSign LspDiagnosticsDefaultHint
highlight! link CocInfoHighlight LspDiagnosticsUnderlineInformation
highlight! link CocInfoSign LspDiagnosticsDefaultInformation
highlight! link CocSelectedText SpellBad
highlight! link CocWarningHighlight LspDiagnosticsUnderlineWarning
highlight! link CocWarningSign LspDiagnosticsDefaultWarning
highlight! link CocWarningVitualText LspDiagnosticsVirtualTextWarning
highlight! link CursorColumn CursorLine
highlight! link EndOfBuffer NonText
highlight! link ErrorMsg Error
highlight! link GitGutterAdd GitSignsAdd
highlight! link GitGutterChange GitSignsChange
highlight! link GitGutterDelete GitSignsDelete
highlight! link HopNextKey LightspeedLabel
highlight! link HopNextKey1 LightspeedLabelDistant
highlight! link HopUnmatched LightspeedGreyWash
highlight! link LightspeedMaskedChar Conceal
highlight! link LightspeedPendingOpArea SneakLabel
highlight! link LightspeedUnlabeledMatch Bold
highlight! link LspCodeLens LineNr
highlight! link LspDiagnosticsDefaultError Error
highlight! link LspDiagnosticsDefaultWarning WarningMsg
highlight! link LspReferenceRead ColorColumn
highlight! link LspReferenceText ColorColumn
highlight! link LspReferenceWrite ColorColumn
highlight! link MatchParen Search
highlight! link NeogitDiffAddHighlight DiffAdd
highlight! link NeogitDiffContextHighlight CursorLine
highlight! link NeogitDiffDeleteHighlight DiffDelete
highlight! link NeogitHunkHeader LineNr
highlight! link NeogitNotificationError LspDiagnosticsDefaultError
highlight! link NeogitNotificationInfo LspDiagnosticsDefaultInformation
highlight! link NeogitNotificationWarning LspDiagnosticsDefaultWarning
highlight! link PreProc Statement
highlight! link Question MoreMsg
highlight! link SignColumn LineNr
highlight! link Sneak Search
highlight! link SneakLabel WildMenu
highlight! link SpellLocal SpellCap
highlight! link TSDanger Error
highlight! link TSNote LspDiagnosticsDefaultInformation
highlight! link TSTag Special
highlight! link TSVariable Identifier
highlight! link TSWarning WarningMsg
highlight! link TabLineFill StatusLineNC
highlight! link TelescopeBorder FloatBorder
highlight! link TelescopeSelection CursorLine
highlight! link TermCursor Cursor
highlight! link TermCursorNC lCursor
highlight! link TroubleNormal Function
highlight! link TroubleSource Constant
highlight! link TroubleText Function
highlight! link VertSplit LineNr
highlight! link WhichKey Statement
highlight! link WhichKeyGroup Special
highlight! link WhichKeySeparator LineNr
highlight! link WhichKeyValue Constant
highlight! link Whitespace NonText
highlight! link gitcommitOverflow WarningMsg
highlight! link helpHyperTextEntry Special
highlight! link helpHyperTextJump Constant
highlight! link helpOption Constant
highlight! link helpSpecial Type
highlight! link markdownCode Identifier
highlight! link markdownH2 Statement
highlight! link markdownH3 Statement
highlight! link markdownH4 Special
highlight! link markdownH5 Special
highlight! link markdownH6 Special
highlight! link markdownLinkTextDelimiter Delimiter

View File

@@ -1,4 +1,4 @@
*zenbones.txt* For NVIM v0.4.3 Last change: 2021 September 10
*zenbones.txt* For NVIM v0.4.3 Last change: 2021 September 12
==============================================================================
Table of Contents *zenbones-table-of-contents*
@@ -58,7 +58,7 @@ Just apply the colorscheme as usual:
If you want to make use of the lua version:
>
" has('nvim') only
" Requires `neovim` and `rktjmp/lush.nvim` installed
colorscheme zenbones-lush
<
@@ -105,21 +105,20 @@ g:zenbones_dim_noncurrent_window Set to `v:true` to make non-current
ADVANCED USAGE *zenbones-advanced-usage*
Zenbones is pretty extensible thanks to Lush
<https://github.com/rktjmp/lush.nvim>. You can easily retrieve the colors in
lua:
Zenbones is pretty extensible thanks to Lush. You can easily retrieve the
colors in lua:
>
local theme = require "zenbones"
local colors = require "zenbones.colors"
local palette = require "zenbones.palette"
print(theme.StatusLine.bg.hex)
print(sand.darken(20).hex)
print(palette.sand.darken(20).hex)
<
See also Lushs documentation
<https://github.com/rktjmp/lush.nvim#advanced-usage> for the complete options.
<https://github.com/rktjmp/lush.nvim#advanced-usage> for more options.
OTHER PLUGINS SUPPORT *zenbones-other-plugins-support*

View File

@@ -1,4 +1,4 @@
# Zenbones Alacritty Colors
# zenbones alacritty colors
colors:
# Default colors
primary:
@@ -6,21 +6,21 @@ colors:
foreground: '#2C363C'
# Normal colors
normal:
black: '#2C363C'
black: '#F0EDEC'
red: '#A8334C'
green: '#617437'
green: '#4F6C31'
yellow: '#944927'
blue: '#286486'
magenta: '#88507D'
cyan: '#3B8992'
white: '#F0EDEC'
white: '#2C363C'
# Bright colors
bright:
black: '#44525B'
red: '#9C2842'
green: '#55672A'
yellow: '#87411E'
blue: '#1F5A7A'
magenta: '#864079'
cyan: '#2F7C85'
white: '#DCD2CE'
black: '#CFC1BA'
red: '#94253E'
green: '#3F5A22'
yellow: '#803D1C'
blue: '#1D5573'
magenta: '#7B3B70'
cyan: '#2B747C'
white: '#4F5E68'

View File

@@ -0,0 +1,26 @@
# zenflesh alacritty colors
colors:
# Default colors
primary:
background: '#1C1918'
foreground: '#B4BDC3'
# Normal colors
normal:
black: '#1C1918'
red: '#DE6E7C'
green: '#819B69'
yellow: '#B77E64'
blue: '#6099C0'
magenta: '#B279A7'
cyan: '#66A5AD'
white: '#B4BDC3'
# Bright colors
bright:
black: '#3E3834'
red: '#E8838F'
green: '#8BAE68'
yellow: '#D68C67'
blue: '#61ABDA'
magenta: '#CF86C1'
cyan: '#65B8C1'
white: '#888F94'

View File

@@ -7,13 +7,13 @@
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.23529411852359772</real>
<real>0.92549020051956177</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.21176470816135406</real>
<real>0.92941176891326904</real>
<key>Red Component</key>
<real>0.17254902422428131</real>
<real>0.94117647409439087</real>
</dict>
<key>Ansi 1 Color</key>
<dict>
@@ -33,91 +33,91 @@
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.16470588743686676</real>
<real>0.13333334028720856</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.40392157435417175</real>
<real>0.35294118523597717</real>
<key>Red Component</key>
<real>0.3333333432674408</real>
<real>0.24705882370471954</real>
</dict>
<key>Ansi 11 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.11764705926179886</real>
<real>0.10980392247438431</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.25490197539329529</real>
<real>0.23921568691730499</real>
<key>Red Component</key>
<real>0.52941179275512695</real>
<real>0.50196081399917603</real>
</dict>
<key>Ansi 12 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.47843137383460999</real>
<real>0.45098039507865906</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.35294118523597717</real>
<real>0.3333333432674408</real>
<key>Red Component</key>
<real>0.12156862765550613</real>
<real>0.11372549086809158</real>
</dict>
<key>Ansi 13 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.47450980544090271</real>
<real>0.43921568989753723</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.25098040699958801</real>
<real>0.23137255012989044</real>
<key>Red Component</key>
<real>0.52549022436141968</real>
<real>0.48235294222831726</real>
</dict>
<key>Ansi 14 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.5215686559677124</real>
<real>0.48627451062202454</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.48627451062202454</real>
<real>0.45490196347236633</real>
<key>Red Component</key>
<real>0.18431372940540314</real>
<real>0.16862745583057404</real>
</dict>
<key>Ansi 15 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.80784314870834351</real>
<real>0.40784314274787903</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.82352942228317261</real>
<real>0.36862745881080627</real>
<key>Red Component</key>
<real>0.86274510622024536</real>
<real>0.30980393290519714</real>
</dict>
<key>Ansi 2 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.21568627655506134</real>
<real>0.19215686619281769</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.45490196347236633</real>
<real>0.42352941632270813</real>
<key>Red Component</key>
<real>0.3803921639919281</real>
<real>0.30980393290519714</real>
</dict>
<key>Ansi 3 Color</key>
<dict>
@@ -176,39 +176,39 @@
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.92549020051956177</real>
<real>0.23529411852359772</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.92941176891326904</real>
<real>0.21176470816135406</real>
<key>Red Component</key>
<real>0.94117647409439087</real>
<real>0.17254902422428131</real>
</dict>
<key>Ansi 8 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.35686275362968445</real>
<real>0.729411780834198</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.32156863808631897</real>
<real>0.75686275959014893</real>
<key>Red Component</key>
<real>0.26666668057441711</real>
<real>0.81176471710205078</real>
</dict>
<key>Ansi 9 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.25882354378700256</real>
<real>0.24313725531101227</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.15686275064945221</real>
<real>0.14509804546833038</real>
<key>Red Component</key>
<real>0.61176472902297974</real>
<real>0.58039218187332153</real>
</dict>
<key>Background Color</key>
<dict>
@@ -345,13 +345,13 @@
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.96956521272659302</real>
<real>0.92549020051956177</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.97826087474822998</real>
<real>0.92941176891326904</real>
<key>Red Component</key>
<real>1</real>
<real>0.94117647409439087</real>
</dict>
</dict>
</plist>

View File

@@ -0,0 +1,357 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Ansi 0 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.094117648899555206</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.098039217293262482</real>
<key>Red Component</key>
<real>0.10980392247438431</real>
</dict>
<key>Ansi 1 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.48627451062202454</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.43137255311012268</real>
<key>Red Component</key>
<real>0.87058824300765991</real>
</dict>
<key>Ansi 10 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.40784314274787903</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.68235296010971069</real>
<key>Red Component</key>
<real>0.54509806632995605</real>
</dict>
<key>Ansi 11 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.40392157435417175</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.54901963472366333</real>
<key>Red Component</key>
<real>0.83921569585800171</real>
</dict>
<key>Ansi 12 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.85490196943283081</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.67058825492858887</real>
<key>Red Component</key>
<real>0.3803921639919281</real>
</dict>
<key>Ansi 13 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.75686275959014893</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.52549022436141968</real>
<key>Red Component</key>
<real>0.81176471710205078</real>
</dict>
<key>Ansi 14 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.75686275959014893</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.72156864404678345</real>
<key>Red Component</key>
<real>0.3960784375667572</real>
</dict>
<key>Ansi 15 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.58039218187332153</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.56078433990478516</real>
<key>Red Component</key>
<real>0.53333336114883423</real>
</dict>
<key>Ansi 2 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.4117647111415863</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.60784316062927246</real>
<key>Red Component</key>
<real>0.5058823823928833</real>
</dict>
<key>Ansi 3 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.39215686917304993</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.49411764740943909</real>
<key>Red Component</key>
<real>0.71764707565307617</real>
</dict>
<key>Ansi 4 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.75294119119644165</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.60000002384185791</real>
<key>Red Component</key>
<real>0.37647059559822083</real>
</dict>
<key>Ansi 5 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.65490198135375977</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.47450980544090271</real>
<key>Red Component</key>
<real>0.69803923368453979</real>
</dict>
<key>Ansi 6 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.67843139171600342</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.64705884456634521</real>
<key>Red Component</key>
<real>0.40000000596046448</real>
</dict>
<key>Ansi 7 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.76470589637756348</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.74117648601531982</real>
<key>Red Component</key>
<real>0.70588237047195435</real>
</dict>
<key>Ansi 8 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.20392157137393951</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.21960784494876862</real>
<key>Red Component</key>
<real>0.24313725531101227</real>
</dict>
<key>Ansi 9 Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.56078433990478516</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.51372551918029785</real>
<key>Red Component</key>
<real>0.90980392694473267</real>
</dict>
<key>Background Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.094117648899555206</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.098039217293262482</real>
<key>Red Component</key>
<real>0.10980392247438431</real>
</dict>
<key>Badge Color</key>
<dict>
<key>Alpha Component</key>
<real>0.7057952880859375</real>
<key>Blue Component</key>
<real>0.36862742900848389</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.29803919792175293</real>
<key>Red Component</key>
<real>0.26274508237838745</real>
</dict>
<key>Bold Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.150177001953125</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.12776593863964081</real>
<key>Red Component</key>
<real>0.10535489022731781</real>
</dict>
<key>Cursor Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.79607844352722168</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.78039216995239258</real>
<key>Red Component</key>
<real>0.7607843279838562</real>
</dict>
<key>Cursor Guide Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.32156860828399658</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.25882357358932495</real>
<key>Red Component</key>
<real>0.23137256503105164</real>
</dict>
<key>Cursor Text Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.066666670143604279</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.074509806931018829</real>
<key>Red Component</key>
<real>0.086274512112140656</real>
</dict>
<key>Foreground Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.76470589637756348</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.74117648601531982</real>
<key>Red Component</key>
<real>0.70588237047195435</real>
</dict>
<key>Link Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.7607843279838562</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.57647061347961426</real>
<key>Red Component</key>
<real>0.25882354378700256</real>
</dict>
<key>Selected Text Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.74901962280273438</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.729411780834198</real>
<key>Red Component</key>
<real>0.70196080207824707</real>
</dict>
<key>Selection Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.25490197539329529</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.23137255012989044</real>
<key>Red Component</key>
<real>0.18823529779911041</real>
</dict>
<key>Tab Color</key>
<dict>
<key>Alpha Component</key>
<real>1</real>
<key>Blue Component</key>
<real>0.094117648899555206</real>
<key>Color Space</key>
<string>sRGB</string>
<key>Green Component</key>
<real>0.098039217293262482</real>
<key>Red Component</key>
<real>0.10980392247438431</real>
</dict>
</dict>
</plist>

View File

@@ -8,7 +8,7 @@ background #F0EDEC
foreground #2C363C
selection_background #D2DFE7
selection_foreground #2C363C
url_color #864079
url_color #1D5573
cursor #2C363C
# Tabs
@@ -19,21 +19,21 @@ inactive_tab_foreground #2C363C
#tab_bar_background ${tab_bar_background}
# normal
color0 #2C363C
color0 #F0EDEC
color1 #A8334C
color2 #617437
color2 #4F6C31
color3 #944927
color4 #286486
color5 #88507D
color6 #3B8992
color7 #F0EDEC
color7 #2C363C
# bright
color8 #44525B
color9 #9C2842
color10 #55672A
color11 #87411E
color12 #1F5A7A
color13 #864079
color14 #2F7C85
color15 #DCD2CE
color8 #CFC1BA
color9 #94253E
color10 #3F5A22
color11 #803D1C
color12 #1D5573
color13 #7B3B70
color14 #2B747C
color15 #4F5E68

View File

@@ -0,0 +1,39 @@
# vim:ft=kitty
## name: zenflesh
## license: MIT
## author: Michael Chris Lopez
## upstream: https://github.com/mcchrish/zenbones.nvim/raw/main/extras/kitty/zenflesh.conf
background #1C1918
foreground #B4BDC3
selection_background #37393B
selection_foreground #B4BDC3
url_color #61ABDA
cursor #B4BDC3
# Tabs
active_tab_background #73516C
active_tab_foreground #B4BDC3
inactive_tab_background #3D3836
inactive_tab_foreground #B4BDC3
#tab_bar_background ${tab_bar_background}
# normal
color0 #1C1918
color1 #DE6E7C
color2 #819B69
color3 #B77E64
color4 #6099C0
color5 #B279A7
color6 #66A5AD
color7 #B4BDC3
# bright
color8 #3E3834
color9 #E8838F
color10 #8BAE68
color11 #D68C67
color12 #61ABDA
color13 #CF86C1
color14 #65B8C1
color15 #888F94

View File

@@ -1,17 +1,17 @@
set -g status-left ' #[fg=#88507D,bold]#{s/root//:client_key_table} '
set -g status-right '#[fg=#88507D,bold] [#S]#[fg=#88507D,bold] [%d/%m] #[fg=#88507D,bold][%I:%M%p] '
set -g status-style fg='#88507D',bg='#F0EDEC'
set -g status-style fg='#88507D',bg='#2C363C'
set -g window-status-current-style fg='#88507D',bg='#F0EDEC',bold
set -g window-status-current-style fg='#88507D',bg='#2C363C',bold
set -g pane-border-style fg='#88507D'
set -g pane-active-border-style fg='#88507D'
set -g message-style fg='#2C363C',bg='#D2DFE7'
set -g message-style fg='#F0EDEC',bg='#D2DFE7'
set -g display-panes-active-colour '#88507D'
set -g display-panes-colour '#88507D'
set -g clock-mode-colour '#88507D'
set -g mode-style fg='#2C363C',bg='#D2DFE7'
set -g mode-style fg='#F0EDEC',bg='#D2DFE7'

17
extras/tmux/zenflesh.tmux Normal file
View File

@@ -0,0 +1,17 @@
set -g status-left ' #[fg=#B279A7,bold]#{s/root//:client_key_table} '
set -g status-right '#[fg=#B279A7,bold] [#S]#[fg=#B279A7,bold] [%d/%m] #[fg=#B279A7,bold][%I:%M%p] '
set -g status-style fg='#B279A7',bg='#B4BDC3'
set -g window-status-current-style fg='#B279A7',bg='#B4BDC3',bold
set -g pane-border-style fg='#B279A7'
set -g pane-active-border-style fg='#B279A7'
set -g message-style fg='#1C1918',bg='#37393B'
set -g display-panes-active-colour '#B279A7'
set -g display-panes-colour '#B279A7'
set -g clock-mode-colour '#B279A7'
set -g mode-style fg='#1C1918',bg='#37393B'

View File

@@ -8,5 +8,5 @@ cursor_fg = "#F2F0EF"
selection_bg = "#D2DFE7"
selection_fg = "#2C363C"
ansi = ["#2C363C", "#A8334C", "#617437", "#944927", "#286486", "#88507D", "#3B8992", "#F0EDEC"]
brights = ["#44525B", "#9C2842", "#55672A", "#87411E", "#1F5A7A", "#864079", "#2F7C85", "#DCD2CE"]
ansi = ["#F0EDEC", "#A8334C", "#4F6C31", "#944927", "#286486", "#88507D", "#3B8992", "#2C363C"]
brights = ["#CFC1BA", "#94253E", "#3F5A22", "#803D1C", "#1D5573", "#7B3B70", "#2B747C", "#4F5E68"]

View File

@@ -0,0 +1,12 @@
# Zenflesh
[colors]
foreground = "#B4BDC3"
background = "#1C1918"
cursor_bg = "#C4CACF"
cursor_border = "#171514"
cursor_fg = "#171514"
selection_bg = "#37393B"
selection_fg = "#B4BDC3"
ansi = ["#1C1918", "#DE6E7C", "#819B69", "#B77E64", "#6099C0", "#B279A7", "#66A5AD", "#B4BDC3"]
brights = ["#3E3834", "#E8838F", "#8BAE68", "#D68C67", "#61ABDA", "#CF86C1", "#65B8C1", "#888F94"]

View File

@@ -10,7 +10,7 @@ return {
},
insert = {
a = { bg = "#DDE6CD", fg = common_fg, gui = "bold" },
a = { bg = "#99C6E9", fg = common_fg, gui = "bold" },
},
command = {

View File

@@ -0,0 +1,33 @@
local common_fg = "#BBAEA8"
local inactive_bg = "#312D2B"
local inactive_fg = "#CAD0D4"
return {
normal = {
a = { bg = "#716965", fg = common_fg, gui = "bold" },
b = { bg = "#4E4845", fg = common_fg },
c = { bg = "#3D3836", fg = "#B4BDC3" },
},
insert = {
a = { bg = "#455C6F", fg = common_fg, gui = "bold" },
},
command = {
a = { bg = "#73516C", fg = common_fg, gui = "bold" },
},
visual = {
a = { bg = "#37393B", fg = common_fg, gui = "bold" },
},
replace = {
a = { bg = "#5B2E33", fg = common_fg, gui = "bold" },
},
inactive = {
a = { bg = inactive_bg, fg = inactive_fg, gui = "bold" },
b = { bg = inactive_bg, fg = inactive_fg },
c = { bg = inactive_bg, fg = inactive_fg },
},
}

View File

@@ -1,6 +1,3 @@
local theme = require "zenbones"
local terminal = require "zenbones.terminal"
-- got from http://lua-users.org/wiki/StringInterpolation
function interp(s, tab)
return (s:gsub("($%b{})", function(w)
@@ -19,7 +16,26 @@ end
local function build()
local templates = { "vim", "kitty", "alacritty", "wezterm", "lualine", "lightline", "tmux" }
for _, t in ipairs(templates) do
write_template(unpack(require("zenbones.build." .. t)))
write_template(
unpack(
require("zenbones.build." .. t)(
"zenbones",
require "zenbones",
require "zenbones.palette",
require "zenbones.terminal"
)
)
)
write_template(
unpack(
require("zenbones.build." .. t)(
"zenflesh",
require "zenflesh",
require "zenflesh.palette",
require "zenflesh.terminal"
)
)
)
end
end

View File

@@ -1,4 +1,4 @@
local template = [[# Zenbones Alacritty Colors
local template = [[# ${name} alacritty colors
colors:
# Default colors
primary:
@@ -26,10 +26,9 @@ colors:
white: '${color15}'
]]
local theme = require "zenbones"
local terminal = require "zenbones.terminal"
return function(name, theme, palette, terminal)
local values = {
name = name,
bg = theme.Normal.bg.hex,
fg = theme.Normal.fg.hex,
}
@@ -37,4 +36,5 @@ for i, v in ipairs(terminal.colors) do
values["color" .. (i - 1)] = v.hex
end
return { "extras/alacritty/zenbones.yml", template, values }
return { string.format("extras/alacritty/%s.yml", name), template, values }
end

View File

@@ -1,8 +1,8 @@
local template = [[# vim:ft=kitty
## name: zenbones
## name: ${name}
## license: MIT
## author: Michael Chris Lopez
## upstream: https://github.com/mcchrish/zenbones.nvim/raw/main/extras/kitty/zenbones.conf
## upstream: https://github.com/mcchrish/zenbones.nvim/raw/main/extras/kitty/${name}.conf
background ${background}
foreground ${foreground}
@@ -39,17 +39,16 @@ color14 ${color14}
color15 ${color15}
]]
local theme = require "zenbones"
local terminal = require "zenbones.terminal"
return function(name, theme, palette, terminal)
local bg = theme.Normal.bg.hex
local fg = theme.Normal.fg.hex
local values = {
name = name,
background = bg,
foreground = fg,
selection_background = theme.Visual.bg.hex,
selection_foreground = fg,
url_color = terminal.colors[14].hex,
url_color = terminal.colors[13].hex,
cursor = fg,
active_tab_background = theme.Search.bg.hex,
active_tab_foreground = fg,
@@ -60,4 +59,5 @@ for i, v in ipairs(terminal.colors) do
values["color" .. (i - 1)] = v.hex
end
return { "extras/kitty/zenbones.conf", template, values }
return { string.format("extras/kitty/%s.conf", name), template, values }
end

View File

@@ -22,10 +22,9 @@ let s:p.tabline.tabsel = [ [ "${tabsel_fg}", "${tabsel_bg}", "bold" ] ]
let g:lightline#colorscheme#zenbones#palette = lightline#colorscheme#fill(s:p)
]]
local theme = require "zenbones"
return function(name, theme, palette, terminal)
return {
"autoload/lightline/colorscheme/zenbones.vim",
string.format("autoload/lightline/colorscheme/%s.vim", name),
template,
{
common_fg = theme.Folded.fg.hex,
@@ -35,7 +34,7 @@ return {
normal_b_bg = theme.PmenuSel.bg.hex,
normal_c_bg = theme.StatusLine.bg.hex,
normal_c_fg = theme.StatusLine.fg.hex,
insert_a_bg = theme.DiffAdd.bg.hex,
insert_a_bg = theme.DiffText.bg.hex,
visual_a_bg = theme.Visual.bg.hex,
replace_a_bg = theme.DiffDelete.bg.hex,
tabline_left_bg = theme.PmenuSel.bg.hex,
@@ -50,3 +49,4 @@ return {
error_fg = theme.LspDiagnosticsVirtualTextError.fg.hex,
},
}
end

View File

@@ -33,10 +33,9 @@ return {
}
]]
local theme = require "zenbones"
return function(name, theme, palette, terminal)
return {
"lua/lualine/themes/zenbones.lua",
string.format("lua/lualine/themes/%s.lua", name),
template,
{
common_fg = theme.Folded.fg.hex,
@@ -46,9 +45,10 @@ return {
normal_b_bg = theme.PmenuSel.bg.hex,
normal_c_bg = theme.StatusLine.bg.hex,
normal_c_fg = theme.StatusLine.fg.hex,
insert_a_bg = theme.DiffAdd.bg.hex,
insert_a_bg = theme.DiffText.bg.hex,
command_a_bg = theme.Search.bg.hex,
visual_a_bg = theme.Visual.bg.hex,
replace_a_bg = theme.DiffDelete.bg.hex,
},
}
end

View File

@@ -17,9 +17,7 @@ set -g clock-mode-colour '${color5}'
set -g mode-style fg='${color0}',bg='${selection_background}'
]]
local theme = require "zenbones"
local terminal = require "zenbones.terminal"
return function(name, theme, palette, terminal)
local values = {
selection_background = theme.Visual.bg.hex,
}
@@ -27,4 +25,5 @@ for i, v in ipairs(terminal.colors) do
values["color" .. (i - 1)] = v.hex
end
return { "extras/tmux/zenbones.tmux", template, values }
return { string.format("extras/tmux/%s.tmux", name), template, values }
end

View File

@@ -1,6 +1,4 @@
local lush = require "lush"
local theme = require "zenbones"
local terminal = require "zenbones.terminal"
local template = [[if exists('g:colors_name')
highlight clear
@@ -8,8 +6,8 @@ local template = [[if exists('g:colors_name')
set t_Co=256
endif
set background=light
let g:colors_name = 'zenbones'
set background=${background}
let g:colors_name = '${name}'
${termcolors}
if has('terminal')
@@ -36,6 +34,7 @@ endif
${vimcolors}
]]
return function(name, theme, palette, terminal)
local termcolors = ""
for i, v in ipairs(terminal.colors) do
termcolors = termcolors .. string.format("let g:terminal_color_%s = '%s'\n", (i - 1), v.hex)
@@ -45,10 +44,13 @@ end
local vimcolors = table.concat(vim.fn.sort(lush.compile(theme, { exclude_keys = { "blend" } })), "\n")
return {
"colors/zenbones.vim",
string.format("colors/%s.vim", name),
template,
{
background = name == "zenbones" and "light" or "dark",
name = name,
termcolors = termcolors,
vimcolors = vimcolors,
},
}
end

View File

@@ -1,4 +1,4 @@
local template = [[# Zenbones
local template = [[# ${name}
[colors]
foreground = "${fg}"
background = "${bg}"
@@ -12,10 +12,11 @@ ansi = ["${color0}", "${color1}", "${color2}", "${color3}", "${color4}", "${colo
brights = ["${color8}", "${color9}", "${color10}", "${color11}", "${color12}", "${color13}", "${color14}", "${color15}"]
]]
local theme = require "zenbones"
local terminal = require "zenbones.terminal"
return function(name, theme, palette, terminal)
local name = name:sub(1, 1):upper() .. name:sub(2)
local values = {
name = name,
fg = theme.Normal.fg.hex,
bg = theme.Normal.bg.hex,
cursor_bg = theme.Cursor.bg.hex,
@@ -28,4 +29,5 @@ for i, v in ipairs(terminal.colors) do
values["color" .. (i - 1)] = v.hex
end
return { "extras/wezterm/Zenbones.toml", template, values }
return { string.format("extras/wezterm/%s.toml", name), template, values }
end

View File

@@ -1,21 +1,23 @@
local lush = require "lush"
local c = require "zenbones.colors"
local p = require "zenbones.palette"
local normal_bg = c.sand
local diff_bg_li = 0
local normal_bg = p.bg
local diff_bg_l = 0
local lightness = vim.g.zenbones_lightness
if lightness == "bright" then
normal_bg = normal_bg.abs_da(-4)
diff_bg_li = -4
normal_bg = normal_bg.abs_li(3).sa(6)
diff_bg_l = -4
elseif lightness == "dim" then
normal_bg = normal_bg.abs_da(4).de(18)
diff_bg_li = 4
normal_bg = normal_bg.abs_da(3).de(12)
diff_bg_l = 4
elseif lightness ~= nil then
local error_msg = "Unknown zenbones_lightness value: " .. vim.inspect(lightness)
vim.api.nvim_echo({ { error_msg, "WarningMsg" } }, true, {})
end
local italic_comments = type(vim.g.zenbones_italic_comments) == "boolean" and vim.g.zenbones_italic_comments or true
-- stylua: ignore start
local theme = lush(function()
return {
@@ -31,43 +33,43 @@ local theme = lush(function()
-- styling for that group (meaning they mostly get styled as Normal)
-- or leave them commented to apply vims default colouring or linking.
Normal { bg = normal_bg, fg = c.stone }, -- normal text
Normal { bg = normal_bg, fg = p.fg }, -- normal text
Underlined { gui = "underline" }, -- (preferred) text that stands out, HTML links
Bold { gui = "bold" },
Italic { gui = "italic" },
Error { fg = c.rose }, -- (preferred) any erroneous construct
Error { fg = p.rose }, -- (preferred) any erroneous construct
ErrorMsg { Error }, -- error messages on the command line
WarningMsg { fg = c.wood }, -- warning messages
WarningMsg { fg = p.wood }, -- warning messages
Comment { fg = c.sand.da(38).de(28), gui = "italic" }, -- any comment
Conceal { fg = c.stone.li(20), gui = "bold,italic" }, -- placeholder characters substituted for concealed text (see 'conceallevel')
Comment { fg = p.bg.da(38).de(28), gui = (italic_comments and "italic" or "NONE") }, -- any comment
Conceal { fg = p.fg.li(20), gui = "bold,italic" }, -- placeholder characters substituted for concealed text (see 'conceallevel')
Cursor { bg = c.stone, fg = c.sand.li(20) }, -- character under the cursor
Cursor { bg = p.fg, fg = p.bg.li(20) }, -- character under the cursor
lCursor { Cursor, bg = Cursor.bg.li(20) }, -- the character under the cursor when |language-mapping| is used (see 'guicursor')
-- CursorIM { }, -- like Cursor, but used when in IME mode |CursorIM|
TermCursor { Cursor }, -- cursor in a focused terminal
CursorLine { bg = Normal.bg.da(4) }, -- Screen-line at the cursor, when 'cursorline' is set. Low-priority if foreground (ctermfg OR guifg) is not set.
CursorColumn { CursorLine }, -- Screen-column at the cursor, when 'cursorcolumn' is set.
ColorColumn { bg = c.wood.de(38).li(80) }, -- used for the columns set with 'colorcolumn'
ColorColumn { bg = p.wood.de(38).li(80) }, -- used for the columns set with 'colorcolumn'
DiffAdd { bg = c.leaf.de(77).li(82).abs_da(diff_bg_li) }, -- diff mode: Added line |diff.txt|
DiffChange { bg = c.water.de(22).li(76).abs_da(diff_bg_li) }, -- diff mode: Changed line |diff.txt|
DiffDelete { bg = c.rose.de(37).li(74).abs_da(diff_bg_li) }, -- diff mode: Deleted line |diff.txt|
DiffText { bg = c.water.de(24).li(64).abs_da(diff_bg_li), fg = c.stone }, -- diff mode: Changed text within a changed line |diff.txt|
DiffAdd { bg = p.leaf.de(77).li(82).abs_da(diff_bg_l) }, -- diff mode: Added line |diff.txt|
DiffChange { bg = p.water.de(22).li(76).abs_da(diff_bg_l) }, -- diff mode: Changed line |diff.txt|
DiffDelete { bg = p.rose.de(37).li(74).abs_da(diff_bg_l) }, -- diff mode: Deleted line |diff.txt|
DiffText { bg = p.water.de(24).li(64).abs_da(diff_bg_l), fg = p.fg }, -- diff mode: Changed text within a changed line |diff.txt|
LineNr { fg = Normal.bg.da(32) }, -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is set.
SignColumn { LineNr }, -- column where |signs| are displayed
FoldColumn { LineNr, gui = "bold" }, -- 'foldcolumn'
Folded { bg = Normal.bg.da(16), fg = Normal.bg.da(64) }, -- line used for closed folds
CursorLineNr { LineNr, fg = c.stone, gui = "bold" }, -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line.
CursorLineNr { LineNr, fg = p.fg, gui = "bold" }, -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line.
-- ModeMsg { }, -- 'showmode' message (e.g., "-- INSERT -- ")
-- MsgArea { }, -- Area for messages and cmdline
-- MsgSeparator { }, -- Separator for scrolled messages, `msgsep` flag of 'display'
MoreMsg { fg = c.leaf, gui = "bold" }, -- |more-prompt|
MoreMsg { fg = p.leaf, gui = "bold" }, -- |more-prompt|
NormalFloat { bg = Normal.bg.da(6) }, -- Normal text in floating windows.
FloatBorder { fg = Normal.bg.da(50) }, -- Normal text in floating windows.
@@ -76,8 +78,8 @@ local theme = lush(function()
PmenuSbar { bg = Normal.bg.da(28) }, -- Popup menu: scrollbar.
PmenuThumb { bg = Normal.bg.li(58) }, -- Popup menu: Thumb of the scrollbar.
Search { bg = c.blossom.de(10).li(54), fg = c.stone }, -- Last search pattern highlighting (see 'hlsearch'). Also used for similar items that need to stand out.
IncSearch { bg = c.blossom, fg = c.sand, gui = "bold" }, -- 'incsearch' highlighting; also used for the text replaced with ":s///c"
Search { bg = p.blossom.de(10).li(54), fg = p.fg }, -- Last search pattern highlighting (see 'hlsearch'). Also used for similar items that need to stand out.
IncSearch { bg = p.blossom, fg = p.bg, gui = "bold" }, -- 'incsearch' highlighting; also used for the text replaced with ":s///c"
-- Substitute { }, -- |:substitute| replacement text highlighting
MatchParen { Search }, -- The character under the cursor or just before it, if it is a paired bracket, and its match. |pi_paren.txt|
-- QuickFixLine { }, -- Current |quickfix| item in the quickfix window. Combined with |hl-CursorLine| when the cursor is there.
@@ -85,16 +87,16 @@ local theme = lush(function()
SpellBad { fg = Error.fg.de(30), gui = "undercurl", guisp = Error.fg }, -- Word that is not recognized by the spellchecker. |spell| Combined with the highlighting used otherwise.
SpellCap { SpellBad, guisp = Error.fg.li(10) }, -- Word that should start with a capital. |spell| Combined with the highlighting used otherwise.
SpellLocal { SpellCap }, -- Word that is recognized by the spellchecker as one that is used in another region. |spell| Combined with the highlighting used otherwise.
SpellRare { SpellBad, guisp = c.wood }, -- Word that is recognized by the spellchecker as one that is hardly ever used. |spell| Combined with the highlighting used otherwise.
SpellRare { SpellBad, guisp = p.wood }, -- Word that is recognized by the spellchecker as one that is hardly ever used. |spell| Combined with the highlighting used otherwise.
StatusLine { bg = c.sand.da(14), fg = c.stone }, -- status line of current window
StatusLineNC { bg = c.sand.da(10), fg = c.stone.li(28) }, -- status lines of not-current windows Note: if this is equal to "StatusLine" Vim will use "^^^" in the status line of the current window.
StatusLine { bg = p.bg.da(14), fg = p.fg }, -- status line of current window
StatusLineNC { bg = p.bg.da(10), fg = p.fg.li(28) }, -- status lines of not-current windows Note: if this is equal to "StatusLine" Vim will use "^^^" in the status line of the current window.
TabLine { StatusLine, gui = "italic" }, -- tab pages line, not active tab page label
TabLineFill { StatusLineNC }, -- tab pages line, where there are no labels
TabLineSel { gui = "bold" }, -- tab pages line, active tab page label
VertSplit { fg = PmenuThumb.bg }, -- the column separating vertically split windows
VertSplit { LineNr }, -- the column separating vertically split windows
Visual { bg = c.stone.li(84) }, -- Visual mode selection
Visual { bg = p.fg.li(84) }, -- Visual mode selection
-- VisualNOS { }, -- Visual mode selection when vim is "Not Owning the Selection".
NonText { fg = Normal.bg.da(22) }, -- '@' at the end of the window, characters from 'showbreak' and other characters that do not really exist in the text (e.g., ">" displayed when a double-wide character doesn't fit at the end of the line). See also |hl-EndOfBuffer|.
@@ -102,7 +104,7 @@ local theme = lush(function()
Whitespace { NonText }, -- "nbsp", "space", "tab" and "trail" in 'listchars'
EndOfBuffer { NonText }, -- filler lines (~) after the end of the buffer. By default, this is highlighted like |hl-NonText|.
WildMenu { bg = c.blossom, fg = c.sand }, -- current match in 'wildmenu' completion
WildMenu { bg = p.blossom, fg = p.bg }, -- current match in 'wildmenu' completion
Directory { gui = "bold" }, -- directory names (and other special names in listings)
Question { MoreMsg }, -- |hit-enter| prompt and yes/no questions
Title { gui = "bold" }, -- titles for output from ":set all", ":autocmd" etc.
@@ -114,21 +116,21 @@ local theme = lush(function()
-- default,
-- Uncomment and edit if you want more specific syntax highlighting.
Constant { fg = c.stone.li(24), gui = "italic" }, -- (preferred) any constant
Constant { fg = p.fg.li(25), gui = "italic" }, -- (preferred) any constant
-- String { }, -- a string constant: "this is a string"
-- Character { }, -- a character constant: 'c', '\n'
-- Number { }, -- a number constant: 234, 0xff
-- Boolean { }, -- a boolean constant: TRUE, false
Number { gui = "italic" }, -- a number constant: 234, 0xff
Boolean { Number }, -- a boolean constant: TRUE, false
-- Float { }, -- a floating point constant: 2.3e10
Identifier { fg = c.stone.li(16) }, -- (preferred) any variable name
Function { fg = c.stone }, -- function name (also: methods for classes)
Identifier { fg = p.fg.li(15) }, -- (preferred) any variable name
Function { fg = p.fg }, -- function name (also: methods for classes)
Statement { fg = c.stone, gui = "bold" }, -- (preferred) any statement
-- Conditional { }, -- if, then, else, endif, switch, etc.
-- Repeat { }, -- for, do, while, etc.
-- Label { }, -- case, default, etc.
-- Operator { }, -- "sizeof", "+", "*", etc.
Statement { fg = p.fg, gui = "bold" }, -- (preferred) any statement
-- Conditional { }, -- if, then, else, endif, switch, etp.
-- Repeat { }, -- for, do, while, etp.
-- Label { }, -- case, default, etp.
-- Operator { }, -- "sizeof", "+", "*", etp.
-- Keyword { }, -- any other keyword
-- Exception { }, -- try, catch, throw
@@ -136,17 +138,17 @@ local theme = lush(function()
-- Include { }, -- preprocessor #include
-- Define { }, -- preprocessor #define
-- Macro { }, -- same as Define
-- PreCondit { }, -- preprocessor #if, #else, #endif, etc.
-- PreCondit { }, -- preprocessor #if, #else, #endif, etp.
Type { fg = c.sand.da(62) }, -- (preferred) int, long, char, etc.
Type { fg = p.bg.da(62) }, -- (preferred) int, long, char, etp.
-- StorageClass { }, -- static, register, volatile, etc.
-- Structure { }, -- struct, union, enum, etc.
-- Typedef { }, -- A typedef
Special { fg = c.stone.li(21), gui = "bold" }, -- (preferred) any special symbol
Special { fg = p.fg.li(21), gui = "bold" }, -- (preferred) any special symbol
-- SpecialChar { }, -- special character in a constant
-- Tag { }, -- you can use CTRL-] on this
Delimiter { fg = c.sand.da(42) }, -- character that needs attention
Delimiter { fg = p.bg.da(42) }, -- character that needs attention
SpecialComment { Comment, gui = "bold" }, -- special things inside a comment
-- Debug { }, -- debugging statements
@@ -165,11 +167,11 @@ local theme = lush(function()
LspDiagnosticsDefaultError { Error }, -- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspDiagnosticsDefaultWarning { WarningMsg }, -- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspDiagnosticsDefaultInformation { fg = c.water }, -- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspDiagnosticsDefaultHint { fg = c.blossom }, -- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspDiagnosticsDefaultInformation { fg = p.water }, -- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspDiagnosticsDefaultHint { fg = p.blossom }, -- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspDiagnosticsVirtualTextError { LspDiagnosticsDefaultError, bg = c.rose.abs_de(48).li(82) }, -- Used for "Error" diagnostic virtual text
LspDiagnosticsVirtualTextWarning { LspDiagnosticsDefaultWarning, bg = c.wood.de(58).li(86) }, -- Used for "Warning" diagnostic virtual text
LspDiagnosticsVirtualTextError { LspDiagnosticsDefaultError, bg = p.rose.abs_de(48).li(82) }, -- Used for "Error" diagnostic virtual text
LspDiagnosticsVirtualTextWarning { LspDiagnosticsDefaultWarning, bg = p.wood.de(58).li(86) }, -- Used for "Warning" diagnostic virtual text
-- LspDiagnosticsVirtualTextInformation { }, -- Used for "Information" diagnostic virtual text
-- LspDiagnosticsVirtualTextHint { }, -- Used for "Hint" diagnostic virtual text
@@ -253,14 +255,14 @@ local theme = lush(function()
TSDanger { Error },
-- Syntax
diffAdded { fg = c.leaf },
diffRemoved { fg = c.rose },
diffChanged { fg = c.water },
diffOldFile { fg = c.rose, gui = "italic" },
diffNewFile { fg = c.leaf, gui = "italic" },
diffFile { fg = c.wood, gui = "bold" },
diffLine { fg = c.blossom, gui = "bold" },
diffIndexLine { fg = c.wood },
diffAdded { fg = p.leaf },
diffRemoved { fg = p.rose },
diffChanged { fg = p.water },
diffOldFile { fg = p.rose, gui = "italic" },
diffNewFile { fg = p.leaf, gui = "italic" },
diffFile { fg = p.wood, gui = "bold" },
diffLine { fg = p.blossom, gui = "bold" },
diffIndexLine { fg = p.wood },
markdownH1 { Statement, gui = "bold,underline" },
markdownH2 { Statement },
@@ -277,40 +279,40 @@ local theme = lush(function()
helpOption { Constant },
-- Other plugins
GitSignsAdd { fg = c.leaf },
GitSignsChange { fg = c.water },
GitSignsDelete { fg = c.rose },
GitSignsAdd { fg = p.leaf },
GitSignsChange { fg = p.water },
GitSignsDelete { fg = p.rose },
GitGutterAdd { GitSignsAdd },
GitGutterChange { GitSignsChange },
GitGutterDelete { GitSignsDelete },
IndentBlanklineChar { fg = c.sand.da(12).de(20) },
IndentBlanklineChar { fg = p.bg.da(12).de(20) },
TelescopeSelection { CursorLine },
TelescopeSelectionCaret { TelescopeSelection, fg = c.rose },
TelescopeMatching { fg = c.blossom, gui = "bold" },
TelescopeSelectionCaret { TelescopeSelection, fg = p.rose },
TelescopeMatching { fg = p.blossom, gui = "bold" },
TelescopeBorder { FloatBorder },
Sneak { Search },
SneakLabel { WildMenu },
SneakLabelMask { bg = c.blossom, fg = c.blossom },
SneakLabelMask { bg = p.blossom, fg = p.blossom },
LightspeedLabel { fg = c.blossom, gui = "bold,underline" },
LightspeedLabelOverlapped { fg = c.blossom, gui = "underline" },
LightspeedLabelDistant { fg = c.sky, gui = "bold,underline" },
LightspeedLabelDistantOverlapped { fg = c.sky, gui = "underline" },
LightspeedLabel { fg = p.blossom, gui = "bold,underline" },
LightspeedLabelOverlapped { fg = p.blossom, gui = "underline" },
LightspeedLabelDistant { fg = p.sky, gui = "bold,underline" },
LightspeedLabelDistantOverlapped { fg = p.sky, gui = "underline" },
LightspeedShortcut { SneakLabel, gui = "bold,underline" },
LightspeedOneCharMatch { SneakLabel, gui = "bold" },
LightspeedMaskedChar { Conceal },
LightspeedUnlabeledMatch { Bold },
LightspeedPendingOpArea { SneakLabel },
LightspeedPendingChangeOpArea { fg = c.blossom },
LightspeedPendingChangeOpArea { fg = p.blossom },
LightspeedGreyWash { fg = Comment.fg },
HopNextKey { LightspeedLabel },
HopNextKey1 { LightspeedLabelDistant },
HopNextKey2 { fg = c.water },
HopNextKey2 { fg = p.water },
HopUnmatched { LightspeedGreyWash } ,
BufferCurrent { TabLineSel },
@@ -322,15 +324,15 @@ local theme = lush(function()
CocWarningSign { LspDiagnosticsDefaultWarning },
CocInfoSign { LspDiagnosticsDefaultInformation },
CocHintSign { LspDiagnosticsDefaultHint },
CocErrorHighlight { CocErrorSign, gui = "underline" },
CocWarningHighlight { CocWarningSign, gui = "underline" },
CocInfoHighlight { CocInfoSign, gui = "underline" },
CocHintHighlight { CocHintSign, gui = "underline" },
CocErrorHighlight { LspDiagnosticsUnderlineError },
CocWarningHighlight { LspDiagnosticsUnderlineWarning },
CocInfoHighlight { LspDiagnosticsUnderlineInformation },
CocHintHighlight { LspDiagnosticsUnderlineHint },
CocErrorVirtualText { LspDiagnosticsVirtualTextError },
CocWarningVitualText { LspDiagnosticsVirtualTextWarning },
CocSelectedText { SpellBad },
CocCodeLens { LineNr },
CocMarkdownLink { fg = c.sky, gui = "underline" },
CocMarkdownLink { fg = p.sky, gui = "underline" },
NeogitNotificationError { LspDiagnosticsDefaultError },
NeogitNotificationWarning { LspDiagnosticsDefaultWarning },
@@ -340,7 +342,7 @@ local theme = lush(function()
NeogitDiffDeleteHighlight { DiffDelete },
NeogitDiffAddHighlight { DiffAdd },
NeogitHunkHeader { LineNr },
NeogitHunkHeaderHighlight { CursorLine, fg = c.stone, gui = "bold" },
NeogitHunkHeaderHighlight { CursorLine, fg = p.fg, gui = "bold" },
WhichKey { Statement },
WhichKeyGroup { Special },

View File

@@ -1,15 +1,13 @@
local lush = require "lush"
local hsluv = lush.hsluv
local colors = {
sand = hsluv(39, 12, 94),
stone = hsluv(230, 30, 22),
leaf = hsluv(103, 72, 46),
return {
bg = hsluv(39, 12, 94), -- sand
fg = hsluv(230, 30, 22), -- stone
leaf = hsluv(112, 72, 42),
water = hsluv(236, 84, 40),
rose = hsluv(4, 70, 40),
wood = hsluv(26, 80, 40),
blossom = hsluv(318, 42, 42),
sky = hsluv(204, 80, 53),
}
return colors

View File

@@ -1,33 +0,0 @@
local t = require "zenbones"
local terminal = require "zenbones.terminal"
local M = {}
function M.print_terminal_colors()
local lines = {}
table.insert(lines, "Terminal colors")
table.insert(lines, "foreground: " .. t.Normal.fg.hex)
table.insert(lines, "background: " .. t.Normal.bg.hex)
for i, v in ipairs(terminal.colors) do
table.insert(lines, "ansi color" .. (i - 1) .. ": " .. v.hex)
-- table.insert(lines, "let g:terminal_color_" .. (i - 1) .. " = '" .. v.hex .. "'")
end
table.insert(lines, "cursor foreground: " .. t.Cursor.fg.hex)
table.insert(lines, "cursor background: " .. t.Cursor.bg.hex)
table.insert(lines, "inactive cursor foreground: " .. t.lCursor.fg.hex)
table.insert(lines, "inactive cursor background: " .. t.lCursor.bg.hex)
table.insert(lines, "selection background: " .. t.Visual.bg.hex)
local buf = vim.api.nvim_create_buf(false, true)
vim.api.nvim_buf_set_lines(buf, 0, -1, false, lines)
vim.cmd('tabnew')
local win = vim.api.nvim_get_current_win()
vim.api.nvim_win_set_buf(win, buf)
end
return M

View File

@@ -1,23 +1,23 @@
local lush = require "lush"
local c = require "zenbones.colors"
local p = require "zenbones.palette"
local colors = {
c.stone,
c.rose,
c.leaf,
c.wood,
c.water,
c.blossom,
c.sky,
c.sand,
c.stone.li(16),
c.rose.sa(20).da(10),
c.leaf.sa(20).da(10),
c.wood.sa(18).da(10),
c.water.sa(20).da(10),
c.blossom.sa(24).da(10),
c.sky.sa(20).da(10),
c.sand.sa(4).da(10),
p.bg,
p.rose,
p.leaf,
p.wood,
p.water,
p.blossom,
p.sky,
p.fg,
p.bg.sa(4).da(16),
p.rose.sa(20).da(16),
p.leaf.sa(20).da(16),
p.wood.sa(18).da(16),
p.water.sa(20).da(16),
p.blossom.sa(24).da(16),
p.sky.sa(20).da(16),
p.fg.li(22),
}
local M = {}

390
lua/zenflesh/init.lua Normal file
View File

@@ -0,0 +1,390 @@
local lush = require "lush"
local p = require "zenflesh.palette"
local normal_bg = p.bg
local diff_bg_l = 0
local darkness = vim.g.zenflesh_darkness
if darkness == "stark" then
normal_bg = normal_bg.abs_da(3).sa(8)
diff_bg_l = -3
elseif darkness == "warm" then
normal_bg = normal_bg.abs_li(3).de(12)
diff_bg_l = 3
elseif darkness ~= nil then
local error_msg = "Unknown zenflesh_darkness value: " .. vim.inspect(darkness)
vim.api.nvim_echo({ { error_msg, "WarningMsg" } }, true, {})
end
local italic_comments = type(vim.g.zenflesh_italic_comments) == "boolean" and vim.g.zenflesh_italic_comments or true
-- stylua: ignore start
local theme = lush(function()
return {
-- The following are all the Neovim default highlight groups from the docs
-- as of 0.5.0-nightly-446, to aid your theme creation. Your themes should
-- probably style all of these at a bare minimum.
--
-- Referenced/linked groups must come before being referenced/lined,
-- so the order shown ((mostly) alphabetical) is likely
-- not the order you will end up with.
--
-- You can uncomment these and leave them empty to disable any
-- styling for that group (meaning they mostly get styled as Normal)
-- or leave them commented to apply vims default colouring or linking.
Normal { bg = normal_bg, fg = p.fg }, -- normal text
Underlined { gui = "underline" }, -- (preferred) text that stands out, HTML links
Bold { gui = "bold" },
Italic { gui = "italic" },
Error { fg = p.rose }, -- (preferred) any erroneous construct
ErrorMsg { Error }, -- error messages on the command line
WarningMsg { fg = p.wood }, -- warning messages
Comment { fg = p.bg.li(38).de(34), gui = (italic_comments and "italic" or "NONE") }, -- any comment
Conceal { fg = p.fg.da(20), gui = "bold,italic" }, -- placeholder characters substituted for concealed text (see 'conceallevel')
Cursor { bg = p.fg.li(20), fg = p.bg.da(20) }, -- character under the cursor
lCursor { Cursor, bg = Cursor.bg.da(35) }, -- the character under the cursor when |language-mapping| is used (see 'guicursor')
-- CursorIM { }, -- like Cursor, but used when in IME mode |CursorIM|
TermCursor { Cursor }, -- cursor in a focused terminal
TermCursorNC { lCursor }, -- cursor in an unfocused terminal
CursorLine { bg = Normal.bg.li(4) }, -- Screen-line at the cursor, when 'cursorline' is set. Low-priority if foreground (ctermfg OR guifg) is not set.
CursorColumn { CursorLine }, -- Screen-column at the cursor, when 'cursorcolumn' is set.
ColorColumn { bg = p.wood.de(40).da(38) }, -- used for the columns set with 'colorcolumn'
DiffAdd { bg = p.leaf.de(28).da(60).abs_da(diff_bg_l) }, -- diff mode: Added line |diff.txt|
DiffChange { bg = p.water.de(24).da(58).abs_da(diff_bg_l) }, -- diff mode: Changed line |diff.txt|
DiffDelete { bg = p.rose.de(40).da(58).abs_da(diff_bg_l) }, -- diff mode: Deleted line |diff.txt|
DiffText { bg = p.water.de(28).da(38).abs_da(diff_bg_l), fg = p.fg }, -- diff mode: Changed text within a changed line |diff.txt|
LineNr { fg = Normal.bg.li(30) }, -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is set.
SignColumn { LineNr }, -- column where |signs| are displayed
FoldColumn { LineNr, gui = "bold" }, -- 'foldcolumn'
Folded { bg = Normal.bg.li(16), fg = Normal.bg.li(69) }, -- line used for closed folds
CursorLineNr { LineNr, fg = p.fg, gui = "bold" }, -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line.
-- ModeMsg { }, -- 'showmode' message (e.g., "-- INSERT -- ")
-- MsgArea { }, -- Area for messages and cmdline
-- MsgSeparator { }, -- Separator for scrolled messages, `msgsep` flag of 'display'
MoreMsg { fg = p.leaf, gui = "bold" }, -- |more-prompt|
NormalFloat { bg = Normal.bg.li(8) }, -- Normal text in floating windows.
FloatBorder { fg = Normal.bg.li(46) }, -- Normal text in floating windows.
Pmenu { bg = Normal.bg.li(12) }, -- Popup menu: normal item.
PmenuSel { bg = Normal.bg.li(24) }, -- Popup menu: selected item.
PmenuSbar { bg = Normal.bg.li(40) }, -- Popup menu: scrollbar.
PmenuThumb { bg = Normal.bg.li(50) }, -- Popup menu: Thumb of the scrollbar.
Search { bg = p.blossom.de(12).da(32), fg = p.fg }, -- Last search pattern highlighting (see 'hlsearch'). Also used for similar items that need to stand out.
IncSearch { bg = p.blossom, fg = p.bg, gui = "bold" }, -- 'incsearch' highlighting; also used for the text replaced with ":s///c"
-- Substitute { }, -- |:substitute| replacement text highlighting
MatchParen { Search }, -- The character under the cursor or just before it, if it is a paired bracket, and its match. |pi_paren.txt|
-- QuickFixLine { }, -- Current |quickfix| item in the quickfix window. Combined with |hl-CursorLine| when the cursor is there.
SpellBad { fg = Error.fg.de(30), gui = "undercurl", guisp = Error.fg }, -- Word that is not recognized by the spellchecker. |spell| Combined with the highlighting used otherwise.
SpellCap { SpellBad, guisp = Error.fg.da(10) }, -- Word that should start with a capital. |spell| Combined with the highlighting used otherwise.
SpellLocal { SpellCap }, -- Word that is recognized by the spellchecker as one that is used in another region. |spell| Combined with the highlighting used otherwise.
SpellRare { SpellBad, guisp = p.wood }, -- Word that is recognized by the spellchecker as one that is hardly ever used. |spell| Combined with the highlighting used otherwise.
StatusLine { bg = p.bg.li(16), fg = p.fg }, -- status line of current window
StatusLineNC { bg = p.bg.li(11), fg = p.fg.li(28) }, -- status lines of not-current windows Note: if this is equal to "StatusLine" Vim will use "^^^" in the status line of the current window.
TabLine { StatusLine, gui = "italic" }, -- tab pages line, not active tab page label
TabLineFill { StatusLineNC }, -- tab pages line, where there are no labels
TabLineSel { gui = "bold" }, -- tab pages line, active tab page label
VertSplit { LineNr }, -- the column separating vertically split windows
Visual { bg = p.fg.de(18).da(68) }, -- Visual mode selection
-- VisualNOS { }, -- Visual mode selection when vim is "Not Owning the Selection".
NonText { fg = Normal.bg.li(26) }, -- '@' at the end of the window, characters from 'showbreak' and other characters that do not really exist in the text (e.g., ">" displayed when a double-wide character doesn't fit at the end of the line). See also |hl-EndOfBuffer|.
SpecialKey { NonText, gui = "italic" }, -- Unprintable characters: text displayed differently from what it really is. But not 'listchars' whitespace. |hl-Whitespace|
Whitespace { NonText }, -- "nbsp", "space", "tab" and "trail" in 'listchars'
EndOfBuffer { NonText }, -- filler lines (~) after the end of the buffer. By default, this is highlighted like |hl-NonText|.
WildMenu { bg = p.blossom, fg = p.bg }, -- current match in 'wildmenu' completion
Directory { gui = "bold" }, -- directory names (and other special names in listings)
Question { MoreMsg }, -- |hit-enter| prompt and yes/no questions
Title { gui = "bold" }, -- titles for output from ":set all", ":autocmd" etc.
-- These groups are not listed as default vim groups,
-- but they are defacto standard group names for syntax highlighting.
-- commented out groups should chain up to their "preferred" group by
-- default,
-- Uncomment and edit if you want more specific syntax highlighting.
Constant { fg = p.fg.da(24), gui = "italic" }, -- (preferred) any constant
-- String { }, -- a string constant: "this is a string"
-- Character { }, -- a character constant: 'c', '\n'
Number { gui = "italic" }, -- a number constant: 234, 0xff
Boolean { Number }, -- a boolean constant: TRUE, false
-- Float { }, -- a floating point constant: 2.3e10
Identifier { fg = p.fg.da(14) }, -- (preferred) any variable name
Function { fg = p.fg }, -- function name (also: methods for classes)
Statement { fg = p.fg, gui = "bold" }, -- (preferred) any statement
-- Conditional { }, -- if, then, else, endif, switch, etc.
-- Repeat { }, -- for, do, while, etc.
-- Label { }, -- case, default, etc.
-- Operator { }, -- "sizeof", "+", "*", etc.
-- Keyword { }, -- any other keyword
-- Exception { }, -- try, catch, throw
PreProc { Statement }, -- (preferred) generic Preprocessor
-- Include { }, -- preprocessor #include
-- Define { }, -- preprocessor #define
-- Macro { }, -- same as Define
-- PreCondit { }, -- preprocessor #if, #else, #endif, etc.
Type { fg = p.bg.li(58) }, -- (preferred) int, long, char, etc.
-- StorageClass { }, -- static, register, volatile, etc.
-- Structure { }, -- struct, union, enum, etc.
-- Typedef { }, -- A typedef
Special { fg = p.fg.da(12), gui = "bold" }, -- (preferred) any special symbol
-- SpecialChar { }, -- special character in a constant
-- Tag { }, -- you can use CTRL-] on this
Delimiter { fg = p.bg.li(52) }, -- character that needs attention
SpecialComment { Comment, gui = "bold" }, -- special things inside a comment
-- Debug { }, -- debugging statements
-- ("Ignore", below, may be invisible...)
-- Ignore { }, -- (preferred) left blank, hidden |hl-Ignore|
Todo { gui = "bold,underline" }, -- (preferred) anything that needs extra attention; mostly the keywords TODO FIXME and XXX
-- These groups are for the native LSP client. Some other LSP clients may
-- use these groups, or use their own. Consult your LSP client's
-- documentation.
LspReferenceText { ColorColumn }, -- used for highlighting "text" references
LspReferenceRead { ColorColumn }, -- used for highlighting "read" references
LspReferenceWrite { ColorColumn }, -- used for highlighting "write" references
LspDiagnosticsDefaultError { Error }, -- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspDiagnosticsDefaultWarning { WarningMsg }, -- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspDiagnosticsDefaultInformation { fg = p.water }, -- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspDiagnosticsDefaultHint { fg = p.blossom }, -- Used as the base highlight group. Other LspDiagnostic highlights link to this by default (except Underline)
LspDiagnosticsVirtualTextError { LspDiagnosticsDefaultError, bg = p.rose.abs_de(48).da(68) }, -- Used for "Error" diagnostic virtual text
LspDiagnosticsVirtualTextWarning { LspDiagnosticsDefaultWarning, bg = p.wood.de(58).da(68) }, -- Used for "Warning" diagnostic virtual text
-- LspDiagnosticsVirtualTextInformation { }, -- Used for "Information" diagnostic virtual text
-- LspDiagnosticsVirtualTextHint { }, -- Used for "Hint" diagnostic virtual text
LspDiagnosticsUnderlineError { LspDiagnosticsDefaultError, gui = "undercurl" }, -- Used to underline "Error" diagnostics
LspDiagnosticsUnderlineWarning { LspDiagnosticsDefaultWarning, gui = "undercurl" }, -- Used to underline "Warning" diagnostics
LspDiagnosticsUnderlineInformation { LspDiagnosticsDefaultInformation, gui = "undercurl" }, -- Used to underline "Information" diagnostics
LspDiagnosticsUnderlineHint { LspDiagnosticsDefaultHint, gui = "undercurl" }, -- Used to underline "Hint" diagnostics
-- LspDiagnosticsFloatingError { }, -- Used to color "Error" diagnostic messages in diagnostics float
-- LspDiagnosticsFloatingWarning { }, -- Used to color "Warning" diagnostic messages in diagnostics float
-- LspDiagnosticsFloatingInformation { }, -- Used to color "Information" diagnostic messages in diagnostics float
-- LspDiagnosticsFloatingHint { }, -- Used to color "Hint" diagnostic messages in diagnostics float
-- LspDiagnosticsSignError { }, -- Used for "Error" signs in sign column
-- LspDiagnosticsSignWarning { }, -- Used for "Warning" signs in sign column
-- LspDiagnosticsSignInformation { }, -- Used for "Information" signs in sign column
-- LspDiagnosticsSignHint { }, -- Used for "Hint" signs in sign column
LspCodeLens { LineNr },
-- These groups are for the neovim tree-sitter highlights.
-- As of writing, tree-sitter support is a WIP, group names may change.
-- By default, most of these groups link to an appropriate Vim group,
-- TSError -> Error for example, so you do not have to define these unless
-- you explicitly want to support Treesitter's improved syntax awareness.
-- TSAnnotation { }; -- For C++/Dart attributes, annotations that can be attached to the code to denote some kind of meta information.
-- TSAttribute { }; -- (unstable) TODO: docs
-- TSBoolean { }; -- For booleans.
-- TSCharacter { }; -- For characters.
-- TSComment { }; -- For comment blocks.
-- TSConstructor { }; -- For constructor calls and definitions: ` { }` in Lua, and Java constructors.
-- TSConditional { }; -- For keywords related to conditionnals.
-- TSConstant { }; -- For constants
-- TSConstBuiltin { }; -- For constant that are built in the language: `nil` in Lua.
-- TSConstMacro { }; -- For constants that are defined by macros: `NULL` in C.
-- TSError { }; -- For syntax/parser errors.
-- TSException { }; -- For exception related keywords.
-- TSField { }; -- For fields.
-- TSFloat { }; -- For floats.
-- TSFunction { }; -- For function (calls and definitions).
-- TSFuncBuiltin { }; -- For builtin functions: `table.insert` in Lua.
-- TSFuncMacro { }; -- For macro defined fuctions (calls and definitions): each `macro_rules` in Rust.
-- TSInclude { }; -- For includes: `#include` in C, `use` or `extern crate` in Rust, or `require` in Lua.
-- TSKeyword { }; -- For keywords that don't fall in previous categories.
-- TSKeywordFunction { }; -- For keywords used to define a fuction.
-- TSLabel { }; -- For labels: `label:` in C and `:label:` in Lua.
-- TSMethod { }; -- For method calls and definitions.
-- TSNamespace { }; -- For identifiers referring to modules and namespaces.
-- TSNone { }; -- TODO: docs
-- TSNumber { }; -- For all numbers
-- TSOperator { }; -- For any operator: `+`, but also `->` and `*` in C.
-- TSParameter { }; -- For parameters of a function.
-- TSParameterReference { }; -- For references to parameters of a function.
-- TSProperty { }; -- Same as `TSField`.
-- TSPunctDelimiter { }; -- For delimiters ie: `.`
-- TSPunctBracket { }; -- For brackets and parens.
-- TSPunctSpecial { }; -- For special punctutation that does not fall in the catagories before.
-- TSRepeat { }; -- For keywords related to loops.
-- TSString { }; -- For strings.
-- TSStringRegex { }; -- For regexes.
-- TSStringEscape { }; -- For escape characters within a string.
-- TSSymbol { }; -- For identifiers referring to symbols or atoms.
-- TSType { }; -- For types.
-- TSTypeBuiltin { }; -- For builtin types.
TSVariable { Identifier }, -- Any variable name that does not have another highlight.
-- TSVariableBuiltin { }; -- Variable names that are defined by the languages, like `this` or `self`.
TSTag { Special }, -- Tags like html tag names.
-- TSTagDelimiter { }; -- Tag delimiter like `<` `>` `/`
-- TSText { }; -- For strings considered text in a markup language.
-- TSEmphasis { }; -- For text to be represented with emphasis.
-- TSUnderline { }; -- For text to be represented with an underline.
-- TSStrike { }; -- For strikethrough text.
-- TSTitle { }; -- Text that is part of a title.
-- TSLiteral { }; -- Literal text.
-- TSURI { }; -- Any URI like a link or email.
TSNote { LspDiagnosticsDefaultInformation },
TSWarning { WarningMsg },
TSDanger { Error },
-- Syntax
diffAdded { fg = p.leaf },
diffRemoved { fg = p.rose },
diffChanged { fg = p.water },
diffOldFile { fg = p.rose, gui = "italic" },
diffNewFile { fg = p.leaf, gui = "italic" },
diffFile { fg = p.wood, gui = "bold" },
diffLine { fg = p.blossom, gui = "bold" },
diffIndexLine { fg = p.wood },
gitcommitOverflow { WarningMsg },
markdownH1 { Statement, gui = "bold,underline" },
markdownH2 { Statement },
markdownH3 { Statement },
markdownH4 { Special },
markdownH5 { Special },
markdownH6 { Special },
markdownCode { Identifier },
markdownLinkTextDelimiter { Delimiter },
helpHyperTextEntry { Special },
helpHyperTextJump { Constant },
helpSpecial { Type },
helpOption { Constant },
-- Other plugins
GitSignsAdd { fg = p.leaf },
GitSignsChange { fg = p.water },
GitSignsDelete { fg = p.rose },
GitGutterAdd { GitSignsAdd },
GitGutterChange { GitSignsChange },
GitGutterDelete { GitSignsDelete },
IndentBlanklineChar { fg = p.bg.li(14).de(22) },
TelescopeSelection { CursorLine },
TelescopeSelectionCaret { TelescopeSelection, fg = p.rose },
TelescopeMatching { fg = p.blossom, gui = "bold" },
TelescopeBorder { FloatBorder },
Sneak { Search },
SneakLabel { WildMenu },
SneakLabelMask { bg = p.blossom, fg = p.blossom },
LightspeedLabel { fg = p.blossom, gui = "bold,underline" },
LightspeedLabelOverlapped { fg = p.blossom, gui = "underline" },
LightspeedLabelDistant { fg = p.sky, gui = "bold,underline" },
LightspeedLabelDistantOverlapped { fg = p.sky, gui = "underline" },
LightspeedShortcut { SneakLabel, gui = "bold,underline" },
LightspeedOneCharMatch { SneakLabel, gui = "bold" },
LightspeedMaskedChar { Conceal },
LightspeedUnlabeledMatch { Bold },
LightspeedPendingOpArea { SneakLabel },
LightspeedPendingChangeOpArea { fg = p.blossom },
LightspeedGreyWash { fg = Comment.fg },
HopNextKey { LightspeedLabel },
HopNextKey1 { LightspeedLabelDistant },
HopNextKey2 { fg = p.water },
HopUnmatched { LightspeedGreyWash } ,
BufferCurrent { TabLineSel },
BufferVisible { fg = StatusLineNC.fg },
BufferVisibleSign { fg = StatusLineNC.fg },
BufferVisibleIndex { fg = StatusLineNC.fg },
CocErrorSign { LspDiagnosticsDefaultError },
CocWarningSign { LspDiagnosticsDefaultWarning },
CocInfoSign { LspDiagnosticsDefaultInformation },
CocHintSign { LspDiagnosticsDefaultHint },
CocErrorHighlight { LspDiagnosticsUnderlineError },
CocWarningHighlight { LspDiagnosticsUnderlineWarning },
CocInfoHighlight { LspDiagnosticsUnderlineInformation },
CocHintHighlight { LspDiagnosticsUnderlineHint },
CocErrorVirtualText { LspDiagnosticsVirtualTextError },
CocWarningVitualText { LspDiagnosticsVirtualTextWarning },
CocSelectedText { SpellBad },
CocCodeLens { LineNr },
CocMarkdownLink { fg = p.sky, gui = "underline" },
NeogitNotificationError { LspDiagnosticsDefaultError },
NeogitNotificationWarning { LspDiagnosticsDefaultWarning },
NeogitNotificationInfo { LspDiagnosticsDefaultInformation },
NeogitDiffContextHighlight { CursorLine },
NeogitDiffDeleteHighlight { DiffDelete },
NeogitDiffAddHighlight { DiffAdd },
NeogitHunkHeader { LineNr },
NeogitHunkHeaderHighlight { CursorLine, fg = p.fg, gui = "bold" },
WhichKey { Statement },
WhichKeyGroup { Special },
WhichKeySeparator { LineNr },
WhichKeyValue { Constant },
TroubleNormal { Function },
TroubleText { Function },
TroubleSource { Constant },
}
end)
-- stylua: ignore end
local specs = {
theme,
}
if vim.g.zenflesh_lighten_noncurrent_window then
table.insert(
specs,
lush(function()
return {
NormalNC { theme.Normal, bg = theme.Normal.bg.abs_li(2) }, -- normal text in non-current windows
}
end)
)
end
if vim.g.zenflesh_solid_vert_split then
table.insert(
specs,
lush(function()
return {
VertSplit { bg = theme.StatusLineNC.bg, fg = theme.LineNr.fg }, -- the column separating vertically split windows
}
end)
)
end
return lush.merge(specs)
-- vi:nowrap

13
lua/zenflesh/palette.lua Normal file
View File

@@ -0,0 +1,13 @@
local lush = require "lush"
local hsluv = lush.hsluv
return {
bg = hsluv(39, 9, 9), -- sand
fg = hsluv(230, 10, 76), -- stone
rose = hsluv(6, 62, 60),
leaf = hsluv(111, 47, 61),
wood = hsluv(32, 47, 58),
water = hsluv(236, 64, 61),
blossom = hsluv(318, 32, 58),
sky = hsluv(204, 61, 64),
}

33
lua/zenflesh/terminal.lua Normal file
View File

@@ -0,0 +1,33 @@
local lush = require "lush"
local p = require "zenflesh.palette"
local colors = {
p.bg,
p.rose,
p.leaf,
p.wood,
p.water,
p.blossom,
p.sky,
p.fg,
p.bg.sa(4).li(16),
p.rose.sa(20).li(16),
p.leaf.sa(20).li(16),
p.wood.sa(18).li(16),
p.water.sa(20).li(16),
p.blossom.sa(24).li(16),
p.sky.sa(20).li(16),
p.fg.da(22),
}
local M = {}
M.colors = colors
function M.setup()
for i, v in ipairs(colors) do
vim.g["terminal_color_" .. (i - 1)] = v.hex
end
end
return M