Tobias Manske
9409a9f949
Changed the colour of the active line indicator from yellow to red. It's better visible during edits than yellow. Signed-off-by: Tobias Manske <tobias.manske@mailbox.org>
362 lines
10 KiB
VimL
362 lines
10 KiB
VimL
" # Happy Hacking
|
|
"
|
|
" Happy Hacking is a color scheme heavily inspired by Autumn
|
|
" (https://github.com/yorickpeterse/autumn.vim). The main differences between
|
|
" the two themes are various small tweaks to the colors, an easier to maintain
|
|
" codebase and a much wider range of supported languages. On top of that
|
|
" various inconsistencies that were present in Autumn have been resolved.
|
|
"
|
|
" As with any Vim color scheme the overall look and feel heavily depends on how
|
|
" accurate a syntax highlighter for a language is. For example, the Ruby syntax
|
|
" highlighter is fairly accurate and allows you to customize a lot whereas for
|
|
" example C has a more generic highlighting setup. At worst this will result in
|
|
" a bit more heavy use of red as it's one of the base colors of this theme.
|
|
"
|
|
" Author: Yorick Peterse
|
|
" License: MIT
|
|
" Website: https://github.com/yorickpeterse/happy_hacking.vim
|
|
"
|
|
|
|
set background=dark
|
|
set t_Co=256
|
|
|
|
hi clear
|
|
|
|
if exists("syntax_on")
|
|
syntax reset
|
|
end
|
|
|
|
let colors_name = "happy_hacking"
|
|
|
|
" ============================================================================
|
|
" GUI Colors
|
|
"
|
|
" This section defines all the colors to use when running Vim as a GUI (Gvim,
|
|
" Macvim, etc). These colors are *not* used when Vim is run in a terminal.
|
|
|
|
let s:white = "#F3F2CC"
|
|
let s:black1 = "#000000"
|
|
let s:black2 = "#202020"
|
|
let s:yellow = "#FAD566"
|
|
let s:blue = "#81A2C7"
|
|
let s:green = "#8daf67"
|
|
let s:turqoise = "#B3EBBF"
|
|
let s:orange = "#FAA166"
|
|
let s:pink = "#F77EBD"
|
|
let s:red = "#F05E48"
|
|
let s:gray1 = "#292929"
|
|
let s:gray2 = "#525252"
|
|
let s:gray3 = "#6c6c6c"
|
|
let s:gray4 = "#7c7c7c"
|
|
let s:gray5 = "#aaaaaa"
|
|
let s:gray6 = "#393939"
|
|
|
|
" ============================================================================
|
|
" Terminal Colors
|
|
"
|
|
" This section defines all the colors that are used when Vim is run inside a
|
|
" terminal instead of a GUI.
|
|
|
|
let s:t_white = "230"
|
|
let s:t_black1 = "16"
|
|
let s:t_black2 = "16"
|
|
let s:t_yellow = "221"
|
|
let s:t_blue = "103"
|
|
let s:t_green = "107"
|
|
let s:t_turqoise = "157"
|
|
let s:t_orange = "179"
|
|
let s:t_pink = "211"
|
|
let s:t_gold = "186"
|
|
let s:t_red = "203"
|
|
let s:t_gray1 = "235"
|
|
let s:t_gray2 = "59"
|
|
let s:t_gray3 = "59"
|
|
let s:t_gray4 = "102"
|
|
let s:t_gray5 = "145"
|
|
let s:t_gray6 = "237"
|
|
|
|
" ============================================================================
|
|
" Color Functions
|
|
|
|
" Function for creating a highlight group with a GUI/Terminal foreground and
|
|
" background. No font styling is applied.
|
|
function! s:Color(group, fg, bg, t_fg, t_bg, ...)
|
|
if empty(a:0)
|
|
let style = "NONE"
|
|
else
|
|
let style = a:1
|
|
end
|
|
|
|
exe "hi " . a:group . " guifg=" . a:fg . " guibg=" . a:bg
|
|
\ . " ctermfg=" . a:t_fg
|
|
\ . " ctermbg=" . a:t_bg
|
|
\ . " gui=" . style
|
|
\ . " cterm=" . style
|
|
endfunction
|
|
|
|
" ============================================================================
|
|
" General Syntax Elements
|
|
"
|
|
" Definitions for generic syntax elements such as strings and numbers.
|
|
|
|
call s:Color("Pmenu", s:white, s:black2, s:t_white, s:t_gray6)
|
|
" Modified Pmenu! original white black2 t_white t_black
|
|
" ~rad4day
|
|
call s:Color("PmenuSel", s:white, s:gray2, s:t_white, s:t_gray2)
|
|
call s:Color("Cursor", "NONE", s:gray2, "NONE", s:t_gray2)
|
|
call s:Color("Normal", s:white, s:gray1, s:t_white, s:t_gray1)
|
|
call s:Color("Search", s:yellow, "NONE", s:t_yellow, "NONE", "bold")
|
|
call s:Color("Title", s:white, "NONE", s:t_white, "NONE", "bold")
|
|
|
|
call s:Color("LineNr", s:gray3, "NONE", s:t_gray3, "NONE")
|
|
call s:Color("StatusLine", s:white, s:gray6, s:t_white, s:t_gray6)
|
|
call s:Color("StatusLineNC", s:gray4, s:gray6, s:t_gray4, s:t_gray6)
|
|
call s:Color("VertSplit", s:gray3, "NONE", s:t_gray3, "NONE")
|
|
call s:Color("ColorColumn", "NONE", s:gray6, "NONE", s:t_gray6)
|
|
|
|
call s:Color("Folded", s:gray4, "NONE", s:t_gray4, "NONE")
|
|
call s:Color("FoldColumn", s:gray3, s:gray1, s:t_gray3, s:t_gray1)
|
|
call s:Color("ErrorMsg", s:red, "NONE", s:t_red, "NONE", "bold")
|
|
call s:Color("WarningMsg", s:yellow, "NONE", s:t_yellow, "NONE", "bold")
|
|
call s:Color("Question", s:white, "NONE", s:t_white, "NONE")
|
|
|
|
call s:Color("SpecialKey", s:white, s:gray2, s:t_white, s:t_gray2)
|
|
call s:Color("Directory", s:blue, "NONE", s:t_blue, "NONE")
|
|
|
|
call s:Color("Comment", s:gray4, "NONE", s:t_gray4, "NONE")
|
|
call s:Color("Todo", s:gray5, "NONE", s:t_gray5, "NONE")
|
|
call s:Color("String", s:green, "NONE", s:t_green, "NONE")
|
|
call s:Color("Keyword", s:red, "NONE", s:t_red, "NONE")
|
|
call s:Color("Number", s:turqoise, "NONE", s:t_turqoise, "NONE")
|
|
call s:Color("Regexp", s:orange, "NONE", s:t_orange, "NONE")
|
|
call s:Color("Macro", s:orange, "NONE", s:t_orange, "NONE")
|
|
call s:Color("Function", s:yellow, "NONE", s:t_yellow, "NONE")
|
|
call s:Color("Notice", s:yellow, "NONE", s:t_yellow, "NONE")
|
|
|
|
call s:Color("MatchParen", "NONE", "NONE", "NONE", "NONE", "bold")
|
|
|
|
hi! link CursorLine Cursor
|
|
hi! link Identifier Normal
|
|
hi! link Constant Normal
|
|
hi! link Operator Normal
|
|
hi! link Type Keyword
|
|
hi! link Statement Keyword
|
|
hi! link PmenuThumb PmenuSel
|
|
hi! link Visual Cursor
|
|
hi! link SignColumn FoldColumn
|
|
hi! link Error ErrorMsg
|
|
hi! link NonText LineNr
|
|
hi! link PreProc Normal
|
|
hi! link Special Normal
|
|
hi! link Boolean Keyword
|
|
hi! link StorageClass Keyword
|
|
hi! link MoreMsg Normal
|
|
hi! link Character String
|
|
hi! link Label Special
|
|
hi! link PreCondit Macro
|
|
|
|
" ============================================================================
|
|
" Specific Languages
|
|
"
|
|
" Language specific settings that would otherwise be too generic. These
|
|
" definitions are sorted in alphabetical order.
|
|
|
|
" Coffeescript
|
|
hi! link coffeeRegex Regexp
|
|
hi! link coffeeSpecialIdent Directory
|
|
|
|
" CSS
|
|
hi! link cssIdentifier Title
|
|
hi! link cssClassName Directory
|
|
hi! link cssMedia Notice
|
|
hi! link cssColor Number
|
|
hi! link cssTagName Normal
|
|
hi! link cssImportant Notice
|
|
|
|
" CtrlP
|
|
hi! link CtrlPBufferHid Todo
|
|
hi! link CtrlPBufferPath Todo
|
|
|
|
call s:Color("CtrlPMode1", s:white, s:gray1, s:t_white, s:t_gray1, "bold")
|
|
|
|
" D
|
|
hi! link dDebug Notice
|
|
hi! link dOperator Operator
|
|
hi! link dStorageClass Keyword
|
|
hi! link dAnnotation Directory
|
|
hi! link dAttribute dAnnotation
|
|
|
|
" Diffs
|
|
hi! link diffFile WarningMsg
|
|
hi! link diffLine Number
|
|
hi! link diffAdded String
|
|
hi! link diffRemoved Keyword
|
|
|
|
hi! link DiffChange Notice
|
|
hi! link DiffAdd diffAdded
|
|
hi! link DiffDelete diffRemoved
|
|
hi! link DiffText diffLine
|
|
|
|
" Dot (GraphViz)
|
|
hi! link dotKeyChar Normal
|
|
|
|
" Git commits
|
|
hi! link gitCommitSummary String
|
|
hi! link gitCommitOverflow ErrorMsg
|
|
|
|
" HAML
|
|
hi! link hamlId Title
|
|
hi! link hamlClass Directory
|
|
hi! link htmlArg Normal
|
|
hi! link hamlDocType Comment
|
|
|
|
" HTML
|
|
hi! link htmlLink Directory
|
|
hi! link htmlSpecialTagName htmlTag
|
|
hi! link htmlTagName htmlTag
|
|
hi! link htmlScriptTag htmlTag
|
|
|
|
" Javascript
|
|
hi! link javaScriptBraces Normal
|
|
hi! link javaScriptMember Normal
|
|
hi! link javaScriptIdentifier Keyword
|
|
hi! link javaScriptFunction Keyword
|
|
hi! link JavaScriptNumber Number
|
|
|
|
" Java
|
|
hi! link javaCommentTitle javaComment
|
|
hi! link javaDocTags Todo
|
|
hi! link javaDocParam Todo
|
|
hi! link javaStorageClass Keyword
|
|
hi! link javaAnnotation Directory
|
|
hi! link javaExternal Keyword
|
|
|
|
" JSON
|
|
hi! link jsonKeyword String
|
|
|
|
" Less
|
|
hi! link lessClass cssClassName
|
|
|
|
" Make
|
|
hi! link makeTarget Function
|
|
|
|
" Markdown
|
|
hi! link markdownCodeBlock Todo
|
|
hi! link markdownCode markdownCodeBlock
|
|
hi! link markdownListMarker Keyword
|
|
hi! link markdownOrderedListMarker Keyword
|
|
|
|
" NERDTree
|
|
hi! link NERDTreeRO Notice
|
|
hi! link NERDTreeCWD Title
|
|
hi! link NERDTreeLink Number
|
|
hi! link NERDTreeDir Directory
|
|
hi! link NERDTreeOpenable NERDTreeDir
|
|
hi! link NERDTreeClosable NERDTreeDir
|
|
|
|
" Perl
|
|
hi! link podCommand Comment
|
|
hi! link podCmdText Todo
|
|
hi! link podVerbatimLine Todo
|
|
hi! link perlStatementInclude Statement
|
|
hi! link perlStatementPackage Statement
|
|
hi! link perlPackageDecl Normal
|
|
|
|
" Ragel
|
|
hi! link rlAugmentOps Operator
|
|
|
|
" Ruby
|
|
hi! link rubySymbol Regexp
|
|
hi! link rubyConstant Constant
|
|
hi! link rubyInstanceVariable Directory
|
|
hi! link rubyClassVariable rubyInstancevariable
|
|
hi! link rubyClass Keyword
|
|
hi! link rubyModule rubyClass
|
|
hi! link rubyFunction Function
|
|
hi! link rubyDefine Keyword
|
|
hi! link rubyRegexp Regexp
|
|
hi! link rubyRegexpSpecial Regexp
|
|
hi! link rubyRegexpCharClass Normal
|
|
hi! link rubyRegexpQuantifier Normal
|
|
|
|
" Rust
|
|
hi! link rustFuncCall Identifier
|
|
hi! link rustCommentBlockDoc Comment
|
|
hi! link rustCommentLineDoc Comment
|
|
|
|
" SASS
|
|
hi! link sassClass cssClassName
|
|
hi! link sassId cssIdentifier
|
|
hi! link sassInclude cssMedia
|
|
|
|
" Shell
|
|
hi! link shFunctionKey Keyword
|
|
hi! link shTestOpr Operator
|
|
hi! link bashStatement Normal
|
|
|
|
" SQL
|
|
hi! link sqlKeyword Keyword
|
|
|
|
" TypeScript
|
|
hi! link typescriptBraces Normal
|
|
hi! link typescriptEndColons Normal
|
|
hi! link typescriptFunction Function
|
|
hi! link typescriptFuncKeyword Keyword
|
|
hi! link typescriptLogicSymbols Operator
|
|
hi! link typescriptIdentifier Keyword
|
|
hi! link typescriptExceptions Keyword
|
|
|
|
" Vimscript
|
|
hi! link vimGroup Constant
|
|
hi! link vimHiGroup Constant
|
|
hi! link VimIsCommand Constant
|
|
hi! link VimCommentTitle Todo
|
|
|
|
" YAML
|
|
hi! link yamlPlainScalar String
|
|
|
|
" YARD
|
|
hi! link yardType Todo
|
|
hi! link yardTypeList Todo
|
|
hi! link yardComment Comment
|
|
|
|
" XML
|
|
hi! link xmlTagName Normal
|
|
hi! link xmlTag Normal
|
|
hi! link xmlAttrib Normal
|
|
|
|
" Neomake
|
|
hi! link NeomakeWarningSign WarningMsg
|
|
hi! link NeomakeErrorSign Error
|
|
hi! link NeomakeWarning WarningMsg
|
|
|
|
" Wild menu completion
|
|
hi! link WildMenu PmenuSel
|
|
|
|
" Vim tabline
|
|
hi! link TabLine StatusLine
|
|
hi! link TabLineFill StatusLine
|
|
|
|
call s:Color("TabLineSel", s:white, s:gray2, s:t_white, s:t_gray2, "bold")
|
|
|
|
" Line numbers
|
|
call s:Color("CursorLineNR", s:red, "NONE", s:t_red, "NONE", "bold")
|
|
|
|
" Neovim terminal colors
|
|
let g:terminal_color_0 = s:black1
|
|
let g:terminal_color_1 = s:red
|
|
let g:terminal_color_2 = s:green
|
|
let g:terminal_color_3 = s:yellow
|
|
let g:terminal_color_4 = s:blue
|
|
let g:terminal_color_5 = s:pink
|
|
let g:terminal_color_6 = s:turqoise
|
|
let g:terminal_color_7 = s:white
|
|
let g:terminal_color_8 = s:black1
|
|
let g:terminal_color_9 = s:red
|
|
let g:terminal_color_10 = s:green
|
|
let g:terminal_color_11 = s:yellow
|
|
let g:terminal_color_12 = s:blue
|
|
let g:terminal_color_13 = s:pink
|
|
let g:terminal_color_14 = s:turqoise
|
|
let g:terminal_color_15 = s:white
|