mirror of
https://github.com/davegallant/nix-config
synced 2025-08-06 11:23:40 +00:00
135 lines
5.6 KiB
VimL
135 lines
5.6 KiB
VimL
" \
|
|
" / ^ ^ ^ ^ ^ ^ ^
|
|
" \ /_\ /_\ /_\ /_\ /_\ /_\ /_\
|
|
" / | | | | | | |
|
|
" \
|
|
" / _ __ _ _ __
|
|
" \ | | _ _ _ _| | ___ __ |_| __ ___ | |/ /
|
|
" / | |_| || | \/ | _ | __| \ _ / _\/ _|| |
|
|
" \ |___|____|____|___|___|_|\_\ |____\____|_|\_\
|
|
" / | |
|
|
" \ | |
|
|
" / | | /|
|
|
" \ | | /||
|
|
" / |_|/ ||
|
|
" \ |___ ||
|
|
" / |_|\ ||
|
|
" \ \||
|
|
" / \|
|
|
"
|
|
" Copyright (c) 2015 Davy Duperron
|
|
"
|
|
" MIT License
|
|
"
|
|
" Permission is hereby granted, free of charge, to any person obtaining
|
|
" a copy of this software and associated documentation files (the
|
|
" "Software"), to deal in the Software without restriction, including
|
|
" without limitation the rights to use, copy, modify, merge, publish,
|
|
" distribute, sublicense, and/or sell copies of the Software, and to
|
|
" permit persons to whom the Software is furnished to do so, subject to
|
|
" the following conditions:
|
|
"
|
|
" The above copyright notice and this permission notice shall be
|
|
" included in all copies or substantial portions of the Software.
|
|
"
|
|
" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
" NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
" LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
" OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
" WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
|
" Reset syntax highlighting
|
|
set background=dark
|
|
hi clear
|
|
if exists('syntax_on')
|
|
syntax reset
|
|
endif
|
|
|
|
" Go with 256 colors term if not in GUI
|
|
if !has('gui_running')
|
|
set t_Co=256
|
|
end
|
|
|
|
" Thou shalt always carry your axe around with you
|
|
let g:colors_name='lumberjack'
|
|
|
|
" Rendering
|
|
let s:none='NONE'
|
|
function! s:r(group, style)
|
|
execute 'hi' a:group
|
|
\'gui=' (has_key(a:style, 'gui') ? a:style.gui : s:none)
|
|
\'guifg=' (has_key(a:style, 'fg') ? a:style.fg.gui : s:none)
|
|
\'guibg=' (has_key(a:style, 'bg') ? a:style.bg.gui : s:none)
|
|
\'cterm=' (has_key(a:style, 'cterm') ? a:style.cterm : s:none)
|
|
\'ctermfg=' (has_key(a:style, 'fg') ? a:style.fg.cterm : s:none)
|
|
\'ctermbg=' (has_key(a:style, 'bg') ? a:style.bg.cterm : s:none)
|
|
endfunction
|
|
|
|
" Lumberjack colors
|
|
let s:grey1 = { 'gui': '#1a1a1a', 'cterm': '0' }
|
|
let s:grey2 = { 'gui': '#212121', 'cterm': '8' }
|
|
let s:grey3 = { 'gui': '#2e2e2e', 'cterm': '6' }
|
|
let s:grey4 = { 'gui': '#303030', 'cterm': '13' }
|
|
let s:grey5 = { 'gui': '#757475', 'cterm': '14' }
|
|
let s:grey6 = { 'gui': '#858585', 'cterm': '12' }
|
|
let s:red = { 'gui': '#bd2a2a', 'cterm': '1' }
|
|
let s:brown1 = { 'gui': '#b56124', 'cterm': '5' }
|
|
let s:brown2 = { 'gui': '#947463', 'cterm': '3' }
|
|
let s:brown3 = { 'gui': '#c76440', 'cterm': '9' }
|
|
let s:green1 = { 'gui': '#5d875d', 'cterm': '2' }
|
|
let s:green2 = { 'gui': '#9acd32', 'cterm': '10' }
|
|
let s:blue = { 'gui': '#9bcbeb', 'cterm': '4' }
|
|
let s:yellow = { 'gui': '#f0e95d', 'cterm': '11' }
|
|
let s:white1 = { 'gui': '#fffefc', 'cterm': '7' }
|
|
let s:white2 = { 'gui': '#ffffff', 'cterm': '15' }
|
|
|
|
" Generate the highlight groups
|
|
call s:r('Boolean', { 'fg': s:green2 })
|
|
call s:r('Character', { 'fg': s:blue })
|
|
call s:r('Comment', { 'fg': s:grey4 })
|
|
call s:r('Constant', { 'fg': s:yellow })
|
|
call s:r('Conditional', { 'fg': s:red })
|
|
call s:r('Cursor', { 'bg': s:blue, 'fg': s:grey1 })
|
|
call s:r('CursorLine', { 'bg': s:grey2 })
|
|
call s:r('CursorLineNR', { 'fg': s:yellow })
|
|
call s:r('ColorColumn', { 'bg': s:grey2, 'fg': s:white2 })
|
|
call s:r('Delimiter', { 'fg': s:blue })
|
|
call s:r('Directory', { 'fg': s:brown3 })
|
|
call s:r('Error', { 'fg': s:red })
|
|
call s:r('Exception', { 'fg': s:yellow })
|
|
call s:r('Folded', { 'bg': s:grey2, 'fg': s:yellow })
|
|
call s:r('Function', { 'fg': s:blue })
|
|
call s:r('Identifier', { 'fg': s:brown1 })
|
|
call s:r('IncSearch', { 'bg': s:blue, 'fg': s:grey1 })
|
|
call s:r('Keyword', { 'fg': s:red })
|
|
call s:r('Label', { 'fg': s:blue })
|
|
call s:r('LineNr', { 'fg': s:grey3 })
|
|
call s:r('MatchParen', { 'fg': s:red })
|
|
call s:r('Normal', { 'bg': s:grey1, 'fg': s:grey6 })
|
|
call s:r('NonText', { 'fg': s:grey4 })
|
|
call s:r('Number', { 'fg': s:green1 })
|
|
call s:r('Operator', { 'fg': s:green2 })
|
|
call s:r('PreProc', { 'fg': s:brown3 })
|
|
call s:r('Repeat', { 'fg': s:brown2 })
|
|
call s:r('Search', { 'bg': s:blue, 'fg': s:grey1 })
|
|
call s:r('SignColumn', { 'fg': s:yellow })
|
|
call s:r('Statement', { 'fg': s:red })
|
|
call s:r('Special', { 'fg': s:grey5 })
|
|
call s:r('SpecialComment', { 'fg': s:grey5 })
|
|
call s:r('SpecialChar', { 'fg': s:grey6 })
|
|
call s:r('SpecialKey', { 'fg': s:green2 })
|
|
call s:r('StatusLine', { 'bg': s:grey2, 'fg': s:grey6 })
|
|
call s:r('StatusLineNC', { 'bg': s:grey2, 'fg': s:grey6 })
|
|
call s:r('StorageClass', { 'fg': s:yellow })
|
|
call s:r('String', { 'fg': s:yellow })
|
|
call s:r('Tag', { 'fg': s:white1 })
|
|
call s:r('Title', { 'fg': s:green1 })
|
|
call s:r('Todo', { 'fg': s:white1 })
|
|
call s:r('Type', { 'fg': s:blue })
|
|
call s:r('Underlined', { 'bg': s:green1, 'fg': s:grey1 })
|
|
call s:r('VertSplit', { 'bg': s:grey2, 'fg': s:grey2 })
|
|
call s:r('Visual', { 'bg': s:grey2, 'fg': s:green1 })
|
|
|