summary refs log tree commit diff
path: root/.vim/lua
diff options
context:
space:
mode:
Diffstat (limited to '.vim/lua')
-rw-r--r--.vim/lua/color_palette.lua40
-rw-r--r--.vim/lua/color_palette.lua.in48
-rw-r--r--.vim/lua/colors.lua55
3 files changed, 83 insertions, 60 deletions
diff --git a/.vim/lua/color_palette.lua b/.vim/lua/color_palette.lua
index f30e97e..6c1ed79 100644
--- a/.vim/lua/color_palette.lua
+++ b/.vim/lua/color_palette.lua
@@ -1,32 +1,32 @@
 return {
   normal = {
-    black   = '#080808', -- 00
-    red     = '#cb1b45', -- 01
-    green   = '#227d51', -- 02
-    yellow  = '#f7d94c', -- 03
-    blue    = '#005caf', -- 04
-    magenta = '#986db2', -- 05
-    cyan    = '#33a6b8', -- 06
-    white   = '#bdc0ba', -- 07
+    black   = '#1c1c1c',
+    red     = '#db4d6d',
+    green   = '#5dac81',
+    yellow  = '#fad689',
+    blue    = '#58b2dc',
+    magenta = '#b28fce',
+    cyan    = '#78c2c4',
+    white   = '#bdc0ba',
   },
   bright = {
-    black   = '#0c0c0c', -- 08
-    red     = '#db4d6d', -- 09
-    green   = '#5dac81', -- 11
-    yellow  = '#fad689', -- 12
-    blue    = '#7b90d2', -- 13
-    magenta = '#b28fce', -- 14
-    cyan    = '#a5dee4', -- 15
-    white   = '#fffffb', -- 16
+    black   = '#0c0c0c',
+    red     = '#cb1b45',
+    green   = '#24936e',
+    yellow  = '#f7d94c',
+    blue    = '#2ea9df',
+    magenta = '#986db2',
+    cyan    = '#81c7d4',
+    white   = '#fffffb',
   },
   dim = {
     black   = '#080808',
     red     = '#9f353a',
-    green   = '#0f4c3a',
-    yellow  = '#6c6024',
-    blue    = '#113285',
+    green   = '#36563c',
+    yellow  = '#a28c37',
+    blue    = '#005caf',
     magenta = '#4a225d',
-    cyan    = '#0d5661',
+    cyan    = '#1e88a8',
     white   = '#4f4f48',
   },
 }
diff --git a/.vim/lua/color_palette.lua.in b/.vim/lua/color_palette.lua.in
index 4d3fe52..e2b3072 100644
--- a/.vim/lua/color_palette.lua.in
+++ b/.vim/lua/color_palette.lua.in
@@ -1,32 +1,32 @@
 return {
   normal = {
-    black   = '{{ .normal_black }}',
-    red     = '{{ .normal_red }}',
-    green   = '{{ .normal_green }}',
-    yellow  = '{{ .normal_yellow }}',
-    blue    = '{{ .normal_blue }}',
-    magenta = '{{ .normal_magenta }}',
-    cyan    = '{{ .normal_cyan }}',
-    white   = '{{ .normal_white }}',
+    black   = '{{ hex .normal_black }}',
+    red     = '{{ hex .normal_red }}',
+    green   = '{{ hex .normal_green }}',
+    yellow  = '{{ hex .normal_yellow }}',
+    blue    = '{{ hex .normal_blue }}',
+    magenta = '{{ hex .normal_magenta }}',
+    cyan    = '{{ hex .normal_cyan }}',
+    white   = '{{ hex .normal_white }}',
   },
   bright = {
-    black   = '{{ .bright_black }}',
-    red     = '{{ .bright_red }}',
-    green   = '{{ .bright_green }}',
-    yellow  = '{{ .bright_yellow }}',
-    blue    = '{{ .bright_blue }}',
-    magenta = '{{ .bright_magenta }}',
-    cyan    = '{{ .bright_cyan }}',
-    white   = '{{ .bright_white }}',
+    black   = '{{ hex .bright_black }}',
+    red     = '{{ hex .bright_red }}',
+    green   = '{{ hex .bright_green }}',
+    yellow  = '{{ hex .bright_yellow }}',
+    blue    = '{{ hex .bright_blue }}',
+    magenta = '{{ hex .bright_magenta }}',
+    cyan    = '{{ hex .bright_cyan }}',
+    white   = '{{ hex .bright_white }}',
   },
   dim = {
-    black   = '{{ .dim_black }}',
-    red     = '{{ .dim_red }}',
-    green   = '{{ .dim_green }}',
-    yellow  = '{{ .dim_yellow }}',
-    blue    = '{{ .dim_blue }}',
-    magenta = '{{ .dim_magenta }}',
-    cyan    = '{{ .dim_cyan }}',
-    white   = '{{ .dim_white }}',
+    black   = '{{ hex .dim_black }}',
+    red     = '{{ hex .dim_red }}',
+    green   = '{{ hex .dim_green }}',
+    yellow  = '{{ hex .dim_yellow }}',
+    blue    = '{{ hex .dim_blue }}',
+    magenta = '{{ hex .dim_magenta }}',
+    cyan    = '{{ hex .dim_cyan }}',
+    white   = '{{ hex .dim_white }}',
   },
 }
diff --git a/.vim/lua/colors.lua b/.vim/lua/colors.lua
index 8e42e28..a80fc9c 100644
--- a/.vim/lua/colors.lua
+++ b/.vim/lua/colors.lua
@@ -1,9 +1,16 @@
+---@diagnostic disable: undefined-global
+--- vim: fdm=marker
 local lush = require('lush')
 local hsl = lush.hsl
 local p = require('color_palette')
 
 return lush(function()
   return {
+    -- Meta {{{
+    deEmph { fg = hsl(p.normal.white).darken(40) },
+    -- }}}
+
+    -- Base highlights {{{
     Bold       { gui = 'bold' },
     Italic     { gui = 'italic' },
     None       { fg = 'none', bg = 'none', gui = 'none' },
@@ -32,7 +39,7 @@ return lush(function()
     Search       { Bold, fg = hsl(p.normal.black), bg = hsl(p.bright.white) }, -- Last search pattern highlighting (see 'hlsearch').  Also used for similar items that need to stand out.
     IncSearch    { Search }, -- 'incsearch' highlighting; also used for the text replaced with ":s///c"
     LineNr       { fg = hsl(p.dim.white) }, -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is set.
-    MatchParen   { fg = hsl(p.bright.white), bg = hsl(p.dim.black), gui = 'underline' }, -- The character under the cursor or just before it, if it is a paired bracket, and its match. |pi_paren.txt|
+    MatchParen   { fg = hsl(p.dim.black), bg = hsl(p.bright.magenta) }, -- The character under the cursor or just before it, if it is a paired bracket, and its match. |pi_paren.txt|
     ModeMsg      { fg = hsl(p.normal.yellow) }, -- 'showmode' message (e.g., "-- INSERT -- ")
     MoreMsg      { fg = hsl(p.normal.cyan) }, -- |more-prompt|
     -- MsgArea      { }, -- Area for messages and cmdline
@@ -41,10 +48,6 @@ return lush(function()
     Normal       { fg = hsl(p.bright.white) }, -- normal text
     NormalFloat  { Normal, bg = hsl(p.dim.white) }, -- Normal text in floating windows.
     NormalNC     { Normal }, -- normal text in non-current windows
-    Pmenu        { NormalFloat }, -- Popup menu: normal item.
-    PmenuSbar    { bg = 'none' }, -- Popup menu: scrollbar.
-    PmenuSel     { Pmenu, gui = 'reverse' }, -- Popup menu: selected item.
-    PmenuThumb   { bg = hsl(p.bright.white) }, -- Popup menu: Thumb of the scrollbar.
     Question     { fg = hsl(p.normal.green) }, -- |hit-enter| prompt and yes/no questions
     -- QuickFixLine { }, -- Current |quickfix| item in the quickfix window. Combined with |hl-CursorLine| when the cursor is there.
     SignColumn   { gui = 'none' }, -- column where |signs| are displayed
@@ -56,7 +59,7 @@ return lush(function()
     TabLine      { fg = hsl(p.dim.white) }, -- tab pages line, not active tab page label
     TabLineFill  { StatusLineNC }, -- tab pages line, where there are no labels
     TabLineSel   { fg = hsl(p.bright.white), gui = 'bold' }, -- tab pages line, active tab page label
-    Title        { fg = hsl(p.bright.blue) }, -- titles for output from ":set all", ":autocmd" etc.
+    Title        { fg = hsl(p.bright.blue), gui = 'bold' }, -- titles for output from ":set all", ":autocmd" etc.
     VertSplit    { fg = hsl(p.dim.white), bg = 'none' }, -- the column separating vertically split windows
     Visual       { fg = hsl(p.bright.white), bg = hsl(p.normal.magenta) }, -- Visual mode selection
     VisualNOS    { Visual }, -- Visual mode selection when vim is "Not Owning the Selection".
@@ -64,6 +67,11 @@ return lush(function()
     Whitespace   { fg = hsl(p.dim.white) }, -- "nbsp", "space", "tab" and "trail" in 'listchars'
     WildMenu     { bg = hsl(p.bright.black) }, -- current match in 'wildmenu' completion
 
+    Pmenu        { NormalFloat }, -- Popup menu: normal item.
+    PmenuSel     { Visual }, -- Popup menu: selected item.
+    PmenuSbar    { bg = 'none' }, -- Popup menu: scrollbar.
+    PmenuThumb   { bg = hsl(p.bright.white) }, -- Popup menu: Thumb of the scrollbar.
+
     Boolean        { fg = hsl(p.bright.red).lighten(20) }, --  a boolean constant: TRUE, false
     String         { fg = hsl(p.normal.yellow) }, --   a string constant: "this is a string"
     Character      { String }, --  a character constant: 'c', '\n'
@@ -100,6 +108,7 @@ return lush(function()
     Error          { Bold, fg = hsl(p.normal.red) }, -- (preferred) any erroneous construct
     Ignore         { None }, -- (preferred) left blank, hidden  |hl-Ignore|
     Todo           { Bold, fg = hsl(p.bright.yellow) }, -- (preferred) anything that needs extra attention; mostly the keywords TODO FIXME and XXX
+    --- }}}
 
     -- Lang specific {{{
     -- C {{{
@@ -138,12 +147,21 @@ return lush(function()
     mkdBlockQuote { Comment },
     mkdDelimiter { Delimiter },
     mkdHeading { Title },
-    mkdID { Constant },
-    mkdLink { Tag },
-    mkdLinkTitle { bg = hsl('#ff0000') },
-    mkdListItem { Number },
-    mkdURL { Tag },
+    -- mkdID { Constant },
+    -- mkdLink { Tag },
+    -- mkdLinkTitle { bg = hsl('#ff0000') },
+    -- mkdListItem { Number },
+    -- mkdURL { Tag },
+    mkdBold { Bold },
+    mkdItalic { Italic },
+    mkdBoldItalic { gui = "bold,italic" },
+    -- }}}
+
+    -- Go {{{
+    -- goType { Type },
+    -- goTSType { Type },
     -- }}}
+
     -- }}}
 
     -- LSP {{{
@@ -167,6 +185,11 @@ return lush(function()
     LspDiagnosticsVirtualTextHint        { fg = LspDiagnosticsHint.fg.darken(40) },
     LspDiagnosticsSignHint               { LspDiagnosticsHint },
 
+    -- LspDiagnosticsUnderlineError {},
+    -- LspDiagnosticsUnderlineWarning {},
+    -- LspDiagnosticsUnderlineInformation {},
+    -- LspDiagnosticsUnderlineHint {},
+
     -- LspReferenceText                  { }, -- used for highlighting "text" references
     -- LspReferenceRead                  { }, -- used for highlighting "read" references
     -- LspReferenceWrite                 { }, -- used for highlighting "write" references
@@ -175,7 +198,7 @@ return lush(function()
     -- TreeSitter {{{
     TSError              { Error }, -- For syntax/parser errors.
     -- TSPunctDelimiter     { }, -- For delimiters ie: `.`
-    -- TSPunctBracket       { }, -- For brackets and parens.
+    TSPunctBracket       { Normal }, -- For brackets and parens.
     -- TSPunctSpecial       { }, -- For special punctutation that does not fall in the catagories before.
     -- TSConstant           { }, -- For constants
     -- TSConstBuiltin       { }, -- For constant that are built in the language: `nil` in Lua.
@@ -188,7 +211,7 @@ return lush(function()
     -- TSBoolean            { }, -- For booleans.
     -- TSFloat              { }, -- For floats.
     -- TSFunction           { }, -- For function (calls and definitions).
-    -- TSFuncBuiltin        { }, -- For builtin functions: `table.insert` in Lua.
+    TSFuncBuiltin        { fg = hsl(p.normal.magenta) }, -- For builtin functions: `table.insert` in Lua.
     -- TSFuncMacro          { }, -- For macro defined fuctions (calls and definitions): each `macro_rules` in Rust.
     -- TSParameter          { }, -- For parameters of a function.
     -- TSParameterReference { }, -- For references to parameters of a function.
@@ -203,15 +226,15 @@ return lush(function()
     -- TSKeyword            { }, -- For keywords that don't fall in previous categories.
     -- TSKeywordFunction    { }, -- For keywords used to define a fuction.
     -- TSException          { }, -- For exception related keywords.
-    -- TSType               { }, -- For types.
-    -- TSTypeBuiltin        { }, -- For builtin types (you guessed it, right ?).
+    TSType               { Type }, -- For types.
+    TSTypeBuiltin        { Type }, -- For builtin types (you guessed it, right ?).
     -- TSNamespace          { }, -- For identifiers referring to modules and namespaces.
     -- TSInclude            { }, -- For includes: `#include` in C, `use` or `extern crate` in Rust, or `require` in Lua.
     -- TSAnnotation         { }, -- For C++/Dart attributes, annotations that can be attached to the code to denote some kind of meta information.
     -- TSText               { }, -- For strings considered text in a markup language.
     -- TSStrong             { }, -- For text to be represented with strong.
     -- TSEmphasis           { }, -- For text to be represented with emphasis.
-    -- TSUnderline          { }, -- For text to be represented with an underline.
+    TSUnderline          { Underlined }, -- For text to be represented with an underline.
     -- TSTitle              { }, -- Text that is part of a title.
     -- TSLiteral            { }, -- Literal text.
     -- TSURI                { }, -- Any URI like a link or email.