aboutsummaryrefslogtreecommitdiff
path: root/colors
diff options
context:
space:
mode:
Diffstat (limited to 'colors')
-rw-r--r--colors/doom-one.vim459
1 files changed, 459 insertions, 0 deletions
diff --git a/colors/doom-one.vim b/colors/doom-one.vim
new file mode 100644
index 0000000..52fb42f
--- /dev/null
+++ b/colors/doom-one.vim
@@ -0,0 +1,459 @@
+" !::exe [So]
+
+if &bg != 'dark'
+ set background=dark
+end
+
+let colors_name = 'doom-one'
+
+" Highlighting function {{{
+function! s:_ (name, ...)
+ let fg = ''
+ let bg = ''
+ let attr = ''
+
+ if type(a:1) == 3
+ let fg = get(a:1, 0, '')
+ let bg = get(a:1, 1, '')
+ let attr = get(a:1, 2, '')
+ else
+ let fg = get(a:000, 0, '')
+ let bg = get(a:000, 1, '')
+ let attr = get(a:000, 2, '')
+ end
+
+ let cmd = 'hi! ' . a:name
+ if !empty(fg)
+ let cmd .= ' guifg=' . fg
+ end
+ if !empty(bg)
+ let cmd .= ' guibg=' . bg
+ end
+ if !empty(attr)
+ let cmd .= ' gui=' . attr
+ end
+ execute cmd
+endfunc
+
+" }}}
+" Colors {{{
+
+let s:base0 = '#1B2229'
+let s:base1 = '#1c1f24'
+let s:base2 = '#202328'
+let s:base3 = '#23272e'
+let s:base4 = '#3f444a'
+let s:base5 = '#5B6268'
+let s:base6 = '#73797e'
+let s:base7 = '#9ca0a4'
+let s:base8 = '#b1b1b1'
+
+let s:grey = s:base4
+let s:red = '#ff6c6b'
+let s:orange = '#da8548'
+let s:green = '#98be65'
+let s:teal = '#4db5bd'
+let s:yellow = '#ECBE7B'
+let s:blue = '#51afef'
+let s:dark_blue = '#2257A0'
+let s:magenta = '#c678dd'
+let s:violet = '#a9a1e1'
+let s:cyan = '#46D9FF'
+let s:dark_cyan = '#5699AF'
+let s:white = '#efefef'
+
+let s:bg = '#282c34'
+let s:bg_alt = '#21242b'
+let s:bg_highlight = '#2E323C'
+let s:bg_popup = '#3E4556'
+let s:bg_widget = s:bg
+let s:bg_statusline = s:bg_popup
+let s:bg_visual = color#Lighten(s:base4, 0.3)
+let s:bg_selection = s:dark_blue
+
+let s:fg = '#bbc2cf'
+let s:fg_alt = '#5B6268'
+let s:fg_widget = s:fg
+let s:fg_conceal = s:base4
+let s:fg_subtle = s:base7
+
+
+
+let s:highlight = s:blue
+let s:highlight_color = s:base0
+
+let s:tag = '#678CFA'
+
+" PREVIOUS {{{
+
+" let s:black0 = '#000000'
+" let s:black1 = '#24292e'
+" let s:black2 = '#4c4c4c'
+" let s:white = '#f4fbfe'
+
+" let s:darkyellow = '#c59000'
+" let s:yellow = '#eab700'
+" let s:brightyellow = '#ffe914'
+
+" let s:gh_link = '#0366d6'
+
+" let s:gh_grey = '#8f9aa9'
+" let s:gh_red = '#DB524E'
+" let s:gh_orange = '#e98642'
+" let s:gh_blue0 = '#0d33a5'
+" let s:gh_blue1 = '#2076d8'
+" let s:gh_purple = '#6f42c1'
+
+" let s:gh_search = '#FFEEB9'
+" let s:gh_search_dark = '#EDB34D'
+
+let s:diff_info_fg = s:blue
+let s:diff_info_bg0 = color#Mix('#D8EEFD', s:bg, 0.6)
+let s:diff_info_bg1 = color#Mix('#D8EEFD', s:bg, 0.8)
+
+let s:diff_add_fg = s:green
+let s:diff_add_fg0 = color#Mix(s:green, s:fg, 0.4)
+let s:diff_add_bg0 = color#Mix('#acf2bd', s:bg, 0.4)
+let s:diff_add_bg1 = color#Mix('#acf2bd', s:bg, 0.6)
+let s:diff_add_bg2 = color#Mix('#acf2bd', s:bg, 0.8)
+
+let s:gh_danger_fg = s:red
+let s:gh_danger_fg0 = color#Mix(s:red, s:fg, 0.6)
+let s:gh_danger_bg0 = color#Mix('#ffdce0', s:bg, 0.6)
+let s:gh_danger_bg1 = color#Mix('#ffdce0', s:bg, 0.8)
+let s:gh_danger_bg2 = color#Mix('#ffdce0', s:bg, 0.9)
+
+" }}}
+
+" }}}
+" General UI {{{
+
+call s:_('Normal', s:fg, s:bg)
+call s:_('EndOfBuffer', s:fg, s:bg)
+call s:_('NormalPopup', s:fg, s:bg_popup)
+call s:_('NormalPopover', s:fg, s:bg_popup)
+
+call s:_('Cursor', '', s:base0, 'reverse')
+call s:_('SecondaryCursor', '', s:highlight, 'none')
+
+call s:_('Folded', s:base7, s:bg_highlight, 'none')
+call s:_('FoldColumn', s:fg_alt, s:bg_widget, '')
+call s:_('SignColumn', '', s:bg_widget, '')
+call s:_('ColorColumn', '', s:bg_widget, '')
+
+call s:_('CursorLine', '', s:bg_highlight)
+call s:_('CursorColumn', '', s:bg_highlight)
+call s:_('CursorLineNr', s:highlight, s:bg_highlight, 'none')
+call s:_('LineNr', s:base4, s:bg_widget, 'none')
+
+call s:_('IndentGuidesEven', s:base4, '', '')
+call s:_('IndentGuidesOdd', s:base4, '', '')
+
+call s:_('TermCursor', s:fg, 'none', 'reverse')
+call s:_('TermCursorNC', s:fg_alt, 'none', 'reverse')
+call s:_('TermNormal', s:fg, s:bg, '')
+hi! link TermNormalNC TermNormal
+
+
+call s:_('Visual', '', s:bg_visual)
+call s:_('VisualBold', '', s:bg_visual, 'bold')
+
+call s:_('WildMenu', s:fg, s:bg_selection)
+
+call s:_('StatusLine', s:base8, s:bg_statusline, 'none')
+call s:_('StatusLineNC', s:base6, s:bg_statusline, 'none')
+call s:_('StatusLinePart', s:base6, s:bg_statusline, 'bold')
+call s:_('StatusLinePartNC', s:base6, s:bg_statusline, 'bold')
+
+call s:_('Separator', s:fg_alt, 'none')
+call s:_('VertSplit', s:base4, s:bg, 'none')
+
+call s:_('Pmenu', s:fg, s:bg_popup)
+call s:_('PmenuSel', s:highlight_color, s:highlight)
+call s:_('PmenuSelBold', s:highlight_color, s:highlight, 'bold')
+call s:_('PmenuSbar', '', s:bg_alt)
+call s:_('PmenuThumb', '#666660', '#666660')
+
+if exists('&pumblend')
+ set pumblend=20
+end
+
+let s:bg_current = s:bg
+let s:bg_visible = s:bg
+let s:bg_other = s:base1
+
+call s:_('TabLine', s:base7, s:bg_alt, 'bold')
+call s:_('TabLineSel', s:blue, s:bg_current, 'bold')
+call s:_('TabLineFill', 'none', s:bg_other, 'bold')
+
+call s:_('BufferCurrent', s:blue, s:bg_current, 'bold')
+call s:_('BufferVisible', s:base8, s:bg_visible, 'bold')
+call s:_('Buffer', s:base6, s:bg_other, 'bold')
+call s:_('BufferCurrentMod', s:yellow, s:bg_current, 'bold')
+call s:_('BufferVisibleMod', s:yellow, s:bg_visible, 'bold')
+call s:_('BufferMod', s:yellow, s:bg_other, 'bold')
+call s:_('BufferSignCurrent', s:fg_widget, s:bg_current, 'none')
+call s:_('BufferSignVisible', s:fg_widget, s:bg_visible, 'none')
+call s:_('BufferSign', s:fg_widget, s:bg_other, 'none')
+call s:_('BufferPart', s:diff_info_fg, s:diff_info_bg0, 'bold')
+
+" }}}
+" Search, Highlight, Conceal, Messages {{{
+
+call s:_('Search', s:highlight_color, s:highlight, 'none')
+call s:_('IncSearch', s:highlight_color, s:highlight, 'none')
+call s:_('IncSearchCursor', '', '', 'reverse')
+
+call s:_('Conceal', s:fg_conceal, 'none', '')
+call s:_('SpecialKey', '#333333', 'none', '')
+call s:_('NonText', s:fg_alt, '', 'bold')
+call s:_('MatchParen', s:red, 'none', 'bold')
+call s:_('Whitespace', s:fg_subtle, '', '')
+
+
+call s:_('Highlight', '', color#Darken(s:highlight, 0.5), 'none')
+call s:_('HighlightSubtle', '', color#Darken(s:highlight, 0.5), 'none')
+
+call s:_('Question', s:green, '', 'bold')
+
+call s:_('File', s:fg, '', 'bold')
+call s:_('Directory', s:yellow, '', 'bold')
+call s:_('Section', s:magenta, '', 'bold')
+call s:_('Title', s:violet, '', 'bold')
+
+call s:_('Bold', '', '', 'bold')
+
+" Text levels {{{
+
+let s:text_colors = {
+\ 'Normal': s:fg,
+\ 'Info': s:blue,
+\ 'Success': s:green,
+\ 'Warning': s:yellow,
+\ 'Debug': s:yellow,
+\ 'Error': s:red,
+\ 'Special': s:magenta,
+\}
+for key in keys(s:text_colors)
+ call s:_('Text' . key, s:text_colors[key], '', '')
+ call s:_('Bold' . key, s:text_colors[key], '', 'bold')
+endfor
+
+" }}}
+
+hi! link Msg TextSuccess
+hi! link MoreMsg TextInfo
+hi! link WarningMsg TextWarning
+hi! link ErrorMsg TextError
+hi! link Error TextError
+hi! link ModeMsg TextSpecial
+
+
+" }}}
+" Main Syntax {{{1
+
+call s:_('Tag', s:tag, '', 'underline')
+call s:_('Link', s:tag, '', 'underline')
+call s:_('URL', s:tag, '', 'underline')
+
+call s:_('Comment', s:base6, '', '')
+call s:_('CommentBold', s:base6, '', 'bold')
+call s:_('SpecialComment', s:base7, '', 'bold')
+hi! link CommentLabel CommentBold
+hi! link CommentSection CommentBold
+hi! link Noise Comment
+
+call s:_('Global', s:magenta, '', 'none')
+call s:_('PreProc', s:magenta, '', 'none')
+call s:_('Macro', s:magenta, '', 'bold')
+call s:_('Define', s:magenta, '', 'bold')
+call s:_('PreCondit', s:magenta, '', 'bold')
+call s:_('Include', s:magenta, '', 'bold')
+
+call s:_('Repeat', s:blue, '', '')
+call s:_('Keyword', s:blue, '', '')
+call s:_('Statement', s:blue, '', 'none')
+call s:_('Label', s:blue, '', '')
+
+call s:_('Operator', s:blue, '', '')
+
+call s:_('Constant', s:violet, '', 'none')
+
+call s:_('Number', s:orange, '', 'none')
+call s:_('Float', s:orange, '', 'none')
+call s:_('Boolean', s:orange, '', 'none')
+call s:_('Enum', s:orange, '', 'none')
+
+call s:_('Delimiter', s:blue, '', 'none')
+call s:_('DelimiterAlt', s:base8, '', 'none')
+call s:_('SpecialChar', s:base8, '', 'bold')
+
+call s:_('String', s:green, '', 'none')
+call s:_('StringDelimiter', s:green, '', 'none')
+
+call s:_('Character', s:green, '', 'bold')
+
+
+call s:_('Special', s:violet, '', 'none')
+call s:_('SpecialBold', s:violet, '', 'bold')
+
+
+call s:_('Identifier', color#Lighten(s:magenta, 0.4), '', 'none')
+call s:_('Argument', color#Lighten(s:magenta, 0.4), '', 'none')
+call s:_('Variable', color#Lighten(s:magenta, 0.4), '', 'none')
+
+call s:_('Function', s:yellow, '', 'none')
+call s:_('Method', s:yellow, '', 'bold')
+
+call s:_('Symbol', s:magenta, '', 'none')
+call s:_('Control', s:magenta, '', 'none')
+call s:_('PredefinedIdentifier', s:magenta, '', 'none')
+call s:_('Predefined', s:magenta, '', 'none')
+
+call s:_('StaticFunc', s:cyan, '', 'none')
+call s:_('Property', s:magenta, '', 'none')
+
+
+call s:_('Type', s:yellow, '', 'none')
+call s:_('StorageClass', s:blue, '', 'none')
+call s:_('Class', s:blue, '', 'none')
+call s:_('Structure', s:blue, '', 'none')
+call s:_('Typedef', s:blue, '', 'none')
+
+call s:_('Regexp', '#dd0093', 'none', 'none')
+call s:_('RegexpSpecial', '#a40073', 'none', 'none')
+call s:_('RegexpDelimiter', '#540063', 'none', 'bold')
+call s:_('RegexpKey', '#5f0041', 'none', 'bold')
+
+" }}}
+" Diff {{{
+
+call s:_('diffLine', s:base8, s:diff_info_bg1, 'none')
+call s:_('diffSubName', s:base8, s:diff_info_bg1, 'none')
+
+hi! clear DiffAdd
+hi! clear DiffChange
+hi! clear DiffText
+hi! clear DiffDelete
+
+call s:_('DiffAdd', '', s:diff_add_bg2, 'none')
+call s:_('DiffChange', '', s:diff_add_bg2, 'none')
+call s:_('DiffText', '', s:diff_add_bg0, 'none')
+call s:_('DiffDelete', '', s:gh_danger_bg1, 'none')
+
+call s:_('DiffAdded', s:diff_add_fg0, s:diff_add_bg2, 'none')
+call s:_('DiffModified', s:fg, s:diff_info_bg0, 'none')
+call s:_('DiffRemoved', s:gh_danger_fg0, s:gh_danger_bg2, 'none')
+
+call s:_('DiffAddedGutter', s:diff_add_fg, 'none', 'bold')
+call s:_('DiffModifiedGutter', s:diff_info_fg, 'none', 'bold')
+call s:_('DiffRemovedGutter', s:gh_danger_fg, 'none', 'bold')
+
+call s:_('DiffAddedGutterLineNr', 'none', 'none')
+call s:_('DiffModifiedGutterLineNr', 'none', 'none')
+call s:_('DiffRemovedGutterLineNr', 'none', 'none')
+
+" }}}
+" Additionnal/Common groups {{{1
+
+call s:_('DbgCurrent', '#DEEBFE', '#345FA8', '')
+call s:_('DbgBreakPt', '', '#4F0037', '')
+
+" Jumping around {{{
+
+call s:_('JumpTarget', s:red, '', 'bold')
+
+hi! link EasyMotionTargetDefault JumpTarget
+hi! link Sneak JumpTarget
+hi! link SneakPluginTarget JumpTarget
+hi! link SneakStreakTarget JumpTarget
+hi! link SneakStreakMask EasyMotionShadeDefault
+
+" }}}
+
+" Languages/Others {{{1
+
+" Help {{{2
+
+hi! link helpURL URL
+
+" PHP {{{2
+
+hi! link phpFunctions Function
+hi! link phpSuperglobal Identifier
+hi! link phpQuoteSingle StringDelimiter
+hi! link phpQuoteDouble StringDelimiter
+hi! link phpBoolean Constant
+hi! link phpNull Constant
+hi! link phpArrayPair Operator
+hi! link phpOperator Normal
+hi! link phpRelation Normal
+hi! link phpVarSelector Identifier
+
+" Python {{{2
+
+hi! link pythonOperator Operator
+
+" Ruby {{{2
+
+hi! link rubyRegexpDelimiter RegexpDelimiter
+hi! link rubyRegexp Regexp
+hi! link rubyRegexpSpecial RegexpSpecial
+hi! link rubyPredefinedIdentifier PredefinedIdentifier
+
+hi! link rubyClass Class
+hi! link rubyIdentifier Identifier
+hi! link rubyInstanceVariable InstanceVariable
+hi! link rubySymbol Symbol
+hi! link rubyControl Control
+
+hi! link rubySharpBang Comment
+hi! link rubyConstant Type
+hi! link rubyFunction Function
+
+hi! link rubyGlobalVariable rubyInstanceVariable
+hi! link rubyModule rubyClass
+
+hi! link rubyString String
+hi! link rubyStringDelimiter StringDelimiter
+hi! link rubyInterpolationDelimiter Identifier
+
+
+" Erlang {{{2
+
+hi! link erlangAtom rubySymbol
+hi! link erlangBIF rubyPredefinedIdentifier
+hi! link erlangFunction rubyPredefinedIdentifier
+hi! link erlangDirective Statement
+hi! link erlangNode Identifier
+
+" CoffeeScript {{{2
+
+hi! link coffeeRegExp rubyRegexp
+
+" Lua & Moonscript' {{{2
+
+hi! link luaOperator Conditional
+
+hi! link moonObject Type
+hi! link moonSpecialOp StringDelimiter
+hi! link moonSpecialVar Identifier
+hi! link moonObjAssign StorageClass
+hi! link moonObjAssign StorageClass
+hi! link moonConstant Global
+
+" Objective-C/Cocoa {{{2
+
+hi! link objcClass Type
+hi! link cocoaClass objcClass
+hi! link objcSubclass objcClass
+hi! link objcSuperclass objcClass
+hi! link objcDirective rubyClass
+hi! link cocoaFunction Function
+hi! link objcMethodName Identifier
+hi! link objcMethodArg Normal
+hi! link objcMessageName Identifier
+
+" 1}}}
+
+" 1}}}