Files
nix-config/.config/nvim/colors/lucid.vim
2020-07-15 09:28:34 -04:00

386 lines
12 KiB
VimL

" Vim color scheme Lucid
" ----------------------------------------------------------------------
"
" Repository: https://github.com/cseelus/vim-colors-lucid
" Author: Chris Seelus (@cseelus)
"
" BLACK
" :let _rock_dark = '#0b0a0b'
" :let _rock = '#121114'
" :let _rock_medium = '#242228'
" non saturated grays
" :let _rock_dark = '#131313'
" :let _rock = '#191919'
" :let _rock_medium = '#363636'
" :let _gray_dark = '#535557'
" :let _gray = '#767b86'
" :let _gray_medium = '#cec5ce'
" :let _gray_light = '#d2d3d3'
" :let _cloud = '#e6e7e7'
" less saturated grays
" :let _rock_dark = '#19171c'
" :let _rock = '#1f1d24'
" saturated grays
" :let _rock_dark = '#221b23'
" :let _rock = '#27242e'
" very saturated grays
:let _rock_dark = '#0f0c14'
:let _rock = '#181320'
" normal grays
" --------------------------
:let _rock_medium = '#36323d'
:let _gray_dark = '#534d5e'
:let _gray = '#847d91'
:let _gray_medium = '#beb8cc'
:let _gray_light = '#d2c3ef'
:let _cloud = '#e4e0ed'
" colors
" --------------------------
:let _turquoise = '#3fc997'
:let _fluoric = '#d0ffc3'
:let _cyan = '#99feff'
:let _steel = '#83a8d1'
:let _powder = '#8fc7db'
:let _purple = '#7470ce'
:let _sky = '#b3e4eb'
:let _pink = '#db0088'
:let _sap = '#fde9a2'
" Light/inverted colors (darkrock-cloud, rock-lightgrey switched)
if &background == "light"
:let _rock_dark = '#f3f4f4'
:let _rock = '#dfe0e0'
:let _gray_dark = '#a9aeb3'
:let _gray = '#82868a'
:let _gray_medium = '#bcbfc0'
:let _gray_light = '#2c2d2e'
:let _cloud = '#101010'
" --------------------------
:let _turquoise = '#34b56e'
:let _fluoric = '#71984f'
:let _cyan = '#34b9b9'
:let _steel = '#1b009a'
:let _powder = '#3b7e9a'
:let _sky = '#2e8f9f'
:let _pink = '#c6006a'
:let _sap = '#fde9a2'
endif
set background=dark
highlight clear
if exists("syntax_on")
syntax reset
endif
set t_Co=256
let colors_name = "lucid"
let colorgroup = {}
" Interface
" ----------------------------------------------------------------------
let colorgroup['Normal'] = {"GUIFG": _cloud, "GUIBG": _rock_dark}
" ------------------------
let colorgroup['Darker'] = {"GUIFG": _gray, "GUIBG": _rock_dark}
let colorgroup['ColorColumn'] = {"GUIFG": _rock_dark, "GUIBG": _pink}
let colorgroup['Conceal'] = {"GUIFG": _cloud, "GUIBG": _powder}
" let colorgroup['Cursor'] = {"GUIFG": _rock_dark, "GUIBG": _turquoise}
let colorgroup['CursorLine'] = {"GUIFG": _cloud, "GUIBG": _rock}
let colorgroup['CursorLineNr'] = {"GUIFG": _gray_dark, "GUIBG": _rock_dark}
let colorgroup['Directory'] = {"GUIFG": _fluoric, "GUIBG": _rock_dark}
let colorgroup['Error'] = {"GUIFG": _rock_dark, "GUIBG": _pink}
let colorgroup['ErrorMsg'] = {"GUIFG": _rock_dark, "GUIBG": _pink}
let colorgroup['FoldColumn'] = { "GUIBG": _rock_dark}
let colorgroup['Folded'] = {"GUIFG": _cloud, "GUIBG": _rock}
let colorgroup['LineNr'] = {"GUIFG": _gray_dark, "GUIBG": _rock_dark}
if &background == "light"
let colorgroup['LineNr'] = {"GUIFG": _gray_medium, "GUIBG": _rock_dark}
endif
let colorgroup['MatchParen'] = {"GUIFG": _rock_dark, "GUIBG": _pink}
let colorgroup['ModeMsg'] = {"GUIFG": _rock_dark, "GUIBG": _turquoise}
let colorgroup['Pmenu'] = {"GUIFG": _cloud, "GUIBG": _rock_medium}
let colorgroup['PmenuSel'] = {"GUIFG": _rock_dark, "GUIBG": _turquoise}
let colorgroup['PmenuSbar'] = { "GUIBG": _rock_dark}
let colorgroup['Search'] = { "GUIBG": _gray_dark, "GUI": "underline"}
let colorgroup['SignColumn'] = { "GUIBG": _rock_dark}
let colorgroup['StatusLine'] = {"GUIFG": _gray, "GUIBG": _rock}
let colorgroup['StatusLineNC'] = {"GUIFG": _gray_dark, "GUIBG": _rock}
let colorgroup['Title'] = {"GUIFG": _pink, "GUI": "bold"}
let colorgroup['Todo'] = {"GUIFG": _rock_dark, "GUIBG": _powder}
let colorgroup['VertSplit'] = {"GUIFG": _rock, "GUIBG": _rock}
let colorgroup['Visual'] = {"GUIFG": _rock_dark, "GUIBG": _sap}
if &background == "light"
let colorgroup['Visual'] = {"GUIFG": _cloud, "GUIBG": _sap}
endif
let colorgroup['WarningMsg'] = {"GUIFG": _rock_dark, "GUIBG": _steel}
" Syntax
" ----------------------------------------------------------------------
let colorgroup['Access'] = {"GUIFG": _purple, "GUI": "bold"}
let colorgroup['Comment'] = {"GUIFG": _gray, "GUI": "italic"}
let colorgroup['Class'] = {"GUIFG": _pink, "GUI": "italic"}
let colorgroup['Conditional'] = {"GUIFG": _cyan}
let colorgroup['Constant'] = {"GUIFG": _turquoise, "GUI": "bold"}
let colorgroup['Delimiter'] = {"GUIFG": _pink}
let colorgroup['Function'] = {"GUIFG": _steel}
let colorgroup['Identifier'] = {"GUIFG": _sky}
let colorgroup['Module'] = {"GUIFG": _pink, "GUI": "underline"}
let colorgroup['NonText'] = {"GUIFG": _gray_dark}
let colorgroup['Number'] = {"GUIFG": _turquoise}
let colorgroup['PreProc'] = {"GUIFG": _pink}
let colorgroup['Statement'] = {"GUIFG": _turquoise}
let colorgroup['Special'] = {"GUIFG": _pink}
let colorgroup['SpecialKey'] = {"GUIFG": _gray_light}
let colorgroup['String'] = {"GUIFG": _fluoric}
let colorgroup['StorageClass'] = {"GUIFG": _cloud, "GUI": "bold"}
let colorgroup['Structure'] = {"GUIFG": _gray_medium}
let colorgroup['Symbol'] = {"GUIFG": _sky}
let colorgroup['Type'] = {"GUIFG": _steel}
let colorgroup['Underlined'] = {"GUIFG": _turquoise, "GUI": "underline"}
let colorgroup['Userdef'] = {"GUIFG": _sap}
" ------------------------
hi link Boolean Number
hi link Character Function
hi link ErrorMsg Error
hi link Debug Special
hi link Define PreProc
hi link Exception PreProc
hi link Float Number
hi link Include Function
hi link Label Statement
hi link Macro PreProc
hi link Operator PreProc
hi link PreCondit PreProc
hi link Repeat Statement
hi link SpecialChar Special
hi link SpecialComment Special
hi link Typedef Type
hi link Tag Special
" Plugins
" ----------------------------------------------------------------------
" CtrlP
hi link CtrlPMatch Function
" Git commit
hi link gitcommitBranch Constant
hi link gitcommitSelectedFile Statement
hi link gitcommitDiscardedFile Structure
hi link gitcommitUntrackedFile Structure
hi link gitcommitSummary String
" GitGutter
hi link GitGutterAdd Darker
hi link GitGutterChange Darker
hi link GitGutterDelete Darker
hi link GitGutterChangeDelete Darker
" NERDtree
hi link NerdTreeCWD Statement
hi link NerdTreeHelpKey Function
hi link NerdTreeHelpTitle Statement
hi link NerdTreeOpenable Statement
hi link NerdTreeClosable Statement
hi link NerdTreeDir Normal
hi link NerdTreeDirSlash Statement
" PlainTasks (.todo)
hi link ptCompleteTask Number
hi link ptContext Type
hi link ptSection Title
hi link ptTask Normal
" Startify
hi link StartifyNumber Statement
hi link StartifyBracket Statement
hi link StartifySection Title
hi link StartifyPath Comment
hi link StartifySlash Comment
hi link StartifyFile StorageClass
" Language
" ----------------------------------------------------------------------
" Apache
hi link apacheDeclaration PreProc
" CoffeeScript
hi link coffeeExtendedOp Function
hi link coffeeObject Statement
hi link coffeeObjAssign Function
hi link coffeeParen Function
" CSS
hi link cssAttr String
hi link cssClass Type
hi link cssProp Identifier
hi link cssSelectorOp Identifier
" HAML
hi link hamlTag Function
" HTML
" hi link htmlArg Symbol
" hi link htmlTag Constant
hi link htmlTagName Constant
" hi link htmlEndTag Function
" JavaScript
hi link javascriptFuncArg Function
hi link javascriptFuncComma Function
hi link javascriptFuncDef Statement
hi link javascriptFuncKeyword Statement
hi link javascriptOpSymbols Type
hi link javascriptParens Function
hi link javascriptEndcolons Function
" Javascript (pangloss/vim-javascript)
hi link jsBraces Delimiter
hi link jsClassDefinition Constant
hi link jsClassKeyword PreProc
hi link jsExtendsKeyword Function
hi link jsFuncCall Function
hi link jsModuleKeyword Identifier
hi link jsNull Identifier
hi link jsObjectKey Identifier
hi link jsStorageClass Structure
hi link jsTemplateBraces PreProc
" JSON
hi link jsonKeyword Function
" LaTeX
hi link texInputFile PreProc
" Markdown
hi link mkdBlockquote Symbol
hi link mkdCode Identifier
hi link mkdIndentCode Identifier
" hi link mkdLink Normal
" MatchTagAlways
hi link MatchTag Identifier
" PHP
hi link phpParent Normal
hi link phpRegion Comment
hi link phpVarSelector Identifier
" Ruby
hi link rubyAccess Access
hi link rubyCallback Function
hi link rubyClass Class
hi link rubyControl Statement
hi link rubyConstant Constant
hi link rubyEntity Function
hi link rubyFunction StorageClass
hi link rubyInclude Include
hi link rubyInterpolation Include
hi link rubyMacro Function
hi link rubyModule Module
" hi link RubyPseudoVariable Type
hi link rubySymbol Symbol
" SASS
hi link sassClassChar Type
" " hi link sassExtend Symbol
" " hi link sassMixing Symbol
hi link sassIdChar Identifier
" hi link sassVariable Function
" Slim
" hi link slimDocType Function
" hi link slimDocTypeKeyword Statement
hi link rubyKeyword PreProc
" hi link slimRubyChar PreProc
" hi link slimRubyOutputChar PreProc
" hi link slimText Normal
" VimL
hi link vimCmdSep Function
" YAML
hi link yamlBlockMappingKey Function
hi link yamlDocumentStart Comment
" XML
hi link xmlEndTag Function
" Expand colorgroups
" ----------------------------------------------------------------------
let s:colors = {}
" http://choorucode.com/2011/07/29/vim-chart-of-color-names/
let valid_cterm_colors =
\ [
\ 'Black', 'DarkBlue', 'DarkGreen', 'DarkCyan',
\ 'DarkRed', 'DarkMagenta', 'Brown', 'DarkYellow',
\ 'LightGray', 'LightGrey', 'Gray', 'Grey',
\ 'DarkGray', 'DarkGrey', 'Blue', 'LightBlue',
\ 'Green', 'LightGreen', 'Cyan', 'LightCyan',
\ 'Red', 'LightRed', 'Magenta', 'LightMagenta',
\ 'Yellow', 'LightYellow', 'White',
\ ]
for key in keys(colorgroup)
let s:colors = colorgroup[key]
if has_key(s:colors, 'TERM')
let term = s:colors['TERM']
else
let term = 'NONE'
endif
if has_key(s:colors, 'GUI')
let gui = s:colors['GUI']
else
let gui='NONE'
endif
if has_key(s:colors, 'GUIFG')
let guifg = s:colors['GUIFG']
else
let guifg='NONE'
endif
if has_key(s:colors, 'GUIBG')
let guibg = s:colors['GUIBG']
else
let guibg='NONE'
endif
if has_key(s:colors, 'CTERM')
let cterm = s:colors['CTERM']
else
let cterm=gui
endif
if has_key(s:colors, 'CTERMFG')
let ctermfg = s:colors['CTERMFG']
else
if index(valid_cterm_colors, guifg) != -1
let ctermfg=guifg
else
let ctermfg='Blue'
endif
endif
if has_key(s:colors, 'CTERMBG')
let ctermbg = s:colors['CTERMBG']
else
if index(valid_cterm_colors, guibg) != -1
let ctermbg=guibg
else
let ctermbg='NONE'
endif
endif
if has_key(s:colors, 'GUISP')
let guisp = s:colors['GUISP']
else
let guisp='NONE'
endif
if key =~ '^\k*$'
execute "hi ".key." term=".term." cterm=".cterm." gui=".gui." ctermfg=".ctermfg." guifg=".guifg." ctermbg=".ctermbg." guibg=".guibg." guisp=".guisp
endif
endfor