summary refs log tree commit diff
path: root/.vim/lua/colors.lua
diff options
context:
space:
mode:
Diffstat (limited to '.vim/lua/colors.lua')
-rw-r--r--.vim/lua/colors.lua225
1 files changed, 95 insertions, 130 deletions
diff --git a/.vim/lua/colors.lua b/.vim/lua/colors.lua
index ac6109f..32af6b2 100644
--- a/.vim/lua/colors.lua
+++ b/.vim/lua/colors.lua
@@ -1,207 +1,149 @@
-
 local lush = require('lush')
 local hsl = lush.hsl
-
-local p = {
-  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
-  },
-  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
-  },
-  dim = {
-    black   = '#080808',
-    red     = '#9f353a',
-    green   = '#0f4c3a',
-    yellow  = '#6c6024',
-    blue    = '#113285',
-    magenta = '#4a225d',
-    cyan    = '#0d5661',
-    white   = '#4f4f48',
-  },
-}
-
--- terminal buffer colors {{{
--- TODO just let it use the default, for now...
--- let g:terminal_color_0  = color00[0]
--- let g:terminal_color_1  = color01[0]
--- let g:terminal_color_2  = color02[0]
--- let g:terminal_color_3  = color03[0]
--- let g:terminal_color_4  = color04[0]
--- let g:terminal_color_5  = color05[0]
--- let g:terminal_color_6  = color06[0]
--- let g:terminal_color_7  = color07[0]
--- let g:terminal_color_8  = color08[0]
--- let g:terminal_color_9  = color09[0]
--- let g:terminal_color_10 = color10[0]
--- let g:terminal_color_11 = color11[0]
--- let g:terminal_color_12 = color12[0]
--- let g:terminal_color_13 = color13[0]
--- let g:terminal_color_14 = color14[0]
--- let g:terminal_color_15 = color15[0]
--- }}}
+local p = require('color_palette')
 
 return lush(function()
-	return {
-    None       { fg = 'none', bg = 'none', gui = 'none' },
-    Underlined { gui = 'underline' }, -- (preferred) text that stands out, HTML links
+  return {
     Bold       { gui = 'bold' },
     Italic     { gui = 'italic' },
+    None       { fg = 'none', bg = 'none', gui = 'none' },
     Reverse    { gui = 'reverse' },
+    Underlined { gui = 'underline' }, -- (preferred) text that stands out, HTML links
 
     ColorColumn  { bg = hsl(p.dim.white).darken(40) }, -- used for the columns set with 'colorcolumn'
     Conceal      { gui = 'none' }, -- placeholder characters substituted for concealed text (see 'conceallevel')
     Cursor       { Reverse }, -- character under the cursor
-    lCursor      { Cursor }, -- the character under the cursor when |language-mapping| is used (see 'guicursor')
     CursorIM     { Cursor }, -- like Cursor, but used when in IME mode |CursorIM|
+    TermCursor   { Cursor }, -- cursor in a focused terminal
+    TermCursorNC { Cursor }, -- cursor in an unfocused terminal
+    lCursor      { Cursor }, -- the character under the cursor when |language-mapping| is used (see 'guicursor')
     CursorColumn { ColorColumn }, -- Screen-column at the cursor, when 'cursorcolumn' is set.
     CursorLine   { ColorColumn }, -- Screen-line at the cursor, when 'cursorline' is set.  Low-priority if foreground (ctermfg OR guifg) is not set.
-    -- Directory    { }, -- directory names (and other special names in listings)
+    CursorLineNr { Cursor }, -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line.
     DiffAdd      { fg = hsl(p.bright.black), bg = hsl(p.bright.green) }, -- diff mode: Added line |diff.txt|
-    DiffChange   { fg = hsl(p.bright.black), bg = hsl(p.bright.cyan) }, -- diff mode: Changed line |diff.txt|
+    DiffChange   { fg = hsl(p.bright.black), bg = hsl(p.bright.cyan).darken(20) }, -- diff mode: Changed line |diff.txt|
     DiffDelete   { fg = hsl(p.bright.black), bg = hsl(p.bright.red) }, -- diff mode: Deleted line |diff.txt|
-    DiffText     { fg = hsl(p.normal.white) }, -- diff mode: Changed text within a changed line |diff.txt|
+    DiffText     { DiffChange }, -- diff mode: Changed text within a changed line |diff.txt|
+    -- Directory    { }, -- directory names (and other special names in listings)
     EndOfBuffer  { fg = hsl(p.bright.blue) }, -- filler lines (~) after the end of the buffer.  By default, this is highlighted like |hl-NonText|.
-    TermCursor   { Cursor }, -- cursor in a focused terminal
-    TermCursorNC { Cursor }, -- cursor in an unfocused terminal
     ErrorMsg     { Bold, fg = hsl(p.bright.white), bg = hsl(p.dim.red) }, -- error messages on the command line
-    VertSplit    { fg = hsl(p.dim.white), bg = 'none' }, -- the column separating vertically split windows
     Folded       { fg = hsl(p.bright.magenta), bg = 'none' }, -- line used for closed folds
     FoldColumn   { Folded }, -- 'foldcolumn'
-    SignColumn   { gui = 'none' }, -- column where |signs| are displayed
     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"
-    Substitute   { fg = hsl(p.normal.blue) }, -- |:substitute| replacement text highlighting
     LineNr       { fg = hsl(p.dim.white) }, -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is set.
-    CursorLineNr { Cursor }, -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line.
     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|
     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
     -- MsgSeparator { }, -- Separator for scrolled messages, `msgsep` flag of 'display'
-    MoreMsg      { ModeMsg }, -- |more-prompt|
     NonText      { EndOfBuffer }, -- '@' at the end of the window, characters from 'showbreak' and other characters that do not really exist in the text (e.g., ">" displayed when a double-wide character doesn't fit at the end of the line). See also |hl-EndOfBuffer|.
     Normal       { fg = hsl(p.bright.white) }, -- normal text
-    NormalFloat  { Normal, bg = hsl(p.normal.black).lighten(6) }, -- Normal text in floating windows.
+    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.
-    PmenuSel     { Pmenu, gui = 'reverse' }, -- Popup menu: selected 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
     SpecialKey   { fg = hsl(p.dim.white) }, -- Unprintable characters: text displayed differently from what it really is.  But not 'listchars' whitespace. |hl-Whitespace| SpellBad  Word that is not recognized by the spellchecker. |spell| Combined with the highlighting used otherwise.  SpellCap  Word that should start with a capital. |spell| Combined with the highlighting used otherwise.  SpellLocal  Word that is recognized by the spellchecker as one that is used in another region. |spell| Combined with the highlighting used otherwise.
     -- SpellRare    { }, -- Word that is recognized by the spellchecker as one that is hardly ever used.  |spell| Combined with the highlighting used otherwise.
     StatusLine   { fg = hsl(p.bright.white), bg = 'none', gui = 'bold' }, -- status line of current window
     StatusLineNC { StatusLine, gui = 'none' }, -- status lines of not-current windows Note: if this is equal to "StatusLine" Vim will use "^^^" in the status line of the current window.
+    Substitute   { fg = hsl(p.normal.blue) }, -- |:substitute| replacement text highlighting
     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.
+    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".
     WarningMsg   { fg = hsl(p.normal.yellow) }, -- warning messages
     Whitespace   { fg = hsl(p.dim.white) }, -- "nbsp", "space", "tab" and "trail" in 'listchars'
     WildMenu     { bg = hsl(p.bright.black) }, -- current match in 'wildmenu' completion
 
+    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'
-    Number         { fg = hsl(p.bright.red).lighten(20) }, --   a number constant: 234, 0xff
+    Number         { Boolean }, --   a number constant: 234, 0xff
     Float          { Number }, --    a floating point constant: 2.3e10
-    Boolean        { Number }, --  a boolean constant: TRUE, false
 
-    Constant       { Normal, gui = 'bold' }, -- (preferred) any constant
-    Identifier     { Normal }, -- (preferred) any variable name
-    Function       { Normal }, -- function name (also: methods for classes)
     Comment        { Italic, fg = hsl(p.dim.white).lighten(30) },
-
+    Macro          { fg = hsl(p.normal.cyan) }, --    same as Define
+    Constant       { gui = 'bold' }, -- (preferred) any constant
+    Special        { fg = hsl(p.normal.yellow) }, -- (preferred) any special symbol
+    SpecialComment { fg = hsl(p.bright.cyan), gui = 'italic' }, -- special things inside a comment
     Statement      { fg = hsl(p.bright.blue) }, -- (preferred) any statement
-    Keyword        { Statement }, --  any other keyword
+    Keyword        { fg = hsl(p.normal.green) }, --  any other keyword
+    Tag            { Special, gui = 'underline' }, --    you can use CTRL-] on this
+    Type           { fg = hsl(p.bright.green) }, -- (preferred) int, long, char, etc.
     Conditional    { Keyword }, --  if, then, else, endif, switch, etc.
-    Repeat         { Keyword }, --   for, do, while, etc.
+    Define         { Macro }, --   preprocessor #define
+    Delimiter      { Special }, --  character that needs attention
+    Exception      { Keyword }, --  try, catch, throw
+    Function       { Normal }, -- function name (also: methods for classes)
+    Identifier     { Normal }, -- (preferred) any variable name
+    Include        { Macro }, --  preprocessor #include
     Label          { Keyword }, --    case, default, etc.
     Operator       { Keyword }, -- "sizeof", "+", "*", etc.
-    Exception      { Keyword }, --  try, catch, throw
-
-    PreProc        { fg = hsl(p.normal.cyan) }, -- (preferred) generic Preprocessor
-    Include        { PreProc }, --  preprocessor #include
-    Define         { PreProc }, --   preprocessor #define
-    Macro          { PreProc }, --    same as Define
-    PreCondit      { PreProc }, --  preprocessor #if, #else, #endif, etc.
-
-    Type           { fg = hsl(p.bright.green) }, -- (preferred) int, long, char, etc.
+    PreCondit      { Macro }, --  preprocessor #if, #else, #endif, etc.
+    PreProc        { Macro }, -- (preferred) generic Preprocessor
+    Repeat         { Keyword }, --   for, do, while, etc.
+    SpecialChar    { Special }, --  special character in a constant
+    Typedef        { Type }, --  A typedef
     StorageClass   { Type }, -- static, register, volatile, etc.
     Structure      { Type }, --  struct, union, enum, etc.
-    Typedef        { Type }, --  A typedef
 
-    Special        { fg = hsl(p.normal.yellow) }, -- (preferred) any special symbol
-    SpecialChar    { Special }, --  special character in a constant
-    Tag            { Special, gui = 'underline' }, --    you can use CTRL-] on this
-    Delimiter      { Special }, --  character that needs attention
-    SpecialComment { fg = hsl(p.bright.cyan), gui = 'italic' }, -- special things inside a comment
     Debug          { Special }, --    debugging statements
-
-    -- Ignore         { }, -- (preferred) left blank, hidden  |hl-Ignore|
     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 {{{2
-    cType { Type, gui = 'bold' },
-    -- cFormat {},
-    -- cStorageClass { Bold },
-
-    cBoolean { Boolean, gui = 'bold' },
+    -- C {{{
+    -- cAnsiFunction { Bold },
+    -- cAnsiName {},
+    -- cBraces {},
     -- cCharacter {},
-    cConstant { Constant, gui = 'bold' },
     -- cConditional { Bold },
-    cSpecial { Bold },
+    -- cCustomFunc {},
+    -- cCustomParen {},
     -- cDefine {},
+    -- cDelimiter {},
+    -- cFormat {},
+    -- cFunction {},
+    -- cIdentifier {},
+    -- cLabel { fg = hsl(p.dim.black), bg = hsl(p.dim.red) },
     -- cNumber {},
+    -- cOctalZero { Bold },
+    -- cOperator {},
     -- cPreCondit {},
     -- cRepeat {},
-    -- cLabel { fg = hsl(p.dim.black), bg = hsl(p.dim.red) },
-    -- cAnsiFunction { Bold },
-    -- cAnsiName {},
-    -- cDelimiter {},
-    -- cBraces {},
-    -- cIdentifier {},
     -- cSemiColon {},
-    -- cOperator {},
     -- cStatement {},
+    -- cStorageClass { Bold },
     -- cTodo { Bold },
-    cStructure { Bold },
-    -- cCustomParen {},
-    -- cCustomFunc {},
     -- cUserFunction { Function, gui = 'bold' },
-    -- cOctalZero { Bold },
-    -- cFunction {},
-    -- }}}2
+    cBoolean { Boolean, gui = 'bold' },
+    cConstant { Constant, gui = 'bold' },
+    cSpecial { Bold },
+    cStructure { Bold },
+    cType { Type, gui = 'bold' },
+    -- }}}
 
-    -- Markdown {{{2
+    -- Markdown {{{
     -- mkdCode { markdownCode },
+    mkdBlockQuote { Comment },
+    mkdDelimiter { Delimiter },
+    mkdHeading { Title },
     mkdID { Constant },
-    mkdURL { Tag },
     mkdLink { Tag },
     mkdLinkTitle { bg = hsl('#ff0000') },
-    mkdDelimiter { Delimiter },
-    mkdBlockQuote { Comment },
     mkdListItem { Number },
-    mkdHeading { Title },
-    -- 2}}}
+    mkdURL { Tag },
+    -- }}}
     -- }}}
 
     -- LSP {{{
@@ -215,9 +157,9 @@ return lush(function()
     LspDiagnosticsVirtualTextWarning     { fg = LspDiagnosticsWarning.fg.darken(60) },
     LspDiagnosticsSignWarning            { LspDiagnosticsWarning },
 
-    LspDiagnosticsInformation            { fg = hsl(p.normal.blue).lighten(20) }, -- used for "Information" diagnostics
+    LspDiagnosticsInformation            { MoreMsg }, -- used for "Information" diagnostics
     LspDiagnosticsFloatingInformation    { LspDiagnosticsInformation },
-    LspDiagnosticsVirtualTextInformation { fg = LspDiagnosticsInformation.fg.darken(30) },
+    LspDiagnosticsVirtualTextInformation { fg = LspDiagnosticsInformation.fg.darken(20) },
     LspDiagnosticsSignInformation        { LspDiagnosticsInformation },
 
     LspDiagnosticsHint                   { fg = hsl(p.normal.white) }, -- used for "Hint" diagnostics
@@ -231,7 +173,7 @@ return lush(function()
     -- }}}
 
     -- TreeSitter {{{
-    -- TSError              { }, -- For syntax/parser errors.
+    TSError              { Error }, -- For syntax/parser errors.
     -- TSPunctDelimiter     { }, -- For delimiters ie: `.`
     -- TSPunctBracket       { }, -- For brackets and parens.
     -- TSPunctSpecial       { }, -- For special punctutation that does not fall in the catagories before.
@@ -281,14 +223,18 @@ return lush(function()
     IndentGuidesOdd { bg = hsl(p.bright.black) },
     IndentGuidesEven { bg = hsl(p.dim.white).darken(40) },
 
+    IndentBlanklineChar { fg = hsl(p.dim.white), gui = 'nocombine'},
+
+    -- signify {{{
     SignifyLineChange { DiffChange },
     SignifyLineAdd { DiffAdd },
     SignifyLineDelete { DiffDelete },
     SignifySignChange { fg = SignifyLineChange.bg },
     SignifySignAdd { fg = SignifyLineAdd.bg },
     SignifySignDelete { fg = SignifyLineDelete.bg },
+    -- }}}
 
-    -- git
+    -- git {{{
     gitcommitSummary { Bold },
     -- gitcommitHeader { Bold },
     -- gitcommitSelectedType {},
@@ -305,13 +251,34 @@ return lush(function()
     -- diffLine {},
     -- diffBDiffer {},
     -- diffNewFile {},
+    -- }}}
 
-    -- git-messenger
+    -- git-messenger {{{
     gitmessengerPopupNormal { CursorLine },
     gitmessengerHeader { Statement },
     gitmessengerHash { Special },
     gitmessengerHistory { Title },
     gitmessengerEmail { Comment },
+    -- }}}
+
+    -- nvim-lightbulb {{{
+    LightBulbFloatWin { LspDiagnosticsFloatingHint },
+    LightBulbVirtualText { LspDiagnosticsVirtualTextHint },
+    -- }}}
+
+    CompeDocumentation { NormalFloat },
+
+    -- startify {{{
+    StartifyBracket { fg = hsl(p.bright.blue) },
+    StartifyFile { fg = hsl(p.normal.red), gui = 'bold' },
+    StartifyNumber { fg = hsl(p.bright.blue).darken(20) },
+    StartifyPath { fg = hsl(p.normal.green).lighten(10) },
+    StartifySlash { fg = hsl(p.normal.white) },
+    StartifySection { fg = hsl(p.bright.yellow) },
+    StartifySpecial { fg = hsl(p.normal.red) },
+    StartifyHeader { fg = hsl(p.dim.white) },
+    StartifyFooter { fg = hsl(p.dim.white) },
+    -- }}}
 
     -- Plugin configs END }}}
 
@@ -320,7 +287,5 @@ return lush(function()
     StatusLineCommand { StatusLine },
     StatusLineVisual { Visual },
     StatusLineReplace { StatusLine },
-	}
+  }
 end)
-
--- vi:nowrap