summaryrefslogtreecommitdiff
path: root/dot_config/nvim/colors
diff options
context:
space:
mode:
Diffstat (limited to 'dot_config/nvim/colors')
-rw-r--r--dot_config/nvim/colors/starlight.lua63
1 files changed, 63 insertions, 0 deletions
diff --git a/dot_config/nvim/colors/starlight.lua b/dot_config/nvim/colors/starlight.lua
new file mode 100644
index 0000000..ea66389
--- /dev/null
+++ b/dot_config/nvim/colors/starlight.lua
@@ -0,0 +1,63 @@
+local b16 = require 'mini.base16'
+
+local starlight = {
+ black = '#242424',
+ brblack = '#616161',
+
+ red = '#CF1745',
+ brred = '#FF1A53',
+
+ green = '#3ECF5B',
+ brgreen = '#17E640',
+
+ yellow = '#CFCF17',
+ bryellow = '#ECFF1A',
+
+ blue = '#0BA6DA',
+ brblue = '#1AC6FF',
+
+ magenta = '#D926AC',
+ brmagenta = '#F53DC7',
+
+ cyan = '#17CFA1',
+ brcyan = '#1AFFC6',
+
+ white = '#E6E6E6',
+ brwhite = '#FFFFFF',
+}
+starlight.background = starlight.black
+starlight.foreground = starlight.brwhite
+
+-- we have 4 points (black -> brblack -> white -> brwhite
+-- we need 8 (00 -> 07)
+-- we will use mini_palette to help us generate those
+-- we also specify the chroma of starlight.yellow for potential reuse
+local b16_palette = b16.mini_palette(starlight.background, starlight.foreground, 87)
+
+local palette = {
+ -- all of the bg/fg are generated by mini.base16
+ base00 = b16_palette.base00, -- default bg
+ base01 = b16_palette.base01, -- lighter bg
+ base02 = b16_palette.base02, -- selection bg
+ base03 = b16_palette.base03, -- comments, invisibles, line hi
+ base04 = b16_palette.base04, -- dark fg
+ base05 = b16_palette.base05, -- default fg, caret, delim, oper
+ base06 = b16_palette.base06, -- light fg, rare
+ base07 = b16_palette.base07, -- light bg, rare
+ -- all of the actual highlight colors are hand picked
+ -- we have red, green, yellow, blue, magenta, cyan to work with (6), and 8 slots to fill
+ base08 = starlight.yellow, -- variables, xml tags, markup links & lists, diff-
+ base09 = starlight.brcyan, -- ints, bools, consts, xml attrs, markup link urls
+ base0A = starlight.cyan, -- classes, bold, search bg
+ base0B = starlight.green, -- strings, inherits, markup code, diff+
+ base0C = starlight.brred, -- support, regexp, escapes, quotes
+ base0D = starlight.brblue, -- functions, methods, attributes, headings
+ base0E = starlight.brmagenta, -- keywords, storage, selector, markup italic, diff~
+ base0F = starlight.white, -- deprecated, open/close
+}
+
+b16.setup {
+ -- palette = b16_palette
+ palette = palette,
+}
+vim.g.colors_name = 'starlight'