/
sublimemonokai.vim
1177 lines (1063 loc) · 54 KB
/
sublimemonokai.vim
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
" File: monokai.vim
" Maintainer: Erich Gubler (erichdongubler)
" URL: https://github.com/erichdongubler/vim-sublime-monokai
" License: MIT
" Initialisation
if !has('gui_running') && &t_Co < 256
" Shim this out so code doesn't hard break -- users should notice if this
" doesn't work.
fun! g:SublimeMonokaiHighlight(group, style)
endf
finish
endif
if !exists('g:sublimemonokai_gui_italic')
let g:sublimemonokai_gui_italic = 1
endif
if !exists('g:sublimemonokai_term_italic')
let g:sublimemonokai_term_italic = 0
endif
let g:sublimemonokai_termcolors = 256 " does not support 16 color term right now.
set background=dark
hi clear
if exists('syntax_on')
syntax reset
endif
let colors_name = 'sublimemonokai'
fun! s:h(group, style)
let s:ctermformat = 'NONE'
let s:guiformat = 'NONE'
if has_key(a:style, 'format')
let s:ctermformat = a:style.format
let s:guiformat = a:style.format
endif
if g:sublimemonokai_term_italic == 0
let s:ctermformat = substitute(s:ctermformat, ',italic', '', '')
let s:ctermformat = substitute(s:ctermformat, 'italic,', '', '')
let s:ctermformat = substitute(s:ctermformat, 'italic', '', '')
endif
if g:sublimemonokai_gui_italic == 0
let s:guiformat = substitute(s:guiformat, ',italic', '', '')
let s:guiformat = substitute(s:guiformat, 'italic,', '', '')
let s:guiformat = substitute(s:guiformat, 'italic', '', '')
endif
if g:sublimemonokai_termcolors == 16
let l:ctermfg = (has_key(a:style, 'fg') ? a:style.fg.cterm16 : 'NONE')
let l:ctermbg = (has_key(a:style, 'bg') ? a:style.bg.cterm16 : 'NONE')
else
let l:ctermfg = (has_key(a:style, 'fg') ? a:style.fg.cterm : 'NONE')
let l:ctermbg = (has_key(a:style, 'bg') ? a:style.bg.cterm : 'NONE')
end
execute 'highlight' a:group
\ 'guifg=' (has_key(a:style, 'fg') ? a:style.fg.gui : 'NONE')
\ 'guibg=' (has_key(a:style, 'bg') ? a:style.bg.gui : 'NONE')
\ 'guisp=' (has_key(a:style, 'sp') ? a:style.sp.gui : 'NONE')
\ 'gui=' (!empty(s:guiformat) ? s:guiformat : 'NONE')
\ 'ctermfg=' . l:ctermfg
\ 'ctermbg=' . l:ctermbg
\ 'cterm=' (!empty(s:ctermformat) ? s:ctermformat : 'NONE')
endfunction
" Expose the more complicated style setting via a global function
fun! g:SublimeMonokaiHighlight(group, style)
return s:h(a:group, a:style)
endfun
" Palette
" Convenience function to have a convenient script variable name and an
" namespaced global variable
fun! s:create_palette_color(color_name, color_data)
exec 'let s:' . a:color_name . ' = a:color_data'
exec 'let g:sublimemonokai_' . a:color_name . ' = a:color_data'
endf
call s:create_palette_color('brightwhite', { 'gui': '#FFFFFF', 'cterm': '231' })
call s:create_palette_color('white', { 'gui': '#E8E8E3', 'cterm': '252' })
call s:create_palette_color('black', { 'gui': '#272822', 'cterm': '234' })
call s:create_palette_color('lightblack', { 'gui': '#2D2E27', 'cterm': '235' })
call s:create_palette_color('lightblack2', { 'gui': '#383a3e', 'cterm': '236' })
call s:create_palette_color('darkblack', { 'gui': '#211F1C', 'cterm': '233' })
call s:create_palette_color('grey', { 'gui': '#8F908A', 'cterm': '243' })
call s:create_palette_color('lightgrey', { 'gui': '#575b61', 'cterm': '237' })
call s:create_palette_color('darkgrey', { 'gui': '#64645e', 'cterm': '239' })
call s:create_palette_color('warmgrey', { 'gui': '#75715E', 'cterm': '59' })
call s:create_palette_color('pink', { 'gui': '#f92772', 'cterm': '197' })
call s:create_palette_color('green', { 'gui': '#a6e22d', 'cterm': '148' })
call s:create_palette_color('aqua', { 'gui': '#66d9ef', 'cterm': '81' })
call s:create_palette_color('yellow', { 'gui': '#e6db74', 'cterm': '186' })
call s:create_palette_color('darkyellow', { 'gui': '#878700', 'cterm': '100' })
call s:create_palette_color('orange', { 'gui': '#fd9720', 'cterm': '208' })
call s:create_palette_color('purple', { 'gui': '#ae81ff', 'cterm': '141' })
call s:create_palette_color('red', { 'gui': '#e73c50', 'cterm': '196' })
call s:create_palette_color('darkred', { 'gui': '#5f0000', 'cterm': '52' })
call s:create_palette_color('addfg', { 'gui': '#d7ffaf', 'cterm': '193' })
call s:create_palette_color('addbg', { 'gui': '#5f875f', 'cterm': '65' })
call s:create_palette_color('delbg', { 'gui': '#f75f5f', 'cterm': '167' })
call s:create_palette_color('changefg', { 'gui': '#d7d7ff', 'cterm': '189' })
call s:create_palette_color('changebg', { 'gui': '#5f5f87', 'cterm': '60' })
" Expose the foreground colors of the Sublime palette as a bunch of
" highlighting groups. This lets us (and users!) get tab completion for the `hi
" link` command, and use more semantic names for the colors we want to assign
" to groups
call s:h('SublimeBrightWhite', { 'fg': s:brightwhite })
call s:h('SublimeWhite', { 'fg': s:white })
call s:h('SublimeBlack', { 'fg': s:black })
call s:h('SublimeLightBlack', { 'fg': s:lightblack })
call s:h('SublimeLightBlack2', { 'fg': s:lightblack2 })
call s:h('SublimeDarkBlack', { 'fg': s:darkblack })
call s:h('SublimeGrey', { 'fg': s:grey })
call s:h('SublimeLightGrey', { 'fg': s:lightgrey })
call s:h('SublimeDarkGrey', { 'fg': s:darkgrey })
call s:h('SublimeWarmGrey', { 'fg': s:warmgrey })
call s:h('SublimePink', { 'fg': s:pink })
call s:h('SublimeGreen', { 'fg': s:green })
call s:h('SublimeAqua', { 'fg': s:aqua })
call s:h('SublimeYellow', { 'fg': s:yellow })
call s:h('SublimeOrange', { 'fg': s:orange })
call s:h('SublimePurple', { 'fg': s:purple })
call s:h('SublimeRed', { 'fg': s:red })
call s:h('SublimeDarkRed', { 'fg': s:darkred })
" Default highlight groups (see ':help highlight-default' or http://vimdoc.sourceforge.net/htmldoc/syntax.html#highlight-groups)
call s:h('ColorColumn', { 'bg': s:lightblack2 })
hi! link Conceal SublimeLightGrey
call s:h('CursorColumn', { 'bg': s:lightblack2 })
call s:h('CursorLine', { 'bg': s:lightblack2 })
call s:h('CursorLineNr', { 'fg': s:orange, 'bg': s:lightblack })
call s:h('DiffAdd', { 'fg': s:addfg, 'bg': s:addbg })
call s:h('DiffChange', { 'fg': s:changefg, 'bg': s:changebg })
call s:h('DiffDelete', { 'fg': s:black, 'bg': s:delbg })
call s:h('DiffText', { 'fg': s:black, 'bg': s:aqua })
hi! link Directory SublimeAqua
call s:h('ErrorMsg', { 'fg': s:black, 'bg': s:red, 'format': 'standout' })
hi! link FoldColumn SublimeDarkBlack
call s:h('Folded', { 'fg': s:warmgrey, 'bg': s:darkblack })
call s:h('IncSearch', { 'format': 'reverse,underline'})
call s:h('LineNr', { 'fg': s:grey, 'bg': s:lightblack })
call s:h('MatchParen', { 'format': 'underline' })
hi! link ModeMsg SublimeYellow
hi! link MoreMsg SublimeYellow
hi! link NonText SublimeLightGrey
call s:h('Normal', { 'fg': s:white, 'bg': s:black })
if has('nvim')
call s:h('NormalFloat',{ 'fg': s:white, 'bg': s:warmgrey })
end
call s:h('Pmenu', { 'fg': s:lightblack, 'bg': s:white })
call s:h('PmenuSbar', { })
call s:h('PmenuSel', { 'fg': s:aqua, 'bg': s:black, 'format': 'reverse,bold' })
call s:h('PmenuThumb', { 'fg': s:lightblack, 'bg': s:grey })
hi! link Question SublimeYellow
call s:h('Search', { 'format': 'reverse,underline'})
hi! link SignColumn LineNr
call s:h('SpecialKey', { 'fg': s:purple, 'bg': s:darkblack })
call s:h('SpellBad', { 'bg': s:darkred })
call s:h('SpellCap', { 'bg': s:darkyellow })
call s:h('SpellLocal', { 'bg': s:darkyellow })
call s:h('SpellRare', { 'bg': s:darkyellow })
call s:h('StatusLine', { 'fg': s:warmgrey, 'bg': s:black, 'format': 'reverse' })
call s:h('StatusLineNC', { 'fg': s:darkgrey, 'bg': s:warmgrey, 'format': 'reverse' })
call s:h('TabLine', { 'fg': s:white, 'bg': s:darkgrey })
call s:h('TabLineFill', { 'fg': s:grey, 'bg': s:darkgrey })
call s:h('TabLineSel', { 'fg': s:black, 'bg': s:white })
hi! link Title SublimeYellow
call s:h('VertSplit', { 'fg': s:darkgrey, 'bg': s:darkblack })
call s:h('Visual', { 'bg': s:lightgrey })
hi! link WarningMsg SublimeRed
" Generic Syntax Highlighting (see reference: 'NAMING CONVENTIONS' at http://vimdoc.sourceforge.net/htmldoc/syntax.html#group-name)
hi! link Comment SublimeWarmGrey
hi! link Constant SublimePurple
hi! link String SublimeYellow
hi! link Character SublimeYellow
hi! link Number SublimePurple
hi! link Boolean SublimePurple
hi! link Float SublimePurple
hi! link Identifier SublimeWhite
hi! link Function SublimeWhite
hi! link Type SublimeAqua
hi! link StorageClass SublimePink
hi! link Structure SublimePink
hi! link Typedef SublimeAqua
hi! link Statement SublimeWhite
hi! link Conditional SublimePink
hi! link Repeat SublimePink
hi! link Label SublimePink
hi! link Operator SublimePink
hi! link Keyword SublimePink
hi! link Exception SublimePink
call s:h('CommentURL', { 'fg': s:grey, 'format': 'italic' })
hi! link PreProc SublimeGreen
hi! link Include SublimeWhite
hi! link Define SublimePink
hi! link Macro SublimeGreen
hi! link PreCondit SublimeWhite
hi! link Special SublimePurple
hi! link SpecialChar SublimePink
hi! link Tag SublimeGreen
hi! link Delimiter SublimePink
hi! link SpecialComment SublimeAqua
" call s:h('Debug' {})
call s:h('Underlined', { 'format': 'underline' })
" call s:h('Ignore', {})
call s:h('Error', { 'fg': s:red, 'bg': s:darkred })
hi! link Todo Comment
" Some highlighting groups custom to the Sublime Monokai theme
call s:h('SublimeType', { 'fg': s:aqua, 'format': 'italic' })
call s:h('SublimeContextParam', { 'fg': s:orange, 'format': 'italic' })
hi! link SublimeDocumentation SublimeGrey
hi! link SublimeFunctionCall SublimeAqua
hi! link SublimeUserAttribute SublimeGrey
" Neovim LSP support
if has('nvim')
call s:h('LspReferenceText', { 'bg': s:darkgrey })
call s:h('LspReferenceRead', { 'bg': s:addbg })
call s:h('LspReferenceWrite', { 'bg': s:changebg })
" TODO: WIP. I haven't tried to get parity with NERDTree yet.
hi! link NvimTreeFolderIcon Comment
hi! link NvimTreeGitDeleted SublimeRed
hi! link NvimTreeGitDirty SublimeYellow
hi! link NvimTreeGitMerge SublimePink
hi! link NvimTreeGitRenamed SublimeOrange
hi! link NvimTreeGitStaged SublimeGreen
endif
" Neovim support for the Lazy package manager
if has('nvim')
hi! link LazyProp SublimeAqua
endif
" Neovim support for [`barbar.nvim`]
"
"[`barbar.nvim`]: https://github.com/romgrk/barbar.nvim
if has('nvim')
hi! link BufferCurrentMod SublimeAqua
endif
" Bash/POSIX shell
hi! link shConditional Conditional
hi! link shDerefOff SublimeWhite
hi! link shDerefSimple SublimeAqua
hi! link shDerefVar SublimeAqua
hi! link shFunctionKey SublimePink
hi! link shLoop Keyword
hi! link shQuote String
hi! link shSet Keyword
hi! link shStatement SublimePink
" XXX: Other known deficiencies:
"
" * Can't highlight POSIX builtins right because shStatement is later in the
" highlight stack
" * Can't override shOption to be "normal" because it could be within a string
" or substitution. It looks okay anyway. :)
" * shCommandSub can't be override for a similar reason to shOption
" * Boolean operators and subsequent commands don't have the right
" highlighting
" Batch
hi! link dosbatchImplicit Keyword
hi! link dosbatchLabel SublimeWhite
" FIXME: This should have its own group, like SublimeEscapedSequence
hi! link dosbatchSpecialChar SublimePurple
hi! link dosbatchSwitch SublimeWhite
" FIXME: Variables don't have their own highlighting in Sublime
" hi! link dosbatchVariable SublimeAqua
" XXX: string highlight is used for echo commands, but Sublime doesn't
" highlight at all
" XXX: Sublime sets everything to the right of an assignment to be a string
" color, but Vim doesn't
" XXX: Create an extra flag for "nice" stuff
" hi! link dosbatchLabel Tag
" hi! link dosbatchStatement Keyword
" hi! link dosbatchSwitch SublimePurple
" hi! link dosbatchVariable SublimeAqua
" C
hi! link cAnsiFunction SublimeFunctionCall
hi! link cDefine SublimeGreen
hi! link cFormat Special
hi! link cInclude SublimePink
hi! link cLabel SublimePink
hi! link cSpecial Special
hi! link cSpecialCharacter Special
hi! link cStatement Keyword
hi! link cStorageClass SublimePink
hi! link cStructure SublimeType
hi! link cType SublimeType
" XXX: Other known deficiencies:
"
" * There's no way to distinguish between function calls and
" definitions/declarations. :( If you prefer both to be colored, then you
" can use `hi! link cCustom <color>`.
" CMake
hi! link cmakeCommand SublimeAqua
hi! link cmakeKWfind_package SublimeContextParam
hi! link cmakeKWproject SublimeContextParam
" XXX: Variation: I actually really like making this aqua.
hi! link cmakeVariableValue SublimeWhite
" pboettch/vim-cmake-syntax plugin
hi! link cmakeBracketArgument SublimeAqua
hi! link cmakeKWExternalProject SublimeContextParam
hi! link cmakeKWExternalProject SublimeContextParam
hi! link cmakeKWadd_compile_definitions SublimeContextParam
hi! link cmakeKWadd_compile_definitions SublimeContextParam
hi! link cmakeKWadd_compile_options SublimeContextParam
hi! link cmakeKWadd_compile_options SublimeContextParam
hi! link cmakeKWadd_custom_command SublimeContextParam
hi! link cmakeKWadd_custom_command SublimeContextParam
hi! link cmakeKWadd_custom_target SublimeContextParam
hi! link cmakeKWadd_custom_target SublimeContextParam
hi! link cmakeKWadd_definitions SublimeContextParam
hi! link cmakeKWadd_definitions SublimeContextParam
hi! link cmakeKWadd_dependencies SublimeContextParam
hi! link cmakeKWadd_dependencies SublimeContextParam
hi! link cmakeKWadd_executable SublimeContextParam
hi! link cmakeKWadd_executable SublimeContextParam
hi! link cmakeKWadd_library SublimeContextParam
hi! link cmakeKWadd_library SublimeContextParam
hi! link cmakeKWadd_link_options SublimeContextParam
hi! link cmakeKWadd_link_options SublimeContextParam
hi! link cmakeKWadd_subdirectory SublimeContextParam
hi! link cmakeKWadd_subdirectory SublimeContextParam
hi! link cmakeKWadd_test SublimeContextParam
hi! link cmakeKWadd_test SublimeContextParam
hi! link cmakeKWbuild_command SublimeContextParam
hi! link cmakeKWbuild_command SublimeContextParam
hi! link cmakeKWcmake_host_system_information SublimeContextParam
hi! link cmakeKWcmake_host_system_information SublimeContextParam
hi! link cmakeKWcmake_minimum_required SublimeContextParam
hi! link cmakeKWcmake_minimum_required SublimeContextParam
hi! link cmakeKWcmake_parse_arguments SublimeContextParam
hi! link cmakeKWcmake_parse_arguments SublimeContextParam
hi! link cmakeKWcmake_policy SublimeContextParam
hi! link cmakeKWcmake_policy SublimeContextParam
hi! link cmakeKWconfigure_file SublimeContextParam
hi! link cmakeKWconfigure_file SublimeContextParam
hi! link cmakeKWconfigure_package_config_file SublimeContextParam
hi! link cmakeKWconfigure_package_config_file SublimeContextParam
hi! link cmakeKWconfigure_package_config_file_constants SublimeContextParam
hi! link cmakeKWconfigure_package_config_file_constants SublimeContextParam
hi! link cmakeKWcreate_test_sourcelist SublimeContextParam
hi! link cmakeKWcreate_test_sourcelist SublimeContextParam
hi! link cmakeKWctest_build SublimeContextParam
hi! link cmakeKWctest_build SublimeContextParam
hi! link cmakeKWctest_configure SublimeContextParam
hi! link cmakeKWctest_configure SublimeContextParam
hi! link cmakeKWctest_coverage SublimeContextParam
hi! link cmakeKWctest_coverage SublimeContextParam
hi! link cmakeKWctest_memcheck SublimeContextParam
hi! link cmakeKWctest_memcheck SublimeContextParam
hi! link cmakeKWctest_run_script SublimeContextParam
hi! link cmakeKWctest_run_script SublimeContextParam
hi! link cmakeKWctest_start SublimeContextParam
hi! link cmakeKWctest_start SublimeContextParam
hi! link cmakeKWctest_submit SublimeContextParam
hi! link cmakeKWctest_submit SublimeContextParam
hi! link cmakeKWctest_test SublimeContextParam
hi! link cmakeKWctest_test SublimeContextParam
hi! link cmakeKWctest_update SublimeContextParam
hi! link cmakeKWctest_update SublimeContextParam
hi! link cmakeKWctest_upload SublimeContextParam
hi! link cmakeKWctest_upload SublimeContextParam
hi! link cmakeKWdefine_property SublimeContextParam
hi! link cmakeKWdefine_property SublimeContextParam
hi! link cmakeKWenable_language SublimeContextParam
hi! link cmakeKWenable_language SublimeContextParam
hi! link cmakeKWenable_testing SublimeContextParam
hi! link cmakeKWenable_testing SublimeContextParam
hi! link cmakeKWexec_program SublimeContextParam
hi! link cmakeKWexec_program SublimeContextParam
hi! link cmakeKWexecute_process SublimeContextParam
hi! link cmakeKWexecute_process SublimeContextParam
hi! link cmakeKWexport SublimeContextParam
hi! link cmakeKWexport SublimeContextParam
hi! link cmakeKWexport_library_dependencies SublimeContextParam
hi! link cmakeKWexport_library_dependencies SublimeContextParam
hi! link cmakeKWfile SublimeContextParam
hi! link cmakeKWfile SublimeContextParam
hi! link cmakeKWfind_file SublimeContextParam
hi! link cmakeKWfind_file SublimeContextParam
hi! link cmakeKWfind_library SublimeContextParam
hi! link cmakeKWfind_library SublimeContextParam
hi! link cmakeKWfind_package SublimeContextParam
hi! link cmakeKWfind_package SublimeContextParam
hi! link cmakeKWfind_path SublimeContextParam
hi! link cmakeKWfind_path SublimeContextParam
hi! link cmakeKWfind_program SublimeContextParam
hi! link cmakeKWfind_program SublimeContextParam
hi! link cmakeKWfltk_wrap_ui SublimeContextParam
hi! link cmakeKWfltk_wrap_ui SublimeContextParam
hi! link cmakeKWforeach SublimeContextParam
hi! link cmakeKWforeach SublimeContextParam
hi! link cmakeKWfunction SublimeContextParam
hi! link cmakeKWfunction SublimeContextParam
hi! link cmakeKWget_cmake_property SublimeContextParam
hi! link cmakeKWget_cmake_property SublimeContextParam
hi! link cmakeKWget_directory_property SublimeContextParam
hi! link cmakeKWget_directory_property SublimeContextParam
hi! link cmakeKWget_filename_component SublimeContextParam
hi! link cmakeKWget_filename_component SublimeContextParam
hi! link cmakeKWget_property SublimeContextParam
hi! link cmakeKWget_property SublimeContextParam
hi! link cmakeKWget_source_file_property SublimeContextParam
hi! link cmakeKWget_source_file_property SublimeContextParam
hi! link cmakeKWget_target_property SublimeContextParam
hi! link cmakeKWget_target_property SublimeContextParam
hi! link cmakeKWget_test_property SublimeContextParam
hi! link cmakeKWget_test_property SublimeContextParam
hi! link cmakeKWif SublimeContextParam
hi! link cmakeKWif SublimeContextParam
hi! link cmakeKWinclude SublimeContextParam
hi! link cmakeKWinclude SublimeContextParam
hi! link cmakeKWinclude_directories SublimeContextParam
hi! link cmakeKWinclude_directories SublimeContextParam
hi! link cmakeKWinclude_external_msproject SublimeContextParam
hi! link cmakeKWinclude_external_msproject SublimeContextParam
hi! link cmakeKWinclude_guard SublimeContextParam
hi! link cmakeKWinclude_guard SublimeContextParam
hi! link cmakeKWinstall SublimeContextParam
hi! link cmakeKWinstall SublimeContextParam
hi! link cmakeKWinstall_files SublimeContextParam
hi! link cmakeKWinstall_files SublimeContextParam
hi! link cmakeKWinstall_programs SublimeContextParam
hi! link cmakeKWinstall_programs SublimeContextParam
hi! link cmakeKWinstall_targets SublimeContextParam
hi! link cmakeKWinstall_targets SublimeContextParam
hi! link cmakeKWlink_directories SublimeContextParam
hi! link cmakeKWlink_directories SublimeContextParam
hi! link cmakeKWlist SublimeContextParam
hi! link cmakeKWlist SublimeContextParam
hi! link cmakeKWload_cache SublimeContextParam
hi! link cmakeKWload_cache SublimeContextParam
hi! link cmakeKWload_command SublimeContextParam
hi! link cmakeKWload_command SublimeContextParam
hi! link cmakeKWmacro SublimeContextParam
hi! link cmakeKWmacro SublimeContextParam
hi! link cmakeKWmark_as_advanced SublimeContextParam
hi! link cmakeKWmark_as_advanced SublimeContextParam
hi! link cmakeKWmath SublimeContextParam
hi! link cmakeKWmath SublimeContextParam
hi! link cmakeKWmessage SublimeContextParam
hi! link cmakeKWmessage SublimeContextParam
hi! link cmakeKWoption SublimeContextParam
hi! link cmakeKWoption SublimeContextParam
hi! link cmakeKWproject SublimeContextParam
hi! link cmakeKWproject SublimeContextParam
hi! link cmakeKWqt_wrap_cpp SublimeContextParam
hi! link cmakeKWqt_wrap_cpp SublimeContextParam
hi! link cmakeKWqt_wrap_ui SublimeContextParam
hi! link cmakeKWqt_wrap_ui SublimeContextParam
hi! link cmakeKWremove SublimeContextParam
hi! link cmakeKWremove SublimeContextParam
hi! link cmakeKWseparate_arguments SublimeContextParam
hi! link cmakeKWseparate_arguments SublimeContextParam
hi! link cmakeKWset SublimeContextParam
hi! link cmakeKWset SublimeContextParam
hi! link cmakeKWset_directory_properties SublimeContextParam
hi! link cmakeKWset_directory_properties SublimeContextParam
hi! link cmakeKWset_property SublimeContextParam
hi! link cmakeKWset_property SublimeContextParam
hi! link cmakeKWset_source_files_properties SublimeContextParam
hi! link cmakeKWset_source_files_properties SublimeContextParam
hi! link cmakeKWset_target_properties SublimeContextParam
hi! link cmakeKWset_target_properties SublimeContextParam
hi! link cmakeKWset_target_properties SublimeContextParam
hi! link cmakeKWset_tests_properties SublimeContextParam
hi! link cmakeKWset_tests_properties SublimeContextParam
hi! link cmakeKWsource_group SublimeContextParam
hi! link cmakeKWsource_group SublimeContextParam
hi! link cmakeKWstring SublimeContextParam
hi! link cmakeKWstring SublimeContextParam
hi! link cmakeKWsubdirs SublimeContextParam
hi! link cmakeKWsubdirs SublimeContextParam
hi! link cmakeKWtarget_compile_definitions SublimeContextParam
hi! link cmakeKWtarget_compile_definitions SublimeContextParam
hi! link cmakeKWtarget_compile_features SublimeContextParam
hi! link cmakeKWtarget_compile_features SublimeContextParam
hi! link cmakeKWtarget_compile_options SublimeContextParam
hi! link cmakeKWtarget_compile_options SublimeContextParam
hi! link cmakeKWtarget_include_directories SublimeContextParam
hi! link cmakeKWtarget_include_directories SublimeContextParam
hi! link cmakeKWtarget_link_directories SublimeContextParam
hi! link cmakeKWtarget_link_directories SublimeContextParam
hi! link cmakeKWtarget_link_libraries SublimeContextParam
hi! link cmakeKWtarget_link_libraries SublimeContextParam
hi! link cmakeKWtarget_link_options SublimeContextParam
hi! link cmakeKWtarget_link_options SublimeContextParam
hi! link cmakeKWtarget_sources SublimeContextParam
hi! link cmakeKWtarget_sources SublimeContextParam
hi! link cmakeKWtry_compile SublimeContextParam
hi! link cmakeKWtry_compile SublimeContextParam
hi! link cmakeKWtry_run SublimeContextParam
hi! link cmakeKWtry_run SublimeContextParam
hi! link cmakeKWunset SublimeContextParam
hi! link cmakeKWunset SublimeContextParam
hi! link cmakeKWuse_mangled_mesa SublimeContextParam
hi! link cmakeKWuse_mangled_mesa SublimeContextParam
hi! link cmakeKWvariable_requires SublimeContextParam
hi! link cmakeKWvariable_requires SublimeContextParam
hi! link cmakeKWvariable_watch SublimeContextParam
hi! link cmakeKWvariable_watch SublimeContextParam
hi! link cmakeKWwrite_basic_package_version_file SublimeContextParam
hi! link cmakeKWwrite_basic_package_version_file SublimeContextParam
hi! link cmakeKWwrite_basic_package_version_file SublimeContextParam
hi! link cmakeKWwrite_file SublimeContextParam
hi! link cmakeKWwrite_file SublimeContextParam
hi! link cmakeProperty SublimeContextParam
" XXX: Other known deficiencies:
" * Some special args like `IMPORTED_TARGET` aren't recognized in Vim, but
" Sublime's `CMake` package recognizes them.
" CSS
hi! link cssAttr SublimeAqua
hi! link cssAttributeSelector Tag
" XXX: Not sure about this one; it has issues with the following:
" - calc
" - colors
hi! link cssAttrRegion SublimeWhite
hi! link cssBraces SublimeWhite
hi! link cssClassName Tag
hi! link cssColor Constant
hi! link cssFunctionName SublimeFunctionCall
hi! link cssIdentifier Tag
hi! link cssPositioningAttr SublimeAqua
hi! link cssProp SublimeAqua
" XXX: Variation: might be better as pink, actually
hi! link cssPseudoClassId SublimeWhite
hi! link cssSelectorOp SublimeWhite
hi! link cssStyle cssAttr
hi! link cssTagName Keyword
" TODO: Find a way to distinguish unit decorators from color hash
hi! link cssUnitDecorators SpecialChar
hi! link cssURL String
hi! link cssValueLength Constant
" C++
" XXX: This is imperfect, as this highlights the expression for the `#if`s
" too.
hi! link cCppOutWrapper Keyword
hi! link cppStatement Keyword
" XXX: This is too inclusive of the `namespace` keyword
hi! link cppStructure SublimeType
hi! link cppSTLException SublimeType
hi! link cppSTLfunction SublimeFunctionCall
" XXX: There may be no special highlighting here in Sublime itself
hi! link cppSTLios SublimeAqua
" XXX: There may be no special highlighting here in Sublime itself
hi! link cppSTLnamespace SublimePurple
hi! link cppType SublimeType
" XXX: Other known deficiencies:
"
" * There's no way to distinguish between function calls and
" definitions/declarations. :( If you prefer both to be colored, then you
" can use `hi! link cCustom <color>`.
" C#
hi! link csClass SublimeType
hi! link csContextualStatement Keyword
hi! link csIface SublimeType
hi! link csMethodTag SublimeType
hi! link csPreCondit Keyword
hi! link csTypeDecleration SublimeType
hi! link csType SublimeType
hi! link csUnspecifiedStatement Keyword
hi! link csXmlTag xmlTagName
hi! link csXmlComment SublimeDocumentation
" XXX: Other known deficiencies:
"
" * Need some local links for XML getting set to the right color
" * Operators aren't red in Vim, but are in Sublime.
" * Function arguments aren't distinguished with their own highlight group
" * `namespace` is a type in Sublime's highlighting, but is a `csStorage` in
" Vim
" * No function call groups exist in Vim.
" * Region highlighting has no way to distinguish between region
" preprocess keyword and region name.
" D
hi! link dExternal Keyword
" `diff` patch files
hi! link diffAdded SublimeGreen
hi! link diffFile SublimeWarmGrey
hi! link diffIndexLine SublimeWarmGrey
hi! link diffLine SublimeWarmGrey
hi! link diffNewFile SublimeWarmGrey
hi! link diffRemoved SublimePink
hi! link diffSubname SublimeWarmGrey
" eRuby
" call s:h('erubyDelimiter', {})
hi! link erubyRailsMethod SublimeAqua
" Git
hi! link gitrebaseCommit Comment
hi! link gitrebaseDrop Error
hi! link gitrebaseEdit Keyword
hi! link gitrebaseExec Keyword
hi! link gitrebaseFixup Keyword
" FIXME: Make this cooler in extensions!
hi! link gitrebaseHash Comment
hi! link gitrebasePick Keyword
hi! link gitrebaseReword Keyword
hi! link gitrebaseSquash Keyword
hi! link gitrebaseSummary String
" XXX: Note that highlighting inside the always-present help from Git in
" comments is not available in vim's current highlighting version.
" Variation: it's actually kinda nice to give each of these different colors
" like vanilla Vim does.
" vim-gitgutter
hi! link GitGutterAdd SublimeGreen
hi! link GitGutterChange SublimeYellow
hi! link GitGutterDelete SublimePink
hi! link GitGutterChangeDelete SublimeOrange
" GraphViz
" Variation: I actually like to keep these as Keyword, but Sublime does this
" differently.
hi! link dotBraceEncl SublimeWhite
hi! link dotBrackEncl SublimeWhite
" XXX: This colors way more stuff than Sublime does, but otherwise we'd miss
" out on operator highlights like with equals signs in attribute value
" definitions.
hi! link dotKeyChar Keyword
hi! link dotKeyword SublimeType
" XXX: Other known deficiencies:
"
" * `graph` keyword isn't correctly classified into a keyword, Sublime does.
" This can be fixed with `syn keyword dotKeyword graph`.
" * Neither Sublime nor Vim highlight `--` in undirected graphs.
" * Sublime doesn't treat semicolons as a keyword here, Vim does.
" * Vim doesn't distinctly identify declarations like `digraph *blah* { ... }`.
" * Vim doesn't have a group for escape chars (i.e., for `label` values).
" Go
hi! link goArgumentName SublimeContextParam
hi! link goDeclType SublimeType
hi! link goDeclaration SublimeType
hi! link goField Identifier
hi! link goFunction Tag
hi! link goFunctionCall SublimeFunctionCall
" Variation: It's not a bad idea to highlight these separately. Maybe using
" `PreProc` and `Special` like in vanilla `vim-go` upstream isn't a bad idea.
hi! link goGenerate Comment
hi! link goGenerateVariables Comment
" Variation: It's nice to have builtins highlighted specially, though Sublime
" doesn't do this. I would use `Special` here.
hi! link goExtraType Identifier
hi! link goImport Keyword
hi! link goPackage Keyword
hi! link goReceiverVar SublimeContextParam
hi! link goStatement Keyword
hi! link goType SublimeType
" Variation: I like this better as `SublimeType`, since it has symmetry with
" `goType`.
hi! link goTypeConstructor Identifier
hi! link goTypeDecl SublimeType
hi! link goTypeName Tag
hi! link goVarAssign SublimeWhite
hi! link goVarDefs SublimeWhite
" HTML
" This partially depends on XML -- make sure that groups in XML don't
" adversely affect this!
" XXX: This doesn't exclude things like colons like Sublime does
" FIXME: For some reason this is excluding a "key" attribute
hi! link htmlArg Tag
" Variation: This is an interesting idea for
hi! link htmlLink SublimeWhite
hi! link htmlSpecialTagName htmlTagName
hi! link htmlSpecialChar Special
hi! link htmlTagName Keyword
" Java
" Common groups
hi! link javaAnnotation SublimeAqua
hi! link javaAssert SublimeFunctionCall
hi! link javaClassDecl SublimeType
hi! link javaConditional Keyword
hi! link javaExceptions Keyword
hi! link javaExternal Keyword
hi! link javaRepeat Keyword
hi! link javaSpecialChar Special
hi! link javaStatement Keyword
hi! link javaType SublimeType
hi! link javaTypedef SublimeContextParam
hi! link javaUserLabel SublimeWhite
hi! link javaUserLabelRef SublimeWhite
" XXX: Other known deficiencies:
"
" * There's currently no highlight group for user-defined type names. Weird.
" * `javaClassDecl`, which is the stuff that can go around a class name in a
" class declaration, doesn't distinguish like Sublime does between the `class`
" keyword and the `extends`/`implements` keywords.
" * There's a LOT of operators that don't have a good group. :(
" * No nice highlight groups exist for lambdas yet. Mainline `vim` has one,
" but it highlights the entire span of the lambda.
" Mainline vim distro
" Variation: I actually like keeping this a separate color -- it's kind of
" nice.
" XXX: Sublime distinguishes between @param names and other tags, but this
" doesn't.
hi! link javaCommentTitle SublimeDocumentation
hi! link javaDocParam SublimeAqua
hi! link javaDocTags Keyword
hi! link javaFuncDef Tag
hi! link javaC_JavaLang SublimeType
hi! link javaE_JavaLang SublimeType
hi! link javaR_JavaLang SublimeType
hi! link javaX_JavaLang SublimeType
hi! link javaVarArg Keyword
" XXX: Other known deficiencies (mainline vim):
"
" * javaFuncDef is way too inclusive -- even the args and its parens are
" highlighted!
" * java*_JavaLang isn't really up-to-date.
" vim-java
hi! link javaDeclType SublimeType
" XXX: Currently unable to distinguish function calls from function definitions.
hi! link javaFunction SublimeAqua
hi! link javaMapType SublimeType
" XXX: This isn't a builtin...don't other languages use italics for types?
hi! link javaNonPrimitiveType SublimeType
call s:h('jpropertiesIdentifier', { 'fg': s:pink })
" JavaScript
hi! link jsArgsObj SublimeAqua
hi! link jsArrowFunction SublimePink
hi! link jsBuiltins SublimeFunctionCall
hi! link jsCatch Keyword
hi! link jsConditional Keyword
call s:h('jsDocTags', { 'fg': s:aqua, 'format': 'italic' })
hi! link jsException Keyword
" Variation: It's actually nice to get this italicized, to me
hi! link jsExceptions Type
hi! link jsExport Keyword
hi! link jsFinally Keyword
hi! link jsFrom Keyword
call s:h('jsFuncArgRest', { 'fg': s:purple, 'format': 'italic' })
hi! link jsFuncArgs SublimeContextParam
hi! link jsFuncCall SublimeFunctionCall
hi! link jsFuncName Tag
hi! link jsFunction SublimeType
hi! link jsFunctionKey Tag
" FIXME: FutureKeys includes a bit too much. It had some type names, which should be aqua, but most of the keywords that might actually get used would be pink (keywords like public, abstract).
hi! link jsFutureKeys Keyword
call s:h('jsGlobalObjects', { 'fg': s:aqua, 'format': 'italic' })
hi! link jsImport Keyword
hi! link jsModuleAs Keyword
hi! link jsModuleAsterisk Keyword
hi! link jsNan Constant
hi! link jsNull Constant
hi! link jsObjectFuncName Tag
hi! link jsPrototype SublimeAqua
" Variation: Technically this is extra from Sublime, but it looks nice.
hi! link jsRepeat Keyword
hi! link jsReturn Keyword
hi! link jsStatement Keyword
hi! link jsStatic jsStorageClass
hi! link jsStorageClass SublimeType
hi! link jsSuper SublimeContextParam
hi! link jsThis SublimeContextParam
hi! link jsTry Keyword
hi! link jsUndefined Constant
" JSON
hi! link jsonKeyword Identifier
" LESS
hi! link lessVariable Tag
" Makefile
hi! link makeCommands SublimeWhite
hi! link makeCmdNextLine SublimeWhite
" NERDTree
hi! link NERDTreeBookmarkName SublimeYellow
hi! link NERDTreeBookmarksHeader SublimePink
hi! link NERDTreeBookmarksLeader SublimeBlack
hi! link NERDTreeCWD SublimePink
hi! link NERDTreeClosable SublimeYellow
hi! link NERDTreeDir SublimeYellow
hi! link NERDTreeDirSlash SublimeGrey
hi! link NERDTreeFlags SublimeDarkGrey
hi! link NERDTreeHelp SublimeYellow
hi! link NERDTreeOpenable SublimeYellow
hi! link NERDTreeUp SublimeWhite
" NERDTree Git
hi! link NERDTreeGitStatusModified SublimeOrange
hi! link NERDTreeGitStatusRenamed SublimeOrange
hi! link NERDTreeGitStatusUntracked SublimeGreen
" PHP
" Variation: It's actually a cool idea to style these to assist reading.
hi! link phpClass Tag
call s:h('phpClassExtends', { 'fg': s:green, 'format': 'italic' })
hi! link phpComment Comment
hi! link phpCommentStar SublimeDocumentation
hi! link phpCommentTitle SublimeDocumentation
hi! link phpDocComment SublimeDocumentation
hi! link phpDocIdentifier SublimeDocumentation
hi! link phpDocParam SublimeDocumentation
hi! link phpDocTags Keyword
" Variation: It'd be nice to make these a different color, but there's SO MANY
" THINGS that this applies to!
hi! link phpKeyword Keyword
" Variation: I actually like linking this against `Keyword`.
hi! link phpMemberSelector Identifier
hi! link phpNullValue Special
hi! link phpParent SublimeWhite
call s:h('phpStaticClasses', { 'fg': s:aqua, 'format': 'italic' })
" Variation: I actually like linking this against `Keyword` instead.
hi! link phpVarSelector Identifier
" XXX: Other known deficiencies:
"
" * Links in doc comments are highlighted aqua in Sublime, but there's no
" distinguishing right now with php.vim.
" * `phpKeyword` is used as a blanket group for several things that Sublime
" distinguishes right now. For example:
" * `echo` should be aqua
" * `function` should be a `SublimeType`
" * `return` should be a `Keyword`
" * `class` should be aqua and italic (maybe `SublimeType`?)
"
" ... but these are all listed as a `Keyword` right now.
" * Local args don't have their own highlighting group yet in `php.vim`
" * Some doctags don't get highlight like in Sublime because Sublime is
" weirdly inconsistent with them.
" * The PHP delimiter uses `Delimiter`, which was set to be pink for other
" reasons. Sublime shows them as white, though.
" Python
" This configuration assumed `python-syntax`
hi! link pythonBoolean Special
hi! link pythonBuiltinFunc SublimeFunctionCall
hi! link pythonBuiltinType SublimeType
" XXX: `__name__` (and maybe others?) get classified into this group, and aren't
" highlighted in vanilla Sublime.
hi! link pythonBuiltinObj Special
" XXX: `mcs` isn't highlighted by Sublime ATOW, but it should be.
hi! link pythonClass SublimeGreen
hi! link pythonClassVar SublimeContextParam
hi! link pythonCoding Comment
hi! link pythonConditional Conditional
hi! link pythonException Keyword
hi! link pythonExClass SublimeType
hi! link pythonFunction Tag
hi! link pythonImport Keyword
hi! link pythonInclude Keyword
hi! link pythonLambdaExpr SublimeType
hi! link pythonNone Special
" XXX: def parens are, for some reason, included in this group.
hi! link pythonParam SublimeContextParam
hi! link pythonRaiseFromStatement Keyword
hi! link pythonSingleton Special
hi! link pythonSelf SublimeContextParam
" XXX: pythonStatement covers a bit too much...unfortunately, this means that
" some keywords, like `def`, can't be highlighted like in Sublime yet.
hi! link pythonStatement Keyword
hi! link pythonStrFormat Special
hi! link pythonRun Comment
" XXX: Other known deficiencies:
"
" * Python special regexp sequences aren't highlighted. :\
" * Function calls aren't highlighted like they are in Sublime.
" * Non-special args aren't highlighted at all like in Sublime.
" * `b` prefixes for strings aren't highlighted separately like in Sublime.
"
" Most of the above really are just because I haven't found a syntax that
" supports these distinctions yet.
" QuickScope plugin
call s:h('QuickScopePrimary', { 'bg': s:lightgrey, 'fg': s:black, 'format': 'underline' })
call s:h('QuickScopeSecondary', { 'bg': s:black, 'fg': s:lightgrey, 'format': 'underline' })
" Ruby
" call s:h('rubyInterpolationDelimiter', {})
" call s:h('rubyInstanceVariable', {})
" call s:h('rubyGlobalVariable', {})
" call s:h('rubyClassVariable', {})
" call s:h('rubyPseudoVariable', {})
hi! link rubyFunction SublimeGreen
hi! link rubyStringDelimiter SublimeYellow
hi! link rubyRegexp SublimeYellow
hi! link rubyRegexpDelimiter SublimeYellow
hi! link rubySymbol SublimePurple
hi! link rubyEscape SublimePurple
hi! link rubyInclude SublimePink
hi! link rubyOperator Operator
hi! link rubyControl SublimePink
hi! link rubyClass SublimePink
hi! link rubyDefine SublimePink
hi! link rubyException SublimePink
hi! link rubyRailsARAssociationMethod SublimeOrange
hi! link rubyRailsARMethod SublimeOrange
hi! link rubyRailsRenderMethod SublimeOrange
hi! link rubyRailsMethod SublimeOrange
hi! link rubyConstant SublimeAqua
hi! link rubyBlockArgument SublimeContextParam
hi! link rubyBlockParameter SublimeContextParam
" Rust
hi! link rustAttribute SublimeGrey
hi! link rustCommentLineDoc SublimeDocumentation
hi! link rustConditional Conditional
hi! link rustDerive SublimeGrey
hi! link rustDeriveTrait SublimeGrey
" Variation: I like making these Special
hi! link rustEnumVariant SublimeType
hi! link rustFuncCall SublimeFunctionCall
hi! link rustFuncName Tag
hi! link rustIdentifier Tag
" Variation: I actually like making these Special too
hi! link rustLifetime Keyword
hi! link rustMacro SublimeFunctionCall
hi! link rustModPathSep SublimeWhite
hi! link rustQuestionMark Keyword
hi! link rustRepeat Keyword
hi! link rustSelf SublimeContextParam
" XXX: Other known deficiencies:
"
" * In Sublime, `fn` and `let` keywords are highlighted with italicized aqua,
" but Vim lumps them with all other keywords
" * Crate names after `extern crate` are included in `rustIdentifier`, which
" is technically more inclusive than Sublime's definition group but not so
" bad I don't think it's an okay default.
" * Sublime does NOT have the `rustEnumVariant` distinction, which is actually
" a really nice feature.
" * No `fn`/lambda param highlighting is available in Vim like in Sublime
" here. :(
" * `rust.vim` doesn't highlight typical attributes like in Sublime. Sublime
" makes this fairly nice, though I prefer to just make them look like doc
" comments.
" SASS
hi! link sassAmpersand Operator
hi! link sassClass Tag
hi! link sassCssAttribute SublimeAqua
hi! link sassInclude Keyword