mirror of
https://github.com/prurigro/darkcloud-nvimconfig.git
synced 2024-12-22 16:00:24 -05:00
441 lines
15 KiB
VimL
441 lines
15 KiB
VimL
"============================================================="
|
|
" "
|
|
" Darkcloud Neovim Config: theme "
|
|
" "
|
|
" By: Kevin MacMartin (prurigro@gmail.com) "
|
|
" Website: https://github.com/prurigro/darkcloud-nvimconfig "
|
|
" "
|
|
" License: MIT "
|
|
" "
|
|
"============================================================="
|
|
|
|
"remove all the colours before writing our own
|
|
hi clear
|
|
|
|
if exists("syntax_on")
|
|
syntax reset
|
|
endif
|
|
|
|
"declare the name of our theme
|
|
let colors_name = "darkcloud"
|
|
|
|
"declare the term type
|
|
if has("gui_running") || &termguicolors
|
|
let g:term_colors_type = "gui"
|
|
else
|
|
set notermguicolors "required to use cterm colors
|
|
let g:term_colors_type = "cterm"
|
|
endif
|
|
|
|
"sets the highlighting for the given group | format: s:C("Name","Foreground","Background","Style")
|
|
fun! s:C(group, fg, bg, attr)
|
|
if a:fg != ""
|
|
exec "hi " . a:group . " " . g:term_colors_type . "fg=" . a:fg
|
|
else
|
|
exec "hi " . a:group . " " . g:term_colors_type . "fg=NONE"
|
|
endif
|
|
|
|
if a:bg != ""
|
|
exec "hi " . a:group . " " . g:term_colors_type . "bg=" . a:bg
|
|
else
|
|
exec "hi " . a:group . " " . g:term_colors_type . "bg=NONE"
|
|
endif
|
|
|
|
if a:attr != ""
|
|
exec "hi " . a:group . " " . g:term_colors_type . "=" . a:attr
|
|
else
|
|
exec "hi " . a:group . " " . g:term_colors_type . "=NONE"
|
|
endif
|
|
endfun
|
|
|
|
"SYNTAX COLORS:
|
|
|
|
"SPELL CHECKING UNDERLINE: {{{
|
|
call s:C("SpellBad",g:cRed,"","italic,undercurl")
|
|
call s:C("SpellCap",g:cYellow,"","italic,undercurl")
|
|
call s:C("SpellLocal","","","")
|
|
call s:C("SpellRare","","","")
|
|
"}}}
|
|
|
|
"CORE: {{{
|
|
call s:C("Normal",g:cWhite,g:cDarkBg,"")
|
|
hi! link Conceal Normal
|
|
|
|
"cursor
|
|
call s:C("Cursor","",g:cDarkBg,"standout")
|
|
|
|
if &term != "linux"
|
|
call s:C("CursorColumn","",g:cLightBg,"")
|
|
call s:C("CursorLine","",g:cLightBg,"")
|
|
call s:C("CursorLineNr",g:cBlue,g:cLightBg,"bold")
|
|
else
|
|
call s:C("CursorColumn","","","")
|
|
call s:C("CursorLine","","","")
|
|
call s:C("CursorLineNr",g:cBlue,"","bold")
|
|
end
|
|
|
|
"line number
|
|
call s:C("LineNr",g:cGray4,"","bold")
|
|
|
|
"selected text
|
|
call s:C("Visual","","","standout")
|
|
|
|
"vertical split divider
|
|
call s:C("VertSplit",g:cGray1,"","")
|
|
|
|
"matched parenthesis
|
|
call s:C("MatchParen","","","underline,bold")
|
|
|
|
"whitespace
|
|
call s:C("ExtraWhiteSpace",g:cDarkRed,g:cDarkBg,"")
|
|
|
|
"menu call
|
|
call s:C("Pmenu",g:cBlue,g:cLightBg,"")
|
|
call s:C("PmenuSel",g:cBlue,g:cLightBg,"bold")
|
|
|
|
"search
|
|
call s:C("Search","","","standout")
|
|
hi! link IncSearch Search
|
|
hi! link IncSearchCursor IncSearch
|
|
hi! link IncSearchMatch Search
|
|
hi! link IncSearchMatchReverse Search
|
|
hi! link IncSearchOnCursor IncSearch
|
|
|
|
"quickfix
|
|
call s:C("QuickFixLine","","","bold,underline")
|
|
call s:C("qfLineNr",g:cYellow,"","")
|
|
|
|
"status line
|
|
call s:C("StatusLine","",g:cLightBg,"")
|
|
call s:C("WildMenu",g:cGray1,g:cLightBg,"")
|
|
hi! link StatusLineNC StatusLine
|
|
|
|
"folding
|
|
call s:C("FoldColumn",g:cWhite,"","bold")
|
|
call s:C("Folded",g:cBlue,g:cLightBg,"bold")
|
|
call s:C("SignColumn",g:cRed,"","bold")
|
|
hi! link ColorColumn SignColumn
|
|
|
|
"syntax style
|
|
call s:C("Boolean",g:cYellow,"","bold")
|
|
call s:C("Comment",g:cGray3,"","italic")
|
|
call s:C("Conditional",g:cYellow,"","")
|
|
call s:C("Constant",g:cBlue,"","bold")
|
|
call s:C("Delimiter",g:cWhite,"","")
|
|
call s:C("Directory",g:cBlue,"","")
|
|
call s:C("Function",g:cBlue,"","bold")
|
|
call s:C("Identifier",g:cBlue,"","bold")
|
|
call s:C("Keyword",g:cBlue,"","bold")
|
|
call s:C("Label",g:cRed,"","")
|
|
call s:C("NonText",g:cGray4,"","")
|
|
call s:C("Number",g:cRed,"","bold")
|
|
call s:C("Operator",g:cRed,"","")
|
|
call s:C("PreProc",g:cYellow,"","")
|
|
call s:C("Question",g:cBlue,"","")
|
|
call s:C("Special",g:cYellow,"","bold")
|
|
call s:C("SpecialKey",g:cGray3,"","")
|
|
call s:C("Statement",g:cYellow,"","")
|
|
call s:C("String",g:cWhite,"","bold")
|
|
call s:C("StringDelimiter",g:cGray2,"","")
|
|
call s:C("Tag",g:cYellow,"","")
|
|
call s:C("Title",g:cRed,"","bold")
|
|
call s:C("Todo",g:cRed,"","bold")
|
|
call s:C("Type",g:cRed,"","bold")
|
|
call s:C("Typedef",g:cRed,"","bold")
|
|
hi! link Character String
|
|
hi! link Float Number
|
|
hi! link Include Keyword
|
|
hi! link MoreMsg Special
|
|
hi! link SpecialChar String
|
|
hi! link StorageClass Type
|
|
hi! link Structure PreProc
|
|
|
|
"errors
|
|
call s:C("Error",g:cRed,g:cBlack,"standout")
|
|
hi! link ErrorMsg Error
|
|
hi! link WarningMsg Error
|
|
|
|
"diff
|
|
call s:C("DiffAdd",g:cYellow,"","standout")
|
|
call s:C("DiffAdded",g:cBlue,"","bold")
|
|
call s:C("DiffChange",g:cBlue,"","standout")
|
|
call s:C("DiffDelete",g:cRed,"","standout")
|
|
call s:C("DiffFile","","","")
|
|
call s:C("DiffRemoved",g:cRed,"","bold")
|
|
call s:C("DiffText",g:cGray2,"","standout")
|
|
call s:C("diffIndexLine",g:cGray2,"","italic")
|
|
call s:C("diffNewFile",g:cBlue,"","bold,italic")
|
|
call s:C("diffOldFile",g:cRed,"","bold,italic")
|
|
"}}}
|
|
|
|
"LANGUAGE: {{{
|
|
"c
|
|
call s:C("cBraces",g:cYellow,"","")
|
|
hi! link cBlock String
|
|
hi! link cBlock cBraces
|
|
hi! link cNumbersCom Number
|
|
|
|
"coffeeScript
|
|
hi! link coffeeRegExp javaScriptRegexpString
|
|
|
|
"css/sass
|
|
call s:C("cssBraces",g:cBlue,"","")
|
|
call s:C("cssValueNumber",g:cYellow,"","bold")
|
|
call s:C("sassAmpersand",g:cBlue,"","bold")
|
|
call s:C("sassClass",g:cGray1,"","bold")
|
|
call s:C("sassClassChar",g:cBlue,"","bold")
|
|
call s:C("sassDefinition",g:cGray2,"","bold")
|
|
call s:C("sassMediaQuery",g:cGray2,"","bold")
|
|
call s:C("sassMixinName",g:cGray2,"","bold")
|
|
hi! link sassProperty Type
|
|
|
|
"dosini
|
|
hi! link dosiniLabel Function
|
|
|
|
"gitcommit
|
|
call s:C("gitcommitFile",g:cRed,"","")
|
|
call s:C("gitcommitSummary",g:cWhite,"","")
|
|
call s:C("gitcommitType",g:cBlue,"","")
|
|
|
|
"html
|
|
call s:C("htmlArg",g:cRed,"","bold")
|
|
call s:C("htmlBold",g:cWhite,"","bold")
|
|
call s:C("htmlH1",g:cRed,"","bold")
|
|
call s:C("htmlH2",g:cBlue,"","bold")
|
|
call s:C("htmlH3",g:cYellow,"","bold")
|
|
call s:C("htmlH4",g:cRed,"","italic")
|
|
call s:C("htmlH5",g:cBlue,"","italic")
|
|
call s:C("htmlH6",g:cYellow,"","italic")
|
|
call s:C("htmlLink",g:cRed,"","")
|
|
call s:C("htmlSpecialChar","","","italic")
|
|
call s:C("htmlTagName",g:cYellow,"","bold")
|
|
|
|
"javaScript
|
|
call s:C("jsBracket",g:cYellow,"","bold")
|
|
call s:C("jsExport",g:cRed,"","bold")
|
|
call s:C("jsFrom",g:cRed,"","bold")
|
|
call s:C("jsFuncBlock",g:cBlue,"","")
|
|
call s:C("jsImport",g:cRed,"","bold")
|
|
call s:C("jsModuleKeyword",g:cYellow,"","bold")
|
|
call s:C("jsObjectKey",g:cBlue,"","")
|
|
call s:C("jsObjectProp",g:cBlue,"","")
|
|
call s:C("jsReturn",g:cRed,"","bold")
|
|
hi! link jsBraces Delimiter
|
|
hi! link jsDomElemAttrs jsSpecial
|
|
hi! link jsDomElemFuncs jsFunction
|
|
hi! link jsHtmlEvents jsSpecial
|
|
hi! link jsParens Delimiter
|
|
|
|
"json
|
|
autocmd BufEnter,FileType json hi! link Label Constant
|
|
autocmd BufEnter,FileType json hi! link Number Todo
|
|
autocmd BufEnter,FileType json hi! link String Statement
|
|
|
|
"markdown
|
|
call s:C("mkdCode",g:cYellow,g:cLightBg,"")
|
|
call s:C("mkdURL",g:cGray3,"","")
|
|
hi! link mkdIndentCode mkdCode
|
|
|
|
"objective-c/cocoa
|
|
hi! link cocoaClass objcClass
|
|
hi! link cocoaFunction Function
|
|
hi! link objcClass Type
|
|
hi! link objcDirective Type
|
|
hi! link objcMessageName Identifier
|
|
hi! link objcMethodArg Normal
|
|
hi! link objcMethodName Identifier
|
|
hi! link objcStatement Constant
|
|
hi! link objcSubclass objcClass
|
|
hi! link objcSuperclass objcClass
|
|
|
|
"php
|
|
call s:C("phpIdentifier",g:cBlue,"","")
|
|
call s:C("phpRelation",g:cYellow,"","")
|
|
hi! link phpArrayPair Operator
|
|
hi! link phpNull Constant
|
|
hi! link phpSuperglobal Identifier
|
|
|
|
"ruby
|
|
call s:C("rubyGlobalVariable","","","bold")
|
|
hi! link rubyClass Type
|
|
hi! link rubyConstant Type
|
|
hi! link rubyGlobalVariable rubyInstanceVariable
|
|
hi! link rubyInterpolationDelimiter Identifier
|
|
hi! link rubyModule rubyClass
|
|
hi! link rubyPredefinedIdentifier PreProc
|
|
hi! link rubySharpBang Comment
|
|
|
|
"sh
|
|
call s:C("shAlias",g:cBlue,"","bold")
|
|
call s:C("shVariable",g:cBlue,"","bold")
|
|
|
|
"systemd unit files
|
|
hi! link sdBindIPv6 sdValue
|
|
hi! link sdBool sdValue
|
|
hi! link sdCPUSchedPol sdValue
|
|
hi! link sdCapability sdDevAllow
|
|
hi! link sdDatasize sdValue
|
|
hi! link sdDevAllow Keyword
|
|
hi! link sdDocURI sdFilename
|
|
hi! link sdExecArgs sdExecFile
|
|
hi! link sdExecFile sdFilename
|
|
hi! link sdFileList sdFilename
|
|
hi! link sdFilename String
|
|
hi! link sdIOSchedClass sdValue
|
|
hi! link sdIOSchedPrio sdValue
|
|
hi! link sdIPTOS Label
|
|
hi! link sdKey Identifier
|
|
hi! link sdOtherSignal sdValue
|
|
hi! link sdServiceBlock sdValue
|
|
hi! link sdSocketBlock Operator
|
|
hi! link sdSymbol sdValue
|
|
hi! link sdTCPCongest Label
|
|
hi! link sdUnitBlock Comment
|
|
hi! link sdValue PreProc
|
|
"}}}
|
|
|
|
"MISC: {{{
|
|
"email
|
|
hi! link mailHeaderKey Identifier
|
|
|
|
"signify
|
|
call s:C("SignifySignAdd",g:cYellow,"","bold")
|
|
call s:C("SignifySignChange",g:cYellow,"","bold")
|
|
call s:C("SignifySignDelete",g:cRed,"","bold")
|
|
hi! link SignifyLineAdd DiffAdd
|
|
hi! link SignifyLineChange DiffChange
|
|
hi! link SignifyLineDelete DiffDelete
|
|
|
|
"diagnostics
|
|
call s:C("ALEError",g:cDarkRed,"","")
|
|
call s:C("ALEWarning",g:cDarkYellow,"","")
|
|
call s:C("ALEInfo",g:cDarkBlue,"","")
|
|
|
|
call s:C("DiagnosticError",g:cDarkRed,"","italic")
|
|
call s:C("DiagnosticWarn",g:cDarkYellow,"","italic")
|
|
call s:C("DiagnosticInfo",g:cDarkBlue,"","italic")
|
|
call s:C("DiagnosticHint",g:cGray3,"","italic")
|
|
call s:C("DiagnosticOk",g:cWhite,"","italic")
|
|
call s:C("DiagnosticDeprecated",g:cGray1,"","italic")
|
|
call s:C("DiagnosticUnnecessary",g:cGray1,"","italic")
|
|
"}}}
|
|
|
|
"TREESITTER: {{{
|
|
if has("nvim")
|
|
call s:C("@attribute",g:cRed,"","")
|
|
call s:C("@boolean",g:cYellow,"","bold")
|
|
call s:C("@character",g:cWhite,"","bold")
|
|
call s:C("@constant",g:cBlue,"","bold")
|
|
call s:C("@constructor",g:cGray2,"","")
|
|
call s:C("@danger",g:cRed,"","bold")
|
|
call s:C("@error",g:cRed,"","bold")
|
|
call s:C("@exception",g:cRed,"","")
|
|
call s:C("@field",g:cBlue,"","italic")
|
|
call s:C("@float",g:cYellow,"","bold")
|
|
call s:C("@function",g:cGray2,"","bold")
|
|
call s:C("@function.builtin",g:cYellow,"","")
|
|
call s:C("@function.call",g:cGray2,"","bold")
|
|
call s:C("@function.macro",g:cGray2,"","italic")
|
|
call s:C("@function.method",g:cGray2,"","bold")
|
|
call s:C("@include",g:cBlue,"","bold")
|
|
call s:C("@keyword",g:cRed,"","bold")
|
|
call s:C("@keyword.directive",g:cGray3,"","italic")
|
|
call s:C("@keyword.function",g:cBlue,"","bold")
|
|
call s:C("@keyword.import",g:cYellow,"","bold")
|
|
call s:C("@label",g:cWhite,"","")
|
|
call s:C("@namespace",g:cGray2,"","")
|
|
call s:C("@none",g:cWhite,"","")
|
|
call s:C("@number",g:cRed,"","bold")
|
|
call s:C("@operator",g:cYellow,"","")
|
|
call s:C("@parameter",g:cYellow,"","")
|
|
call s:C("@parameter.reference",g:cYellow,"","bold")
|
|
call s:C("@property",g:cBlue,"","")
|
|
call s:C("@punctuation",g:cGray2,"","")
|
|
call s:C("@punctuation.special",g:cBlue,"","bold")
|
|
call s:C("@repeat",g:cBlue,"","")
|
|
call s:C("@string",g:cWhite,"","bold")
|
|
call s:C("@string.escape",g:cYellow,"","")
|
|
call s:C("@string.regexp",g:cWhite,"","bold,italic")
|
|
call s:C("@symbol",g:cRed,"","")
|
|
call s:C("@tag",g:cYellow,"","bold")
|
|
call s:C("@tag.attribute",g:cBlue,"","bold")
|
|
call s:C("@tag.delimiter",g:cBlue,"","bold")
|
|
call s:C("@text",g:cWhite,"","")
|
|
call s:C("@text.diff.add",g:cYellow,"","")
|
|
call s:C("@text.diff.change",g:cBlue,"","")
|
|
call s:C("@text.diff.delete",g:cRed,"","")
|
|
call s:C("@text.emphasis","","","italic")
|
|
call s:C("@text.environment",g:cWhite,"","")
|
|
call s:C("@text.math","","","bold,italic")
|
|
call s:C("@text.reference",g:cWhite,"","")
|
|
call s:C("@text.strike","","","strikethrough")
|
|
call s:C("@text.strong","","","bold")
|
|
call s:C("@text.todo",g:cGray2,"","")
|
|
call s:C("@text.underline","","","underline")
|
|
call s:C("@text.uri",g:cDarkYellow,"","bold")
|
|
call s:C("@type",g:cBlue,"","bold")
|
|
call s:C("@type.qualifier",g:cYellow,"","bold")
|
|
call s:C("@variable",g:cBlue,"","")
|
|
call s:C("@variable.builtin",g:cYellow,"","bold")
|
|
call s:C("@variable.member",g:cBlue,"","bold")
|
|
call s:C("@variable.parameter",g:cYellow,"","")
|
|
call s:C("@warning",g:cRed,"","")
|
|
hi! link @annotation @comment
|
|
hi! link @comment Comment
|
|
hi! link @conditional Conditional
|
|
hi! link @method @function
|
|
hi! link @note @comment
|
|
|
|
"css
|
|
call s:C("@function.css",g:cBlue,"","")
|
|
call s:C("@keyword.directive.css",g:cYellow,"","")
|
|
call s:C("@number.css",g:cYellow,"","bold")
|
|
call s:C("@number.float.css",g:cYellow,"","bold")
|
|
call s:C("@property.css",g:cRed,"","bold")
|
|
call s:C("@punctuation.delimiter.css",g:cGray2,"","")
|
|
call s:C("@tag.css",g:cYellow,"","")
|
|
call s:C("@type.css",g:cRed,"","bold")
|
|
call s:C("@variable.css",g:cBlue,"","")
|
|
hi! link @punctuation.bracket.css @punctuation.delimiter.css
|
|
|
|
"diff
|
|
call s:C("@attribute.diff",g:cYellow,"","")
|
|
call s:C("@constant.diff","","","")
|
|
call s:C("@function.diff",g:cRed,"","bold")
|
|
call s:C("@keyword.diff","","","")
|
|
call s:C("@number.diff","","","")
|
|
call s:C("@punctuation.special.diff","","","")
|
|
call s:C("@string.special.path.diff","","","")
|
|
hi! link @diff.minus DiffRemoved
|
|
hi! link @diff.plus DiffAdded
|
|
|
|
"scss
|
|
call s:C("@attribute.scss","","","")
|
|
call s:C("@character.special.scss",g:cBlue,"","bold")
|
|
call s:C("@function.scss","","","")
|
|
call s:C("@keyword.import.scss",g:cYellow,"","bold")
|
|
call s:C("@keyword.modifier.scss","","","")
|
|
call s:C("@keyword.operator.scss","","","")
|
|
call s:C("@keyword.repeat.scss","","","")
|
|
call s:C("@keyword.scss","","","")
|
|
call s:C("@operator.scss","","","")
|
|
call s:C("@property.scss","","","")
|
|
call s:C("@punctuation.bracket.scss","","","")
|
|
call s:C("@punctuation.delimiter.scss",g:cGray2,"","")
|
|
call s:C("@string.scss","","","")
|
|
call s:C("@tag.scss","","","")
|
|
call s:C("@type.scss","","","")
|
|
call s:C("@variable.parameter.scss","","","")
|
|
call s:C("@variable.scss","","","")
|
|
hi! link @keyword.directive.scss @keyword.directive.css
|
|
hi! link @number.float.scss @number.float.css
|
|
hi! link @number.scss @number.css
|
|
|
|
"vue
|
|
call s:C("@function.method.vue",g:cRed,"","bold")
|
|
endif
|
|
"}}}
|
|
|
|
"cleanup {{{
|
|
delf s:C
|
|
"}}}
|