• vim color


      1 " File:       dracula.vim
      2 " Maintainer: Crusoe Xia (crusoexia)
      3 " URL:        https://github.com/crusoexia/vim-dracula
      4 " License:    MIT
      5 "
      6 " Configuration:
      7 "
      8 "   * Enable italic
      9 "
     10 "       let g:dracula_italic = 1
     11 
     12 " Initialisation
     13 " --------------
     14 
     15 if ! has("gui_running") && &t_Co < 256
     16   finish
     17 endif
     18 
     19 if ! exists("g:dracula_italic")
     20     let g:dracula_italic = 0
     21 endif
     22 
     23 set background=dark
     24 hi clear
     25 
     26 if exists("syntax_on")
     27   syntax reset
     28 endif
     29 
     30 let colors_name = "dracula"
     31 
     32 " Palettes
     33 " --------
     34 
     35 if has("gui_running")
     36   let s:vmode      = "gui"
     37   let s:background = "#323342"
     38   let s:foreground = "#F2F2EC"
     39   let s:window     = "#7272A5"
     40   let s:linenr     = "#898A8D"
     41   let s:line       = "#3C3E54"
     42   let s:darkcolumn = "#2D2F3B"
     43   let s:selection  = "#54576A"
     44   let s:comment    = "#7283BF"
     45   let s:error      = "#5F0000"
     46  
     47   let s:pink       = "#FF79C6"
     48   let s:green      = "#50FA7B"
     49   let s:aqua       = "#8BE9FD"
     50   let s:yellow     = "#F1FA8C"
     51   let s:orange     = "#FFB86C"
     52   let s:purple     = "#BD93F9"
     53   let s:red        = "#FF5555"
     54 
     55   let s:addfg      = "#F8F8F2"
     56   let s:addbg      = "#468410"
     57   let s:delfg      = "#8B080B"
     58   let s:changefg   = "#F8F8F2"
     59   let s:changebg   = "#243A5F"
     60 else
     61   let s:vmode      = "cterm"
     62   let s:background = "235"
     63   let s:foreground = "231"
     64   let s:window     = "60"
     65   let s:linenr     = "240"
     66   let s:line       = "236"
     67   let s:darkcolumn = "234"
     68   let s:selection  = "238"
     69   let s:comment    = "61"
     70   let s:error      = "52"
     71  
     72   let s:pink       = "212"
     73   let s:green      = "84"
     74   let s:aqua       = "117"
     75   let s:yellow     = "228"
     76   let s:orange     = "215"
     77   let s:purple     = "141"
     78   let s:red        = "231"
     79 
     80   let s:addfg      = "231"
     81   let s:addbg      = "64"
     82   let s:delfg      = "88"
     83   let s:changefg   = "231"
     84   let s:changebg   = "23"
     85 endif
     86 
     87 " Formatting Options
     88 " ------------------
     89 
     90 let s:none   = "NONE"
     91 let s:t_none = "NONE"
     92 let s:n      = "NONE"
     93 let s:c      = ",undercurl"
     94 let s:r      = ",reverse"
     95 let s:s      = ",standout"
     96 let s:b      = ",bold"
     97 let s:u      = ",underline"
     98 let s:i      = ",italic"
     99 
    100 " Highlighting Primitives
    101 " -----------------------
    102 
    103 exe "let s:bg_none       = ' ".s:vmode."bg=".s:none      ."'"
    104 exe "let s:bg_foreground = ' ".s:vmode."bg=".s:foreground."'"
    105 exe "let s:bg_background = ' ".s:vmode."bg=".s:background."'"
    106 exe "let s:bg_selection  = ' ".s:vmode."bg=".s:selection ."'"
    107 exe "let s:bg_line       = ' ".s:vmode."bg=".s:line      ."'"
    108 exe "let s:bg_linenr     = ' ".s:vmode."bg=".s:linenr    ."'"
    109 exe "let s:bg_comment    = ' ".s:vmode."bg=".s:comment   ."'"
    110 exe "let s:bg_red        = ' ".s:vmode."bg=".s:red       ."'"
    111 exe "let s:bg_orange     = ' ".s:vmode."bg=".s:orange    ."'"
    112 exe "let s:bg_yellow     = ' ".s:vmode."bg=".s:yellow    ."'"
    113 exe "let s:bg_green      = ' ".s:vmode."bg=".s:green     ."'"
    114 exe "let s:bg_aqua       = ' ".s:vmode."bg=".s:aqua      ."'"
    115 exe "let s:bg_purple     = ' ".s:vmode."bg=".s:purple    ."'"
    116 exe "let s:bg_pink       = ' ".s:vmode."bg=".s:pink      ."'"
    117 exe "let s:bg_window     = ' ".s:vmode."bg=".s:window    ."'"
    118 exe "let s:bg_darkcolumn = ' ".s:vmode."bg=".s:darkcolumn."'"
    119 exe "let s:bg_addbg      = ' ".s:vmode."bg=".s:addbg     ."'"
    120 exe "let s:bg_addfg      = ' ".s:vmode."bg=".s:addfg     ."'"
    121 exe "let s:bg_changebg   = ' ".s:vmode."bg=".s:changebg  ."'"
    122 exe "let s:bg_changefg   = ' ".s:vmode."bg=".s:changefg  ."'"
    123 exe "let s:bg_error      = ' ".s:vmode."bg=".s:error     ."'"
    124 
    125 exe "let s:fg_none       = ' ".s:vmode."fg=".s:none      ."'"
    126 exe "let s:fg_foreground = ' ".s:vmode."fg=".s:foreground."'"
    127 exe "let s:fg_background = ' ".s:vmode."fg=".s:background."'"
    128 exe "let s:fg_selection  = ' ".s:vmode."fg=".s:selection ."'"
    129 exe "let s:fg_line       = ' ".s:vmode."fg=".s:line      ."'"
    130 exe "let s:fg_linenr     = ' ".s:vmode."fg=".s:linenr    ."'"
    131 exe "let s:fg_comment    = ' ".s:vmode."fg=".s:comment   ."'"
    132 exe "let s:fg_red        = ' ".s:vmode."fg=".s:red       ."'"
    133 exe "let s:fg_orange     = ' ".s:vmode."fg=".s:orange    ."'"
    134 exe "let s:fg_yellow     = ' ".s:vmode."fg=".s:yellow    ."'"
    135 exe "let s:fg_green      = ' ".s:vmode."fg=".s:green     ."'"
    136 exe "let s:fg_aqua       = ' ".s:vmode."fg=".s:aqua      ."'"
    137 exe "let s:fg_purple     = ' ".s:vmode."fg=".s:purple    ."'"
    138 exe "let s:fg_pink       = ' ".s:vmode."fg=".s:pink      ."'"
    139 exe "let s:fg_window     = ' ".s:vmode."fg=".s:window    ."'"
    140 exe "let s:fg_darkcolumn = ' ".s:vmode."fg=".s:darkcolumn."'"
    141 exe "let s:fg_addbg      = ' ".s:vmode."fg=".s:addbg     ."'"
    142 exe "let s:fg_addfg      = ' ".s:vmode."fg=".s:addfg     ."'"
    143 exe "let s:fg_delfg      = ' ".s:vmode."fg=".s:delfg     ."'"
    144 exe "let s:fg_changebg   = ' ".s:vmode."fg=".s:changebg  ."'"
    145 exe "let s:fg_changefg   = ' ".s:vmode."fg=".s:changefg  ."'"
    146 exe "let s:fg_error      = ' ".s:vmode."fg=".s:error     ."'"
    147 
    148 exe "let s:fmt_none      = ' ".s:vmode."=NONE".          " term=NONE"        ."'"
    149 exe "let s:fmt_bold      = ' ".s:vmode."=NONE".s:b.      " term=NONE".s:b    ."'"
    150 exe "let s:fmt_bldi      = ' ".s:vmode."=NONE".s:b.s:i.  " term=NONE".s:b.s:i."'"
    151 exe "let s:fmt_undr      = ' ".s:vmode."=NONE".s:u.      " term=NONE".s:u    ."'"
    152 exe "let s:fmt_undb      = ' ".s:vmode."=NONE".s:u.s:b.  " term=NONE".s:u.s:b."'"
    153 exe "let s:fmt_undi      = ' ".s:vmode."=NONE".s:u.s:i.  " term=NONE".s:u.s:i."'"
    154 exe "let s:fmt_curl      = ' ".s:vmode."=NONE".s:c.      " term=NONE".s:c    ."'"
    155 exe "let s:fmt_ital      = ' ".s:vmode."=NONE".s:i.      " term=NONE".s:i    ."'"
    156 exe "let s:fmt_stnd      = ' ".s:vmode."=NONE".s:s.      " term=NONE".s:s    ."'"
    157 exe "let s:fmt_revr      = ' ".s:vmode."=NONE".s:r.      " term=NONE".s:r    ."'"
    158 exe "let s:fmt_revb      = ' ".s:vmode."=NONE".s:r.s:b.  " term=NONE".s:r.s:b."'"
    159 
    160 " Highlighting
    161 " ----------------
    162 
    163 " editor
    164 exe "hi! Normal"          .s:fg_foreground  .s:bg_background  .s:fmt_none
    165 exe "hi! ColorColumn"     .s:fg_none        .s:bg_line        .s:fmt_none
    166 exe "hi! CursorColumn"    .s:fg_none        .s:bg_line        .s:fmt_none
    167 exe "hi! CursorLine"      .s:fg_none        .s:bg_line        .s:fmt_none
    168 exe "hi! CursorLineNr"    .s:fg_orange      .s:bg_none        .s:fmt_bold
    169 exe "hi! VertSplit"       .s:fg_window      .s:bg_none        .s:fmt_none
    170 exe "hi! NonText"         .s:fg_selection   .s:bg_none        .s:fmt_none
    171 exe "hi! SignColumn"      .s:fg_none        .s:bg_darkcolumn  .s:fmt_none
    172 exe "hi! LineNr"          .s:fg_linenr      .s:bg_none        .s:fmt_none
    173 exe "hi! StatusLine"      .s:fg_comment     .s:bg_background  .s:fmt_revr
    174 exe "hi! StatusLineNC"    .s:fg_window      .s:bg_comment     .s:fmt_revr
    175 "exe "hi! TabLine"        .s:fg_foreground  .s:bg_darkcolumn  .s:fmt_revr
    176 exe "hi! TabLine"         .s:fg_window      .s:bg_darkcolumn  .s:fmt_revr
    177 exe "hi! TabLineFill"     .s:fg_window      .s:bg_darkcolumn  .s:fmt_revr
    178 exe "hi! TabLineSel"      .s:fg_background  .s:bg_green       .s:fmt_bldi
    179 exe "hi! Visual"          .s:fg_none        .s:bg_selection   .s:fmt_none
    180 exe "hi! Search"          .s:fg_green       .s:bg_darkcolumn  .s:fmt_bold
    181 exe "hi! MatchParen"      .s:fg_none        .s:bg_purple      .s:fmt_none
    182 "exe "hi! MatchParen"     .s:fg_background  .s:bg_purple      .s:fmt_none
    183 exe "hi! Question"        .s:fg_yellow      .s:bg_none        .s:fmt_none
    184 exe "hi! ModeMsg"         .s:fg_yellow      .s:bg_none        .s:fmt_none
    185 exe "hi! MoreMsg"         .s:fg_yellow      .s:bg_none        .s:fmt_none
    186 exe "hi! ErrorMsg"        .s:fg_background  .s:bg_red         .s:fmt_stnd
    187 exe "hi! WarningMsg"      .s:fg_red         .s:bg_none        .s:fmt_none
    188 
    189 " misc
    190 exe "hi! SpecialKey"      .s:fg_selection   .s:bg_none        .s:fmt_none
    191 exe "hi! Title"           .s:fg_yellow      .s:bg_none        .s:fmt_none
    192 exe "hi! Directory"       .s:fg_aqua        .s:bg_none        .s:fmt_none
    193 
    194 " diff
    195 exe "hi! DiffAdd"         .s:fg_addfg       .s:bg_addbg       .s:fmt_none
    196 exe "hi! DiffDelete"      .s:fg_delfg       .s:bg_none        .s:fmt_none
    197 exe "hi! DiffChange"      .s:fg_changefg    .s:bg_changebg    .s:fmt_none
    198 exe "hi! DiffText"        .s:fg_background  .s:bg_aqua        .s:fmt_none
    199 
    200 " fold
    201 exe "hi! Folded"          .s:fg_comment     .s:bg_darkcolumn  .s:fmt_none
    202 exe "hi! FoldColumn"      .s:fg_none        .s:bg_darkcolumn  .s:fmt_none
    203 "        Incsearch"
    204 
    205 " popup menu
    206 exe "hi! Pmenu"           .s:fg_foreground  .s:bg_selection   .s:fmt_none
    207 exe "hi! PmenuSel"        .s:fg_foreground  .s:bg_selection   .s:fmt_revr
    208 "        PmenuSbar"
    209 "        PmenuThumb"
    210 
    211 " Generic Syntax Highlighting
    212 " ---------------------------
    213 
    214 if g:dracula_italic == 1
    215     exe "hi! Constant"    .s:fg_purple      .s:bg_none        .s:fmt_ital
    216 else
    217     exe "hi! Constant"    .s:fg_purple      .s:bg_none        .s:fmt_none
    218 endif
    219 
    220 exe "hi! Number"          .s:fg_purple      .s:bg_none        .s:fmt_none
    221 exe "hi! Float"           .s:fg_purple      .s:bg_none        .s:fmt_none
    222 exe "hi! Boolean"         .s:fg_purple      .s:bg_none        .s:fmt_none
    223 exe "hi! Character"       .s:fg_yellow      .s:bg_none        .s:fmt_none
    224 exe "hi! String"          .s:fg_yellow      .s:bg_none        .s:fmt_none
    225 
    226 exe "hi! Type"            .s:fg_aqua        .s:bg_none        .s:fmt_none
    227 exe "hi! Identifier"      .s:fg_aqua        .s:bg_none        .s:fmt_none
    228 exe "hi! Function"        .s:fg_green       .s:bg_none        .s:fmt_none
    229 
    230 exe "hi! Statement"       .s:fg_pink        .s:bg_none        .s:fmt_none
    231 exe "hi! Operator"        .s:fg_pink        .s:bg_none        .s:fmt_none
    232 exe "hi! Label"           .s:fg_yellow      .s:bg_none        .s:fmt_none
    233 "        Conditional"
    234 "        Repeat"
    235 "        Keyword"
    236 "        Exception"
    237 
    238 exe "hi! PreProc"         .s:fg_green       .s:bg_none        .s:fmt_none
    239 "        Include"
    240 "        Define"
    241 "        Macro"
    242 "        PreCondit"
    243 
    244 exe "hi! Special"         .s:fg_aqua        .s:bg_none        .s:fmt_none
    245 "        SpecialKey
    246 "        SpecialChar"
    247 "        Tag"
    248 "        Delimiter"
    249 "        SpecialComment"
    250 "        Debug"
    251 
    252 exe "hi! Underlined"      .s:fg_green       .s:bg_none        .s:fmt_none
    253 exe "hi! Ignore"          .s:fg_none        .s:bg_none        .s:fmt_none
    254 exe "hi! Error"           .s:fg_red         .s:bg_error       .s:fmt_undr
    255 
    256 if g:dracula_italic == 1
    257     exe "hi! Todo"        .s:fg_orange      .s:bg_none        .s:fmt_bldi
    258     exe "hi! Comment"     .s:fg_comment     .s:bg_none        .s:fmt_ital
    259 else
    260     exe "hi! Todo"        .s:fg_orange      .s:bg_none        .s:fmt_bold
    261     exe "hi! Comment"     .s:fg_comment     .s:bg_none        .s:fmt_none
    262 endif
    263 
    264 " NerdTree
    265 " --------
    266 
    267 exe "hi! NERDTreeOpenable"          .s:fg_yellow      .s:bg_none        .s:fmt_none
    268 exe "hi! NERDTreeClosable"          .s:fg_yellow      .s:bg_none        .s:fmt_none
    269 exe "hi! NERDTreeHelp"              .s:fg_green       .s:bg_none        .s:fmt_none
    270 exe "hi! NERDTreeBookmarksHeader"   .s:fg_purple      .s:bg_none        .s:fmt_bold
    271 exe "hi! NERDTreeBookmarksLeader"   .s:fg_purple      .s:bg_none        .s:fmt_none
    272 exe "hi! NERDTreeBookmarkName"      .s:fg_pink        .s:bg_none        .s:fmt_none
    273 exe "hi! NERDTreeCWD"               .s:fg_purple      .s:bg_none        .s:fmt_bold
    274 exe "hi! NERDTreeDir"               .s:fg_aqua        .s:bg_none        .s:fmt_none
    275 exe "hi! NERDTreeUp"                .s:fg_orange      .s:bg_none        .s:fmt_none
    276 exe "hi! NERDTreeDirSlash"          .s:fg_aqua        .s:bg_none        .s:fmt_none
    277 
    278 " Syntastic
    279 " ---------
    280 
    281 hi! link SyntasticErrorSign Error
    282 exe "hi! SyntasticWarningSign"          .s:fg_orange       .s:bg_darkcolumn    .s:fmt_none
    283 
    284 " Language highlight
    285 " ------------------
    286 
    287 " Vim command
    288 exe "hi! vimCommand"                    .s:fg_pink         .s:bg_none          .s:fmt_none
    289 
    290 " Javascript (compliant with https://github.com/pangloss/vim-javascript)
    291 exe "hi! jsFuncName"                    .s:fg_green        .s:bg_none          .s:fmt_none
    292 exe "hi! jsThis"                        .s:fg_aqua         .s:bg_none          .s:fmt_none
    293 exe "hi! jsRegexpString"                .s:fg_purple       .s:bg_none          .s:fmt_none
    294 exe "hi! jsFuncCall"                    .s:fg_none         .s:bg_none          .s:fmt_none
    295 
    296 if g:dracula_italic == 1
    297     exe "hi! jsFuncArgs"                .s:fg_orange       .s:bg_none          .s:fmt_ital
    298 else
    299     exe "hi! jsFuncArgs"                .s:fg_orange       .s:bg_none          .s:fmt_none
    300 endif
    301 
    302 " Html
    303 exe "hi! htmlTag"                       .s:fg_foreground   .s:bg_none          .s:fmt_none
    304 exe "hi! htmlEndTag"                    .s:fg_foreground   .s:bg_none          .s:fmt_none
    305 exe "hi! htmlTagName"                   .s:fg_pink         .s:bg_none          .s:fmt_none
    306 exe "hi! htmlArg"                       .s:fg_aqua         .s:bg_none          .s:fmt_none
    307 exe "hi! htmlSpecialChar"               .s:fg_purple       .s:bg_none          .s:fmt_none
    308 
    309 " Xml
    310 hi! link xmlTag     htmlTag
    311 hi! link xmlEndTag  htmlEndTag
    312 hi! link xmlTagName htmlTagName
    313 hi! link xmlAttrib  htmlArg
    314 
    315 " CSS
    316 if g:dracula_italic == 1
    317     exe "hi! cssURL"                    .s:fg_orange       .s:bg_none          .s:fmt_undi
    318 else
    319     exe "hi! cssURL"                    .s:fg_orange       .s:bg_none          .s:fmt_undr
    320 endif
    321 exe "hi! cssFunctionName"               .s:fg_aqua         .s:bg_none          .s:fmt_none
    322 exe "hi! cssColor"                      .s:fg_purple       .s:bg_none          .s:fmt_none
    323 exe "hi! cssPseudoClassId"              .s:fg_purple       .s:bg_none          .s:fmt_none
    324 exe "hi! cssClassName"                  .s:fg_green        .s:bg_none          .s:fmt_none
    325 exe "hi! cssValueLength"                .s:fg_purple       .s:bg_none          .s:fmt_none
    326 exe "hi! cssCommonAttr"                 .s:fg_pink         .s:bg_none          .s:fmt_none
    327 exe "hi! cssBraces"                     .s:fg_foreground   .s:bg_none          .s:fmt_none
    328 
    329 " ruby
    330 exe "hi! rubyInstanceVariable"          .s:fg_none         .s:bg_none          .s:fmt_none
    331 exe "hi! rubyInterpolationDelimiter"    .s:fg_none         .s:bg_none          .s:fmt_none
    332 exe "hi! rubyPseudoVariable"            .s:fg_none         .s:bg_none          .s:fmt_none
    333 exe "hi! rubyGlobalVariable"            .s:fg_none         .s:bg_none          .s:fmt_none
    334 exe "hi! rubyClassVariable"             .s:fg_none         .s:bg_none          .s:fmt_none
    335 exe "hi! rubyOperator"                  .s:fg_pink         .s:bg_none          .s:fmt_none
    336 exe "hi! rubyFunction"                  .s:fg_green        .s:bg_none          .s:fmt_none
    337 exe "hi! rubyStringDelimiter"           .s:fg_yellow       .s:bg_none          .s:fmt_none
    338 exe "hi! rubyRegexp"                    .s:fg_yellow       .s:bg_none          .s:fmt_none
    339 exe "hi! rubyRegexpDelimiter"           .s:fg_yellow       .s:bg_none          .s:fmt_none
    340 exe "hi! rubySymbol"                    .s:fg_purple       .s:bg_none          .s:fmt_none
    341 exe "hi! rubyEscape"                    .s:fg_purple       .s:bg_none          .s:fmt_none
    342 exe "hi! rubyControl"                   .s:fg_aqua         .s:bg_none          .s:fmt_none
    343 exe "hi! rubyInclude"                   .s:fg_aqua         .s:bg_none          .s:fmt_none
    344 exe "hi! rubyClass"                     .s:fg_aqua         .s:bg_none          .s:fmt_none
    345 exe "hi! rubyException"                 .s:fg_aqua         .s:bg_none          .s:fmt_none
    346 exe "hi! rubyRailsARAssociationMethod"  .s:fg_orange       .s:bg_none          .s:fmt_none
    347 exe "hi! rubyRailsARMethod"             .s:fg_orange       .s:bg_none          .s:fmt_none
    348 exe "hi! rubyRailsRenderMethod"         .s:fg_orange       .s:bg_none          .s:fmt_none
    349 exe "hi! rubyRailsMethod"               .s:fg_orange       .s:bg_none          .s:fmt_none
    350 
    351 if g:dracula_italic == 1
    352     exe "hi! rubyBlockParameter"        .s:fg_orange       .s:bg_none          .s:fmt_ital
    353     exe "hi! rubyConstant"              .s:fg_orange       .s:bg_none          .s:fmt_ital
    354     exe "hi! rubyIdentifier"            .s:fg_orange       .s:bg_none          .s:fmt_ital
    355 else
    356     exe "hi! rubyBlockParameter"        .s:fg_orange       .s:bg_none          .s:fmt_none
    357     exe "hi! rubyConstant"              .s:fg_orange       .s:bg_none          .s:fmt_none
    358     exe "hi! rubyIdentifier"            .s:fg_orange       .s:bg_none          .s:fmt_none
    359 endif
    360 
    361 " eruby
    362 exe "hi! erubyDelimiter"                .s:fg_none         .s:bg_none          .s:fmt_none
    363 exe "hi! erubyComment"                  .s:fg_comment      .s:bg_none          .s:fmt_none
    364 exe "hi! erubyRailsMethod"              .s:fg_aqua         .s:bg_none          .s:fmt_none
    ..... created by skytrails
  • 相关阅读:
    支付宝17年新春红包技术体系剖析
    从“扫月亮”到“扫福字”,扒一扒背后的支付宝AR框架体系
    【合集】支付宝春节红包背后的那些事——集五福,咻红包
    蚂蚁移动开发平台 mPaaS 3.0 智能化 + 生态化
    小程序 Serverless: 解放生产力,驱动研发效能提升
    深度解析:mPaaS 3.0全新组件
    vue--学习一
    .Net Mvc PagedList
    Integrated Security=SSPI
    IIS web site windows验证
  • 原文地址:https://www.cnblogs.com/skytrails/p/5008951.html
Copyright © 2020-2023  润新知