-
-
Notifications
You must be signed in to change notification settings - Fork 141
/
Copy pathbase46.lua
159 lines (149 loc) · 7.72 KB
/
base46.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
---@meta
--- List of options for `vim.api.nvim_set_hl`
---@class APISetHighlightOpts
---@field fg? string Color name or Hex code of foreground
---@field bg? string Color name or Hex code of background
---@field sp? string Color of underlines. Read more at `:h guisp`.
--- integer between 0 and 100, level of opacity
--- Only applied for floating windows, popupmenu
--- Check `:h highlight-blend` for more information
---@field blend? integer
---@field bold? boolean bolded text or not
---@field standout? boolean decorations
---@field underline? boolean decorations
---@field undercurl? boolean decorations
---@field underdouble? boolean decorations
---@field underdotted? boolean
---@field underdashed? boolean
---@field strikethrough? boolean
---@field italic? boolean italicized text
---@field reverse? boolean
---@field nocombine? boolean
--- name of another highlight group to link to, see `:h hi-link` for more information.
--- When this is not null, all attributes will be overriden if the linked group has such attribute defined
--- To unlink a hlgroup, do `link = "NONE"`
---@field link? string|'"NONE"'
---@field default? boolean Don't override existing definition if true
---@field ctermfg? number Sets foreground of cterm color
---@field ctermbg? number Sets background of cterm color
---@field cterm? string comma-separated list of cterm opts. For more information, check `:h highlight-args`
---@class Base46HLGroups : APISetHighlightOpts
--- Color name or Hex code of foreground
--- if fg is "NONE", remove the foreground color
---@field fg? string|Base30Colors|'"NONE"'
--- Color name or Hex code of background
--- if bg is "NONE", remove the background color
---@field bg? string|table|Base30Colors|'"NONE"'
--- Color name or hex code that will be used for underline colors
--- - If sp is `NONE`, use transparent color for special
--- - If sp is `bg` or `background`, use normal background color
--- - If sp is `fg` or `foreground`, use normal foreground color
--- See :h guisp for more information
---@field sp? string|Base30Colors|'"NONE"'|'"bg"'|'"background"'|'"fg"'|'"foreground"'
---@alias HLTable table<string, Base46HLGroups>
---@alias Base30Colors
---| '"white"' #
---| '"darker_black"' # LSP/CMP Pop-ups, Tree BG
---| '"black"' # CMP BG, Icons/Headers FG
---| '"black2"' # Tabline BG, Cursor Lines, Selections
---| '"one_bg"' # Pop-up Menu BG, Statusline Icon FG
---| '"one_bg2"' # Tabline Inactive BG, Indent Line Context Start
---| '"one_bg3"' # Tabline Toggle/New Btn, Borders
---| '"grey"' # Line Nr, Scrollbar, Indent Line Hover
---| '"grey_fg"' # Comment
---| '"grey_fg2"' # Unused
---| '"light_grey"' # Diff Change, Tabline Inactive FG
---| '"red"' # Diff Delete, Diag Error
---| '"baby_pink"' # Some Dev Icons
---| '"pink"' # Indicators
---| '"line"' # Win Sep, Indent Line
---| '"green"' # Diff Add, Diag Info, Indicators
---| '"vibrant_green"' # Some Dev Icons
---| '"blue"' # UI Elements, Dev/CMP Icons
---| '"nord_blue"' # Indicators
---| '"yellow"' # Diag Warn
---| '"sun"' # Dev Icons
---| '"purple"' # Diag Hint, Dev/CMP Icons
---| '"dark_purple"' # Some Dev Icons
---| '"teal"' # Dev/CMP Icons
---| '"orange"' # Diff Mod
---| '"cyan"' # Dev/CMP Icons
---| '"statusline_bg"' # Statusline
---| '"lightbg"' # Statusline Components
---| '"pmenu_bg"' # Pop-up Menu Selection
---| '"folder_bg"' # Nvimtree Items
---@alias Base16Colors
---| '"base00"' # Neovim Default Background
---| '"base01"' # Lighter Background (Used for status bars, line number and folding marks)
---| '"base02"' # Selection Background (Visual Mode)
---| '"base03"' # Comments, Invisibles, Line Highlighting, Special Keys, Sings, Fold bg
---| '"base04"' # Dark Foreground, Dnf Underline (Used for status bars)
---| '"base05"' # Default Foreground (for text), Var, Refrences Caret, Delimiters, Operators
---| '"base06"' # Light Foreground (Not often used)
---| '"base07"' # Light Foreground, Cmp Icons (Not often used)
---| '"base08"' # Variables, Identifiers, Filed, Name Space, Error, Spell XML Tags, Markup Link Text, Markup Lists, Diff Deleted
---| '"base09"' # Integers, Boolean, Constants, XML Attributes, Markup Link Url, Inc Search
---| '"base0A"' # Classes, Attribute, Type, Repeat, Tag, Todo, Markup Bold, Search Text Background
---| '"base0B"' # Strings, Symbols, Inherited Class, Markup Code, Diff Inserted
---| '"base0C"' # Constructor,Special, Fold Column, Support, Regular Expressions, Escape Characters, Markup Quotes
---| '"base0D"' # Functions, Methods, Attribute IDs, Headings
---| '"base0E"' # Keywords, Storage, Selector, Markup Italic, Diff Changed
---| '"base0F"' # Delimiters, Special Char, Deprecated, Opening/Closing Embedded Language Tags, e.g. <?php ?>
---@alias Base46Colors
---| Base30Colors
---| Base16Colors
---@class ThemeTable
---@field base_16 Base16Table base00-base0F colors
---@field base_30 Base30Table extra colors to use
---@class Base46Table : ThemeTable
---@field add_hl HLTable
---@field polish_hl HLTable highlight groups to be changed from the default color
---@field type '"dark"'|'"light"' Denoting value to set for `vim.opt.bg`
---@class Base16Table
---@field base00 string Neovim Default Background
---@field base01 string Lighter Background (Used for status bars, line number and folding marks)
---@field base02 string Selection Background (Visual Mode)
---@field base03 string Comments, Invisibles, Line Highlighting, Special Keys, Sings, Fold bg
---@field base04 string Dark Foreground, Dnf Underline (Used for status bars)
---@field base05 string Default Foreground (for text), Var, Refrences Caret, Delimiters, Operators
---@field base06 string Light Foreground (Not often used)
---@field base07 string Light Foreground, Cmp Icons (Not often used)
---@field base08 string Variables, Identifiers, Filed, Name Space, Error, Spell XML Tags, Markup Link Text, Markup Lists, Diff Deleted
---@field base09 string Integers, Boolean, Constants, XML Attributes, Markup Link Url, Inc Search
---@field base0A string Classes, Attribute, Type, Repeat, Tag, Todo, Markup Bold, Search Text Background
---@field base0B string Strings, Symbols, Inherited Class, Markup Code, Diff Inserted
---@field base0C string Constructor,Special, Fold Column, Support, Regular Expressions, Escape Characters, Markup Quotes
---@field base0D string Functions, Methods, Attribute IDs, Headings
---@field base0E string Keywords, Storage, Selector, Markup Italic, Diff Changed
---@field base0F string Delimiters, Special Char, Deprecated, Opening/Closing Embedded Language Tags, e.g. <?php ?>
---@class Base30Table
---@field white string
---@field darker_black string LSP/CMP Pop-ups, Tree BG
---@field black string CMP BG, Icons/Headers FG
---@field black2 string Tabline BG, Cursor Lines, Selections
---@field one_bg string Pop-up Menu BG, Statusline Icon FG
---@field one_bg2 string Tabline Inactive BG, Indent Line Context Start
---@field one_bg3 string Tabline Toggle/New Btn, Borders
---@field grey string Line Nr, Scrollbar, Indent Line Hover
---@field grey_fg string Comment
---@field grey_fg2 string Unused
---@field light_grey string Diff Change, Tabline Inactive FG
---@field red string Diff Delete, Diag Error
---@field baby_pink string Some Dev Icons
---@field pink string Indicators
---@field line string Win Sep, Indent Line
---@field green string Diff Add, Diag Info, Indicators
---@field vibrant_green string Some Dev Icons
---@field blue string UI Elements, Dev/CMP Icons
---@field nord_blue string Indicators
---@field yellow string Diag Warn
---@field sun string Dev Icons
---@field purple string Diag Hint, Dev/CMP Icons
---@field dark_purple string Some Dev Icons
---@field teal string Dev/CMP Icons
---@field orange string Diff Mod
---@field cyan string Dev/CMP Icons
---@field statusline_bg string Statusline
---@field lightbg string Statusline Components
---@field pmenu_bg string Pop-up Menu Selection
---@field folder_bg string Nvimtree Items