Compare commits

..

No commits in common. "main" and "v3.2.0" have entirely different histories.
main ... v3.2.0

18 changed files with 695 additions and 1673 deletions

View file

@ -1,12 +1,8 @@
{
"workspace.library": [
"/usr/share/nvim/runtime",
"${3rd}/luv/library",
"${3rd}/busted/library",
"~/.local/share/nvim/lazy/solarized.nvim",
"${3rd}/luassert/library"
],
"diagnostics.disable": [
"duplicate-doc-field"
]
}
"workspace.library": [
"/home/milianor/neovim/share/nvim/runtime",
"${3rd}/luv/library",
"${3rd}/busted/library",
"${3rd}/luassert/library"
]
}

View file

@ -1,54 +1,5 @@
# Changelog
## [3.6.0](https://github.com/maxmx03/solarized.nvim/compare/v3.5.0...v3.6.0) (2024-10-31)
### Features
* term colors ([5d3cbf0](https://github.com/maxmx03/solarized.nvim/commit/5d3cbf03a554785c3e707a532166659801c45ef6))
## [3.5.0](https://github.com/maxmx03/solarized.nvim/compare/v3.4.0...v3.5.0) (2024-10-02)
### Features
* add enabled field for styles class ([0ff0f10](https://github.com/maxmx03/solarized.nvim/commit/0ff0f10a31c5d233427d5c2063c72604d271f2f2))
* hl flash ([952ed14](https://github.com/maxmx03/solarized.nvim/commit/952ed14cf7074326c152e293d4a13ecc1f2f5f44))
### Bug Fixes
* markup italic ([6d11c34](https://github.com/maxmx03/solarized.nvim/commit/6d11c340d2cca5c889e5fefedf55dc7c81ad4ecd))
* normalfloat's transparent config ([e9fd95b](https://github.com/maxmx03/solarized.nvim/commit/e9fd95bd9631882af9d76c3df6004becb5fe3ed9))
* prevent error when user pass a nil value to setup ([3ae785b](https://github.com/maxmx03/solarized.nvim/commit/3ae785b55367ef25ccb35569915461b391becd75))
## [3.4.0](https://github.com/maxmx03/solarized.nvim/compare/v3.3.0...v3.4.0) (2024-09-06)
### Features
* add/remove css, scss queries ([b97faa8](https://github.com/maxmx03/solarized.nvim/commit/b97faa8f679396bd1e23464242d2b5b86dc920c8))
* cursorlinenr colors ([b4ea862](https://github.com/maxmx03/solarized.nvim/commit/b4ea862ee9e80392c84fcd19e1a4ef7adffcf323))
* error_lens config ([7cd9784](https://github.com/maxmx03/solarized.nvim/commit/7cd978401e2767fc77fe86bb8fc531869fb2f79e))
* **variants:** editor looks different on each variant ([ed090c9](https://github.com/maxmx03/solarized.nvim/commit/ed090c9effacf60c2f2939d9a068e31d483ff6c7))
### Bug Fixes
* solarized-light lsp property and parameter ([c87752f](https://github.com/maxmx03/solarized.nvim/commit/c87752fd71feba3fc2f473b7fbafaf6c76a70977))
## [3.3.0](https://github.com/maxmx03/solarized.nvim/compare/v3.2.0...v3.3.0) (2024-08-30)
### Features
* solarized theme based on seasons ([650dbd5](https://github.com/maxmx03/solarized.nvim/commit/650dbd58fe622a93ac93526476e597e91f810014))
### Bug Fixes
* **docs:** fix code example under Config Highlighs in README ([8ca7c63](https://github.com/maxmx03/solarized.nvim/commit/8ca7c63acc1edb2a7077900d295d53b4bc78eb9a))
## [3.2.0](https://github.com/maxmx03/solarized.nvim/compare/v3.1.1...v3.2.0) (2024-08-29)

View file

@ -11,6 +11,8 @@ Solarized is a sixteen color palette (eight monotones, eight accent colors)
designed for use with terminal and gui applications.
[click here to learn more](https://ethanschoonover.com/solarized/)
![Component 3](https://github.com/user-attachments/assets/bee944af-df49-46dc-ad9b-c732369b4a3f)
![Component 1](https://github.com/user-attachments/assets/11d8bd97-0f99-4413-937a-a5eaf4b2a4db)
<!--toc:start-->
@ -25,19 +27,19 @@ designed for use with terminal and gui applications.
- [Docs](#docs)
- [Commands](#commands)
- [Default Config](#default-config)
- [Config Variant](#config-variant)
- [Config Transparency](#config-transparency)
- [Config Styles](#config-styles)
- [Config Highlights](#config-highlights)
- [Config Colors](#config-colors)
- [Config Plugins](#config-plugins)
- [Config Error Lens](#config-error-lens)
- [Lualine](#lualine)
- [Barbecue](#barbecue)
- [Api](#api)
- [Get Colors](#get-colors)
- [Color utils](#color-utils)
- [Contributing](#contributing)
- [Designed by](#designed-by)
- [Credits and Reference](#credits-and-reference)
- [Credits and Reference 🎉](#credits-and-reference-🎉)
<!--toc:end-->
## Features
@ -170,13 +172,7 @@ require('solarized').setup({
on_highlights = nil,
on_colors = nil,
palette = 'solarized', -- solarized (default) | selenized
variant = 'winter', -- "spring" | "summer" | "autumn" | "winter" (default)
error_lens = {
text = false,
symbol = false,
},
styles = {
enabled = true,
types = {},
functions = {},
parameters = {},
@ -192,7 +188,6 @@ require('solarized').setup({
navic = true,
cmp = true,
indentblankline = true,
indentmini = true,
neotree = true,
nvimtree = true,
whichkey = true,
@ -216,26 +211,12 @@ require('solarized').setup({
alpha = true,
yanky = true,
gitgutter = true,
mason = true,
flash = true,
},
})
vim.cmd.colorscheme = 'solarized'
```
## Config Variant
Solarized includes four variants: spring, summer, autumn, and winter.
[preview](https://github.com/maxmx03/solarized.nvim/blob/main/VARIANTS.md)
```lua
require('solarized').setup {
variant = 'winter', -- "spring" | "summer" | "autumn" | "winter" (default)
}
```
## Config Transparency
By default, transparency is turned off, but you can easily enable it and
@ -275,13 +256,6 @@ require('solarized').setup({
})
```
You can also disable all highlight group styles.
```lua
require('solarized').setup({
styles = { enabled = false },
})
```
## Config Highlights
The `highlights` config allows you to customize the highlights groups.
@ -302,7 +276,7 @@ require('solarized').setup {
Visual = { bg = colors.base02, standout = true },
Function = { fg = colors.yellow },
IncSearch = { fg = colors.orange, bg = colors.mix_orange },
Search = { fg = colors.violet, bg = shade(colors.violet, 5) },
Search = { fg = colors.violet, bg = shade(colors.violet, 5),
NormalFloat = { bg = darken(colors.base03, 25) }
}
@ -372,29 +346,6 @@ return {
}
```
## Config Error Lens
Enables additional highlights for diagnostic virtual text and symbols.
```lua
return {
'maxmx03/solarized.nvim',
lazy = false,
priority = 1000,
---@type solarized.config
opts = {
error_lens = {
text = true,
symbol = true,
}
},
config = function(_, opts)
require('solarized').setup(opts)
vim.cmd.colorscheme 'solarized'
end,
}
```
## Lualine
```lua
@ -474,7 +425,7 @@ Pull requests are welcome and appreciated.
Ethan Schoonover
## Credits and Reference
## Credits and Reference 🎉
- [solarized-vim](https://github.com/altercation/vim-colors-solarized)
- [tokyonight](https://github.com/folke/tokyonight.nvim)

View file

@ -1,17 +0,0 @@
# Variants
autumn
![autumn](https://github.com/user-attachments/assets/bcc3cd16-a613-42ac-a74a-69a4da8a866a)
spring
![spring](https://github.com/user-attachments/assets/eb84a3d3-faa3-48b7-b52e-6728d6d65801)
winter
![winter](https://github.com/user-attachments/assets/7ae41baa-8916-4612-8468-0579b93aee72)
summer
![summer](https://github.com/user-attachments/assets/3ea208ac-abd0-4386-85a3-032c11547cb5)

View file

@ -1,7 +1,8 @@
; extends
((pseudo_class_selector) @type (#set! "priority" 125))
((class_selector) @type (#set! "priority" 125))
((plain_value) @constant (#set! "priority" 125))
((selectors) @type (#set! "priority" 125))
((id_selector) @constructor (#set! "priority" 125))
(tag_name) @tag
(unit) @keyword
(integer_value) @number
(property_name) @field

View file

@ -1,3 +1,2 @@
; extends
((nesting_selector) @keyword (#set! "priority" 125))
(declaration (variable_value) @string)

View file

@ -1,5 +1,4 @@
*solarized.nvim.txt*
For NVIM v0.9.4 Last change: 2026 April 17
*solarized.nvim.txt* For NVIM v0.9.4 Last change: 2024 August 29
==============================================================================
Table of Contents *solarized.nvim-table-of-contents*
@ -12,19 +11,17 @@ Table of Contents *solarized.nvim-table-of-contents*
- Docs |solarized.nvim-docs|
- Commands |solarized.nvim-commands|
- Default Config |solarized.nvim-default-config|
- Config Variant |solarized.nvim-config-variant|
- Config Transparency |solarized.nvim-config-transparency|
- Config Styles |solarized.nvim-config-styles|
- Config Highlights |solarized.nvim-config-highlights|
- Config Colors |solarized.nvim-config-colors|
- Config Plugins |solarized.nvim-config-plugins|
- Config Error Lens |solarized.nvim-config-error-lens|
- Lualine |solarized.nvim-lualine|
- Barbecue |solarized.nvim-barbecue|
- Api |solarized.nvim-api|
- Contributing |solarized.nvim-contributing|
- Designed by |solarized.nvim-designed-by|
- Credits and Reference |solarized.nvim-credits-and-reference|
- Credits and Reference 🎉 |solarized.nvim-credits-and-reference-🎉|
1. Links |solarized.nvim-links|
Solarized is a sixteen color palette (eight monotones, eight accent colors)
@ -41,19 +38,19 @@ designed for use with terminal and gui applications. click here to learn more
- |solarized.nvim-docs|
- |solarized.nvim-commands|
- |solarized.nvim-default-config|
- |solarized.nvim-config-variant|
- |solarized.nvim-config-transparency|
- |solarized.nvim-config-styles|
- |solarized.nvim-config-highlights|
- |solarized.nvim-config-colors|
- |solarized.nvim-config-plugins|
- |solarized.nvim-config-error-lens|
- |solarized.nvim-lualine|
- |solarized.nvim-barbecue|
- |solarized.nvim-api|
- |solarized.nvim-get-colors|
- |solarized.nvim-color-utils|
- |solarized.nvim-contributing|
- |solarized.nvim-designed-by|
- |solarized.nvim-credits-and-reference|
- |solarized.nvim-credits-and-reference-🎉|
FEATURES *solarized.nvim-features*
@ -195,13 +192,7 @@ DEFAULT CONFIG *solarized.nvim-default-config*
on_highlights = nil,
on_colors = nil,
palette = 'solarized', -- solarized (default) | selenized
variant = 'winter', -- "spring" | "summer" | "autumn" | "winter" (default)
error_lens = {
text = false,
symbol = false,
},
styles = {
enabled = true,
types = {},
functions = {},
parameters = {},
@ -217,7 +208,6 @@ DEFAULT CONFIG *solarized.nvim-default-config*
navic = true,
cmp = true,
indentblankline = true,
indentmini = true,
neotree = true,
nvimtree = true,
whichkey = true,
@ -241,8 +231,6 @@ DEFAULT CONFIG *solarized.nvim-default-config*
alpha = true,
yanky = true,
gitgutter = true,
mason = true,
flash = true,
},
})
@ -250,19 +238,6 @@ DEFAULT CONFIG *solarized.nvim-default-config*
<
CONFIG VARIANT *solarized.nvim-config-variant*
Solarized includes four variants: spring, summer, autumn, and winter.
preview <https://github.com/maxmx03/solarized.nvim/blob/main/VARIANTS.md>
>lua
require('solarized').setup {
variant = 'winter', -- "spring" | "summer" | "autumn" | "winter" (default)
}
<
CONFIG TRANSPARENCY *solarized.nvim-config-transparency*
By default, transparency is turned off, but you can easily enable it and
@ -302,14 +277,6 @@ The `styles` config allows you to customize the style of a highlight group.
})
<
You can also disable all highlight group styles.
>lua
require('solarized').setup({
styles = { enabled = false },
})
<
CONFIG HIGHLIGHTS *solarized.nvim-config-highlights*
@ -331,7 +298,7 @@ example:
Visual = { bg = colors.base02, standout = true },
Function = { fg = colors.yellow },
IncSearch = { fg = colors.orange, bg = colors.mix_orange },
Search = { fg = colors.violet, bg = shade(colors.violet, 5) },
Search = { fg = colors.violet, bg = shade(colors.violet, 5),
NormalFloat = { bg = darken(colors.base03, 25) }
}
@ -403,30 +370,6 @@ example:
<
CONFIG ERROR LENS *solarized.nvim-config-error-lens*
Enables additional highlights for diagnostic virtual text and symbols.
>lua
return {
'maxmx03/solarized.nvim',
lazy = false,
priority = 1000,
---@type solarized.config
opts = {
error_lens = {
text = true,
symbol = true,
}
},
config = function(_, opts)
require('solarized').setup(opts)
vim.cmd.colorscheme 'solarized'
end,
}
<
LUALINE *solarized.nvim-lualine*
>lua
@ -512,7 +455,7 @@ DESIGNED BY *solarized.nvim-designed-by*
Ethan Schoonover
CREDITS AND REFERENCE *solarized.nvim-credits-and-reference*
CREDITS AND REFERENCE 🎉 *solarized.nvim-credits-and-reference-🎉*
- solarized-vim <https://github.com/altercation/vim-colors-solarized>
- tokyonight <https://github.com/folke/tokyonight.nvim>
@ -522,9 +465,10 @@ CREDITS AND REFERENCE *solarized.nvim-credits-and-reference*
==============================================================================
1. Links *solarized.nvim-links*
1. *Component 1*: https://github.com/user-attachments/assets/11d8bd97-0f99-4413-937a-a5eaf4b2a4db
2. *Ethan Schoonover*: https://github.com/altercation.png?size=100
3. *Raphael*: https://github.com/glepnir.png?size=100
1. *Component 3*: https://github.com/user-attachments/assets/bee944af-df49-46dc-ad9b-c732369b4a3f
2. *Component 1*: https://github.com/user-attachments/assets/11d8bd97-0f99-4413-937a-a5eaf4b2a4db
3. *Ethan Schoonover*: https://github.com/altercation.png?size=100
4. *Raphael*: https://github.com/glepnir.png?size=100
Generated by panvimdoc <https://github.com/kdheepak/panvimdoc>

View file

@ -1,3 +1,5 @@
services:
solarized:
build: .
volumes:
- .:/solarized

View file

@ -11,7 +11,6 @@
---@field enabled? boolean
---@class solarized.styles
---@field enabled? boolean
---@field types? vim.api.keyset.highlight
---@field functions? vim.api.keyset.highlight
---@field parameters? vim.api.keyset.highlight
@ -28,7 +27,6 @@
---@field navic? boolean
---@field cmp? boolean
---@field indentblankline? boolean
---@field indentmini? boolean
---@field neotree? boolean
---@field nvimtree? boolean
---@field whichkey? boolean
@ -55,11 +53,6 @@
---@field coc? boolean
---@field leap? boolean
---@field mason? boolean
---@field flash? boolean
---@class solarized.error_lens
---@field text? boolean
---@field symbol? boolean
---@class solarized.config
---@field transparent? solarized.transparent
@ -67,9 +60,7 @@
---@field on_colors? fun(colors: solarized.palette, color: solarized.color): solarized.palette
---@field styles? solarized.styles
---@field palette? "solarized" | "selenized"
---@field variant? "spring" | "summer" | "autumn" | "winter"
---@field plugins? solarized.plugins
---@field error_lens? solarized.error_lens
return {
transparent = {
enabled = false,
@ -86,13 +77,7 @@ return {
on_highlights = nil,
on_colors = nil,
palette = 'solarized',
variant = 'winter',
error_lens = {
text = false,
symbol = false,
},
styles = {
enabled = true,
types = {},
functions = {},
parameters = {},
@ -109,7 +94,6 @@ return {
navic = true,
cmp = true,
indentblankline = true,
indentmini = true,
neotree = true,
nvimtree = true,
whichkey = true,
@ -136,6 +120,5 @@ return {
yanky = true,
gitgutter = true,
mason = true,
flash = true,
},
}

View file

@ -1,395 +0,0 @@
---@class solarized.highlights
---@field ColorColumn? vim.api.keyset.highlight
---@field Conceal? vim.api.keyset.highlight
---@field CurSearch? vim.api.keyset.highlight
---@field Cursor? vim.api.keyset.highlight
---@field lCursor? vim.api.keyset.highlight
---@field CursorIM? vim.api.keyset.highlight
---@field CursorColumn? vim.api.keyset.highlight
---@field CursorLine? vim.api.keyset.highlight
---@field Directory? vim.api.keyset.highlight
---@field DiffAdd? vim.api.keyset.highlight
---@field DiffChange? vim.api.keyset.highlight
---@field DiffDelete? vim.api.keyset.highlight
---@field DiffText? vim.api.keyset.highlight
---@field EndOfBuffer? vim.api.keyset.highlight
---@field TermCursor? vim.api.keyset.highlight
---@field TermCursorNC? vim.api.keyset.highlight
---@field ErrorMsg? vim.api.keyset.highlight
---@field WinSeparator? vim.api.keyset.highlight
---@field Folded? vim.api.keyset.highlight
---@field FoldColumn? vim.api.keyset.highlight
---@field SignColumn? vim.api.keyset.highlight
---@field IncSearch? vim.api.keyset.highlight
---@field Substitute? vim.api.keyset.highlight
---@field LineNr? vim.api.keyset.highlight
---@field LineNrAbove? vim.api.keyset.highlight
---@field LineNrBelow? vim.api.keyset.highlight
---@field CursorLineNr? vim.api.keyset.highlight
---@field CursorLineFold? vim.api.keyset.highlight
---@field CursorLineSign? vim.api.keyset.highlight
---@field MatchParen? vim.api.keyset.highlight
---@field ModeMsg? vim.api.keyset.highlight
---@field MsgArea? vim.api.keyset.highlight
---@field MsgSeparator? vim.api.keyset.highlight
---@field MoreMsg? vim.api.keyset.highlight
---@field NonText? vim.api.keyset.highlight
---@field Normal? vim.api.keyset.highlight
---@field NormalFloat? vim.api.keyset.highlight
---@field FloatBorder? vim.api.keyset.highlight
---@field FloatTitle? vim.api.keyset.highlight
---@field NormalNC? vim.api.keyset.highlight
---@field Pmenu? vim.api.keyset.highlight
---@field PmenuSel? vim.api.keyset.highlight
---@field PmenuKind? vim.api.keyset.highlight
---@field PmenuKindSel? vim.api.keyset.highlight
---@field PmenuExtra? vim.api.keyset.highlight
---@field PmenuExtraSel? vim.api.keyset.highlight
---@field PmenuSbar? vim.api.keyset.highlight
---@field PmenuThumb? vim.api.keyset.highlight
---@field Question? vim.api.keyset.highlight
---@field QuickFixLine? vim.api.keyset.highlight
---@field Search? vim.api.keyset.highlight
---@field SpecialKey? vim.api.keyset.highlight
---@field SpellBad? vim.api.keyset.highlight
---@field SpellCap? vim.api.keyset.highlight
---@field SpellLocal? vim.api.keyset.highlight
---@field SpellRare? vim.api.keyset.highlight
---@field StatusLine? vim.api.keyset.highlight
---@field StatusLineNC? vim.api.keyset.highlight
---@field TabLine? vim.api.keyset.highlight
---@field TabLineFill? vim.api.keyset.highlight
---@field TabLineSel? vim.api.keyset.highlight
---@field Title? vim.api.keyset.highlight
---@field Visual? vim.api.keyset.highlight
---@field VisualNOS? vim.api.keyset.highlight
---@field warningMsg? vim.api.keyset.highlight
---@field Whitespace? vim.api.keyset.highlight
---@field WildMenu? vim.api.keyset.highlight
---@field WinBar? vim.api.keyset.highlight
---@field WinBarNC? vim.api.keyset.highlight
---@field Comment? vim.api.keyset.highlight
---@field Constant? vim.api.keyset.highlight
---@field String? vim.api.keyset.highlight
---@field Character? vim.api.keyset.highlight
---@field Number? vim.api.keyset.highlight
---@field Boolean? vim.api.keyset.highlight
---@field Float? vim.api.keyset.highlight
---@field Identifier? vim.api.keyset.highlight
---@field Property? vim.api.keyset.highlight
---@field Parameter? vim.api.keyset.highlight
---@field Function? vim.api.keyset.highlight
---@field Statement? vim.api.keyset.highlight
---@field Conditional? vim.api.keyset.highlight
---@field Repeat? vim.api.keyset.highlight
---@field Label? vim.api.keyset.highlight
---@field Operator? vim.api.keyset.highlight
---@field Keyword? vim.api.keyset.highlight
---@field Exception? vim.api.keyset.highlight
---@field PreProc? vim.api.keyset.highlight
---@field Include? vim.api.keyset.highlight
---@field Define? vim.api.keyset.highlight
---@field Macro? vim.api.keyset.highlight
---@field PreCondit? vim.api.keyset.highlight
---@field Type? vim.api.keyset.highlight
---@field StorageClass? vim.api.keyset.highlight
---@field Structure? vim.api.keyset.highlight
---@field Typedef? vim.api.keyset.highlight
---@field Special? vim.api.keyset.highlight
---@field SpecialChar? vim.api.keyset.highlight
---@field Tag? vim.api.keyset.highlight
---@field TagAttribute? vim.api.keyset.highlight
---@field TagDelimiter? vim.api.keyset.highlight
---@field Delimiter? vim.api.keyset.highlight
---@field SpecialComment? vim.api.keyset.highlight
---@field Debug? vim.api.keyset.highlight
---@field Underlined? vim.api.keyset.highlight
---@field Ignore? vim.api.keyset.highlight
---@field Error? vim.api.keyset.highlight
---@field Todo? vim.api.keyset.highlight
---@field Added? vim.api.keyset.highlight
---@field Changed? vim.api.keyset.highlight
---@field Removed? vim.api.keyset.highlight
---@field DiagnosticError? vim.api.keyset.highlight
---@field DiagnosticWarn? vim.api.keyset.highlight
---@field DiagnosticInfo? vim.api.keyset.highlight
---@field DiagnosticHint? vim.api.keyset.highlight
---@field DiagnosticOk? vim.api.keyset.highlight
---@field DiagnosticVirtualTextError? vim.api.keyset.highlight
---@field DiagnosticVirtualTextWarn? vim.api.keyset.highlight
---@field DiagnosticVirtualTextInfo? vim.api.keyset.highlight
---@field DiagnosticVirtualTextHint? vim.api.keyset.highlight
---@field DiagnosticVirtualTextOk? vim.api.keyset.highlight
---@field DiagnosticUnderlineError? vim.api.keyset.highlight
---@field DiagnosticUnderlineWarn? vim.api.keyset.highlight
---@field DiagnosticUnderlineInfo? vim.api.keyset.highlight
---@field DiagnosticUnderlineHint? vim.api.keyset.highlight
---@field DiagnosticUnderlineOk? vim.api.keyset.highlight
---@field LspReferenceText? vim.api.keyset.highlight
---@field LspReferenceRead? vim.api.keyset.highlight
---@field LspReferenceWrite? vim.api.keyset.highlight
---@field LspInlayHint? vim.api.keyset.highlight
---@field NavicText? vim.api.keyset.highlight
---@field NavicSeparator? vim.api.keyset.highlight
---@field NavicIconsMethod? vim.api.keyset.highlight
---@field NavicIconsFunction? vim.api.keyset.highlight
---@field NavicIconsField? vim.api.keyset.highlight
---@field NavicIconsVariable? vim.api.keyset.highlight
---@field NavicIconsClass? vim.api.keyset.highlight
---@field NavicIconsInterface? vim.api.keyset.highlight
---@field NavicIconsModule? vim.api.keyset.highlight
---@field NavicIconsNamespace? vim.api.keyset.highlight
---@field NavicIconsProperty? vim.api.keyset.highlight
---@field NavicIconsUnit? vim.api.keyset.highlight
---@field NavicIconsEnum? vim.api.keyset.highlight
---@field NavicIconsKeyword? vim.api.keyset.highlight
---@field NavicIconsSnippet? vim.api.keyset.highlight
---@field NavicIconsColor? vim.api.keyset.highlight
---@field NavicIconsFile? vim.api.keyset.highlight
---@field NavicIconsReference? vim.api.keyset.highlight
---@field NavicIconsFolder? vim.api.keyset.highlight
---@field NavicIconsEnumMember? vim.api.keyset.highlight
---@field NavicIconsConstant? vim.api.keyset.highlight
---@field NavicIconsStruct? vim.api.keyset.highlight
---@field NavicIconsEvent? vim.api.keyset.highlight
---@field NavicIconsOperator? vim.api.keyset.highlight
---@field NavicIconsTypeParameter? vim.api.keyset.highlight
---@field CmpItemKindText? vim.api.keyset.highlight
---@field CmpItemKindMethod? vim.api.keyset.highlight
---@field CmpItemKindFunction? vim.api.keyset.highlight
---@field CmpItemKindField? vim.api.keyset.highlight
---@field CmpItemKindVariable? vim.api.keyset.highlight
---@field CmpItemKindClass? vim.api.keyset.highlight
---@field CmpItemKindInterface? vim.api.keyset.highlight
---@field CmpItemKindModule? vim.api.keyset.highlight
---@field CmpItemKindProperty? vim.api.keyset.highlight
---@field CmpItemKindUnit? vim.api.keyset.highlight
---@field CmpItemKindEnum? vim.api.keyset.highlight
---@field CmpItemKindKeyword? vim.api.keyset.highlight
---@field CmpItemKindSnippet? vim.api.keyset.highlight
---@field CmpItemKindColor? vim.api.keyset.highlight
---@field CmpItemKindFile? vim.api.keyset.highlight
---@field CmpItemKindReference? vim.api.keyset.highlight
---@field CmpItemKindFolder? vim.api.keyset.highlight
---@field CmpItemKindEnumMember? vim.api.keyset.highlight
---@field CmpItemKindConstant? vim.api.keyset.highlight
---@field CmpItemKindStruct? vim.api.keyset.highlight
---@field CmpItemKindEvent? vim.api.keyset.highlight
---@field CmpItemKindOperator? vim.api.keyset.highlight
---@field CmpItemKindTypeParameter? vim.api.keyset.highlight
---@field IblIndent? vim.api.keyset.highlight
---@field IblScope? vim.api.keyset.highlight
---@field IndentLine? vim.api.keyset.highlight
---@field IndentLineCurrent? vim.api.keyset.highlight
---@field NeoTreeTitleBar? vim.api.keyset.highlight
---@field NeoTreeNormal? vim.api.keyset.highlight
---@field NeoTreeNormalNC? vim.api.keyset.highlight
---@field NeoTreeDotFile? vim.api.keyset.highlight
---@field NeoTreeFileNameOpened? vim.api.keyset.highlight
---@field NeoTreeFloatBorder? vim.api.keyset.highlight
---@field NeoTreeFloatTitle? vim.api.keyset.highlight
---@field NeoTreeGitAdded? vim.api.keyset.highlight
---@field NeoTreeGitConflict? vim.api.keyset.highlight
---@field NeoTreeGitDeleted? vim.api.keyset.highlight
---@field NeoTreeGitIgnored? vim.api.keyset.highlight
---@field NeoTreeGitModified? vim.api.keyset.highlight
---@field NeoTreeGitUnstaged? vim.api.keyset.highlight
---@field NeoTreeGitUntracked? vim.api.keyset.highlight
---@field NeoTreeGitStaged? vim.api.keyset.highlight
---@field NvimTreeSymlink? vim.api.keyset.highlight
---@field NvimTreeSymlinkIcon? vim.api.keyset.highlight
---@field NvimTreeFolderName? vim.api.keyset.highlight
---@field NvimTreeRootFolder? vim.api.keyset.highlight
---@field NvimTreeFolderIcon? vim.api.keyset.highlight
---@field NvimTreeEmptyFolderName? vim.api.keyset.highlight
---@field NvimTreeExecFile? vim.api.keyset.highlight
---@field NvimTreeOpenedFile? vim.api.keyset.highlight
---@field NvimTreeModifiedFile? vim.api.keyset.highlight
---@field NvimTreeSpecialFile? vim.api.keyset.highlight
---@field NvimTreeIndentMarker? vim.api.keyset.highlight
---@field NvimTreeGitDirty? vim.api.keyset.highlight
---@field NvimTreeGitStaged? vim.api.keyset.highlight
---@field NvimTreeGitMerge? vim.api.keyset.highlight
---@field NvimTreeGitRenamed? vim.api.keyset.highlight
---@field NvimTreeGitNew? vim.api.keyset.highlight
---@field NvimTreeGitDeleted? vim.api.keyset.highlight
---@field NvimTreeNormal? vim.api.keyset.highlight
---@field NvimTreeNormalFloat? vim.api.keyset.highlight
---@field NvimTreeEndOfBuffer? vim.api.keyset.highlight
---@field NvimTreeWinSeparator? vim.api.keyset.highlight
---@field WhichKeyNormal? vim.api.keyset.highlight
---@field WhichKey? vim.api.keyset.highlight
---@field WhichKeyDesc? vim.api.keyset.highlight
---@field WhichKeySeparator? vim.api.keyset.highlight
---@field WhichKeyGroup? vim.api.keyset.highlight
---@field DashboardHeader? vim.api.keyset.highlight
---@field DashboardFooter? vim.api.keyset.highlight
---@field DashboardDesc? vim.api.keyset.highlight
---@field DashboardKey? vim.api.keyset.highlight
---@field DashboardIcon? vim.api.keyset.highlight
---@field DashboardShotCut? vim.api.keyset.highlight
---@field GitSignsAdd? vim.api.keyset.highlight
---@field GitSignsChange? vim.api.keyset.highlight
---@field GitSignsDelete? vim.api.keyset.highlight
---@field TelescopeSelection? vim.api.keyset.highlight
---@field TelescopeSelectionCaret? vim.api.keyset.highlight
---@field TelescopeMultiIcon? vim.api.keyset.highlight
---@field TelescopeNormal? vim.api.keyset.highlight
---@field TelescopePreviewNormal? vim.api.keyset.highlight
---@field TelescopePromptNormal? vim.api.keyset.highlight
---@field TelescopeResultsNormal? vim.api.keyset.highlight
---@field TelescopeBorder? vim.api.keyset.highlight
---@field TelescopePromptBorder? vim.api.keyset.highlight
---@field TelescopeResultsBorder? vim.api.keyset.highlight
---@field TelescopePreviewBorder? vim.api.keyset.highlight
---@field TelescopeTitle? vim.api.keyset.highlight
---@field TelescopePromptTitle? vim.api.keyset.highlight
---@field TelescopeResultsTitle? vim.api.keyset.highlight
---@field TelescopePreviewTitle? vim.api.keyset.highlight
---@field TelescopeMatching? vim.api.keyset.highlight
---@field TelescopePreviewMatch? vim.api.keyset.highlight
---@field TelescopePromptCounter? vim.api.keyset.highlight
---@field TelescopePromptPrefix? vim.api.keyset.highlight
---@field NoiceFormatProgressTodo? vim.api.keyset.highlight
---@field NoiceFormatProgressDone? vim.api.keyset.highlight
---@field NoiceLspProgressSpinner? vim.api.keyset.highlight
---@field NoiceLspProgressClient? vim.api.keyset.highlight
---@field NoiceCmdlineIcon? vim.api.keyset.highlight
---@field NoiceCmdlinePopupBorder? vim.api.keyset.highlight
---@field NoiceCmdlinePopupTitle? vim.api.keyset.highlight
---@field NoiceLspProgressTitle? vim.api.keyset.highlight
---@field HopNextKey? vim.api.keyset.highlight
---@field HopNextKey1? vim.api.keyset.highlight
---@field HopUnmatched? vim.api.keyset.highlight
---@field MiniStatuslineModeNormal? vim.api.keyset.highlight
---@field MiniStatuslineModeInsert? vim.api.keyset.highlight
---@field MiniStatuslineModeVisual? vim.api.keyset.highlight
---@field MiniStatuslineModeReplace? vim.api.keyset.highlight
---@field MiniStatuslineModeCommand? vim.api.keyset.highlight
---@field MinistatusLineFileName? vim.api.keyset.highlight
---@field MiniStatuslineDevinfo? vim.api.keyset.highlight
---@field MiniStatuslineFileinfo? vim.api.keyset.highlight
---@field MiniStatuslineInactive? vim.api.keyset.highlight
---@field MiniTablineCurrent? vim.api.keyset.highlight
---@field MiniTablineVisible? vim.api.keyset.highlight
---@field MiniTablineHidden? vim.api.keyset.highlight
---@field MiniTablineModifiedCurrent? vim.api.keyset.highlight
---@field MiniTablineModifiedVisible? vim.api.keyset.highlight
---@field MiniTablineModifiedHidden? vim.api.keyset.highlight
---@field MiniTablineFill? vim.api.keyset.highlight
---@field MiniTablineTabpagesection? vim.api.keyset.highlight
---@field MiniStarterCurrent? vim.api.keyset.highlight
---@field MiniStarterHeader? vim.api.keyset.highlight
---@field MiniStarterFooter? vim.api.keyset.highlight
---@field MiniStarterItem? vim.api.keyset.highlight
---@field MiniStarterItemBullet? vim.api.keyset.highlight
---@field MiniStarterItemPrefix? vim.api.keyset.highlight
---@field MiniStarterSection? vim.api.keyset.highlight
---@field MiniStarterQuery? vim.api.keyset.highlight
---@field MiniCursorword? vim.api.keyset.highlight
---@field NotifyBackground? vim.api.keyset.highlight
---@field NotifyERRORBorder? vim.api.keyset.highlight
---@field NotifyWARNBorder? vim.api.keyset.highlight
---@field NotifyINFOBorder? vim.api.keyset.highlight
---@field NotifyDEBUGBorder? vim.api.keyset.highlight
---@field NotifyTRACEBorder? vim.api.keyset.highlight
---@field NotifyERRORIcon? vim.api.keyset.highlight
---@field NotifyWARNIcon? vim.api.keyset.highlight
---@field NotifyINFOIcon? vim.api.keyset.highlight
---@field NotifyDEBUGIcon? vim.api.keyset.highlight
---@field NotifyTRACEIcon? vim.api.keyset.highlight
---@field NotifyERRORTitle? vim.api.keyset.highlight
---@field NotifyWARNTitle? vim.api.keyset.highlight
---@field NotifyINFOTitle? vim.api.keyset.highlight
---@field NotifyDEBUGTitle? vim.api.keyset.highlight
---@field NotifyTRACETitle? vim.api.keyset.highlight
---@field NotifyERRORBody? vim.api.keyset.highlight
---@field NotifyWARNBody? vim.api.keyset.highlight
---@field NotifyINFOBody? vim.api.keyset.highlight
---@field NotifyDEBUGBody? vim.api.keyset.highlight
---@field NotifyTRACEBody? vim.api.keyset.highlight
---@field RainbowDelimiterRed? vim.api.keyset.highlight
---@field RainbowDelimiteYellow? vim.api.keyset.highlight
---@field RainbowDelimiterBlue? vim.api.keyset.highlight
---@field RainbowDelimiterOrange? vim.api.keyset.highlight
---@field RainbowDelimiterGreen? vim.api.keyset.highlight
---@field RainbowDelimiterViolet? vim.api.keyset.highlight
---@field RainbowDelimiterCyan? vim.api.keyset.highlight
---@field BufferLineFill? vim.api.keyset.highlight
---@field BufferLineBufferSelected? vim.api.keyset.highlight
---@field BufferLineSeparator? vim.api.keyset.highlight
---@field BufferLineSeparatorSelected? vim.api.keyset.highlight
---@field BufferLineSeparatorVisible? vim.api.keyset.highlight
---@field LazyNormal? vim.api.keyset.highlight
---@field LazyH1? vim.api.keyset.highlight
---@field LazyButton? vim.api.keyset.highlight
---@field LazyButtonActive? vim.api.keyset.highlight
---@field LazyReasonStart? vim.api.keyset.highlight
---@field LazyReasonEvent? vim.api.keyset.highlight
---@field RenderMarkdownH1Bg? vim.api.keyset.highlight
---@field RenderMarkdownH2Bg? vim.api.keyset.highlight
---@field RenderMarkdownH3Bg? vim.api.keyset.highlight
---@field RenderMarkdownH4Bg? vim.api.keyset.highlight
---@field RenderMarkdownH5Bg? vim.api.keyset.highlight
---@field RenderMarkdownH6Bg? vim.api.keyset.highlight
---@field NeogitBranch? vim.api.keyset.highlight
---@field NeogitRemote? vim.api.keyset.highlight
---@field NeogitHunkHeader? vim.api.keyset.highlight
---@field NeogitHunkHeaderHighlight? vim.api.keyset.highlight
---@field NeogitDiffContextHighlight? vim.api.keyset.highlight
---@field NeogitDiffContext? vim.api.keyset.highlight
---@field NeogitDiffDeleteHighlight? vim.api.keyset.highlight
---@field NeogitDiffDelete? vim.api.keyset.highlight
---@field NeogitDiffAddHighlight? vim.api.keyset.highlight
---@field NeogitDiffAdd? vim.api.keyset.highlight
---@field TodoFgTODO? vim.api.keyset.highlight
---@field TodoFgWARN? vim.api.keyset.highlight
---@field TodoFgTEST? vim.api.keyset.highlight
---@field TodoFgPERF? vim.api.keyset.highlight
---@field TodoFgNOTE? vim.api.keyset.highlight
---@field TodoFgHACK? vim.api.keyset.highlight
---@field TodoFgFIX? vim.api.keyset.highlight
---@field TodoSignTODO? vim.api.keyset.highlight
---@field TodoSignWARN? vim.api.keyset.highlight
---@field TodoSignTEST? vim.api.keyset.highlight
---@field TodoSignPERF? vim.api.keyset.highlight
---@field TodoSignNOTE? vim.api.keyset.highlight
---@field TodoSignHACK? vim.api.keyset.highlight
---@field TodoSignFIX? vim.api.keyset.highlight
---@field TodoBgTODO? vim.api.keyset.highlight
---@field TodoBgWARN? vim.api.keyset.highlight
---@field TodoBgTEST? vim.api.keyset.highlight
---@field TodoBgPERF? vim.api.keyset.highlight
---@field TodoBgNOTE? vim.api.keyset.highlight
---@field TodoBgHACK? vim.api.keyset.highlight
---@field TodoBgFIX? vim.api.keyset.highlight
---@field ALEErrorSign? vim.api.keyset.highlight
---@field ALEWarningSign? vim.api.keyset.highlight
---@field AlphaShortcut? vim.api.keyset.highlight
---@field AlphaHeader? vim.api.keyset.highlight
---@field AlphaHeaderLabel? vim.api.keyset.highlight
---@field AlphaFooter? vim.api.keyset.highlight
---@field AlphaButtons? vim.api.keyset.highlight
---@field YankyPut? vim.api.keyset.highlight
---@field YankyYanked? vim.api.keyset.highlight
---@field GitGutterAdd? vim.api.keyset.highlight
---@field GitGutterChange? vim.api.keyset.highlight
---@field GitGutterDelete? vim.api.keyset.highlight
---@field GitGutterAddLineNr? vim.api.keyset.highlight
---@field GitGutterChangeLineNr? vim.api.keyset.highlight
---@field GitGutterDeleteLineNr? vim.api.keyset.highlight
---@field CocErrorSign? vim.api.keyset.highlight
---@field CocWarningSign? vim.api.keyset.highlight
---@field CocInfoSign? vim.api.keyset.highlight
---@field CocHintSign? vim.api.keyset.highlight
---@field CocErrorVirtualText? vim.api.keyset.highlight
---@field CocWarningVirtualText? vim.api.keyset.highlight
---@field CocInfoVirtualText? vim.api.keyset.highlight
---@field CocHintVirtualText? vim.api.keyset.highlight
---@field LeapMatch? vim.api.keyset.highlight
---@field LeapLabel? vim.api.keyset.highlight
---@field LeapBackDrop? vim.api.keyset.highlight
---@field MasonHeader? vim.api.keyset.highlight
---@field MasonHighlight? vim.api.keyset.highlight
---@field MasonHighlightBlock? vim.api.keyset.highlight
---@field MasonHighlightBlockBold? vim.api.keyset.highlight

View file

@ -1,3 +1,389 @@
---@class solarized.highlights
---@field ColorColumn? vim.api.keyset.highlight
---@field Conceal? vim.api.keyset.highlight
---@field CurSearch? vim.api.keyset.highlight
---@field Cursor? vim.api.keyset.highlight
---@field lCursor? vim.api.keyset.highlight
---@field CursorIM? vim.api.keyset.highlight
---@field CursorColumn? vim.api.keyset.highlight
---@field CursorLine? vim.api.keyset.highlight
---@field Directory? vim.api.keyset.highlight
---@field DiffAdd? vim.api.keyset.highlight
---@field DiffChange? vim.api.keyset.highlight
---@field DiffDelete? vim.api.keyset.highlight
---@field DiffText? vim.api.keyset.highlight
---@field EndOfBuffer? vim.api.keyset.highlight
---@field TermCursor? vim.api.keyset.highlight
---@field TermCursorNC? vim.api.keyset.highlight
---@field ErrorMsg? vim.api.keyset.highlight
---@field WinSeparator? vim.api.keyset.highlight
---@field Folded? vim.api.keyset.highlight
---@field FoldColumn? vim.api.keyset.highlight
---@field SignColumn? vim.api.keyset.highlight
---@field IncSearch? vim.api.keyset.highlight
---@field Substitute? vim.api.keyset.highlight
---@field LineNr? vim.api.keyset.highlight
---@field LineNrAbove? vim.api.keyset.highlight
---@field LineNrBelow? vim.api.keyset.highlight
---@field CursorLineNr? vim.api.keyset.highlight
---@field CursorLineFold? vim.api.keyset.highlight
---@field CursorLineSign? vim.api.keyset.highlight
---@field MatchParen? vim.api.keyset.highlight
---@field ModeMsg? vim.api.keyset.highlight
---@field MsgArea? vim.api.keyset.highlight
---@field MsgSeparator? vim.api.keyset.highlight
---@field MoreMsg? vim.api.keyset.highlight
---@field NonText? vim.api.keyset.highlight
---@field Normal? vim.api.keyset.highlight
---@field NormalFloat? vim.api.keyset.highlight
---@field FloatBorder? vim.api.keyset.highlight
---@field FloatTitle? vim.api.keyset.highlight
---@field NormalNC? vim.api.keyset.highlight
---@field Pmenu? vim.api.keyset.highlight
---@field PmenuSel? vim.api.keyset.highlight
---@field PmenuKind? vim.api.keyset.highlight
---@field PmenuKindSel? vim.api.keyset.highlight
---@field PmenuExtra? vim.api.keyset.highlight
---@field PmenuExtraSel? vim.api.keyset.highlight
---@field PmenuSbar? vim.api.keyset.highlight
---@field PmenuThumb? vim.api.keyset.highlight
---@field Question? vim.api.keyset.highlight
---@field QuickFixLine? vim.api.keyset.highlight
---@field Search? vim.api.keyset.highlight
---@field SpecialKey? vim.api.keyset.highlight
---@field SpellBad? vim.api.keyset.highlight
---@field SpellCap? vim.api.keyset.highlight
---@field SpellLocal? vim.api.keyset.highlight
---@field SpellRare? vim.api.keyset.highlight
---@field StatusLine? vim.api.keyset.highlight
---@field StatusLineNC? vim.api.keyset.highlight
---@field TabLine? vim.api.keyset.highlight
---@field TabLineFill? vim.api.keyset.highlight
---@field TabLineSel? vim.api.keyset.highlight
---@field Title? vim.api.keyset.highlight
---@field Visual? vim.api.keyset.highlight
---@field VisualNOS? vim.api.keyset.highlight
---@field warningMsg? vim.api.keyset.highlight
---@field Whitespace? vim.api.keyset.highlight
---@field WildMenu? vim.api.keyset.highlight
---@field WinBar? vim.api.keyset.highlight
---@field WinBarNC? vim.api.keyset.highlight
---@field Comment? vim.api.keyset.highlight
---@field Constant? vim.api.keyset.highlight
---@field String? vim.api.keyset.highlight
---@field Character? vim.api.keyset.highlight
---@field Number? vim.api.keyset.highlight
---@field Boolean? vim.api.keyset.highlight
---@field Float? vim.api.keyset.highlight
---@field Identifier? vim.api.keyset.highlight
---@field Function? vim.api.keyset.highlight
---@field Statement? vim.api.keyset.highlight
---@field Conditional? vim.api.keyset.highlight
---@field Repeat? vim.api.keyset.highlight
---@field Label? vim.api.keyset.highlight
---@field Operator? vim.api.keyset.highlight
---@field Keyword? vim.api.keyset.highlight
---@field Exception? vim.api.keyset.highlight
---@field PreProc? vim.api.keyset.highlight
---@field Include? vim.api.keyset.highlight
---@field Define? vim.api.keyset.highlight
---@field Macro? vim.api.keyset.highlight
---@field PreCondit? vim.api.keyset.highlight
---@field Type? vim.api.keyset.highlight
---@field StorageClass? vim.api.keyset.highlight
---@field Structure? vim.api.keyset.highlight
---@field Typedef? vim.api.keyset.highlight
---@field Special? vim.api.keyset.highlight
---@field SpecialChar? vim.api.keyset.highlight
---@field Tag? vim.api.keyset.highlight
---@field Delimiter? vim.api.keyset.highlight
---@field SpecialComment? vim.api.keyset.highlight
---@field Debug? vim.api.keyset.highlight
---@field Underlined? vim.api.keyset.highlight
---@field Ignore? vim.api.keyset.highlight
---@field Error? vim.api.keyset.highlight
---@field Todo? vim.api.keyset.highlight
---@field Added? vim.api.keyset.highlight
---@field Changed? vim.api.keyset.highlight
---@field Removed? vim.api.keyset.highlight
---@field DiagnosticError? vim.api.keyset.highlight
---@field DiagnosticWarn? vim.api.keyset.highlight
---@field DiagnosticInfo? vim.api.keyset.highlight
---@field DiagnosticHint? vim.api.keyset.highlight
---@field DiagnosticOk? vim.api.keyset.highlight
---@field DiagnosticVirtualTextError? vim.api.keyset.highlight
---@field DiagnosticVirtualTextWarn? vim.api.keyset.highlight
---@field DiagnosticVirtualTextInfo? vim.api.keyset.highlight
---@field DiagnosticVirtualTextHint? vim.api.keyset.highlight
---@field DiagnosticVirtualTextOk? vim.api.keyset.highlight
---@field DiagnosticUnderlineError? vim.api.keyset.highlight
---@field DiagnosticUnderlineWarn? vim.api.keyset.highlight
---@field DiagnosticUnderlineInfo? vim.api.keyset.highlight
---@field DiagnosticUnderlineHint? vim.api.keyset.highlight
---@field DiagnosticUnderlineOk? vim.api.keyset.highlight
---@field LspReferenceText? vim.api.keyset.highlight
---@field LspReferenceRead? vim.api.keyset.highlight
---@field LspReferenceWrite? vim.api.keyset.highlight
---@field LspInlayHint? vim.api.keyset.highlight
---@field NavicText? vim.api.keyset.highlight
---@field NavicSeparator? vim.api.keyset.highlight
---@field NavicIconsMethod? vim.api.keyset.highlight
---@field NavicIconsFunction? vim.api.keyset.highlight
---@field NavicIconsField? vim.api.keyset.highlight
---@field NavicIconsVariable? vim.api.keyset.highlight
---@field NavicIconsClass? vim.api.keyset.highlight
---@field NavicIconsInterface? vim.api.keyset.highlight
---@field NavicIconsModule? vim.api.keyset.highlight
---@field NavicIconsNamespace? vim.api.keyset.highlight
---@field NavicIconsProperty? vim.api.keyset.highlight
---@field NavicIconsUnit? vim.api.keyset.highlight
---@field NavicIconsEnum? vim.api.keyset.highlight
---@field NavicIconsKeyword? vim.api.keyset.highlight
---@field NavicIconsSnippet? vim.api.keyset.highlight
---@field NavicIconsColor? vim.api.keyset.highlight
---@field NavicIconsFile? vim.api.keyset.highlight
---@field NavicIconsReference? vim.api.keyset.highlight
---@field NavicIconsFolder? vim.api.keyset.highlight
---@field NavicIconsEnumMember? vim.api.keyset.highlight
---@field NavicIconsConstant? vim.api.keyset.highlight
---@field NavicIconsStruct? vim.api.keyset.highlight
---@field NavicIconsEvent? vim.api.keyset.highlight
---@field NavicIconsOperator? vim.api.keyset.highlight
---@field NavicIconsTypeParameter? vim.api.keyset.highlight
---@field CmpItemKindText? vim.api.keyset.highlight
---@field CmpItemKindMethod? vim.api.keyset.highlight
---@field CmpItemKindFunction? vim.api.keyset.highlight
---@field CmpItemKindField? vim.api.keyset.highlight
---@field CmpItemKindVariable? vim.api.keyset.highlight
---@field CmpItemKindClass? vim.api.keyset.highlight
---@field CmpItemKindInterface? vim.api.keyset.highlight
---@field CmpItemKindModule? vim.api.keyset.highlight
---@field CmpItemKindProperty? vim.api.keyset.highlight
---@field CmpItemKindUnit? vim.api.keyset.highlight
---@field CmpItemKindEnum? vim.api.keyset.highlight
---@field CmpItemKindKeyword? vim.api.keyset.highlight
---@field CmpItemKindSnippet? vim.api.keyset.highlight
---@field CmpItemKindColor? vim.api.keyset.highlight
---@field CmpItemKindFile? vim.api.keyset.highlight
---@field CmpItemKindReference? vim.api.keyset.highlight
---@field CmpItemKindFolder? vim.api.keyset.highlight
---@field CmpItemKindEnumMember? vim.api.keyset.highlight
---@field CmpItemKindConstant? vim.api.keyset.highlight
---@field CmpItemKindStruct? vim.api.keyset.highlight
---@field CmpItemKindEvent? vim.api.keyset.highlight
---@field CmpItemKindOperator? vim.api.keyset.highlight
---@field CmpItemKindTypeParameter? vim.api.keyset.highlight
---@field IblIndent? vim.api.keyset.highlight
---@field IblScope? vim.api.keyset.highlight
---@field NeoTreeTitleBar? vim.api.keyset.highlight
---@field NeoTreeNormal? vim.api.keyset.highlight
---@field NeoTreeNormalNC? vim.api.keyset.highlight
---@field NeoTreeDotFile? vim.api.keyset.highlight
---@field NeoTreeFileNameOpened? vim.api.keyset.highlight
---@field NeoTreeFloatBorder? vim.api.keyset.highlight
---@field NeoTreeFloatTitle? vim.api.keyset.highlight
---@field NeoTreeGitAdded? vim.api.keyset.highlight
---@field NeoTreeGitConflict? vim.api.keyset.highlight
---@field NeoTreeGitDeleted? vim.api.keyset.highlight
---@field NeoTreeGitIgnored? vim.api.keyset.highlight
---@field NeoTreeGitModified? vim.api.keyset.highlight
---@field NeoTreeGitUnstaged? vim.api.keyset.highlight
---@field NeoTreeGitUntracked? vim.api.keyset.highlight
---@field NeoTreeGitStaged? vim.api.keyset.highlight
---@field NvimTreeSymlink? vim.api.keyset.highlight
---@field NvimTreeSymlinkIcon? vim.api.keyset.highlight
---@field NvimTreeFolderName? vim.api.keyset.highlight
---@field NvimTreeRootFolder? vim.api.keyset.highlight
---@field NvimTreeFolderIcon? vim.api.keyset.highlight
---@field NvimTreeEmptyFolderName? vim.api.keyset.highlight
---@field NvimTreeExecFile? vim.api.keyset.highlight
---@field NvimTreeOpenedFile? vim.api.keyset.highlight
---@field NvimTreeModifiedFile? vim.api.keyset.highlight
---@field NvimTreeSpecialFile? vim.api.keyset.highlight
---@field NvimTreeIndentMarker? vim.api.keyset.highlight
---@field NvimTreeGitDirty? vim.api.keyset.highlight
---@field NvimTreeGitStaged? vim.api.keyset.highlight
---@field NvimTreeGitMerge? vim.api.keyset.highlight
---@field NvimTreeGitRenamed? vim.api.keyset.highlight
---@field NvimTreeGitNew? vim.api.keyset.highlight
---@field NvimTreeGitDeleted? vim.api.keyset.highlight
---@field NvimTreeNormal? vim.api.keyset.highlight
---@field NvimTreeNormalFloat? vim.api.keyset.highlight
---@field NvimTreeEndOfBuffer? vim.api.keyset.highlight
---@field NvimTreeWinSeparator? vim.api.keyset.highlight
---@field WhichKeyNormal? vim.api.keyset.highlight
---@field WhichKey? vim.api.keyset.highlight
---@field WhichKeyDesc? vim.api.keyset.highlight
---@field WhichKeySeparator? vim.api.keyset.highlight
---@field WhichKeyGroup? vim.api.keyset.highlight
---@field DashboardHeader? vim.api.keyset.highlight
---@field DashboardFooter? vim.api.keyset.highlight
---@field DashboardDesc? vim.api.keyset.highlight
---@field DashboardKey? vim.api.keyset.highlight
---@field DashboardIcon? vim.api.keyset.highlight
---@field DashboardShotCut? vim.api.keyset.highlight
---@field GitSignsAdd? vim.api.keyset.highlight
---@field GitSignsChange? vim.api.keyset.highlight
---@field GitSignsDelete? vim.api.keyset.highlight
---@field TelescopeSelection? vim.api.keyset.highlight
---@field TelescopeSelectionCaret? vim.api.keyset.highlight
---@field TelescopeMultiIcon? vim.api.keyset.highlight
---@field TelescopeNormal? vim.api.keyset.highlight
---@field TelescopePreviewNormal? vim.api.keyset.highlight
---@field TelescopePromptNormal? vim.api.keyset.highlight
---@field TelescopeResultsNormal? vim.api.keyset.highlight
---@field TelescopeBorder? vim.api.keyset.highlight
---@field TelescopePromptBorder? vim.api.keyset.highlight
---@field TelescopeResultsBorder? vim.api.keyset.highlight
---@field TelescopePreviewBorder? vim.api.keyset.highlight
---@field TelescopeTitle? vim.api.keyset.highlight
---@field TelescopePromptTitle? vim.api.keyset.highlight
---@field TelescopeResultsTitle? vim.api.keyset.highlight
---@field TelescopePreviewTitle? vim.api.keyset.highlight
---@field TelescopeMatching? vim.api.keyset.highlight
---@field TelescopePreviewMatch? vim.api.keyset.highlight
---@field TelescopePromptCounter? vim.api.keyset.highlight
---@field TelescopePromptPrefix? vim.api.keyset.highlight
---@field NoiceFormatProgressTodo? vim.api.keyset.highlight
---@field NoiceFormatProgressDone? vim.api.keyset.highlight
---@field NoiceLspProgressSpinner? vim.api.keyset.highlight
---@field NoiceLspProgressClient? vim.api.keyset.highlight
---@field NoiceCmdlineIcon? vim.api.keyset.highlight
---@field NoiceCmdlinePopupBorder? vim.api.keyset.highlight
---@field NoiceCmdlinePopupTitle? vim.api.keyset.highlight
---@field NoiceLspProgressTitle? vim.api.keyset.highlight
---@field HopNextKey? vim.api.keyset.highlight
---@field HopNextKey1? vim.api.keyset.highlight
---@field HopUnmatched? vim.api.keyset.highlight
---@field MiniStatuslineModeNormal? vim.api.keyset.highlight
---@field MiniStatuslineModeInsert? vim.api.keyset.highlight
---@field MiniStatuslineModeVisual? vim.api.keyset.highlight
---@field MiniStatuslineModeReplace? vim.api.keyset.highlight
---@field MiniStatuslineModeCommand? vim.api.keyset.highlight
---@field MinistatusLineFileName? vim.api.keyset.highlight
---@field MiniStatuslineDevinfo? vim.api.keyset.highlight
---@field MiniStatuslineFileinfo? vim.api.keyset.highlight
---@field MiniStatuslineInactive? vim.api.keyset.highlight
---@field MiniTablineCurrent? vim.api.keyset.highlight
---@field MiniTablineVisible? vim.api.keyset.highlight
---@field MiniTablineHidden? vim.api.keyset.highlight
---@field MiniTablineModifiedCurrent? vim.api.keyset.highlight
---@field MiniTablineModifiedVisible? vim.api.keyset.highlight
---@field MiniTablineModifiedHidden? vim.api.keyset.highlight
---@field MiniTablineFill? vim.api.keyset.highlight
---@field MiniTablineTabpagesection? vim.api.keyset.highlight
---@field MiniStarterCurrent? vim.api.keyset.highlight
---@field MiniStarterHeader? vim.api.keyset.highlight
---@field MiniStarterFooter? vim.api.keyset.highlight
---@field MiniStarterItem? vim.api.keyset.highlight
---@field MiniStarterItemBullet? vim.api.keyset.highlight
---@field MiniStarterItemPrefix? vim.api.keyset.highlight
---@field MiniStarterSection? vim.api.keyset.highlight
---@field MiniStarterQuery? vim.api.keyset.highlight
---@field MiniCursorword? vim.api.keyset.highlight
---@field NotifyBackground? vim.api.keyset.highlight
---@field NotifyERRORBorder? vim.api.keyset.highlight
---@field NotifyWARNBorder? vim.api.keyset.highlight
---@field NotifyINFOBorder? vim.api.keyset.highlight
---@field NotifyDEBUGBorder? vim.api.keyset.highlight
---@field NotifyTRACEBorder? vim.api.keyset.highlight
---@field NotifyERRORIcon? vim.api.keyset.highlight
---@field NotifyWARNIcon? vim.api.keyset.highlight
---@field NotifyINFOIcon? vim.api.keyset.highlight
---@field NotifyDEBUGIcon? vim.api.keyset.highlight
---@field NotifyTRACEIcon? vim.api.keyset.highlight
---@field NotifyERRORTitle? vim.api.keyset.highlight
---@field NotifyWARNTitle? vim.api.keyset.highlight
---@field NotifyINFOTitle? vim.api.keyset.highlight
---@field NotifyDEBUGTitle? vim.api.keyset.highlight
---@field NotifyTRACETitle? vim.api.keyset.highlight
---@field NotifyERRORBody? vim.api.keyset.highlight
---@field NotifyWARNBody? vim.api.keyset.highlight
---@field NotifyINFOBody? vim.api.keyset.highlight
---@field NotifyDEBUGBody? vim.api.keyset.highlight
---@field NotifyTRACEBody? vim.api.keyset.highlight
---@field RainbowDelimiterRed? vim.api.keyset.highlight
---@field RainbowDelimiteYellow? vim.api.keyset.highlight
---@field RainbowDelimiterBlue? vim.api.keyset.highlight
---@field RainbowDelimiterOrange? vim.api.keyset.highlight
---@field RainbowDelimiterGreen? vim.api.keyset.highlight
---@field RainbowDelimiterViolet? vim.api.keyset.highlight
---@field RainbowDelimiterCyan? vim.api.keyset.highlight
---@field BufferLineFill? vim.api.keyset.highlight
---@field BufferLineBufferSelected? vim.api.keyset.highlight
---@field BufferLineSeparator? vim.api.keyset.highlight
---@field BufferLineSeparatorSelected? vim.api.keyset.highlight
---@field BufferLineSeparatorVisible? vim.api.keyset.highlight
---@field LazyNormal? vim.api.keyset.highlight
---@field LazyH1? vim.api.keyset.highlight
---@field LazyButton? vim.api.keyset.highlight
---@field LazyButtonActive? vim.api.keyset.highlight
---@field LazyReasonStart? vim.api.keyset.highlight
---@field LazyReasonEvent? vim.api.keyset.highlight
---@field RenderMarkdownH1Bg? vim.api.keyset.highlight
---@field RenderMarkdownH2Bg? vim.api.keyset.highlight
---@field RenderMarkdownH3Bg? vim.api.keyset.highlight
---@field RenderMarkdownH4Bg? vim.api.keyset.highlight
---@field RenderMarkdownH5Bg? vim.api.keyset.highlight
---@field RenderMarkdownH6Bg? vim.api.keyset.highlight
---@field NeogitBranch? vim.api.keyset.highlight
---@field NeogitRemote? vim.api.keyset.highlight
---@field NeogitHunkHeader? vim.api.keyset.highlight
---@field NeogitHunkHeaderHighlight? vim.api.keyset.highlight
---@field NeogitDiffContextHighlight? vim.api.keyset.highlight
---@field NeogitDiffContext? vim.api.keyset.highlight
---@field NeogitDiffDeleteHighlight? vim.api.keyset.highlight
---@field NeogitDiffDelete? vim.api.keyset.highlight
---@field NeogitDiffAddHighlight? vim.api.keyset.highlight
---@field NeogitDiffAdd? vim.api.keyset.highlight
---@field TodoFgTODO? vim.api.keyset.highlight
---@field TodoFgWARN? vim.api.keyset.highlight
---@field TodoFgTEST? vim.api.keyset.highlight
---@field TodoFgPERF? vim.api.keyset.highlight
---@field TodoFgNOTE? vim.api.keyset.highlight
---@field TodoFgHACK? vim.api.keyset.highlight
---@field TodoFgFIX? vim.api.keyset.highlight
---@field TodoSignTODO? vim.api.keyset.highlight
---@field TodoSignWARN? vim.api.keyset.highlight
---@field TodoSignTEST? vim.api.keyset.highlight
---@field TodoSignPERF? vim.api.keyset.highlight
---@field TodoSignNOTE? vim.api.keyset.highlight
---@field TodoSignHACK? vim.api.keyset.highlight
---@field TodoSignFIX? vim.api.keyset.highlight
---@field TodoBgTODO? vim.api.keyset.highlight
---@field TodoBgWARN? vim.api.keyset.highlight
---@field TodoBgTEST? vim.api.keyset.highlight
---@field TodoBgPERF? vim.api.keyset.highlight
---@field TodoBgNOTE? vim.api.keyset.highlight
---@field TodoBgHACK? vim.api.keyset.highlight
---@field TodoBgFIX? vim.api.keyset.highlight
---@field ALEErrorSign? vim.api.keyset.highlight
---@field ALEWarningSign? vim.api.keyset.highlight
---@field AlphaShortcut? vim.api.keyset.highlight
---@field AlphaHeader? vim.api.keyset.highlight
---@field AlphaHeaderLabel? vim.api.keyset.highlight
---@field AlphaFooter? vim.api.keyset.highlight
---@field AlphaButtons? vim.api.keyset.highlight
---@field YankyPut? vim.api.keyset.highlight
---@field YankyYanked? vim.api.keyset.highlight
---@field GitGutterAdd? vim.api.keyset.highlight
---@field GitGutterChange? vim.api.keyset.highlight
---@field GitGutterDelete? vim.api.keyset.highlight
---@field GitGutterAddLineNr? vim.api.keyset.highlight
---@field GitGutterChangeLineNr? vim.api.keyset.highlight
---@field GitGutterDeleteLineNr? vim.api.keyset.highlight
---@field CocErrorSign? vim.api.keyset.highlight
---@field CocWarningSign? vim.api.keyset.highlight
---@field CocInfoSign? vim.api.keyset.highlight
---@field CocHintSign? vim.api.keyset.highlight
---@field CocErrorVirtualText? vim.api.keyset.highlight
---@field CocWarningVirtualText? vim.api.keyset.highlight
---@field CocInfoVirtualText? vim.api.keyset.highlight
---@field CocHintVirtualText? vim.api.keyset.highlight
---@field LeapMatch? vim.api.keyset.highlight
---@field LeapLabel? vim.api.keyset.highlight
---@field LeapBackDrop? vim.api.keyset.highlight
local M = {}
local function nvim_get_hl(opts)
@ -13,7 +399,6 @@ end
---@class solarized.nvim_set_hl.config
---@field transparent? boolean
---@field styles? vim.api.keyset.highlight
---@field error_lens? boolean
---@param group_name string
---@param group_val vim.api.keyset.highlight
@ -30,17 +415,6 @@ local nvim_set_hl = function(group_name, group_val, config)
group_val = vim.tbl_extend('force', group_val, config.styles)
end
if config and config.error_lens then
local color = require 'solarized.color'
local editor = require('solarized.utils').nvim_get_hl 'Normal'
local ok, mix_color = pcall(color.blend, group_val.fg, editor.bg, 0.3)
if ok then
group_val.bg = mix_color
else
group_val.bg = color.shade(group_val.fg, 5)
end
end
val = vim.tbl_extend('force', val, group_val)
vim.api.nvim_set_hl(0, group_name, val)
else
@ -51,41 +425,10 @@ end
---@param colors solarized.palette
---@param config solarized.config
M.set_highlight = function(colors, config)
local color = require 'solarized.color'
if config.on_colors then
local color = require 'solarized.color'
colors = vim.tbl_extend('force', colors, config.on_colors(colors, color))
end
local term = {
'base04',
'red',
'green',
'yellow',
'magenta',
'violet',
'cyan',
'base01',
'base01',
'orange',
'green',
'yellow',
'blue',
'red',
'green',
'base01',
}
for index, key in ipairs(term) do
vim.g['terminal_color_' .. index - 1] = colors[key]
end
local solarized_dark = require 'solarized.variants'
solarized_dark.set_variant {
colors = colors,
nvim_set_hl = nvim_set_hl,
config = config,
color = color,
}
-- EDITOR :h highlight-groups
nvim_set_hl('ColorColumn', { bg = colors.base02 })
nvim_set_hl('Conceal', { fg = colors.blue })
@ -104,32 +447,32 @@ M.set_highlight = function(colors, config)
nvim_set_hl('TermCursor', { link = 'Cursor' })
nvim_set_hl('TermCursorNC', { fg = colors.base03, bg = colors.base0 })
nvim_set_hl('ErrorMsg', { fg = colors.diag_error })
-- nvim_set_hl(
-- 'WinSeparator',
-- { fg = colors.base01, bg = colors.base04 },
-- { transparent = config.transparent.enabled }
-- )
nvim_set_hl(
'WinSeparator',
{ fg = colors.base01, bg = colors.base04 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl('Folded', { fg = colors.base0, bg = colors.base02 })
nvim_set_hl('FoldColumn', { fg = colors.base0, bg = colors.base04 })
-- nvim_set_hl(
-- 'SignColumn',
-- { fg = colors.base01, bg = colors.base02 },
-- { transparent = config.transparent.enabled }
-- )
nvim_set_hl(
'SignColumn',
{ fg = colors.base01, bg = colors.base02 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl('IncSearch', { fg = colors.magenta, bg = colors.mix_magenta })
nvim_set_hl('Substitute', { link = 'IncSearch' })
-- nvim_set_hl(
-- 'LineNr',
-- { fg = colors.base01, bg = colors.base02 },
-- { transparent = config.transparent.enabled }
-- )
nvim_set_hl(
'LineNr',
{ fg = colors.base01, bg = colors.base02 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl('LineNrAbove', { link = 'LineNr' })
nvim_set_hl('LineNrBelow', { link = 'LineNr' })
-- nvim_set_hl(
-- 'CursorLineNr',
-- { fg = colors.base1, bg = colors.base02 },
-- { transparent = config.transparent.enabled }
-- )
nvim_set_hl(
'CursorLineNr',
{ fg = colors.base1, bg = colors.base02 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl('CursorLineFold', { link = 'FoldColumn' })
nvim_set_hl('CursorLineSign', { link = 'SignColumn' })
nvim_set_hl('MatchParen', { fg = colors.cyan })
@ -144,12 +487,10 @@ M.set_highlight = function(colors, config)
{ transparent = config.transparent.normal and config.transparent.enabled }
)
nvim_set_hl('NormalFloat', { fg = colors.base0, bg = colors.base04 }, {
transparent = config.transparent.normalfloat and config.transparent.enabled,
transparent = config.transparent.normal and config.transparent.enabled,
})
-- nvim_set_hl('FloatBorder', { fg = colors.base01, bg = colors.base04 }, {
-- transparent = config.transparent.enabled,
-- })
-- nvim_set_hl('FloatTitle', { fg = colors.mix_blue, bg = colors.blue, reverse = true })
nvim_set_hl('FloatBorder', { link = 'WinSeparator' })
nvim_set_hl('FloatTitle', { fg = colors.blue })
nvim_set_hl('NormalNC', { link = 'Normal' })
nvim_set_hl('Pmenu', { fg = colors.base0, bg = colors.base04 }, {
transparent = config.transparent.pmenu and config.transparent.enabled,
@ -183,19 +524,59 @@ M.set_highlight = function(colors, config)
nvim_set_hl('WinBar', { link = 'Pmenu' })
nvim_set_hl('WinBarNC', { link = 'WinBar' })
-- SYNTAX :h group-name
nvim_set_hl('Comment', { fg = colors.base01 }, { styles = config.styles.comments })
nvim_set_hl('Constant', { fg = colors.violet }, { styles = config.styles.constants })
nvim_set_hl('String', { fg = colors.cyan }, { styles = config.styles.strings })
nvim_set_hl('Character', { link = 'String' })
nvim_set_hl('Number', { link = 'Constant' })
nvim_set_hl('Boolean', { link = 'Constant' })
nvim_set_hl('Float', { link = 'Constant' })
nvim_set_hl('Identifier', { fg = colors.blue }, { styles = config.styles.variables })
nvim_set_hl('Function', { fg = colors.blue }, { styles = config.styles.functions })
nvim_set_hl('Statement', { fg = colors.green }, { styles = config.styles.statements })
nvim_set_hl('Conditional', { link = 'Statement' })
nvim_set_hl('Repeat', { link = 'Statement' })
nvim_set_hl('Label', { link = 'Statement' })
nvim_set_hl('Operator', { link = 'Statement' })
nvim_set_hl('Keyword', { fg = colors.base1, bold = true }, { styles = config.styles.keywords })
nvim_set_hl('Exception', { link = 'Statement' })
nvim_set_hl('Include', { fg = colors.orange })
nvim_set_hl('Define', { link = 'Include' })
nvim_set_hl('Macro', { link = 'Include' })
nvim_set_hl('PreProc', { link = 'Include' })
nvim_set_hl('PreCondit', { link = 'Statement' })
nvim_set_hl('Type', { fg = colors.yellow }, { styles = config.styles.types })
nvim_set_hl('StorageClass', { link = 'Statement' })
nvim_set_hl('Structure', { link = 'Type' })
nvim_set_hl('Typedef', { link = 'Statement' })
nvim_set_hl('Special', { fg = colors.violet })
nvim_set_hl('SpecialChar', { fg = colors.violet })
nvim_set_hl('Tag', { fg = colors.blue })
nvim_set_hl('Delimiter', { fg = colors.base01 })
nvim_set_hl('SpecialComment', { link = 'Statement' })
nvim_set_hl('Debug', { fg = colors.magenta })
nvim_set_hl('Underlined', { fg = colors.magenta, underline = true })
nvim_set_hl('Ignore', {})
nvim_set_hl('Error', { fg = colors.diag_error, bold = true })
nvim_set_hl('Todo', { fg = colors.blue })
nvim_set_hl('Added', { fg = colors.git_add })
nvim_set_hl('Changed', { fg = colors.git_modify })
nvim_set_hl('Removed', { fg = colors.git_delete })
-- PLUGINS
if config.plugins.treesitter then
nvim_set_hl('@variable', { link = 'Identifier' })
nvim_set_hl('@variable.builtin', { link = 'Constant' })
nvim_set_hl('@variable.parameter', { link = 'Parameter' })
nvim_set_hl('@variable.member', { link = 'Property' })
nvim_set_hl('@property', { link = 'Property' })
nvim_set_hl('@property.json', { link = 'Keyword' })
nvim_set_hl('@property.yaml', { link = 'Keyword' })
nvim_set_hl(
'@variable.parameter',
{ fg = colors.blue, italic = true },
{ styles = config.styles.parameters }
)
nvim_set_hl('@variable.member', { link = 'Identifier' })
nvim_set_hl('@constant', { link = 'Constant' })
nvim_set_hl('@constant.builtin', { link = 'Constant' })
nvim_set_hl('@constant.macro', { link = 'Constant' })
nvim_set_hl('@constant.html', { link = 'Tag' })
nvim_set_hl('@module', { link = 'Type' })
nvim_set_hl('@module.builtin', { link = 'Constant' })
nvim_set_hl('@label', { link = 'Statement' })
@ -215,14 +596,14 @@ M.set_highlight = function(colors, config)
nvim_set_hl('@type.qualifier', { link = 'Type' })
nvim_set_hl('@attribute', { link = 'Keyword' })
nvim_set_hl('@function', { link = 'Function' })
nvim_set_hl('@function.builtin', { link = 'Function' }, { styles = config.styles.functions })
nvim_set_hl('@function.builtin', { fg = colors.yellow }, { styles = config.styles.functions })
nvim_set_hl('@function.call', { link = 'Function' })
nvim_set_hl('@function.macro', { link = 'Function' })
nvim_set_hl('@function.method', { link = 'Function' })
nvim_set_hl('@function.method.call', { link = 'Function' })
nvim_set_hl('@constructor', { link = 'Type' })
nvim_set_hl('@constructor.lua', { link = 'Delimiter' })
nvim_set_hl('@operator', { link = 'Operator' })
nvim_set_hl('@operator', { link = 'Statement' })
nvim_set_hl('@keyword', { link = 'Keyword' })
nvim_set_hl('@keyword.coroutine', { link = 'Statement' })
nvim_set_hl('@keyword.function', { link = 'Keyword' })
@ -247,7 +628,7 @@ M.set_highlight = function(colors, config)
nvim_set_hl('@comment.todo', { link = 'Todo' })
nvim_set_hl('@comment.note', { fg = colors.diag_hint })
nvim_set_hl('@markup.strong', { fg = colors.magenta, bold = true })
nvim_set_hl('@markup.italic', { fg = colors.magenta, italic = true })
nvim_set_hl('@markup.italic', { link = 'Underlined' })
nvim_set_hl('@markup.strikethrough', { fg = colors.base01, strikethrough = true })
nvim_set_hl('@markup.underline', { link = 'Underlined' })
nvim_set_hl('@markup.heading', { fg = colors.blue, bold = true })
@ -271,13 +652,11 @@ M.set_highlight = function(colors, config)
nvim_set_hl('@diff.plus', { fg = colors.git_add })
nvim_set_hl('@diff.minus', { fg = colors.git_delete })
nvim_set_hl('@diff.delta', { fg = colors.git_modify })
nvim_set_hl('@tag', { link = 'Tag' })
nvim_set_hl('@tag.attribute', { link = 'TagAttribute' })
nvim_set_hl('@tag.delimiter', { link = 'TagDelimiter' })
nvim_set_hl('@tag', { fg = colors.blue })
nvim_set_hl('@tag.attribute', { fg = colors.base1 })
nvim_set_hl('@tag.delimiter', { link = 'Delimiter' })
end
local signcolumn = require('solarized.utils').nvim_get_hl 'SignColumn'
if config.plugins.lspconfig then
nvim_set_hl('@lsp.type.class', { link = 'Type' })
nvim_set_hl('@lsp.type.decorator', { link = 'Function' })
@ -286,8 +665,8 @@ M.set_highlight = function(colors, config)
nvim_set_hl('@lsp.type.interface', { link = 'Type' })
nvim_set_hl('@lsp.type.macro', { link = '@function.builtin' })
nvim_set_hl('@lsp.type.namespace', { link = 'Type' })
nvim_set_hl('@lsp.type.parameter', { link = 'Parameter' })
nvim_set_hl('@lsp.type.property', { link = 'Property' })
nvim_set_hl('@lsp.type.parameter', { link = '@parameter' })
nvim_set_hl('@lsp.type.property', { link = 'Identifier' })
nvim_set_hl('@lsp.type.struct', { link = 'Type' })
nvim_set_hl('@lsp.type.type', { link = 'Type' })
nvim_set_hl('@lsp.type.typeParameter', { link = 'Type' })
@ -298,86 +677,45 @@ M.set_highlight = function(colors, config)
nvim_set_hl('@lsp.typemod.keyword.documentation', { link = 'Keyword' })
nvim_set_hl('@lsp.typemod.class.documentation', { link = 'Type' })
nvim_set_hl('@lsp.typemod.property.readonly', { link = 'Constant' })
nvim_set_hl('DiagnosticError', { fg = colors.diag_error })
nvim_set_hl('DiagnosticWarn', { fg = colors.diag_warning })
nvim_set_hl('DiagnosticInfo', { fg = colors.diag_info })
nvim_set_hl('DiagnosticHint', { fg = colors.diag_hint })
nvim_set_hl('DiagnosticOk', { fg = colors.diag_ok })
nvim_set_hl(
'DiagnosticVirtualTextError',
{ fg = colors.diag_error },
{ error_lens = config.error_lens.text }
'DiagnosticError',
{ fg = colors.diag_error, bg = colors.mix_red },
{ transparent = config.transparent.enabled }
)
nvim_set_hl(
'DiagnosticVirtualTextWarn',
{ fg = colors.diag_warning },
{ error_lens = config.error_lens.text }
'DiagnosticWarn',
{ fg = colors.diag_warning, bg = colors.mix_yellow },
{ transparent = config.transparent.enabled }
)
nvim_set_hl(
'DiagnosticVirtualTextInfo',
{ fg = colors.diag_info },
{ error_lens = config.error_lens.text }
'DiagnosticInfo',
{ fg = colors.diag_info, bg = colors.mix_base1 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl(
'DiagnosticVirtualTextHint',
{ fg = colors.diag_hint },
{ error_lens = config.error_lens.text }
'DiagnosticHint',
{ fg = colors.diag_hint, bg = colors.mix_base1 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl(
'DiagnosticVirtualTextOk',
{ fg = colors.diag_ok },
{ error_lens = config.error_lens.text }
)
nvim_set_hl(
'DiagnosticUnderlineError',
{ fg = colors.diag_error, underline = true, sp = colors.diag_error }
)
nvim_set_hl(
'DiagnosticUnderlineWarn',
{ fg = colors.diag_warning, underline = true, sp = colors.diag_warning }
)
nvim_set_hl(
'DiagnosticUnderlineInfo',
{ fg = colors.diag_info, underline = true, sp = colors.diag_info }
)
nvim_set_hl(
'DiagnosticUnderlineHint',
{ fg = colors.diag_hint, underline = true, sp = colors.diag_hint }
)
nvim_set_hl(
'DiagnosticUnderlineOk',
{ fg = colors.diag_ok, underline = true, sp = colors.diag_ok }
)
nvim_set_hl(
'DiagnosticSignError',
{ fg = colors.diag_error, bg = signcolumn.bg },
{ transparent = config.transparent.enabled, error_lens = config.error_lens.symbol }
) -- Used for "Error" signs in sign column.
nvim_set_hl(
'DiagnosticSignWarn',
{ fg = colors.diag_warning, bg = signcolumn.bg },
{ transparent = config.transparent.enabled, error_lens = config.error_lens.symbol }
) -- Used for "Warn" signs in sign column.
nvim_set_hl(
'DiagnosticSignInfo',
{ fg = colors.diag_info, bg = signcolumn.bg },
{ transparent = config.transparent.enabled, error_lens = config.error_lens.symbol }
) -- Used for "Info" signs in sign column.
nvim_set_hl(
'DiagnosticSignHint',
{ fg = colors.diag_hint, bg = signcolumn.bg },
{ transparent = config.transparent.enabled, error_lens = config.error_lens.symbol }
) -- Used for "Hint" signs in sign column.
nvim_set_hl(
'DiagnosticSignOk',
{ fg = colors.diag_ok, bg = signcolumn.bg },
{ transparent = config.transparent.enabled, error_lens = config.error_lens.symbol }
'DiagnosticOk',
{ fg = colors.diag_ok, bg = colors.mix_green },
{ transparent = config.transparent.enabled }
)
nvim_set_hl('DiagnosticVirtualTextError', { fg = colors.diag_error })
nvim_set_hl('DiagnosticVirtualTextWarn', { fg = colors.diag_warning })
nvim_set_hl('DiagnosticVirtualTextInfo', { fg = colors.diag_info })
nvim_set_hl('DiagnosticVirtualTextHint', { fg = colors.diag_hint })
nvim_set_hl('DiagnosticVirtualTextOk', { fg = colors.diag_ok })
nvim_set_hl('DiagnosticUnderlineError', { fg = colors.diag_error, underline = true })
nvim_set_hl('DiagnosticUnderlineWarn', { fg = colors.diag_warning, underline = true })
nvim_set_hl('DiagnosticUnderlineInfo', { fg = colors.diag_info, underline = true })
nvim_set_hl('DiagnosticUnderlineHint', { fg = colors.diag_hint, underline = true })
nvim_set_hl('DiagnosticUnderlineOk', { fg = colors.diag_ok, underline = true })
nvim_set_hl('LspReferenceText', { fg = colors.cyan, bg = colors.mix_cyan })
nvim_set_hl('LspReferenceRead', { fg = colors.green, bg = colors.mix_green })
nvim_set_hl('LspReferenceWrite', { fg = colors.green, bg = colors.mix_green })
-- nvim_set_hl('LspInlayHint', { fg = colors.base01 })
nvim_set_hl('LspInlayHint', { fg = color.shade(colors.cyan, 3) })
nvim_set_hl('LspInlayHint', { fg = colors.base01 })
end
if config.plugins.navic then
@ -439,11 +777,6 @@ M.set_highlight = function(colors, config)
nvim_set_hl('IblScope', { fg = colors.base01 })
end
if config.plugins.indentmini then
nvim_set_hl('IndentLine', { fg = colors.base02 })
nvim_set_hl('IndentLineCurrent', { fg = colors.base01 })
end
if config.plugins.neotree then
nvim_set_hl('NeoTreeTitleBar', { fg = colors.cyan, bg = colors.mix_cyan })
nvim_set_hl(
@ -502,10 +835,10 @@ M.set_highlight = function(colors, config)
{ fg = colors.base0, bg = colors.base04 },
{ transparent = config.transparent.whichkey and config.transparent.enabled }
)
nvim_set_hl('WhichKey', { link = 'Property' })
nvim_set_hl('WhichKeyDesc', { link = 'String' })
nvim_set_hl('WhichKeySeparator', { link = 'Keyword' })
nvim_set_hl('WhichKeyGroup', { link = 'Constant' })
nvim_set_hl('WhichKey', { fg = colors.base1 })
nvim_set_hl('WhichKeyDesc', { fg = colors.blue })
nvim_set_hl('WhichKeySeparator', { fg = colors.green })
nvim_set_hl('WhichKeyGroup', { fg = colors.cyan })
end
if config.plugins.dashboard then
@ -520,20 +853,20 @@ M.set_highlight = function(colors, config)
if config.plugins.gitsigns then
nvim_set_hl(
'GitSignsAdd',
{ fg = colors.git_add, bg = signcolumn.bg },
{ fg = colors.git_add, bg = colors.base02 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl('GitSignsChange', { fg = colors.git_modify, bg = signcolumn.bg }, {
nvim_set_hl('GitSignsChange', { fg = colors.git_modify, bg = colors.base02 }, {
transparent = config.transparent.enabled,
})
nvim_set_hl('GitSignsDelete', { fg = colors.git_delete, bg = signcolumn.bg }, {
nvim_set_hl('GitSignsDelete', { fg = colors.git_delete, bg = colors.base02 }, {
transparent = config.transparent.enabled,
})
end
if config.plugins.telescope then
nvim_set_hl('TelescopeSelection', { fg = colors.base1, bg = colors.base02 })
nvim_set_hl('TelescopeSelectionCaret', { fg = colors.blue, bg = colors.base02 })
nvim_set_hl('TelescopeSelection', { fg = colors.base0 })
nvim_set_hl('TelescopeSelectionCaret', { fg = colors.base1 })
nvim_set_hl('TelescopeMultiIcon', { fg = colors.base1 })
nvim_set_hl(
'TelescopeNormal',
@ -543,11 +876,15 @@ M.set_highlight = function(colors, config)
nvim_set_hl('TelescopePreviewNormal', { link = 'TelescopeNormal' })
nvim_set_hl('TelescopePromptNormal', { link = 'TelescopeNormal' })
nvim_set_hl('TelescopeResultsNormal', { link = 'TelescopeNormal' })
nvim_set_hl('TelescopeBorder', { link = 'FloatBorder' })
nvim_set_hl(
'TelescopeBorder',
{ link = 'WinSeparator' },
{ transparent = config.transparent.enabled }
)
nvim_set_hl('TelescopePromptBorder', { link = 'TelescopeBorder' })
nvim_set_hl('TelescopeResultsBorder', { link = 'TelescopeBorder' })
nvim_set_hl('TelescopePreviewBorder', { link = 'TelescopeBorder' })
nvim_set_hl('TelescopeTitle', { link = 'FloatTitle' })
nvim_set_hl('TelescopeTitle', { fg = colors.mix_base1, bg = colors.base1 })
nvim_set_hl('TelescopePromptTitle', { link = 'TelescopeTitle' })
nvim_set_hl('TelescopeResultsTitle', { link = 'TelescopeTitle' })
nvim_set_hl('TelescopePreviewTitle', { link = 'TelescopeTitle' })
@ -647,7 +984,8 @@ M.set_highlight = function(colors, config)
nvim_set_hl('RainbowDelimiterCyan', { fg = colors.cyan })
end
if config.plugins.bufferline and config.transparent.enabled then
if config.plugins.bufferline and config.transparent then
local color = require 'solarized.color'
local background = color.shade(colors.base02, 2)
nvim_set_hl('BufferLineFill', { bg = background })
nvim_set_hl('BufferLineBufferSelected', { fg = colors.base0 })
@ -743,46 +1081,14 @@ M.set_highlight = function(colors, config)
end
if config.plugins.coc then
nvim_set_hl(
'CocErrorSign',
{ fg = colors.diag_error, bg = signcolumn.bg },
{ error_lens = config.error_lens.symbol }
)
nvim_set_hl(
'CocWarningSign',
{ fg = colors.diag_warning, bg = signcolumn.bg },
{ error_lens = config.error_lens.symbol }
)
nvim_set_hl(
'CocInfoSign',
{ fg = colors.diag_info, bg = signcolumn.bg },
{ error_lens = config.error_lens.symbol }
)
nvim_set_hl(
'CocHintSign',
{ fg = colors.diag_hint, bg = signcolumn.bg },
{ error_lens = config.error_lens.symbol }
)
nvim_set_hl(
'CocErrorVirtualText',
{ fg = colors.diag_error },
{ error_lens = config.error_lens.text }
)
nvim_set_hl(
'CocWarningVirtualText',
{ fg = colors.diag_warning },
{ error_lens = config.error_lens.text }
)
nvim_set_hl(
'CocInfoVirtualText',
{ fg = colors.diag_info },
{ error_lens = config.error_lens.text }
)
nvim_set_hl(
'CocHintVirtualText',
{ fg = colors.diag_hint },
{ error_lens = config.error_lens.text }
)
nvim_set_hl('CocErrorSign', { fg = colors.diag_error })
nvim_set_hl('CocWarningSign', { fg = colors.diag_warning })
nvim_set_hl('CocInfoSign', { fg = colors.diag_info })
nvim_set_hl('CocHintSign', { fg = colors.diag_hint })
nvim_set_hl('CocErrorVirtualText', { fg = colors.diag_error, bg = colors.mix_red })
nvim_set_hl('CocWarningVirtualText', { fg = colors.diag_warning, bg = colors.mix_yellow })
nvim_set_hl('CocInfoVirtualText', { fg = colors.diag_info, bg = colors.mix_base1 })
nvim_set_hl('CocHintVirtualText', { fg = colors.diag_hint, bg = colors.mix_base1 })
end
if config.plugins.leap then
@ -792,7 +1098,6 @@ M.set_highlight = function(colors, config)
end
if config.plugins.mason then
nvim_set_hl('MasonHeader', { link = 'FloatTitle' })
nvim_set_hl(
'MasonNormal',
{ fg = colors.base0, bg = colors.base04 },
@ -803,13 +1108,8 @@ M.set_highlight = function(colors, config)
nvim_set_hl('MasonHighlightBlockBold', { fg = colors.mix_cyan, bg = colors.cyan, bold = true })
end
if config.plugins.flash then
nvim_set_hl('FlashMatch', { fg = colors.base1 })
nvim_set_hl('FlashLabel', { fg = colors.magenta })
nvim_set_hl('FlashCurrent', { fg = colors.red })
end
if config.on_highlights then
local color = require 'solarized.color'
local highlights = config.on_highlights(colors, color)
for group_name, group_val in pairs(highlights) do

View file

@ -25,17 +25,6 @@ local nvim_set_hl = function(group_name, group_val, config)
group_val = vim.tbl_extend('force', group_val, config.styles)
end
if config and config.error_lens then
local color = require 'solarized.color'
local editor = require('solarized.utils').nvim_get_hl 'Normal'
local ok, mix_color = pcall(color.blend, group_val.fg, editor.bg, 0.1)
if ok then
group_val.bg = mix_color
else
group_val.bg = color.tint(group_val.fg, 7)
end
end
val = vim.tbl_extend('force', val, group_val)
vim.api.nvim_set_hl(0, group_name, val)
else
@ -46,41 +35,10 @@ end
---@param colors solarized.palette
---@param config solarized.config
M.set_highlight = function(colors, config)
local color = require 'solarized.color'
if config.on_colors then
local color = require 'solarized.color'
colors = vim.tbl_extend('force', colors, config.on_colors(colors, color))
end
local term = {
'base4',
'red',
'green',
'yellow',
'magenta',
'violet',
'cyan',
'base1',
'base1',
'orange',
'green',
'yellow',
'blue',
'red',
'green',
'base1',
}
for index, key in ipairs(term) do
vim.g['terminal_color_' .. index - 1] = colors[key]
end
local solarized_light = require 'solarized.variants.solarized-light'
solarized_light.set_variant {
config = config,
nvim_set_hl = nvim_set_hl,
colors = colors,
color = color,
}
-- EDITOR :h highlight-groups
nvim_set_hl('ColorColumn', { bg = colors.base2 })
nvim_set_hl('Conceal', { fg = colors.blue })
@ -99,36 +57,36 @@ M.set_highlight = function(colors, config)
nvim_set_hl('TermCursor', { link = 'Cursor' })
nvim_set_hl('TermCursorNC', { fg = colors.base3, bg = colors.base00 })
nvim_set_hl('ErrorMsg', { fg = colors.diag_error })
-- nvim_set_hl(
-- 'WinSeparator',
-- { fg = colors.blue, bg = colors.base4 },
-- { transparent = config.transparent.enabled }
-- )
nvim_set_hl(
'WinSeparator',
{ fg = colors.blue, bg = colors.base4 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl('Folded', { fg = colors.base00, bg = colors.base2 })
nvim_set_hl('FoldColumn', { fg = colors.base00, bg = colors.base2 })
-- nvim_set_hl(
-- 'SignColumn',
-- { fg = colors.base00, bg = colors.base2 },
-- { transparent = config.transparent.enabled }
-- )
nvim_set_hl(
'SignColumn',
{ fg = colors.base00, bg = colors.base2 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl(
'IncSearch',
{ fg = colors.yellow, bg = colors.mix_yellow, bold = true },
{ transparent = config.transparent.enabled }
)
nvim_set_hl('Substitute', { link = 'IncSearch' })
-- nvim_set_hl(
-- 'LineNr',
-- { fg = colors.base1, bg = colors.base2 },
-- { transparent = config.transparent.enabled }
-- )
nvim_set_hl(
'LineNr',
{ fg = colors.base1, bg = colors.base2 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl('LineNrAbove', { link = 'LineNr' })
nvim_set_hl('LineNrBelow', { link = 'LineNr' })
-- nvim_set_hl(
-- 'CursorLineNr',
-- { fg = colors.base01, bg = colors.base2 },
-- { transparent = config.transparent.enabled }
-- )
nvim_set_hl(
'CursorLineNr',
{ fg = colors.base01, bg = colors.base2 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl('CursorLineFold', { link = 'FoldColumn' })
nvim_set_hl('CursorLineSign', { link = 'SignColumn' })
nvim_set_hl('MatchParen', { fg = colors.cyan })
@ -145,8 +103,8 @@ M.set_highlight = function(colors, config)
nvim_set_hl('NormalFloat', { fg = colors.base00, bg = colors.base4 }, {
transparent = config.transparent.normalfloat and config.transparent.enabled,
})
-- nvim_set_hl('FloatBorder', { link = 'WinSeparator' })
-- nvim_set_hl('FloatTitle', { fg = colors.blue })
nvim_set_hl('FloatBorder', { link = 'WinSeparator' })
nvim_set_hl('FloatTitle', { fg = colors.blue })
nvim_set_hl('NormalNC', { link = 'Normal' })
nvim_set_hl('Pmenu', { fg = colors.base00, bg = colors.base4 }, {
transparent = config.transparent.pmenu and config.transparent.enabled,
@ -180,19 +138,59 @@ M.set_highlight = function(colors, config)
nvim_set_hl('WinBar', { link = 'Pmenu' })
nvim_set_hl('WinBarNC', { link = 'WinBar' })
-- SYNTAX :h group-name
nvim_set_hl('Comment', { fg = colors.base1 }, { styles = config.styles.comments })
nvim_set_hl('Constant', { fg = colors.magenta }, { styles = config.styles.constants })
nvim_set_hl('String', { fg = colors.cyan }, { styles = config.styles.strings })
nvim_set_hl('Character', { link = 'String' })
nvim_set_hl('Number', { link = 'Constant' })
nvim_set_hl('Boolean', { link = 'Constant' })
nvim_set_hl('Float', { link = 'Constant' })
nvim_set_hl('Identifier', { fg = colors.blue })
nvim_set_hl('Function', { fg = colors.blue }, { styles = config.styles.functions })
nvim_set_hl('Statement', { fg = colors.green }, { styles = config.styles.statements })
nvim_set_hl('Conditional', { link = 'Statement' })
nvim_set_hl('Repeat', { link = 'Statement' })
nvim_set_hl('Label', { link = 'Statement' })
nvim_set_hl('Operator', { link = 'Statement' })
nvim_set_hl('Keyword', { fg = colors.green }, { styles = config.styles.keywords })
nvim_set_hl('Exception', { link = 'Statement' })
nvim_set_hl('PreProc', { link = 'Statement' })
nvim_set_hl('Include', { link = 'Statement' })
nvim_set_hl('Define', { link = 'Statement' })
nvim_set_hl('Macro', { link = 'Statement' })
nvim_set_hl('PreCondit', { link = 'Statement' })
nvim_set_hl('Type', { fg = colors.orange }, { styles = config.styles.types })
nvim_set_hl('StorageClass', { link = 'Statement' })
nvim_set_hl('Structure', { link = 'Type' })
nvim_set_hl('Typedef', { link = 'Statement' })
nvim_set_hl('Special', { fg = colors.magenta })
nvim_set_hl('SpecialChar', { fg = colors.magenta })
nvim_set_hl('Tag', { fg = colors.red })
nvim_set_hl('Delimiter', { fg = colors.base01 })
nvim_set_hl('SpecialComment', { link = 'Statement' })
nvim_set_hl('Debug', { fg = colors.magenta })
nvim_set_hl('Underlined', { fg = colors.violet, underline = true })
nvim_set_hl('Ignore', {})
nvim_set_hl('Error', { fg = colors.diag_error, bold = true })
nvim_set_hl('Todo', { fg = colors.blue })
nvim_set_hl('Added', { fg = colors.git_add })
nvim_set_hl('Changed', { fg = colors.git_modify })
nvim_set_hl('Removed', { fg = colors.git_delete })
-- PLUGINS
if config.plugins.treesitter then
nvim_set_hl('@variable', { link = 'Identifier' })
nvim_set_hl('@variable.builtin', { link = 'Constant' })
nvim_set_hl('@variable.parameter', { link = 'Parameter' })
nvim_set_hl('@variable.member', { link = 'Property' })
nvim_set_hl('@property', { link = 'Property' })
nvim_set_hl('@property.json', { link = 'Keyword' })
nvim_set_hl('@property.yaml', { link = 'Keyword' })
nvim_set_hl(
'@variable.parameter',
{ fg = colors.blue, italic = true },
{ styles = config.styles.parameters }
)
nvim_set_hl('@variable.member', { link = 'Identifier' })
nvim_set_hl('@constant', { link = 'Constant' })
nvim_set_hl('@constant.builtin', { link = 'Constant' })
nvim_set_hl('@constant.macro', { link = 'Constant' })
nvim_set_hl('@constant.html', { link = 'Tag' })
nvim_set_hl('@module', { link = 'Type' })
nvim_set_hl('@module.builtin', { link = 'Constant' })
nvim_set_hl('@label', { link = 'Statement' })
@ -211,20 +209,22 @@ M.set_highlight = function(colors, config)
nvim_set_hl('@type.definition', { link = 'Type' })
nvim_set_hl('@type.qualifier', { link = 'Type' })
nvim_set_hl('@attribute', { link = 'Keyword' })
nvim_set_hl('@property.json', { fg = colors.green })
nvim_set_hl('@property.yaml', { fg = colors.green })
nvim_set_hl('@function', { link = 'Function' })
nvim_set_hl('@function.builtin', { link = 'Function' })
nvim_set_hl('@function.builtin', { fg = colors.yellow })
nvim_set_hl('@function.call', { link = 'Function' })
nvim_set_hl('@function.macro', { link = 'Function' })
nvim_set_hl('@function.method', { link = 'Function' })
nvim_set_hl('@function.method.call', { link = 'Function' })
nvim_set_hl('@constructor', { link = 'Type' })
nvim_set_hl('@constructor.lua', { link = 'Delimiter' })
nvim_set_hl('@operator', { link = 'Operator' })
nvim_set_hl('@operator', { link = 'Statement' })
nvim_set_hl('@keyword', { link = 'Keyword' })
nvim_set_hl('@keyword.coroutine', { link = 'Statement' })
nvim_set_hl('@keyword.function', { link = 'Keyword' })
nvim_set_hl('@keyword.operator', { link = 'Statement' })
nvim_set_hl('@keyword.import', { link = 'Include' })
nvim_set_hl('@keyword.import', { link = 'Keyword' })
nvim_set_hl('@keyword.repeat', { link = 'Statement' })
nvim_set_hl('@keyword.return', { link = 'Statement' })
nvim_set_hl('@keyword.debug', { link = 'Statement' })
@ -243,7 +243,7 @@ M.set_highlight = function(colors, config)
nvim_set_hl('@comment.todo', { link = 'Todo' })
nvim_set_hl('@comment.note', { fg = colors.diag_hint })
nvim_set_hl('@markup.strong', { fg = colors.magenta, bold = true })
nvim_set_hl('@markup.italic', { fg = colors.magenta, italic = true })
nvim_set_hl('@markup.italic', { link = 'Underlined' })
nvim_set_hl('@markup.strikethrough', { fg = colors.base1, strikethrough = true })
nvim_set_hl('@markup.underline', { link = 'Underlined' })
nvim_set_hl('@markup.heading', { fg = colors.red, bold = true })
@ -267,12 +267,11 @@ M.set_highlight = function(colors, config)
nvim_set_hl('@diff.plus', { fg = colors.git_add })
nvim_set_hl('@diff.minus', { fg = colors.git_delete })
nvim_set_hl('@diff.delta', { fg = colors.git_modify })
nvim_set_hl('@tag', { link = 'Tag' })
nvim_set_hl('@tag.attribute', { link = 'TagAttribute' })
nvim_set_hl('@tag.delimiter', { link = 'Delimiter' })
nvim_set_hl('@tag', { fg = colors.red })
nvim_set_hl('@tag.attribute', { fg = colors.blue })
nvim_set_hl('@tag.delimiter', { fg = colors.red })
end
local signcolumn = require('solarized.utils').nvim_get_hl 'SignColumn'
if config.plugins.lspconfig then
nvim_set_hl('@lsp.type.class', { link = 'Type' })
nvim_set_hl('@lsp.type.decorator', { link = 'Function' })
@ -281,8 +280,8 @@ M.set_highlight = function(colors, config)
nvim_set_hl('@lsp.type.interface', { link = 'Type' })
nvim_set_hl('@lsp.type.macro', { link = '@function.builtin' })
nvim_set_hl('@lsp.type.namespace', { link = 'Type' })
nvim_set_hl('@lsp.type.parameter', { link = 'Parameter' })
nvim_set_hl('@lsp.type.property', { link = 'Property' })
nvim_set_hl('@lsp.type.parameter', { link = '@parameter' })
nvim_set_hl('@lsp.type.property', { link = 'Identifier' })
nvim_set_hl('@lsp.type.struct', { link = 'Type' })
nvim_set_hl('@lsp.type.type', { link = 'Type' })
nvim_set_hl('@lsp.type.typeParameter', { link = 'Type' })
@ -293,81 +292,61 @@ M.set_highlight = function(colors, config)
nvim_set_hl('@lsp.typemod.keyword.documentation', { link = 'Statement' })
nvim_set_hl('@lsp.typemod.class.documentation', { link = 'Type' })
nvim_set_hl('@lsp.typemod.property.readonly', { link = 'Constant' })
nvim_set_hl('DiagnosticError', { fg = colors.diag_error })
nvim_set_hl('DiagnosticWarn', { fg = colors.diag_warning })
nvim_set_hl('DiagnosticInfo', { fg = colors.diag_info })
nvim_set_hl('DiagnosticHint', { fg = colors.diag_hint })
nvim_set_hl('DiagnosticOk', { fg = colors.diag_ok })
nvim_set_hl(
'DiagnosticError',
{ fg = colors.diag_error, bg = colors.mix_red },
{ transparent = config.transparent.enabled }
)
nvim_set_hl(
'DiagnosticWarn',
{ fg = colors.diag_warning, bg = colors.mix_yellow },
{ transparent = config.transparent.enabled }
)
nvim_set_hl(
'DiagnosticInfo',
{ fg = colors.diag_info, bg = colors.mix_blue },
{ transparent = config.transparent.enabled }
)
nvim_set_hl(
'DiagnosticHint',
{ fg = colors.diag_hint, bg = colors.mix_blue },
{ transparent = config.transparent.enabled }
)
nvim_set_hl(
'DiagnosticOk',
{ fg = colors.diag_ok, bg = colors.mix_green },
{ transparent = config.transparent.enabled }
)
nvim_set_hl(
'DiagnosticVirtualTextError',
{ fg = colors.diag_error },
{ error_lens = config.error_lens.text }
{ fg = colors.diag_error, bg = colors.mix_red },
{ transparent = config.transparent.enabled }
)
nvim_set_hl(
'DiagnosticVirtualTextWarn',
{ fg = colors.diag_warning },
{ error_lens = config.error_lens.text }
{ fg = colors.diag_warning, bg = colors.mix_yellow },
{ transparent = config.transparent.enabled }
)
nvim_set_hl(
'DiagnosticVirtualTextInfo',
{ fg = colors.diag_hint },
{ error_lens = config.error_lens.text }
{ fg = colors.diag_hint, bg = colors.mix_blue },
{ transparent = config.transparent.enabled }
)
nvim_set_hl(
'DiagnosticVirtualTextHint',
{ fg = colors.diag_info },
{ error_lens = config.error_lens.text }
{ fg = colors.diag_info, bg = colors.mix_blue },
{ transparent = config.transparent.enabled }
)
nvim_set_hl(
'DiagnosticVirtualTextOk',
{ fg = colors.diag_ok },
{ error_lens = config.error_lens.text }
)
nvim_set_hl(
'DiagnosticUnderlineError',
{ fg = colors.diag_error, underline = true, sp = colors.diag_error }
)
nvim_set_hl(
'DiagnosticUnderlineWarn',
{ fg = colors.diag_warning, underline = true, sp = colors.diag_warning }
)
nvim_set_hl(
'DiagnosticUnderlineInfo',
{ fg = colors.diag_info, underline = true, sp = colors.diag_info }
)
nvim_set_hl(
'DiagnosticUnderlineHint',
{ fg = colors.diag_hint, underline = true, sp = colors.diag_hint }
)
nvim_set_hl(
'DiagnosticUnderlineOk',
{ fg = colors.diag_ok, underline = true, sp = colors.diag_ok }
)
nvim_set_hl(
'DiagnosticSignError',
{ fg = colors.diag_error, bg = signcolumn.bg },
{ transparent = config.transparent.enabled, error_lens = config.error_lens.symbol }
) -- Used for "Error" signs in sign column.
nvim_set_hl(
'DiagnosticSignWarn',
{ fg = colors.diag_warning, bg = signcolumn.bg },
{ transparent = config.transparent.enabled, error_lens = config.error_lens.symbol }
) -- Used for "Warn" signs in sign column.
nvim_set_hl(
'DiagnosticSignInfo',
{ fg = colors.diag_info, bg = signcolumn.bg },
{ transparent = config.transparent.enabled, error_lens = config.error_lens.symbol }
) -- Used for "Info" signs in sign column.
nvim_set_hl(
'DiagnosticSignHint',
{ fg = colors.diag_hint, bg = signcolumn.bg },
{ transparent = config.transparent.enabled, error_lens = config.error_lens.symbol }
) -- Used for "Hint" signs in sign column.
nvim_set_hl(
'DiagnosticSignOk',
{ fg = colors.diag_ok, bg = signcolumn.bg },
{ fg = colors.diag_ok, bg = colors.mix_green },
{ transparent = config.transparent.enabled }
)
nvim_set_hl('DiagnosticUnderlineError', { fg = colors.diag_error, underline = true })
nvim_set_hl('DiagnosticUnderlineWarn', { fg = colors.diag_warning, underline = true })
nvim_set_hl('DiagnosticUnderlineInfo', { fg = colors.diag_info, underline = true })
nvim_set_hl('DiagnosticUnderlineHint', { fg = colors.diag_hint, underline = true })
nvim_set_hl('DiagnosticUnderlineOk', { fg = colors.diag_ok, underline = true })
nvim_set_hl('LspReferenceText', { fg = colors.cyan, bg = colors.mix_cyan })
nvim_set_hl('LspReferenceRead', { link = 'Visual' })
nvim_set_hl('LspReferenceWrite', { link = 'Visual' })
@ -433,11 +412,6 @@ M.set_highlight = function(colors, config)
nvim_set_hl('IblScope', { fg = colors.base1 })
end
if config.plugins.indentmini then
nvim_set_hl('IndentLine', { fg = colors.mix_base01 })
nvim_set_hl('IndentLineCurrent', { fg = colors.base1 })
end
if config.plugins.neotree then
nvim_set_hl('NeoTreeTitleBar', { fg = colors.blue, reverse = true })
nvim_set_hl(
@ -496,10 +470,10 @@ M.set_highlight = function(colors, config)
{ fg = colors.base01, bg = colors.base4 },
{ transparent = config.transparent.whichkey and config.transparent.enabled }
)
nvim_set_hl('WhichKey', { link = 'Property' })
nvim_set_hl('WhichKeyDesc', { link = 'String' })
nvim_set_hl('WhichKey', { link = 'Function' })
nvim_set_hl('WhichKeyDesc', { fg = colors.base01 })
nvim_set_hl('WhichKeySeparator', { link = 'Keyword' })
nvim_set_hl('WhichKeyGroup', { link = 'Constant' })
nvim_set_hl('WhichKeyGroup', { link = 'Type' })
end
if config.plugins.dashboard then
@ -514,15 +488,19 @@ M.set_highlight = function(colors, config)
if config.plugins.gitsigns then
nvim_set_hl(
'GitSignsAdd',
{ fg = colors.git_add, bg = signcolumn.bg },
{ fg = colors.git_add, bg = colors.base2 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl(
'GitSignsChange',
{ fg = colors.git_modify, bg = colors.base2 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl(
'GitSignsDelete',
{ fg = colors.git_delete, bg = colors.base2 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl('GitSignsChange', { fg = colors.git_modify, bg = signcolumn.bg }, {
transparent = config.transparent.enabled,
})
nvim_set_hl('GitSignsDelete', { fg = colors.git_delete, bg = signcolumn.bg }, {
transparent = config.transparent.enabled,
})
end
if config.plugins.telescope then
@ -537,11 +515,11 @@ M.set_highlight = function(colors, config)
nvim_set_hl('TelescopePreviewNormal', { link = 'TelescopeNormal' })
nvim_set_hl('TelescopePromptNormal', { link = 'TelescopeNormal' })
nvim_set_hl('TelescopeResultsNormal', { link = 'TelescopeNormal' })
nvim_set_hl('TelescopeBorder', { link = 'FloatBorder' })
nvim_set_hl('TelescopeBorder', { link = 'WinSeparator' })
nvim_set_hl('TelescopePromptBorder', { link = 'TelescopeBorder' })
nvim_set_hl('TelescopeResultsBorder', { link = 'TelescopeBorder' })
nvim_set_hl('TelescopePreviewBorder', { link = 'TelescopeBorder' })
nvim_set_hl('TelescopeTitle', { link = 'FloatTitle' })
nvim_set_hl('TelescopeTitle', { fg = colors.mix_blue, bg = colors.blue })
nvim_set_hl('TelescopePromptTitle', { link = 'TelescopeTitle' })
nvim_set_hl('TelescopeResultsTitle', { link = 'TelescopeTitle' })
nvim_set_hl('TelescopePreviewTitle', { link = 'TelescopeTitle' })
@ -640,7 +618,8 @@ M.set_highlight = function(colors, config)
nvim_set_hl('RainbowDelimiterCyan', { fg = colors.cyan })
end
if config.plugins.bufferline and config.transparent.enabled then
if config.plugins.bufferline and config.transparent then
local color = require 'solarized.color'
local background = color.shade(colors.base2, 2)
nvim_set_hl('BufferLineFill', { bg = background })
nvim_set_hl('BufferLineBufferSelected', { fg = colors.base01, bold = true })
@ -736,46 +715,14 @@ M.set_highlight = function(colors, config)
end
if config.plugins.coc then
nvim_set_hl(
'CocErrorSign',
{ fg = colors.diag_error, bg = signcolumn.bg },
{ error_lens = config.error_lens.symbol }
)
nvim_set_hl(
'CocWarningSign',
{ fg = colors.diag_warning, bg = signcolumn.bg },
{ error_lens = config.error_lens.symbol }
)
nvim_set_hl(
'CocInfoSign',
{ fg = colors.diag_info, bg = signcolumn.bg },
{ error_lens = config.error_lens.symbol }
)
nvim_set_hl(
'CocHintSign',
{ fg = colors.diag_hint, bg = signcolumn.bg },
{ error_lens = config.error_lens.symbol }
)
nvim_set_hl(
'CocErrorVirtualText',
{ fg = colors.diag_error },
{ error_lens = config.error_lens.text }
)
nvim_set_hl(
'CocWarningVirtualText',
{ fg = colors.diag_warning },
{ error_lens = config.error_lens.text }
)
nvim_set_hl(
'CocInfoVirtualText',
{ fg = colors.diag_info },
{ error_lens = config.error_lens.text }
)
nvim_set_hl(
'CocHintVirtualText',
{ fg = colors.diag_hint },
{ error_lens = config.error_lens.text }
)
nvim_set_hl('CocErrorSign', { fg = colors.diag_error })
nvim_set_hl('CocWarningSign', { fg = colors.diag_warning })
nvim_set_hl('CocInfoSign', { fg = colors.diag_info })
nvim_set_hl('CocHintSign', { fg = colors.diag_hint })
nvim_set_hl('CocErrorVirtualText', { fg = colors.diag_error, bg = colors.mix_red })
nvim_set_hl('CocWarningVirtualText', { fg = colors.diag_warning, bg = colors.mix_yellow })
nvim_set_hl('CocInfoVirtualText', { fg = colors.diag_info, bg = colors.mix_blue })
nvim_set_hl('CocHintVirtualText', { fg = colors.diag_hint, bg = colors.mix_blue })
end
if config.plugins.leap then
@ -785,7 +732,6 @@ M.set_highlight = function(colors, config)
end
if config.plugins.mason then
nvim_set_hl('MasonHeader', { link = 'FloatTitle' })
nvim_set_hl(
'MasonNormal',
{ fg = colors.base00, bg = colors.base4 },
@ -796,13 +742,8 @@ M.set_highlight = function(colors, config)
nvim_set_hl('MasonHighlightBlockBold', { fg = colors.mix_blue, bg = colors.blue, bold = true })
end
if config.plugins.flash then
nvim_set_hl('FlashMatch', { fg = colors.base01 })
nvim_set_hl('FlashLabel', { fg = colors.yellow })
nvim_set_hl('FlashCurrent', { fg = colors.magenta })
end
if config.on_highlights then
local color = require 'solarized.color'
local highlights = config.on_highlights(colors, color)
for group_name, group_val in pairs(highlights) do

View file

@ -9,20 +9,7 @@ local M = {}
M.config = require 'solarized.config'
M.setup = function(config)
M.config = vim.tbl_deep_extend('force', M.config, config or {})
if M.config.styles.enabled == false then
M.config.styles = {
types = { italic = false, bold = false },
functions = { italic = false, bold = false },
parameters = { italic = false, bold = false },
comments = { italic = false, bold = false },
strings = { italic = false, bold = false },
keywords = { italic = false, bold = false },
variables = { italic = false, bold = false },
constants = { italic = false, bold = false },
}
end
M.config = vim.tbl_deep_extend('force', M.config, config)
end
M.load = function()

View file

@ -53,8 +53,8 @@ M.solarized = {
blue = '#268BD2',
cyan = '#2AA198',
diag_error = '#DC322F',
diag_hint = '#268BD2',
diag_info = '#268BD2',
diag_hint = '#93A1A1',
diag_info = '#93A1A1',
diag_ok = '#859900',
diag_warning = '#B58900',
git_add = '#268BD2',

View file

@ -1,300 +0,0 @@
local M = {}
---@class solarized_variants.opts
---@field colors solarized.palette
---@field color solarized.color
---@field config solarized.config
---@field nvim_set_hl fun(group_name: string, group_val: vim.api.keyset.highlight, config?: solarized.nvim_set_hl.config)
---@param opts solarized_variants.opts
M.set_variant = function(opts)
local colors, _, config, nvim_set_hl = opts.colors, opts.color, opts.config, opts.nvim_set_hl
if config.variant == 'winter' then
nvim_set_hl(
'WinSeparator',
{ fg = colors.base01, bg = colors.base04 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl('FloatBorder', { fg = colors.base01, bg = colors.base04 }, {
transparent = config.transparent.enabled,
})
nvim_set_hl('FloatTitle', { fg = colors.mix_blue, bg = colors.blue })
nvim_set_hl(
'SignColumn',
{ fg = colors.base1, bg = colors.base02 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl(
'LineNr',
{ fg = colors.base01, bg = colors.base02 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl(
'CursorLineNr',
{ fg = colors.cyan, bg = colors.mix_cyan, bold = true },
{ transparent = config.transparent.enabled }
)
-- SYNTAX :h group-name
-- Property, Parameter, TagAttribute, TagDelimiter <-- custom
nvim_set_hl('Comment', { fg = colors.base01 }, { styles = config.styles.comments })
nvim_set_hl('Constant', { fg = colors.violet }, { styles = config.styles.constants })
nvim_set_hl('String', { fg = colors.cyan }, { styles = config.styles.strings })
nvim_set_hl('Character', { link = 'String' })
nvim_set_hl('Number', { link = 'Constant' })
nvim_set_hl('Boolean', { link = 'Constant' })
nvim_set_hl('Float', { link = 'Constant' })
nvim_set_hl('Identifier', { fg = colors.blue }, { styles = config.styles.variables })
nvim_set_hl('Property', { fg = colors.blue }, { styles = config.styles.variables })
nvim_set_hl(
'Parameter',
{ fg = colors.blue, italic = true },
{ styles = config.styles.variables }
)
nvim_set_hl('Function', { fg = colors.blue }, { styles = config.styles.functions })
nvim_set_hl('Statement', { fg = colors.green }, { styles = config.styles.statements })
nvim_set_hl('Conditional', { link = 'Statement' })
nvim_set_hl('Repeat', { link = 'Statement' })
nvim_set_hl('Label', { link = 'Statement' })
nvim_set_hl('Operator', { link = 'Statement' })
nvim_set_hl('Keyword', { fg = colors.base1, bold = true }, { styles = config.styles.keywords })
nvim_set_hl('Exception', { link = 'Statement' })
nvim_set_hl('Include', { link = 'Keyword' })
nvim_set_hl('Define', { link = 'Include' })
nvim_set_hl('Macro', { link = 'Include' })
nvim_set_hl('PreProc', { link = 'Include' })
nvim_set_hl('PreCondit', { link = 'Statement' })
nvim_set_hl('Type', { fg = colors.orange }, { styles = config.styles.types })
nvim_set_hl('StorageClass', { link = 'Statement' })
nvim_set_hl('Structure', { link = 'Type' })
nvim_set_hl('Typedef', { link = 'Statement' })
nvim_set_hl('Special', { fg = colors.violet })
nvim_set_hl('SpecialChar', { fg = colors.violet })
nvim_set_hl('Tag', { fg = colors.blue })
nvim_set_hl('TagAttribute', { fg = colors.base1 })
nvim_set_hl('TagDelimiter', { fg = colors.base01 })
nvim_set_hl('Delimiter', { fg = colors.base0 })
nvim_set_hl('SpecialComment', { link = 'Statement' })
nvim_set_hl('Debug', { fg = colors.magenta })
nvim_set_hl('Underlined', { fg = colors.magenta, underline = true })
nvim_set_hl('Ignore', {})
nvim_set_hl('Error', { fg = colors.diag_error, bold = true })
nvim_set_hl('Todo', { fg = colors.blue })
nvim_set_hl('Added', { fg = colors.git_add })
nvim_set_hl('Changed', { fg = colors.git_modify })
nvim_set_hl('Removed', { fg = colors.git_delete })
elseif config.variant == 'summer' then
nvim_set_hl(
'WinSeparator',
{ fg = colors.cyan, bg = colors.base04 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl('FloatBorder', { fg = colors.cyan, bg = colors.base04 }, {
transparent = config.transparent.enabled,
})
nvim_set_hl('FloatTitle', { fg = colors.mix_blue, bg = colors.blue })
nvim_set_hl('SignColumn', { link = 'Normal' })
nvim_set_hl(
'LineNr',
{ fg = colors.base01, bg = colors.base03 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl(
'CursorLineNr',
{ fg = colors.yellow, bg = colors.mix_yellow, bold = true },
{ transparent = config.transparent.enabled }
)
-- SYNTAX :h group-name
-- Property, Parameter, TagAttribute, TagDelimiter <-- custom
nvim_set_hl('Comment', { fg = colors.base01 }, { styles = config.styles.comments })
nvim_set_hl('Constant', { fg = colors.violet }, { styles = config.styles.constants })
nvim_set_hl('String', { fg = colors.cyan }, { styles = config.styles.strings })
nvim_set_hl('Character', { link = 'String' })
nvim_set_hl('Number', { fg = colors.magenta })
nvim_set_hl('Boolean', { link = 'Constant' })
nvim_set_hl('Float', { link = 'Number' })
nvim_set_hl('Identifier', { fg = colors.blue }, { styles = config.styles.variables })
nvim_set_hl('Property', { fg = colors.blue }, { styles = config.styles.variables })
nvim_set_hl(
'Parameter',
{ fg = colors.blue, italic = true },
{ styles = config.styles.variables }
)
nvim_set_hl('Function', { fg = colors.yellow }, { styles = config.styles.functions })
nvim_set_hl('Statement', { fg = colors.green }, { styles = config.styles.statements })
nvim_set_hl('Conditional', { link = 'Statement' })
nvim_set_hl('Repeat', { link = 'Statement' })
nvim_set_hl('Label', { link = 'Statement' })
nvim_set_hl('Operator', { link = 'Statement' })
nvim_set_hl('Keyword', { fg = colors.green }, { styles = config.styles.keywords })
nvim_set_hl('Exception', { link = 'Statement' })
nvim_set_hl('Include', { fg = colors.orange })
nvim_set_hl('Define', { link = 'Include' })
nvim_set_hl('Macro', { link = 'Include' })
nvim_set_hl('PreProc', { link = 'Include' })
nvim_set_hl('PreCondit', { link = 'Statement' })
nvim_set_hl('Type', { fg = colors.red }, { styles = config.styles.types })
nvim_set_hl('StorageClass', { link = 'Statement' })
nvim_set_hl('Structure', { link = 'Type' })
nvim_set_hl('Typedef', { link = 'Statement' })
nvim_set_hl('Special', { fg = colors.violet })
nvim_set_hl('SpecialChar', { fg = colors.violet })
nvim_set_hl('Tag', { fg = colors.red })
nvim_set_hl('TagAttribute', { fg = colors.blue })
nvim_set_hl('TagDelimiter', { link = 'Delimiter' })
nvim_set_hl('Delimiter', { fg = colors.red })
nvim_set_hl('SpecialComment', { link = 'Statement' })
nvim_set_hl('Debug', { fg = colors.magenta })
nvim_set_hl('Underlined', { fg = colors.magenta, underline = true })
nvim_set_hl('Ignore', {})
nvim_set_hl('Error', { fg = colors.diag_error, bold = true })
nvim_set_hl('Todo', { fg = colors.blue })
nvim_set_hl('Added', { fg = colors.git_add })
nvim_set_hl('Changed', { fg = colors.git_modify })
nvim_set_hl('Removed', { fg = colors.git_delete })
elseif config.variant == 'autumn' then
nvim_set_hl(
'WinSeparator',
{ fg = colors.cyan, bg = colors.base04 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl('FloatBorder', { fg = colors.cyan, bg = colors.base04 }, {
transparent = config.transparent.enabled,
})
nvim_set_hl('FloatTitle', { fg = colors.mix_blue, bg = colors.blue })
nvim_set_hl('SignColumn', { link = 'Normal' })
nvim_set_hl(
'LineNr',
{ fg = colors.base01, bg = colors.base03 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl(
'CursorLineNr',
{ fg = colors.orange, bg = colors.mix_orange, bold = true },
{ transparent = config.transparent.enabled }
)
-- SYNTAX :h group-name
-- Property, Parameter, TagAttribute, TagDelimiter <-- custom
nvim_set_hl('Comment', { fg = colors.base01 }, { styles = config.styles.comments })
nvim_set_hl('Constant', { fg = colors.violet }, { styles = config.styles.constants })
nvim_set_hl('String', { fg = colors.cyan }, { styles = config.styles.strings })
nvim_set_hl('Character', { link = 'String' })
nvim_set_hl('Number', { fg = colors.magenta })
nvim_set_hl('Boolean', { link = 'Constant' })
nvim_set_hl('Float', { link = 'Number' })
nvim_set_hl('Identifier', { fg = colors.base0 }, { styles = config.styles.variables })
nvim_set_hl('Property', { fg = colors.blue }, { styles = config.styles.variables })
nvim_set_hl(
'Parameter',
{ fg = colors.blue, italic = true },
{ styles = config.styles.variables }
)
nvim_set_hl('Function', { fg = colors.blue }, { styles = config.styles.functions })
nvim_set_hl('Statement', { fg = colors.green }, { styles = config.styles.statements })
nvim_set_hl('Conditional', { link = 'Statement' })
nvim_set_hl('Repeat', { link = 'Statement' })
nvim_set_hl('Label', { link = 'Statement' })
nvim_set_hl('Operator', { link = 'Statement' })
nvim_set_hl('Keyword', { fg = colors.green }, { styles = config.styles.keywords })
nvim_set_hl('Exception', { link = 'Statement' })
nvim_set_hl('Include', { fg = colors.orange })
nvim_set_hl('Define', { link = 'Include' })
nvim_set_hl('Macro', { link = 'Include' })
nvim_set_hl('PreProc', { link = 'Include' })
nvim_set_hl('PreCondit', { link = 'Statement' })
nvim_set_hl('Type', { fg = colors.yellow }, { styles = config.styles.types })
nvim_set_hl('StorageClass', { link = 'Statement' })
nvim_set_hl('Structure', { link = 'Type' })
nvim_set_hl('Typedef', { link = 'Statement' })
nvim_set_hl('Special', { fg = colors.violet })
nvim_set_hl('SpecialChar', { fg = colors.violet })
nvim_set_hl('Tag', { fg = colors.green })
nvim_set_hl('TagAttribute', { fg = colors.blue })
nvim_set_hl('TagDelimiter', { link = 'Delimiter' })
nvim_set_hl('Delimiter', { fg = colors.orange })
nvim_set_hl('SpecialComment', { link = 'Statement' })
nvim_set_hl('Debug', { fg = colors.magenta })
nvim_set_hl('Underlined', { fg = colors.magenta, underline = true })
nvim_set_hl('Ignore', {})
nvim_set_hl('Error', { fg = colors.diag_error, bold = true })
nvim_set_hl('Todo', { fg = colors.blue })
nvim_set_hl('Added', { fg = colors.git_add })
nvim_set_hl('Changed', { fg = colors.git_modify })
nvim_set_hl('Removed', { fg = colors.git_delete })
elseif config.variant == 'spring' then
nvim_set_hl(
'WinSeparator',
{ fg = colors.cyan, bg = colors.base04 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl('FloatBorder', { fg = colors.cyan, bg = colors.base04 }, {
transparent = config.transparent.enabled,
})
nvim_set_hl('FloatTitle', { fg = colors.mix_blue, bg = colors.blue })
nvim_set_hl('SignColumn', { link = 'Normal' })
nvim_set_hl(
'LineNr',
{ fg = colors.base01, bg = colors.base03 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl(
'CursorLineNr',
{ fg = colors.magenta, bg = colors.mix_magenta, bold = true },
{ transparent = config.transparent.enabled }
)
-- SYNTAX :h group-name
-- Property, Parameter, TagAttribute, TagDelimiter <-- custom
nvim_set_hl('Comment', { fg = colors.base01 }, { styles = config.styles.comments })
nvim_set_hl('Constant', { fg = colors.violet }, { styles = config.styles.constants })
nvim_set_hl('String', { fg = colors.cyan }, { styles = config.styles.strings })
nvim_set_hl('Character', { link = 'String' })
nvim_set_hl('Number', { link = 'Constant' })
nvim_set_hl('Boolean', { link = 'Constant' })
nvim_set_hl('Float', { link = 'Constant' })
nvim_set_hl('Identifier', { fg = colors.blue }, { styles = config.styles.variables })
nvim_set_hl('Property', { fg = colors.blue }, { styles = config.styles.variables })
nvim_set_hl(
'Parameter',
{ fg = colors.blue, italic = true },
{ styles = config.styles.variables }
)
nvim_set_hl('Function', { fg = colors.blue }, { styles = config.styles.functions })
nvim_set_hl('Statement', { fg = colors.magenta }, { styles = config.styles.statements })
nvim_set_hl('Conditional', { link = 'Statement' })
nvim_set_hl('Repeat', { link = 'Statement' })
nvim_set_hl('Label', { link = 'Statement' })
nvim_set_hl('Operator', { link = 'Statement' })
nvim_set_hl('Keyword', { fg = colors.green }, { styles = config.styles.keywords })
nvim_set_hl('Exception', { link = 'Statement' })
nvim_set_hl('Include', { link = 'Keyword' })
nvim_set_hl('Define', { link = 'Include' })
nvim_set_hl('Macro', { link = 'Include' })
nvim_set_hl('PreProc', { link = 'Include' })
nvim_set_hl('PreCondit', { link = 'Statement' })
nvim_set_hl('Type', { fg = colors.yellow }, { styles = config.styles.types })
nvim_set_hl('StorageClass', { link = 'Statement' })
nvim_set_hl('Structure', { link = 'Type' })
nvim_set_hl('Typedef', { link = 'Statement' })
nvim_set_hl('Special', { fg = colors.violet })
nvim_set_hl('SpecialChar', { fg = colors.violet })
nvim_set_hl('Tag', { fg = colors.magenta })
nvim_set_hl('TagAttribute', { fg = colors.blue })
nvim_set_hl('TagDelimiter', { link = 'Delimiter' })
nvim_set_hl('Delimiter', { fg = colors.base01 })
nvim_set_hl('SpecialComment', { link = 'Statement' })
nvim_set_hl('Debug', { fg = colors.magenta })
nvim_set_hl('Underlined', { fg = colors.magenta, underline = true })
nvim_set_hl('Ignore', {})
nvim_set_hl('Error', { fg = colors.diag_error, bold = true })
nvim_set_hl('Todo', { fg = colors.blue })
nvim_set_hl('Added', { fg = colors.git_add })
nvim_set_hl('Changed', { fg = colors.git_modify })
nvim_set_hl('Removed', { fg = colors.git_delete })
end
end
return M

View file

@ -1,294 +0,0 @@
local M = {}
---@param opts solarized_variants.opts
M.set_variant = function(opts)
local colors, _, config, nvim_set_hl = opts.colors, opts.color, opts.config, opts.nvim_set_hl
if config.variant == 'winter' then
nvim_set_hl(
'WinSeparator',
{ fg = colors.cyan, bg = colors.base4 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl('FloatBorder', { fg = colors.cyan, bg = colors.base4 }, {
transparent = config.transparent.enabled,
})
nvim_set_hl('FloatTitle', { fg = colors.mix_blue, bg = colors.blue })
nvim_set_hl(
'SignColumn',
{ fg = colors.base01, bg = colors.base2 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl(
'LineNr',
{ fg = colors.base01, bg = colors.base2 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl(
'CursorLineNr',
{ fg = colors.cyan, bg = colors.mix_cyan, bold = true },
{ transparent = config.transparent.enabled }
)
-- SYNTAX :h group-name
-- Property, Parameter, TagAttribute, TagDelimiter <-- custom
nvim_set_hl('Comment', { fg = colors.base1 }, { styles = config.styles.comments })
nvim_set_hl('Constant', { fg = colors.magenta }, { styles = config.styles.constants })
nvim_set_hl('String', { fg = colors.cyan }, { styles = config.styles.strings })
nvim_set_hl('Character', { link = 'String' })
nvim_set_hl('Number', { link = 'Constant' })
nvim_set_hl('Boolean', { link = 'Constant' })
nvim_set_hl('Float', { link = 'Constant' })
nvim_set_hl('Identifier', { fg = colors.blue }, { styles = config.styles.variables })
nvim_set_hl('Property', { fg = colors.blue }, { styles = config.styles.variables })
nvim_set_hl(
'Parameter',
{ fg = colors.blue, italic = true },
{ styles = config.styles.variables }
)
nvim_set_hl('Function', { fg = colors.blue }, { styles = config.styles.functions })
nvim_set_hl('Statement', { fg = colors.green }, { styles = config.styles.statements })
nvim_set_hl('Conditional', { link = 'Statement' })
nvim_set_hl('Repeat', { link = 'Statement' })
nvim_set_hl('Label', { link = 'Statement' })
nvim_set_hl('Operator', { link = 'Statement' })
nvim_set_hl('Keyword', { fg = colors.base01, bold = true }, { styles = config.styles.keywords })
nvim_set_hl('Exception', { link = 'Statement' })
nvim_set_hl('Include', { fg = colors.orange })
nvim_set_hl('Define', { link = 'Include' })
nvim_set_hl('Macro', { link = 'Include' })
nvim_set_hl('PreProc', { link = 'Include' })
nvim_set_hl('PreCondit', { link = 'Statement' })
nvim_set_hl('Type', { fg = colors.yellow }, { styles = config.styles.types })
nvim_set_hl('StorageClass', { link = 'Statement' })
nvim_set_hl('Structure', { link = 'Type' })
nvim_set_hl('Typedef', { link = 'Statement' })
nvim_set_hl('Special', { fg = colors.violet })
nvim_set_hl('SpecialChar', { fg = colors.violet })
nvim_set_hl('Tag', { fg = colors.blue })
nvim_set_hl('TagAttribute', { fg = colors.violet })
nvim_set_hl('TagDelimiter', { fg = colors.base1 })
nvim_set_hl('Delimiter', { fg = colors.base00 })
nvim_set_hl('SpecialComment', { link = 'Statement' })
nvim_set_hl('Debug', { fg = colors.magenta })
nvim_set_hl('Underlined', { fg = colors.magenta, underline = true })
nvim_set_hl('Ignore', {})
nvim_set_hl('Error', { fg = colors.diag_error, bold = true })
nvim_set_hl('Todo', { fg = colors.blue })
nvim_set_hl('Added', { fg = colors.git_add })
nvim_set_hl('Changed', { fg = colors.git_modify })
nvim_set_hl('Removed', { fg = colors.git_delete })
elseif config.variant == 'summer' then
nvim_set_hl(
'WinSeparator',
{ fg = colors.blue, bg = colors.base4 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl('FloatBorder', { fg = colors.blue, bg = colors.base4 }, {
transparent = config.transparent.enabled,
})
nvim_set_hl('FloatTitle', { fg = colors.mix_cyan, bg = colors.cyan })
nvim_set_hl('SignColumn', { link = 'Normal' })
nvim_set_hl(
'LineNr',
{ fg = colors.base1, bg = colors.base3 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl(
'CursorLineNr',
{ fg = colors.yellow, bg = colors.mix_yellow, bold = true },
{ transparent = config.transparent.enabled }
)
-- SYNTAX :h group-name
-- Property, Parameter, TagAttribute, TagDelimiter <-- custom
nvim_set_hl('Comment', { fg = colors.base1 }, { styles = config.styles.comments })
nvim_set_hl('Constant', { fg = colors.magenta }, { styles = config.styles.constants })
nvim_set_hl('String', { fg = colors.cyan }, { styles = config.styles.strings })
nvim_set_hl('Character', { link = 'String' })
nvim_set_hl('Number', { link = 'Constant' })
nvim_set_hl('Boolean', { link = 'Constant' })
nvim_set_hl('Float', { link = 'Constant' })
nvim_set_hl('Identifier', { fg = colors.blue }, { styles = config.styles.variables })
nvim_set_hl('Property', { fg = colors.blue }, { styles = config.styles.variables })
nvim_set_hl(
'Parameter',
{ fg = colors.blue, italic = true },
{ styles = config.styles.variables }
)
nvim_set_hl('Function', { fg = colors.yellow }, { styles = config.styles.functions })
nvim_set_hl('Statement', { fg = colors.green }, { styles = config.styles.statements })
nvim_set_hl('Conditional', { link = 'Statement' })
nvim_set_hl('Repeat', { link = 'Statement' })
nvim_set_hl('Label', { link = 'Statement' })
nvim_set_hl('Operator', { link = 'Statement' })
nvim_set_hl('Keyword', { fg = colors.green }, { styles = config.styles.keywords })
nvim_set_hl('Exception', { link = 'Statement' })
nvim_set_hl('Include', { fg = colors.orange })
nvim_set_hl('Define', { link = 'Include' })
nvim_set_hl('Macro', { link = 'Include' })
nvim_set_hl('PreProc', { link = 'Include' })
nvim_set_hl('PreCondit', { link = 'Statement' })
nvim_set_hl('Type', { fg = colors.red }, { styles = config.styles.types })
nvim_set_hl('StorageClass', { link = 'Statement' })
nvim_set_hl('Structure', { link = 'Type' })
nvim_set_hl('Typedef', { link = 'Statement' })
nvim_set_hl('Special', { fg = colors.violet })
nvim_set_hl('SpecialChar', { fg = colors.violet })
nvim_set_hl('Tag', { fg = colors.red })
nvim_set_hl('TagAttribute', { fg = colors.blue })
nvim_set_hl('TagDelimiter', { link = 'Delimiter' })
nvim_set_hl('Delimiter', { fg = colors.red })
nvim_set_hl('SpecialComment', { link = 'Statement' })
nvim_set_hl('Debug', { fg = colors.magenta })
nvim_set_hl('Underlined', { fg = colors.magenta, underline = true })
nvim_set_hl('Ignore', {})
nvim_set_hl('Error', { fg = colors.diag_error, bold = true })
nvim_set_hl('Todo', { fg = colors.blue })
nvim_set_hl('Added', { fg = colors.git_add })
nvim_set_hl('Changed', { fg = colors.git_modify })
nvim_set_hl('Removed', { fg = colors.git_delete })
elseif config.variant == 'autumn' then
nvim_set_hl(
'WinSeparator',
{ fg = colors.blue, bg = colors.base4 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl('FloatBorder', { fg = colors.blue, bg = colors.base4 }, {
transparent = config.transparent.enabled,
})
nvim_set_hl('FloatTitle', { fg = colors.mix_cyan, bg = colors.cyan })
nvim_set_hl('SignColumn', { link = 'Normal' })
nvim_set_hl(
'LineNr',
{ fg = colors.base1, bg = colors.base3 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl(
'CursorLineNr',
{ fg = colors.orange, bg = colors.mix_orange, bold = true },
{ transparent = config.transparent.enabled }
)
-- SYNTAX :h group-name
-- Property, Parameter, TagAttribute, TagDelimiter <-- custom
nvim_set_hl('Comment', { fg = colors.base1 }, { styles = config.styles.comments })
nvim_set_hl('Constant', { fg = colors.magenta }, { styles = config.styles.constants })
nvim_set_hl('String', { fg = colors.cyan }, { styles = config.styles.strings })
nvim_set_hl('Character', { link = 'String' })
nvim_set_hl('Number', { link = 'Constant' })
nvim_set_hl('Boolean', { link = 'Constant' })
nvim_set_hl('Float', { link = 'Constant' })
nvim_set_hl('Identifier', { fg = colors.base00 }, { styles = config.styles.variables })
nvim_set_hl('Property', { fg = colors.blue }, { styles = config.styles.variables })
nvim_set_hl(
'Parameter',
{ fg = colors.blue, italic = true },
{ styles = config.styles.variables }
)
nvim_set_hl('Function', { fg = colors.blue }, { styles = config.styles.functions })
nvim_set_hl('Statement', { fg = colors.green }, { styles = config.styles.statements })
nvim_set_hl('Conditional', { link = 'Statement' })
nvim_set_hl('Repeat', { link = 'Statement' })
nvim_set_hl('Label', { link = 'Statement' })
nvim_set_hl('Operator', { link = 'Statement' })
nvim_set_hl('Keyword', { fg = colors.green }, { styles = config.styles.keywords })
nvim_set_hl('Exception', { link = 'Statement' })
nvim_set_hl('Include', { fg = colors.orange })
nvim_set_hl('Define', { link = 'Include' })
nvim_set_hl('Macro', { link = 'Include' })
nvim_set_hl('PreProc', { link = 'Include' })
nvim_set_hl('PreCondit', { link = 'Statement' })
nvim_set_hl('Type', { fg = colors.yellow }, { styles = config.styles.types })
nvim_set_hl('StorageClass', { link = 'Statement' })
nvim_set_hl('Structure', { link = 'Type' })
nvim_set_hl('Typedef', { link = 'Statement' })
nvim_set_hl('Special', { fg = colors.violet })
nvim_set_hl('SpecialChar', { fg = colors.violet })
nvim_set_hl('Tag', { fg = colors.green })
nvim_set_hl('TagAttribute', { fg = colors.blue })
nvim_set_hl('TagDelimiter', { link = 'Delimiter' })
nvim_set_hl('Delimiter', { fg = colors.orange })
nvim_set_hl('SpecialComment', { link = 'Statement' })
nvim_set_hl('Debug', { fg = colors.magenta })
nvim_set_hl('Underlined', { fg = colors.magenta, underline = true })
nvim_set_hl('Ignore', {})
nvim_set_hl('Error', { fg = colors.diag_error, bold = true })
nvim_set_hl('Todo', { fg = colors.blue })
nvim_set_hl('Added', { fg = colors.git_add })
nvim_set_hl('Changed', { fg = colors.git_modify })
nvim_set_hl('Removed', { fg = colors.git_delete })
elseif config.variant == 'spring' then
nvim_set_hl(
'WinSeparator',
{ fg = colors.blue, bg = colors.base4 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl('FloatBorder', { fg = colors.blue, bg = colors.base4 }, {
transparent = config.transparent.enabled,
})
nvim_set_hl('FloatTitle', { fg = colors.mix_cyan, bg = colors.cyan })
nvim_set_hl('SignColumn', { link = 'Normal' })
nvim_set_hl(
'LineNr',
{ fg = colors.base1, bg = colors.base3 },
{ transparent = config.transparent.enabled }
)
nvim_set_hl(
'CursorLineNr',
{ fg = colors.magenta, bg = colors.mix_magenta, bold = true },
{ transparent = config.transparent.enabled }
)
-- SYNTAX :h group-name
-- Property, Parameter, TagAttribute, TagDelimiter <-- custom
nvim_set_hl('Comment', { fg = colors.base1 }, { styles = config.styles.comments })
nvim_set_hl('Constant', { fg = colors.violet }, { styles = config.styles.constants })
nvim_set_hl('String', { fg = colors.cyan }, { styles = config.styles.strings })
nvim_set_hl('Character', { link = 'String' })
nvim_set_hl('Number', { link = 'Constant' })
nvim_set_hl('Boolean', { link = 'Constant' })
nvim_set_hl('Float', { link = 'Constant' })
nvim_set_hl('Identifier', { fg = colors.blue }, { styles = config.styles.variables })
nvim_set_hl('Property', { fg = colors.blue }, { styles = config.styles.variables })
nvim_set_hl(
'Parameter',
{ fg = colors.blue, italic = true },
{ styles = config.styles.variables }
)
nvim_set_hl('Function', { fg = colors.blue }, { styles = config.styles.functions })
nvim_set_hl('Statement', { fg = colors.magenta }, { styles = config.styles.statements })
nvim_set_hl('Conditional', { link = 'Statement' })
nvim_set_hl('Repeat', { link = 'Statement' })
nvim_set_hl('Label', { link = 'Statement' })
nvim_set_hl('Operator', { link = 'Statement' })
nvim_set_hl('Keyword', { fg = colors.green }, { styles = config.styles.keywords })
nvim_set_hl('Exception', { link = 'Statement' })
nvim_set_hl('Include', { link = 'Keyword' })
nvim_set_hl('Define', { link = 'Include' })
nvim_set_hl('Macro', { link = 'Include' })
nvim_set_hl('PreProc', { link = 'Include' })
nvim_set_hl('PreCondit', { link = 'Statement' })
nvim_set_hl('Type', { fg = colors.yellow }, { styles = config.styles.types })
nvim_set_hl('StorageClass', { link = 'Statement' })
nvim_set_hl('Structure', { link = 'Type' })
nvim_set_hl('Typedef', { link = 'Statement' })
nvim_set_hl('Special', { fg = colors.violet })
nvim_set_hl('SpecialChar', { fg = colors.violet })
nvim_set_hl('Tag', { fg = colors.magenta })
nvim_set_hl('TagAttribute', { fg = colors.blue })
nvim_set_hl('TagDelimiter', { link = 'Delimiter' })
nvim_set_hl('Delimiter', { fg = colors.base1 })
nvim_set_hl('SpecialComment', { link = 'Statement' })
nvim_set_hl('Debug', { fg = colors.magenta })
nvim_set_hl('Underlined', { fg = colors.magenta, underline = true })
nvim_set_hl('Ignore', {})
nvim_set_hl('Error', { fg = colors.diag_error, bold = true })
nvim_set_hl('Todo', { fg = colors.blue })
nvim_set_hl('Added', { fg = colors.git_add })
nvim_set_hl('Changed', { fg = colors.git_modify })
nvim_set_hl('Removed', { fg = colors.git_delete })
end
end
return M

View file

@ -1,4 +0,0 @@
fmt:
stylua -f ./stylua.toml .
test: fmt
vusted ./tests

View file

@ -46,27 +46,4 @@ describe('solarized.setup', function()
assert.True(strings.italic)
assert.True(comments.bold)
end)
test('styles.enabled', function()
local solarized = require 'solarized'
solarized.setup {
styles = {
enabled = false,
strings = { italic = true },
comments = { bold = true },
},
}
vim.cmd 'colorscheme solarized'
local strings = nvim_get_hl 'String'
local comments = nvim_get_hl 'Comment'
assert.Nil(strings.italic)
assert.Nil(comments.bold)
end)
test('nil config', function()
local solarized = require 'solarized'
solarized.setup()
vim.cmd 'colorscheme solarized'
end)
end)