dotfiles/.vim/colors/OceanicNext.vim
2021-11-13 19:24:20 +01:00

369 lines
21 KiB
VimL
Executable File

" ===============================================================
" OceanicNext
" Author: Mike Hartington
" ===============================================================
" {{{ Setup
set background=dark
hi clear
if exists("syntax_on")
syntax reset
endif
let g:colors_name="OceanicNext"
" }}}
" {{{ Italics
let g:oceanic_next_terminal_italic = get(g:, 'oceanic_next_terminal_italic', 0)
let s:italic = ""
if g:oceanic_next_terminal_italic == 1
let s:italic = "italic"
endif
"}}}
" {{{ Bold
let g:oceanic_next_terminal_bold = get(g:, 'oceanic_next_terminal_bold', 0)
let s:bold = ""
if g:oceanic_next_terminal_bold == 1
let s:bold = "bold"
endif
"}}}
" {{{ Colors
let s:base00 = ['#1b2b34', '235']
let s:base01 = ['#343d46', '237']
let s:base02 = ['#4f5b66', '240']
let s:base03 = ['#65737e', '243']
let s:base04 = ['#a7adba', '145']
let s:base05 = ['#c0c5ce', '251']
let s:base06 = ['#cdd3de', '252']
let s:base07 = ['#d8dee9', '253']
let s:red = ['#ec5f67', '203']
let s:orange = ['#f99157', '209']
let s:yellow = ['#fac863', '221']
let s:green = ['#99c794', '114']
let s:cyan = ['#62b3b2', '73']
let s:blue = ['#6699cc', '68']
let s:purple = ['#c594c5', '176']
let s:brown = ['#ab7967', '137']
let s:white = ['#ffffff', '15']
let s:none = ['NONE', 'NONE']
" }}}
" {{{ Highlight function
function! s:hi(group, fg, bg, attr, attrsp)
" fg, bg, attr, attrsp
if !empty(a:fg)
exec "hi " . a:group . " guifg=" . a:fg[0]
exec "hi " . a:group . " ctermfg=" . a:fg[1]
endif
if !empty(a:bg)
exec "hi " . a:group . " guibg=" . a:bg[0]
exec "hi " . a:group . " ctermbg=" . a:bg[1]
endif
if a:attr != ""
exec "hi " . a:group . " gui=" . a:attr
exec "hi " . a:group . " cterm=" . a:attr
endif
if !empty(a:attrsp)
exec "hi " . a:group . " guisp=" . a:attrsp[0]
endif
endfunction
" }}}
" {{{ call s::hi(group, fg, bg, gui, guisp)
call s:hi('Bold', '', '', s:bold, '')
call s:hi('Debug', s:red, '', '', '')
call s:hi('Directory', s:blue, '', '', '')
call s:hi('ErrorMsg', s:red, s:base00, '', '')
call s:hi('Exception', s:red, '', '', '')
call s:hi('FoldColumn', s:blue, s:base00, '', '')
call s:hi('Folded', s:base03, s:base01, s:italic, '')
call s:hi('IncSearch', s:base01, s:orange, 'NONE', '')
call s:hi('Italic', '', '', s:italic, '')
call s:hi('Macro', s:red, '', '', '')
call s:hi('MatchParen', s:base05, s:base03, '', '')
call s:hi('ModeMsg', s:green, '', '', '')
call s:hi('MoreMsg', s:green, '', '', '')
call s:hi('Question', s:blue, '', '', '')
call s:hi('Search', s:base03, s:yellow, '', '')
call s:hi('SpecialKey', s:base03, '', '', '')
call s:hi('TooLong', s:red, '', '', '')
call s:hi('Underlined', s:red, '', '', '')
call s:hi('Visual', '', s:base02, '', '')
call s:hi('VisualNOS', s:red, '', '', '')
call s:hi('WarningMsg', s:red, '', '', '')
call s:hi('WildMenu', s:base07, s:blue, '', '')
call s:hi('Title', s:blue, '', '', '')
call s:hi('Conceal', s:blue, s:base00, '', '')
call s:hi('Cursor', s:base00, s:base05, '', '')
call s:hi('NonText', s:base03, '', '', '')
call s:hi('Normal', s:base07, s:base00, '', '')
call s:hi('EndOfBuffer', s:base05, s:base00, '', '')
call s:hi('LineNr', s:base03, s:base00, '', '')
call s:hi('SignColumn', s:base00, s:base00, '', '')
call s:hi('StatusLine', s:base01, s:base03, '', '')
call s:hi('StatusLineNC', s:base03, s:base01, '', '')
call s:hi('VertSplit', s:base00, s:base02, '', '')
call s:hi('ColorColumn', '', s:base01, '', '')
call s:hi('CursorColumn', '', s:base01, '', '')
call s:hi('CursorLine', '', s:base01, 'None', '')
call s:hi('CursorLineNR', s:base00, s:base00, '', '')
call s:hi('CursorLineNr', s:base03, s:base01, '', '')
call s:hi('PMenu', s:base04, s:base01, '', '')
call s:hi('PMenuSel', s:base07, s:blue, '', '')
call s:hi('PmenuSbar', '', s:base02, '', '')
call s:hi('PmenuThumb', '', s:base07, '', '')
call s:hi('TabLine', s:base03, s:base01, '', '')
call s:hi('TabLineFill', s:base03, s:base01, '', '')
call s:hi('TabLineSel', s:green, s:base01, '', '')
call s:hi('helpExample', s:yellow, '', '', '')
call s:hi('helpCommand', s:yellow, '', '', '')
" Standard syntax highlighting
call s:hi('Boolean', s:orange, '', '', '')
call s:hi('Character', s:red, '', '', '')
call s:hi('Comment', s:base03, '', s:italic, '')
call s:hi('Conditional', s:purple, '', '', '')
call s:hi('Constant', s:orange, '', '', '')
call s:hi('Define', s:purple, '', '', '')
call s:hi('Delimiter', s:brown, '', '', '')
call s:hi('Float', s:orange, '', '', '')
call s:hi('Function', s:blue, '', '', '')
call s:hi('Identifier', s:cyan, '', '', '')
call s:hi('Include', s:blue, '', '', '')
call s:hi('Keyword', s:purple, '', '', '')
call s:hi('Label', s:yellow, '', '', '')
call s:hi('Number', s:orange, '', '', '')
call s:hi('Operator', s:base05, '', '', '')
call s:hi('PreProc', s:yellow, '', '', '')
call s:hi('Repeat', s:yellow, '', '', '')
call s:hi('Special', s:cyan, '', '', '')
call s:hi('SpecialChar', s:brown, '', '', '')
call s:hi('Statement', s:red, '', '', '')
call s:hi('StorageClass', s:yellow, '', '', '')
call s:hi('String', s:green, '', '', '')
call s:hi('Structure', s:purple, '', '', '')
call s:hi('Tag', s:yellow, '', '', '')
call s:hi('Todo', s:yellow, s:base01, '', '')
call s:hi('Type', s:yellow, '', '', '')
call s:hi('Typedef', s:yellow, '', '', '')
" LSP
call s:hi('LspDiagnosticsDefaultError', '', '', '', '')
call s:hi('LspDiagnosticsSignError', s:red, '', '', '')
call s:hi('LspDiagnosticsUnderlineError', '', '', 'undercurl', '')
call s:hi('LspDiagnosticsDefaultWarning', '', '', '', '')
call s:hi('LspDiagnosticsSignWarning', s:yellow, '', '', '')
call s:hi('LspDiagnosticsUnderlineWarning', '', '', 'undercurl', '')
call s:hi('LspDiagnosticsDefaultInformation', '', '', '', '')
call s:hi('LspDiagnosticsSignInformation', s:blue, '', '', '')
call s:hi('LspDiagnosticsUnderlineInformation', '', '', 'undercurl', '')
call s:hi('LspDiagnosticsDefaultHint', '', '', '', '')
call s:hi('LspDiagnosticsSignHint', s:cyan, '', '', '')
call s:hi('LspDiagnosticsUnderlineHint', '', '', 'undercurl', '')
" TreeSitter stuff
call s:hi('TSInclude', s:cyan, '', '', '')
call s:hi('TSPunctBracket', s:cyan, '', '', '')
call s:hi('TSPunctDelimiter', s:base07, '', '', '')
call s:hi('TSParameter', s:base07, '', '', '')
call s:hi('TSType', s:blue, '', '', '')
call s:hi('TSFunction', s:cyan, '', '', '')
call s:hi('TSTagDelimiter', s:cyan, '', '', '')
call s:hi('TSProperty', s:yellow, '', '', '')
call s:hi('TSMethod', s:blue, '', '', '')
call s:hi('TSParameter', s:yellow, '', '', '')
call s:hi('TSConstructor', s:base07, '', '', '')
call s:hi('TSVariable', s:base07, '', '', '')
call s:hi('TSOperator', s:base07, '', '', '')
call s:hi('TSTag', s:base07, '', '', '')
call s:hi('TSKeyword', s:purple, '', '', '')
call s:hi('TSKeywordOperator', s:purple, '', '', '')
call s:hi('TSVariableBuiltin', s:red, '', '', '')
call s:hi('TSLabel', s:cyan, '', '', '')
call s:hi('SpellBad', '', '', 'undercurl', '')
call s:hi('SpellLocal', '', '', 'undercurl', '')
call s:hi('SpellCap', '', '', 'undercurl', '')
call s:hi('SpellRare', '', '', 'undercurl', '')
call s:hi('csClass', s:yellow, '', '', '')
call s:hi('csAttribute', s:yellow, '', '', '')
call s:hi('csModifier', s:purple, '', '', '')
call s:hi('csType', s:red, '', '', '')
call s:hi('csUnspecifiedStatement', s:blue, '', '', '')
call s:hi('csContextualStatement', s:purple, '', '', '')
call s:hi('csNewDecleration', s:red, '', '', '')
call s:hi('cOperator', s:cyan, '', '', '')
call s:hi('cPreCondit', s:purple, '', '', '')
call s:hi('cssColor', s:cyan, '', '', '')
call s:hi('cssBraces', s:base05, '', '', '')
call s:hi('cssClassName', s:purple, '', '', '')
call s:hi('DiffAdd', s:green, s:base01, s:bold, '')
call s:hi('DiffChange', s:base03, s:base01, '', '')
call s:hi('DiffDelete', s:red, s:base01, '', '')
call s:hi('DiffText', s:blue, s:base01, '', '')
call s:hi('DiffAdded', s:base07, s:green, s:bold, '')
call s:hi('DiffFile', s:red, s:base00, '', '')
call s:hi('DiffNewFile', s:green, s:base00, '', '')
call s:hi('DiffLine', s:blue, s:base00, '', '')
call s:hi('DiffRemoved', s:base07, s:red, s:bold, '')
call s:hi('gitCommitOverflow', s:red, '', '', '')
call s:hi('gitCommitSummary', s:green, '', '', '')
call s:hi('htmlBold', s:yellow, '', '', '')
call s:hi('htmlItalic', s:purple, '', '', '')
call s:hi('htmlTag', s:cyan, '', '', '')
call s:hi('htmlEndTag', s:cyan, '', '', '')
call s:hi('htmlArg', s:yellow, '', '', '')
call s:hi('htmlTagName', s:base07, '', '', '')
call s:hi('javaScript', s:base05, '', '', '')
call s:hi('javaScriptNumber', s:orange, '', '', '')
call s:hi('javaScriptBraces', s:base05, '', '', '')
call s:hi('jsonKeyword', s:green, '', '', '')
call s:hi('jsonQuote', s:green, '', '', '')
call s:hi('markdownCode', s:green, '', '', '')
call s:hi('markdownCodeBlock', s:green, '', '', '')
call s:hi('markdownHeadingDelimiter', s:blue, '', '', '')
call s:hi('markdownItalic', s:purple, '', s:italic, '')
call s:hi('markdownBold', s:yellow, '', s:bold, '')
call s:hi('markdownCodeDelimiter', s:brown, '', s:italic, '')
call s:hi('markdownError', s:base05, s:base00, '', '')
call s:hi('typescriptParens', s:base05, s:none, '', '')
call s:hi('NeomakeErrorSign', s:red, s:base00, '', '')
call s:hi('NeomakeWarningSign', s:yellow, s:base00, '', '')
call s:hi('NeomakeInfoSign', s:white, s:base00, '', '')
call s:hi('NeomakeError', s:red, '', 'underline', s:red)
call s:hi('NeomakeWarning', s:red, '', 'underline', s:red)
call s:hi('ALEErrorSign', s:red, s:base00, s:bold, '')
call s:hi('ALEWarningSign', s:yellow, s:base00, s:bold, '')
call s:hi('ALEInfoSign', s:white, s:base00, s:bold, '')
call s:hi('NERDTreeExecFile', s:base05, '', '', '')
call s:hi('NERDTreeDirSlash', s:blue, '', '', '')
call s:hi('NERDTreeOpenable', s:blue, '', '', '')
call s:hi('NERDTreeFile', '', s:none, '', '')
call s:hi('NERDTreeFlags', s:blue, '', '', '')
call s:hi('phpComparison', s:base05, '', '', '')
call s:hi('phpParent', s:base05, '', '', '')
call s:hi('phpMemberSelector', s:base05, '', '', '')
call s:hi('pythonRepeat', s:purple, '', '', '')
call s:hi('pythonOperator', s:purple, '', '', '')
call s:hi('rubyConstant', s:yellow, '', '', '')
call s:hi('rubySymbol', s:green, '', '', '')
call s:hi('rubyAttribute', s:blue, '', '', '')
call s:hi('rubyInterpolation', s:green, '', '', '')
call s:hi('rubyInterpolationDelimiter', s:brown, '', '', '')
call s:hi('rubyStringDelimiter', s:green, '', '', '')
call s:hi('rubyRegexp', s:cyan, '', '', '')
call s:hi('sassidChar', s:red, '', '', '')
call s:hi('sassClassChar', s:orange, '', '', '')
call s:hi('sassInclude', s:purple, '', '', '')
call s:hi('sassMixing', s:purple, '', '', '')
call s:hi('sassMixinName', s:blue, '', '', '')
call s:hi('vimfilerLeaf', s:base05, '', '', '')
call s:hi('vimfilerNormalFile', s:base05, s:base00, '', '')
call s:hi('vimfilerOpenedFile', s:blue, '', '', '')
call s:hi('vimfilerClosedFile', s:blue, '', '', '')
call s:hi('GitGutterAdd', s:green, s:base00, s:bold, '')
call s:hi('GitGutterChange', s:blue, s:base00, s:bold, '')
call s:hi('GitGutterDelete', s:red, s:base00, s:bold, '')
call s:hi('GitGutterChangeDelete', s:purple, s:base00, s:bold, '')
call s:hi('SignifySignAdd', s:green, s:base00, s:bold, '')
call s:hi('SignifySignChange', s:blue, s:base00, s:bold, '')
call s:hi('SignifySignDelete', s:red, s:base00, s:bold, '')
call s:hi('SignifySignChangeDelete', s:purple, s:base00, s:bold, '')
call s:hi('SignifySignDeleteFirstLine', s:red, s:base00, s:bold, '')
call s:hi('xmlTag', s:cyan, '', '', '')
call s:hi('xmlTagName', s:base05, '', '', '')
call s:hi('xmlEndTag', s:cyan, '', '', '')
call s:hi('Defx_filename_directory', s:blue, '', '', '')
call s:hi('CocErrorSign', s:red, '', '', '')
call s:hi('CocWarningSign', s:yellow, '', '', '')
call s:hi('CocInfoSign', s:blue, '', '', '')
call s:hi('CocHintSign', s:cyan, '', '', '')
call s:hi('CocErrorFloat', s:red, '', '', '')
call s:hi('CocWarningFloat', s:yellow, '', '', '')
call s:hi('CocInfoFloat', s:blue, '', '', '')
call s:hi('CocHintFloat', s:cyan, '', '', '')
call s:hi('CocDiagnosticsError', s:red, '', '', '')
call s:hi('CocDiagnosticsWarning', s:yellow, '', '', '')
call s:hi('CocDiagnosticsInfo', s:blue, '', '', '')
call s:hi('CocDiagnosticsHint', s:cyan, '', '', '')
call s:hi('CocSelectedText', s:purple, '', '', '')
call s:hi('CocCodeLens', s:base04, '', '', '')
" }}}
" {{{ Terminal
if has('nvim')
let g:terminal_color_0=s:base00[0]
let g:terminal_color_8=s:base03[0]
let g:terminal_color_1=s:red[0]
let g:terminal_color_9=s:red[0]
let g:terminal_color_2=s:green[0]
let g:terminal_color_10=s:green[0]
let g:terminal_color_3=s:yellow[0]
let g:terminal_color_11=s:yellow[0]
let g:terminal_color_4=s:blue[0]
let g:terminal_color_12=s:blue[0]
let g:terminal_color_5=s:purple[0]
let g:terminal_color_13=s:purple[0]
let g:terminal_color_6=s:cyan[0]
let g:terminal_color_14=s:cyan[0]
let g:terminal_color_7=s:base05[0]
let g:terminal_color_15=s:base05[0]
let g:terminal_color_background=s:base00[0]
let g:terminal_color_foreground=s:white[0]
else
let g:terminal_ansi_colors = [
\ s:base00[0],
\ s:red[0],
\ s:green[0],
\ s:yellow[0],
\ s:blue[0],
\ s:purple[0],
\ s:cyan[0],
\ s:white[0],
\ s:base03[0],
\ s:red[0],
\ s:green[0],
\ s:yellow[0],
\ s:blue[0],
\ s:purple[0],
\ s:cyan[0],
\ s:white[0],
\]
endif