mirror of
https://github.com/davegallant/nix-config
synced 2025-08-06 11:23:40 +00:00
139 lines
6.9 KiB
VimL
139 lines
6.9 KiB
VimL
" -------------------------------------------------------------------
|
||
" Name: abyss.vim
|
||
" Description: dark colorscheme for NeoVim
|
||
" -------------------------------------------------------------------
|
||
|
||
set termguicolors
|
||
set background=light
|
||
syntax enable " Switch on syntax highlighting
|
||
augroup toggle_cursorline_color
|
||
autocmd!
|
||
" Set CursorLine highlighting.
|
||
autocmd InsertEnter * set cursorline
|
||
" Reset CursorLine highlighting to the defaults.
|
||
autocmd InsertLeave * set nocursorline
|
||
augroup END
|
||
|
||
" Hilighting double-byte space
|
||
scriptencoding utf-8
|
||
augroup doublebyte_space
|
||
autocmd!
|
||
autocmd VimEnter,WinEnter * match DoubleByteSpace / /
|
||
augroup END
|
||
|
||
" -------------------------------------------------------------------
|
||
|
||
function! s:hi(name, fg, bg, attr) abort
|
||
let l:attr = type(a:attr) != type(0) ? ('gui=' . a:attr) : ''
|
||
let l:fg = type(a:fg) != type(0) ? ('guifg=' . a:fg) : ''
|
||
let l:bg = type(a:bg) != type(0) ? ('guibg=' . a:bg) : ''
|
||
|
||
execute 'highlight' a:name l:attr l:fg l:bg
|
||
endfunction
|
||
|
||
let s:fg = '#DDDDDD'
|
||
let s:bg = '#000000'
|
||
|
||
let s:red = '#C40000' " 160
|
||
|
||
let s:lightgreen = '#00FFFF' " 51
|
||
let s:green = '#00FF00' " 46
|
||
|
||
let s:lightblue = '#5FAFFF' " 75
|
||
let s:blue = '#0000C8' " 21
|
||
let s:darkblue = '#00014E' " 17
|
||
|
||
let s:cyan = '#00AFFF' " 39
|
||
let s:darkcyan = '#005FFF' " 27
|
||
|
||
let s:lightpurple = '#5F87FF' " 69
|
||
let s:purple = '#875FFF' " 99
|
||
|
||
let s:lightgray = '#4C4C4C' " 240
|
||
let s:gray = '#808080' " 245
|
||
let s:darkgray = '#303030' " 236
|
||
|
||
call s:hi('Comment', s:gray, 0, 0)
|
||
call s:hi('Boolean', s:darkcyan, 0, 0)
|
||
call s:hi('LineNr', s:darkcyan, 0, 0)
|
||
call s:hi('Constant', s:cyan, 0, 0)
|
||
call s:hi('Statement', s:lightblue, 0, 'bold')
|
||
call s:hi('PreProc', s:lightpurple, 0, 0)
|
||
call s:hi('Type', s:lightblue, 0, 0)
|
||
call s:hi('Cursor', 0, s:darkblue, 0)
|
||
call s:hi('CursorLine', 0, s:darkblue, 0)
|
||
call s:hi('CursorLineNr', 'NONE', s:bg, 'bold')
|
||
call s:hi('CursorColumn', 0, s:bg, 0)
|
||
call s:hi('DiffAdd', s:green, 'NONE', 0)
|
||
call s:hi('DiffChange', s:fg, 'NONE', 0)
|
||
call s:hi('DiffDelete', s:bg, s:bg, 0)
|
||
call s:hi('DiffText', s:red, 'NONE', 0)
|
||
call s:hi('DiffNewFile', s:lightblue, 'NONE', 0)
|
||
call s:hi('DiffFile', s:lightblue, 'NONE', 0)
|
||
call s:hi('diffAdded', s:green, 'NONE', 0)
|
||
call s:hi('diffChanged', s:fg, 'NONE', 0)
|
||
call s:hi('diffRemoved', s:red, 'NONE', 0)
|
||
call s:hi('FoldColumn', s:darkcyan, 0, 0)
|
||
call s:hi('Folded', s:darkcyan, s:darkgray, 0)
|
||
call s:hi('Directory', s:darkcyan, 0, 0)
|
||
call s:hi('ErrorMsg', s:red, 'NONE', 0)
|
||
call s:hi('Function', s:darkcyan, 0, 0)
|
||
call s:hi('Identifier', s:lightgreen, 0, 0)
|
||
call s:hi('IncSearch', s:darkcyan, 0, 0)
|
||
call s:hi('MatchParen', s:darkcyan, 0, 0)
|
||
call s:hi('ModeMsg', s:darkcyan, 0, 0)
|
||
call s:hi('MoreMsg', s:darkcyan, 0, 0)
|
||
call s:hi('NonText', s:gray, 'NONE', 0)
|
||
call s:hi('Normal', s:fg, 0, 0)
|
||
call s:hi('Operator', s:gray, 'NONE', 0)
|
||
call s:hi('Pmenu', s:fg, s:bg, 0)
|
||
call s:hi('PmenuSel', s:fg, s:darkblue, 0)
|
||
call s:hi('PmenuSbar', s:fg, s:darkblue, 0)
|
||
call s:hi('Question', s:darkcyan, 0, 0)
|
||
call s:hi('Search', s:fg, s:darkcyan, 0)
|
||
call s:hi('SignColumn', s:fg, 'NONE', 0)
|
||
call s:hi('Special', s:fg, 'NONE', 0)
|
||
call s:hi('SpecialKey', s:gray, 'NONE', 0)
|
||
call s:hi('SpellBad', s:red, 'NONE', 0)
|
||
call s:hi('StatusLine', s:bg, s:gray, 0)
|
||
call s:hi('StatusLineNC', s:bg, s:gray, 0)
|
||
call s:hi('String', s:cyan, 0, 0)
|
||
call s:hi('TabLine', s:fg, s:gray, 0)
|
||
call s:hi('TabLineFill', s:gray, 'NONE', 'underline')
|
||
call s:hi('TabLineSel', s:fg, s:darkblue, 0)
|
||
call s:hi('Title', s:darkcyan, 0, 0)
|
||
call s:hi('Todo', s:red, 'NONE', 0)
|
||
call s:hi('VertSplit', s:fg, 'NONE', 0)
|
||
call s:hi('Visual', s:fg, s:darkcyan, 0)
|
||
call s:hi('WarningMsg', s:bg, s:gray, 0)
|
||
call s:hi('WildMenu', s:fg, s:bg, 'bold')
|
||
call s:hi('EndOfBuffer', s:bg, 'NONE', 0)
|
||
call s:hi('DoubleByteSpace', s:darkcyan, 0, 'reverse')
|
||
call s:hi('rubyBlock', s:red, 'NONE', 0)
|
||
call s:hi('zshVariableDef', s:cyan, 'NONE', 0)
|
||
call s:hi('zshFunction', s:cyan, 'NONE', 0)
|
||
|
||
" Plugin
|
||
call s:hi('ShotFGraph', s:darkcyan, 'NONE', 'bold')
|
||
call s:hi('ShotFBlank', 'NONE', s:blue, 'NONE')
|
||
call s:hi('EasyMotionIncSearch', s:lightblue, 'NONE', 'bold')
|
||
call s:hi('EasyMotionMoveHL', s:fg, s:darkcyan, 'bold')
|
||
call s:hi('EasyMotionIncCursor', s:fg, s:darkcyan, 0)
|
||
call s:hi('EasyMotionTarget', s:purple, 'NONE', 'bold')
|
||
call s:hi('EasyMotionTarget2First', s:purple, 'NONE', 'bold')
|
||
call s:hi('EasyMotionTarget2Second', s:darkcyan, 'NONE', 'bold')
|
||
call s:hi('deniteMatched', s:darkcyan, 'NONE', 'NONE')
|
||
call s:hi('agitDiffAdd', s:green, 'NONE', 0)
|
||
call s:hi('agitDiffRemove', s:red, 'NONE', 0)
|
||
call s:hi('agitStatAdded', s:green, 'NONE', 0)
|
||
call s:hi('agitStatRemoved', s:red, 'NONE', 0)
|
||
call s:hi('agitStatMessage', s:lightblue, 'NONE', 'bold')
|
||
call s:hi('agitStatFile', s:fg, 'NONE', 0)
|
||
call s:hi('agitDiffHeader', s:lightblue, 'NONE', 'bold')
|
||
call s:hi('agitDiffIndex', s:lightblue, 'NONE', 'bold')
|
||
call s:hi('agitDiffFileName', s:fg, 'NONE', 0)
|
||
call s:hi('agitTree', s:lightblue, 'NONE', 'bold')
|
||
call s:hi('agitDate', s:gray, 'NONE', 0)
|
||
call s:hi('agitAuthor', s:purple, 'NONE', 0)
|
||
call s:hi('Flashy', s:bg, s:darkcyan, 0)
|