-
-
Notifications
You must be signed in to change notification settings - Fork 63
/
Copy pathmoonfly.vim
856 lines (769 loc) · 35.2 KB
/
moonfly.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
" Background and foreground
let s:black = '#080808'
let s:white = '#c6c6c6'
" Variations of charcoal-grey
let s:grey0 = '#323437'
let s:grey1 = '#373c4d'
let s:grey89 = '#e4e4e4'
let s:grey70 = '#b2b2b2'
let s:grey62 = '#9e9e9e'
let s:grey58 = '#949494'
let s:grey50 = '#808080'
let s:grey39 = '#626262'
let s:grey30 = '#4e4e4e'
let s:grey27 = '#444444'
let s:grey23 = '#3a3a3a'
let s:grey18 = '#2e2e2e'
let s:grey15 = '#262626'
let s:grey11 = '#1c1c1c'
let s:grey7 = '#121212'
" Core theme colors
let s:khaki = '#c6c684'
let s:yellow = '#e3c78a'
let s:orange = '#de935f'
let s:coral = '#f09479'
let s:orchid = '#e196a2'
let s:lime = '#85dc85'
let s:green = '#8cc85f'
let s:emerald = '#36c692'
let s:turquoise = '#79dac8'
let s:blue = '#80a0ff'
let s:sky = '#74b2ff'
let s:lavender = "#adadf3"
let s:purple = '#ae81ff'
let s:violet = '#cf87e8'
let s:cranberry = '#e65e72'
let s:crimson = '#ff5189'
let s:red = '#ff5454'
" Extra colors
let s:mineral = '#314940'
let s:bay = '#4d5d8d'
function! moonfly#Style() abort
"-----------------------------------------------------------------------
" Custom styling groups
"-----------------------------------------------------------------------
exec 'highlight MoonflyVisual guibg=' . s:grey0
exec 'highlight MoonflyWhite guifg=' . s:white
exec 'highlight MoonflyGrey0 guifg=' . s:grey0
exec 'highlight MoonflyGrey89 guifg=' . s:grey89
exec 'highlight MoonflyGrey70 guifg=' . s:grey70
exec 'highlight MoonflyGrey62 guifg=' . s:grey62
exec 'highlight MoonflyGrey58 guifg=' . s:grey58
exec 'highlight MoonflyGrey39 guifg=' . s:grey39
exec 'highlight MoonflyGrey30 guifg=' . s:grey30
exec 'highlight MoonflyGrey27 guifg=' . s:grey27
exec 'highlight MoonflyGrey23 guifg=' . s:grey23
exec 'highlight MoonflyGrey18 guifg=' . s:grey18
exec 'highlight MoonflyGrey15 guifg=' . s:grey15
exec 'highlight MoonflyKhaki guifg=' . s:khaki
exec 'highlight MoonflyYellow guifg=' . s:yellow
exec 'highlight MoonflyOrange guifg=' . s:orange
exec 'highlight MoonflyCoral guifg=' . s:coral
exec 'highlight MoonflyOrchid guifg=' . s:orchid
exec 'highlight MoonflyLime guifg=' . s:lime
exec 'highlight MoonflyGreen guifg=' . s:green
exec 'highlight MoonflyEmerald guifg=' . s:emerald
exec 'highlight MoonflyTurquoise guifg=' . s:turquoise
exec 'highlight MoonflyBlue guifg=' . s:blue
exec 'highlight MoonflySky guifg=' . s:sky
exec 'highlight MoonflyLavender guifg=' . s:lavender
exec 'highlight MoonflyPurple guifg=' . s:purple
exec 'highlight MoonflyViolet guifg=' . s:violet
exec 'highlight MoonflyCranberry guifg=' . s:cranberry
exec 'highlight MoonflyCrimson guifg=' . s:crimson
exec 'highlight MoonflyRed guifg=' . s:red
" Statusline helper colors
exec 'highlight MoonflyBlueMode guibg=' . s:blue . ' guifg=' . s:grey11
exec 'highlight MoonflyEmeraldMode guibg=' . s:emerald . ' guifg=' . s:grey11
exec 'highlight MoonflyPurpleMode guibg=' . s:purple . ' guifg=' . s:grey11
exec 'highlight MoonflyCrimsonMode guibg=' . s:crimson . ' guifg=' . s:grey11
exec 'highlight MoonflyYellowMode guibg=' . s:yellow . ' guifg=' . s:grey11
" Diagnostic helper colors
exec 'highlight MoonflyDiagnosticUndercurlError gui=undercurl guisp=' . s:red
exec 'highlight MoonflyDiagnosticUndercurlWarn gui=undercurl guisp=' . s:yellow
exec 'highlight MoonflyDiagnosticUndercurlInfo gui=undercurl guisp=' . s:sky
exec 'highlight MoonflyDiagnosticUnderlineError gui=underline guisp=' . s:red
exec 'highlight MoonflyDiagnosticUnderlineWarn gui=underline guisp=' . s:yellow
exec 'highlight MoonflyDiagnosticUnderlineInfo gui=underline guisp=' . s:sky
exec 'highlight MoonflyDiagnosticVirtualTextError guibg=' . s:grey11 . ' guifg=' . s:red
exec 'highlight MoonflyDiagnosticVirtualTextWarn guibg=' . s:grey11 . ' guifg=' . s:yellow
exec 'highlight MoonflyDiagnosticVirtualTextInfo guibg=' . s:grey11 . ' guifg=' . s:sky
"-----------------------------------------------------------------------
" Standard styling
"-----------------------------------------------------------------------
" Specify the colors used by the inbuilt terminal
if g:moonflyTerminalColors
let g:terminal_ansi_colors = [
\ s:grey0, s:red, s:green, s:yellow,
\ s:blue, s:violet, s:turquoise, s:white,
\ s:grey58, s:crimson, s:emerald, s:khaki,
\ s:sky, s:purple, s:lime, s:grey89
\]
endif
" Background and text
if g:moonflyTransparent
exec 'highlight Normal guibg=NONE guifg=' . s:white
else
exec 'highlight Normal guibg=' . s:black . ' guifg=' . s:white
endif
" Color of mode text, -- INSERT --
exec 'highlight ModeMsg guifg=' . s:grey62 . ' gui=none'
" Comments
if g:moonflyItalics
exec 'highlight Comment guifg=' . s:grey58 . ' gui=italic'
else
exec 'highlight Comment guifg=' . s:grey58
endif
" Functions
highlight! link Function MoonflySky
" Strings
highlight! link String MoonflyKhaki
" Booleans
highlight! link Boolean MoonflyCranberry
" Identifiers
highlight! link Identifier MoonflyTurquoise
" Color of titles
exec 'highlight Title guifg=' . s:orange . ' gui=none'
" const, static
highlight! link StorageClass MoonflyViolet
" void, intptr_t
exec 'highlight Type guifg=' . s:emerald . ' gui=none'
" Numbers
highlight! link Constant MoonflyOrange
" Character constants
highlight! link Character MoonflyPurple
" Exceptions
highlight! link Exception MoonflyCrimson
" ifdef/endif
highlight! link PreProc MoonflyCranberry
" case in switch statement
highlight! link Label MoonflyTurquoise
" end-of-line '$', end-of-file '~'
exec 'highlight NonText guifg=' . s:grey39 . ' gui=none'
" sizeof
highlight! link Operator MoonflyCranberry
" for, while
highlight! link Repeat MoonflyViolet
" Search
exec 'highlight Search cterm=none guibg=' . s:grey1 . ' guifg=' . s:grey89 . ' gui=none'
exec 'highlight CurSearch cterm=none guibg=' . s:coral . ' guifg=' . s:black . ' gui=none'
exec 'highlight IncSearch cterm=none guibg=' . s:yellow . ' guifg=' . s:black . ' gui=none'
" '\n' sequences
highlight! link Special MoonflyCranberry
" if, else
exec 'highlight Statement guifg=' . s:violet . ' gui=none'
" struct, union, enum, typedef
highlight! link Structure MoonflyBlue
" Status, split and tab lines
exec 'highlight StatusLine cterm=none guibg=' . s:grey18 . ' guifg=' . s:white . ' gui=none'
exec 'highlight StatusLineNC cterm=none guibg=' . s:grey18 . ' guifg=' . s:grey62 . ' gui=none'
exec 'highlight Tabline cterm=none guibg=' . s:grey18 . ' guifg=' . s:grey62 . ' gui=none'
exec 'highlight TablineSel cterm=none guibg=' . s:grey11 . ' guifg=' . s:blue . ' gui=none'
exec 'highlight TablineSelSymbol cterm=none guibg=' . s:grey11 . ' guifg=' . s:emerald . ' gui=none'
exec 'highlight TablineFill cterm=none guibg=' . s:grey18 . ' guifg=' . s:grey18 . ' gui=none'
exec 'highlight StatusLineTerm cterm=none guibg=' . s:grey18 . ' guifg=' . s:white . ' gui=none'
exec 'highlight StatusLineTermNC cterm=none guibg=' . s:grey18 . ' guifg=' . s:grey62 . ' gui=none'
if g:moonflyWinSeparator == 0
exec 'highlight VertSplit cterm=none guibg=' . s:black . ' guifg=' . s:black . ' gui=none'
elseif g:moonflyWinSeparator == 1
exec 'highlight VertSplit cterm=none guibg=' . s:grey18 . ' guifg=' . s:grey18 . ' gui=none'
else
exec 'highlight VertSplit guibg=NONE guifg=' . s:grey18 . ' gui=none'
end
" Visual selection
highlight! link Visual MoonflyVisual
exec 'highlight VisualNOS guibg=' . s:grey0 . ' guifg=fg gui=none'
" Errors, warnings and whitespace-eol
exec 'highlight Error guibg=bg guifg=' . s:red
exec 'highlight ErrorMsg guibg=bg guifg=' . s:red
exec 'highlight WarningMsg guibg=bg guifg=' . s:orange
" Auto-text-completion menu
exec 'highlight Pmenu guibg=' . s:grey15 . ' guifg=fg'
exec 'highlight PmenuSel guibg=' . s:bay . ' guifg=' . s:grey89
exec 'highlight PmenuSbar guibg=' . s:grey15
exec 'highlight PmenuThumb guibg=' . s:grey50
exec 'highlight WildMenu guibg=' . s:bay . ' guifg=' . s:grey89
" Spelling errors
if g:moonflyUndercurls
exec 'highlight SpellBad ctermbg=NONE cterm=underline guibg=NONE gui=undercurl guisp=' . s:red
exec 'highlight SpellCap ctermbg=NONE cterm=underline guibg=NONE gui=undercurl guisp=' . s:yellow
exec 'highlight SpellRare ctermbg=NONE cterm=underline guibg=NONE gui=undercurl guisp=' . s:green
exec 'highlight SpellLocal ctermbg=NONE cterm=underline guibg=NONE gui=undercurl guisp=' . s:sky
else
exec 'highlight SpellBad ctermbg=NONE cterm=underline guibg=NONE guifg=' . s:red . ' gui=underline guisp=' . s:red
exec 'highlight SpellCap ctermbg=NONE cterm=underline guibg=NONE guifg=' . s:yellow . ' gui=underline guisp=' . s:yellow
exec 'highlight SpellRare ctermbg=NONE cterm=underline guibg=NONE guifg=' . s:green . ' gui=underline guisp=' . s:green
exec 'highlight SpellLocal ctermbg=NONE cterm=underline guibg=NONE guifg=' . s:sky . ' gui=underline guisp=' . s:sky
endif
" Misc
exec 'highlight Question guifg=' . s:lime . ' gui=none'
exec 'highlight MoreMsg guifg=' . s:red . ' gui=none'
exec 'highlight LineNr guibg=bg guifg=' . s:grey39 . ' gui=none'
if g:moonflyCursorColor
exec 'highlight Cursor guifg=bg guibg=' . s:blue
else
exec 'highlight Cursor guifg=bg guibg=' . s:grey62
endif
exec 'highlight lCursor guifg=bg guibg=' . s:grey62
exec 'highlight CursorLineNr cterm=none guibg=' . s:grey11 . ' guifg=' . s:blue . ' gui=none'
exec 'highlight CursorColumn guibg=' . s:grey11
exec 'highlight CursorLine cterm=none guibg=' . s:grey11
exec 'highlight Folded guibg=' . s:grey11 . ' guifg='. s:lime
exec 'highlight FoldColumn guibg=' . s:grey18 . ' guifg=' . s:lime
exec 'highlight SignColumn guibg=bg guifg=' . s:lime
exec 'highlight Todo guibg=' . s:grey15 . ' guifg=' . s:yellow
exec 'highlight SpecialKey guibg=bg guifg=' . s:sky
if g:moonflyUnderlineMatchParen
exec 'highlight MatchParen guibg=bg gui=underline'
else
highlight! link MatchParen MoonflyVisual
endif
highlight! link Ignore MoonflySky
exec 'highlight Underlined guifg=' . s:emerald . ' gui=none'
exec 'highlight QuickFixLine guibg=' . s:grey15
highlight! link Delimiter MoonflyWhite
highlight! link qfFileName MoonflyEmerald
" Color column (after line 80)
exec 'highlight ColorColumn guibg=' . s:grey7
" Conceal color
exec 'highlight Conceal guibg=NONE guifg=' . s:grey70
" vimdiff -d
exec 'highlight DiffAdd guibg=' . s:mineral
exec 'highlight DiffChange guibg=' . s:grey18
exec 'highlight DiffDelete guibg=' . s:grey18 . ' guifg=' . s:grey39 . ' gui=none'
exec 'highlight DiffText guibg=' . s:bay
"-----------------------------------------------------------------------
" Language styling
"-----------------------------------------------------------------------
" C
highlight! link cTypedef MoonflyViolet
" C++
highlight! link cppAccess MoonflyViolet
highlight! link cppCast MoonflyTurquoise
highlight! link cppCustomClass MoonflyTurquoise
highlight! link cppExceptions MoonflyLime
highlight! link cppModifier MoonflyViolet
highlight! link cppOperator MoonflyGreen
highlight! link cppStatement MoonflyTurquoise
highlight! link cppSTLconstant MoonflyBlue
highlight! link cppSTLnamespace MoonflyTurquoise
highlight! link cppStructure MoonflyViolet
" C#
highlight! link csModifier MoonflyViolet
highlight! link csStorage MoonflyViolet
highlight! link csXmlTag MoonflyBlue
" Clojure
highlight! link clojureDefine MoonflyViolet
highlight! link clojureKeyword MoonflyPurple
highlight! link clojureSpecial MoonflyTurquoise
" CoffeeScript
highlight! link coffeeConstant MoonflyEmerald
highlight! link coffeeGlobal MoonflyTurquoise
highlight! link coffeeObject MoonflyEmerald
highlight! link coffeeObjAssign MoonflySky
highlight! link coffeeSpecialIdent MoonflyTurquoise
highlight! link coffeeSpecialVar MoonflyBlue
" Crystal
highlight! link crystalDefine MoonflyViolet
highlight! link crystalPseudoVariable MoonflyGreen
" CSS/SCSS
highlight! link cssAtRule MoonflyViolet
highlight! link cssAttr MoonflyGreen
highlight! link cssBraces MoonflyWhite
highlight! link cssClassName MoonflyEmerald
highlight! link cssClassNameDot MoonflyViolet
highlight! link cssColor MoonflyGreen
highlight! link cssIdentifier MoonflyEmerald
highlight! link cssProp MoonflyLavender
highlight! link cssTagName MoonflyBlue
highlight! link cssUnitDecorators MoonflyKhaki
highlight! link sassId MoonflyEmerald
highlight! link sassIdChar MoonflyCranberry
highlight! link sassMedia MoonflyViolet
highlight! link scssSelectorName MoonflyEmerald
" CSV
highlight! link csvCol0 MoonflyRed
highlight! link csvCol1 MoonflyOrange
highlight! link csvCol2 MoonflyYellow
highlight! link csvCol3 MoonflyGreen
highlight! link csvCol4 MoonflyTurquoise
highlight! link csvCol5 MoonflyBlue
highlight! link csvCol6 MoonflyPurple
highlight! link csvCol7 MoonflyViolet
highlight! link csvCol8 MoonflyLavender
" Dart
highlight! link dartTypedef MoonflyViolet
" Elixir
highlight! link eelixirDelimiter MoonflyCrimson
highlight! link elixirAtom MoonflyPurple
highlight! link elixirBlockDefinition MoonflyViolet
highlight! link elixirDefine MoonflyViolet
highlight! link elixirDocTest MoonflyGrey62
highlight! link elixirExUnitAssert MoonflyLime
highlight! link elixirExUnitMacro MoonflySky
highlight! link elixirKernelFunction MoonflyGreen
highlight! link elixirKeyword MoonflyViolet
highlight! link elixirModuleDefine MoonflyViolet
highlight! link elixirPrivateDefine MoonflyViolet
highlight! link elixirStringDelimiter MoonflyKhaki
highlight! link elixirVariable MoonflyTurquoise
" Elm
highlight! link elmLetBlockDefinition MoonflyLime
highlight! link elmTopLevelDecl MoonflyCoral
highlight! link elmTypedef MoonflyViolet
" Go
highlight! link goBuiltins MoonflySky
highlight! link goConditional MoonflyViolet
highlight! link goDeclType MoonflyGreen
highlight! link goDirective MoonflyCranberry
highlight! link goFloats MoonflyPurple
highlight! link goFunction MoonflyBlue
highlight! link goFunctionCall MoonflySky
highlight! link goImport MoonflyCranberry
highlight! link goLabel MoonflyYellow
highlight! link goMethod MoonflySky
highlight! link goMethodCall MoonflySky
highlight! link goPackage MoonflyViolet
highlight! link goSignedInts MoonflyEmerald
highlight! link goStruct MoonflyCoral
highlight! link goStructDef MoonflyCoral
highlight! link goUnsignedInts MoonflyPurple
" Haskell
highlight! link haskellDecl MoonflyViolet
highlight! link haskellDeclKeyword MoonflyViolet
highlight! link haskellLet MoonflySky
highlight! link haskellOperators MoonflyCranberry
highlight! link haskellWhere MoonflyViolet
" Help
highlight! link helpCommand MoonflyOrchid
highlight! link helpExample MoonflyGreen
highlight! link helpHeadline MoonflyBlue
highlight! link helpHyperTextEntry MoonflyTurquoise
highlight! link helpSectionDelim MoonflyBlue
" HTML
highlight! link htmlArg MoonflyTurquoise
highlight! link htmlLink MoonflyGreen
highlight! link htmlEndTag MoonflyPurple
highlight! link htmlH1 MoonflyCranberry
highlight! link htmlH2 MoonflyOrange
highlight! link htmlSpecialTagName MoonflyBlue
highlight! link htmlTag MoonflyLime
highlight! link htmlTagN MoonflyBlue
highlight! link htmlTagName MoonflyBlue
highlight! link htmlTitle MoonflyViolet
highlight! link htmlUnderline MoonflyWhite
if g:moonflyItalics
exec 'highlight htmlBoldItalic guibg=' . s:black . ' guifg=' . s:coral . ' gui=italic'
exec 'highlight htmlBoldUnderlineItalic guibg=' . s:black . ' guifg=' . s:coral . ' gui=italic'
exec 'highlight htmlItalic guifg=' . s:grey62 . ' gui=italic'
exec 'highlight htmlUnderlineItalic guibg=' . s:black . ' guifg=' . s:grey62 . ' gui=italic'
else
exec 'highlight htmlBoldItalic guibg=' . s:black . ' guifg=' . s:coral ' gui=none'
exec 'highlight htmlBoldUnderlineItalic guibg=' . s:black . ' guifg=' . s:coral
exec 'highlight htmlItalic guifg=' . s:grey62 ' gui=none'
exec 'highlight htmlUnderlineItalic guibg=' . s:black . ' guifg=' . s:grey62
endif
" Java
highlight! link javaAnnotation MoonflyLime
highlight! link javaBraces MoonflyWhite
highlight! link javaCommentTitle MoonflyGrey62
highlight! link javaConstant MoonflySky
highlight! link javaDebug MoonflySky
highlight! link javaMethodDecl MoonflyYellow
highlight! link javaOperator MoonflyCrimson
highlight! link javaScopeDecl MoonflyViolet
highlight! link javaStatement MoonflyTurquoise
" JavaScript, 'pangloss/vim-javascript' plugin
highlight! link jsClassDefinition MoonflyEmerald
highlight! link jsClassKeyword MoonflyViolet
highlight! link jsClassMethodType MoonflyEmerald
highlight! link jsExceptions MoonflyEmerald
highlight! link jsFrom MoonflyCranberry
highlight! link jsFuncBlock MoonflyTurquoise
highlight! link jsFuncCall MoonflySky
highlight! link jsFunction MoonflyViolet
highlight! link jsGlobalObjects MoonflyEmerald
highlight! link jsModuleAs MoonflyCoral
highlight! link jsObjectKey MoonflyLavender
highlight! link jsObjectValue MoonflyEmerald
highlight! link jsOperator MoonflyViolet
highlight! link jsStorageClass MoonflyViolet
highlight! link jsTemplateBraces MoonflyCranberry
highlight! link jsTemplateExpression MoonflyTurquoise
highlight! link jsThis MoonflyGreen
" JSX, 'MaxMEllon/vim-jsx-pretty' plugin
highlight! link jsxAttrib MoonflyTurquoise
highlight! link jsxClosePunct MoonflyPurple
highlight! link jsxComponentName MoonflyEmerald
highlight! link jsxOpenPunct MoonflyLime
highlight! link jsxTagName MoonflyBlue
" LaTeX
highlight! link texBeginEndName MoonflyEmerald
highlight! link texCite MoonflyGreen
highlight! link texDocType MoonflyCranberry
highlight! link texDocTypeArgs MoonflyOrchid
highlight! link texInputFile String
highlight! link texMathZoneC MoonflySky
highlight! link texMathZoneX MoonflySky
highlight! link texRefZone MoonflyGreen
highlight! link texSection MoonflyLavender
highlight! link texTypeStyle MoonflyYellow
highlight! link texZone MoonflyLavender
" Lua
highlight! link luaBraces MoonflyEmerald
highlight! link luaBuiltin MoonflyGreen
highlight! link luaConstant MoonflyCranberry
highlight! link luaFuncCall MoonflySky
highlight! link luaFuncKeyword MoonflyViolet
highlight! link luaLocal MoonflyViolet
highlight! link luaSpecialTable MoonflySky
highlight! link luaSpecialValue MoonflySky
" Man
highlight! link manHeader MoonflyEmerald
highlight! link manOptionDesc MoonflyOrchid
highlight! link manReference MoonflyGreen
highlight! link manSectionHeading MoonflyBlue
highlight! link manSubHeading MoonflyTurquoise
" Markdown, 'tpope/vim-markdown' plugin
highlight! link markdownBold MoonflyYellow
highlight! link markdownCode MoonflyKhaki
highlight! link markdownCodeDelimiter MoonflyKhaki
highlight! link markdownError NormalNC
highlight! link markdownH1 MoonflyEmerald
highlight! link markdownH2 MoonflyBlue
highlight! link markdownH3 MoonflyTurquoise
highlight! link markdownH3Delimiter MoonflyCrimson
highlight! link markdownH4 MoonflyOrange
highlight! link markdownH4Delimiter MoonflyCrimson
highlight! link markdownH5 MoonflySky
highlight! link markdownH5Delimiter MoonflyCrimson
highlight! link markdownH6 MoonflyViolet
highlight! link markdownH6Delimiter MoonflyCrimson
highlight! link markdownHeadingRule MoonflyCranberry
if g:moonflyItalics
exec 'highlight markdownItalic guifg=' . s:orchid . ' gui=italic'
else
highlight! link markdownItalic MoonflyOrchid
endif
exec 'highlight markdownUrl guifg=' . s:purple. ' cterm=underline gui=underline guisp=' . s:grey50
" Markdown, 'plasticboy/vim-markdown' plugin
highlight! link mkdDelimiter MoonflyWhite
highlight! link mkdLineBreak NormalNC
highlight! link mkdListItem MoonflyBlue
highlight! link mkdURL markdownUrl
" PHP
highlight! link phpClass MoonflyEmerald
highlight! link phpClasses MoonflyBlue
highlight! link phpFunction MoonflySky
highlight! link phpParent MoonflyWhite
highlight! link phpType MoonflyViolet
" Python
highlight! link pythonBuiltin MoonflyBlue
highlight! link pythonClass MoonflyEmerald
highlight! link pythonClassVar MoonflyGreen
highlight! link pythonCoding MoonflySky
highlight! link pythonImport MoonflyCranberry
highlight! link pythonOperator MoonflyViolet
highlight! link pythonRun MoonflySky
highlight! link pythonStatement MoonflyViolet
" Ruby
highlight! link rubyAccess MoonflyViolet
highlight! link rubyAssertion MoonflySky
highlight! link rubyAttribute MoonflySky
highlight! link rubyBlockParameter MoonflyGreen
highlight! link rubyCallback MoonflySky
highlight! link rubyDefine MoonflyViolet
highlight! link rubyEntities MoonflySky
highlight! link rubyExceptional MoonflyCoral
highlight! link rubyGemfileMethod MoonflySky
highlight! link rubyInstanceVariable MoonflyTurquoise
highlight! link rubyInterpolationDelimiter MoonflyCranberry
highlight! link rubyMacro MoonflySky
highlight! link rubyModule MoonflyBlue
highlight! link rubyModuleName MoonflyEmerald
highlight! link rubyPseudoVariable MoonflyGreen
highlight! link rubyResponse MoonflySky
highlight! link rubyRoute MoonflySky
highlight! link rubySharpBang MoonflyGrey62
highlight! link rubyStringDelimiter MoonflyKhaki
highlight! link rubySymbol MoonflyPurple
" Rust
highlight! link rustAssert MoonflyTurquoise
highlight! link rustAttribute MoonflyWhite
highlight! link rustCharacterInvalid MoonflyCranberry
highlight! link rustCharacterInvalidUnicode MoonflyCranberry
highlight! link rustCommentBlockDoc MoonflyGrey62
highlight! link rustCommentBlockDocError MoonflyGrey62
highlight! link rustCommentLineDoc MoonflyGrey62
highlight! link rustCommentLineDocError MoonflyGrey62
highlight! link rustConstant MoonflyOrange
highlight! link rustDerive MoonflyGreen
highlight! link rustEscapeError MoonflyCranberry
highlight! link rustFuncName MoonflyBlue
highlight! link rustIdentifier MoonflyBlue
highlight! link rustInvalidBareKeyword MoonflyCranberry
highlight! link rustKeyword MoonflyViolet
highlight! link rustLifetime MoonflyViolet
highlight! link rustMacro MoonflyTurquoise
highlight! link rustMacroVariable MoonflyViolet
highlight! link rustModPath MoonflyTurquoise
highlight! link rustModPathSep MoonflyCranberry
highlight! link rustObsoleteExternMod MoonflyCranberry
highlight! link rustObsoleteStorage MoonflyCranberry
highlight! link rustReservedKeyword MoonflyCranberry
highlight! link rustSelf MoonflyGreen
highlight! link rustSigil MoonflyTurquoise
highlight! link rustStorage MoonflyViolet
highlight! link rustStructure MoonflyViolet
highlight! link rustTrait MoonflyEmerald
highlight! link rustType MoonflyEmerald
" Scala (note, link highlighting does not work, I don't know why)
exec 'highlight scalaCapitalWord guifg=' . s:emerald
exec 'highlight scalaCommentCodeBlock guifg=' . s:grey62
exec 'highlight scalaInstanceDeclaration guifg=' . s:emerald
exec 'highlight scalaKeywordModifier guifg=' . s:violet
exec 'highlight scalaSpecial guifg=' . s:crimson
" Shell
highlight! link shAlias MoonflyTurquoise
highlight! link shCommandSub MoonflyWhite
highlight! link shCtrlSeq MoonflyKhaki
highlight! link shLoop MoonflyViolet
highlight! link shRange MoonflyWhite
highlight! link shSetList MoonflyTurquoise
highlight! link shShellVariables MoonflyTurquoise
highlight! link shVariable MoonflyTurquoise
" TypeScript (leafgarland/typescript-vim)
highlight! link typescriptDOMObjects MoonflyBlue
highlight! link typescriptFuncComma MoonflyWhite
highlight! link typescriptFuncKeyword MoonflyLime
highlight! link typescriptGlobalObjects MoonflyBlue
highlight! link typescriptIdentifier MoonflyGreen
highlight! link typescriptNull MoonflyGreen
highlight! link typescriptOpSymbols MoonflyViolet
highlight! link typescriptOperator MoonflyCrimson
highlight! link typescriptParens MoonflyWhite
highlight! link typescriptReserved MoonflyViolet
highlight! link typescriptStorageClass MoonflyViolet
" TypeScript (HerringtonDarkholme/yats.vim)
highlight! link typeScriptModule MoonflyBlue
highlight! link typescriptAbstract MoonflyCoral
highlight! link typescriptArrayMethod MoonflySky
highlight! link typescriptArrowFuncArg MoonflyWhite
highlight! link typescriptBOM MoonflyEmerald
highlight! link typescriptBOMHistoryMethod MoonflySky
highlight! link typescriptBOMLocationMethod MoonflySky
highlight! link typescriptBOMWindowProp MoonflyGreen
highlight! link typescriptBraces MoonflyWhite
highlight! link typescriptCall MoonflyWhite
highlight! link typescriptClassHeritage MoonflyEmerald
highlight! link typescriptClassKeyword MoonflyViolet
highlight! link typescriptClassName MoonflyEmerald
highlight! link typescriptDecorator MoonflyLime
highlight! link typescriptDOMDocMethod MoonflySky
highlight! link typescriptDOMEventTargetMethod MoonflySky
highlight! link typescriptDOMNodeMethod MoonflySky
highlight! link typescriptExceptions MoonflyCrimson
highlight! link typescriptFuncType MoonflyWhite
highlight! link typescriptMathStaticMethod MoonflySky
highlight! link typescriptMethodAccessor MoonflyViolet
highlight! link typescriptObjectLabel MoonflySky
highlight! link typescriptParamImpl MoonflyWhite
highlight! link typescriptStringMethod MoonflySky
highlight! link typescriptTry MoonflyCrimson
highlight! link typescriptTypeReference MoonflyEmerald
highlight! link typescriptVariable MoonflyLime
highlight! link typescriptXHRMethod MoonflySky
" Vimscript
highlight! link vimBracket MoonflySky
highlight! link vimCommand MoonflyViolet
highlight! link vimCommentTitle MoonflyViolet
highlight! link vimEnvvar MoonflyCrimson
highlight! link vimFuncName MoonflySky
highlight! link vimFuncSID MoonflySky
highlight! link vimFunction MoonflySky
highlight! link vimHighlight MoonflySky
highlight! link vimNotFunc MoonflyViolet
highlight! link vimNotation MoonflySky
highlight! link vimOption MoonflyEmerald
highlight! link vimParenSep MoonflyWhite
highlight! link vimSep MoonflyWhite
highlight! link vimUserFunc MoonflySky
" XML
highlight! link xmlAttrib MoonflyLime
highlight! link xmlEndTag MoonflyBlue
highlight! link xmlTag MoonflyLime
highlight! link xmlTagName MoonflyBlue
" Zig
highlight! link zigVarDecl MoonflyViolet
highlight! link zigNull MoonflyGreen
"-----------------------------------------------------------------------
" Plugin styling
"-----------------------------------------------------------------------
" ALE plugin
if g:moonflyUndercurls
highlight! link ALEError MoonflyDiagnosticUndercurlError
highlight! link ALEWarning MoonflyDiagnosticUndercurlWarn
highlight! link ALEInfo MoonflyDiagnosticUndercurlInfo
else
highlight! link ALEError MoonflyDiagnosticUnderlineError
highlight! link ALEWarning MoonflyDiagnosticUnderlineWarn
highlight! link ALEInfo MoonflyDiagnosticUnderlineInfo
endif
highlight! link ALEWarningSign MoonflyYellow
highlight! link ALEErrorSign MoonflyRed
highlight! link ALEInfoSign MoonflySky
if g:moonflyVirtualTextColor
highlight! link ALEVirtualTextError MoonflyDiagnosticVirtualTextError
highlight! link ALEVirtualTextWarning MoonflyDiagnosticVirtualTextWarn
highlight! link ALEVirtualTextInfo MoonflyDiagnosticVirtualTextInfo
else
highlight! link ALEVirtualTextError MoonflyGrey39
highlight! link ALEVirtualTextWarning MoonflyGrey39
highlight! link ALEVirtualTextInfo MoonflyGrey39
endif
" Coc
highlight! link CocSemTypeBuiltin MoonflyCranberry
highlight! link CocSemTypeClass MoonflyEmerald
highlight! link CocSemTypeEnumMember MoonflyTurquoise
highlight! link CocSemTypeNamespace MoonflyTurquoise
highlight! link CocSemTypeParameter MoonflyOrchid
highlight! link CocSemTypeProperty MoonflyLavender
highlight! link CocSemTypeRegexp MoonflyTurquoise
highlight! link CocSemTypeStruct MoonflyEmerald
highlight! link CocSemTypeTypeParameter MoonflyOrchid
highlight! link CocUnusedHighlight MoonflyGrey70
exec 'highlight CocInlayHint guibg=' . s:grey11 . ' guifg=' . s:grey58
" fern.vim plugin
highlight! link FernBranchSymbol MoonflyGrey58
highlight! link FernLeafSymbol MoonflyBlue
highlight! link FernLeaderSymbol MoonflyGrey23
highlight! link FernBranchText MoonflyBlue
highlight! link FernMarkedLine MoonflyVisual
highlight! link FernMarkedText MoonflyCrimson
highlight! link FernRootSymbol MoonflyPurple
highlight! link FernRootText MoonflyPurple
" fern-git-status.vim plugin
highlight! link FernGitStatusBracket MoonflyGrey58
highlight! link FernGitStatusIndex MoonflyEmerald
highlight! link FernGitStatusWorktree MoonflyCrimson
" Git commits
highlight! link gitCommitBranch MoonflySky
highlight! link gitCommitDiscardedFile MoonflyCrimson
highlight! link gitCommitDiscardedType MoonflySky
highlight! link gitCommitHeader MoonflyPurple
highlight! link gitCommitSelectedFile MoonflyEmerald
highlight! link gitCommitSelectedType MoonflySky
highlight! link gitCommitUntrackedFile MoonflyCranberry
highlight! link gitEmail MoonflyBlue
" Git commit diffs
highlight! link diffAdded MoonflyGreen
highlight! link diffChanged MoonflyCrimson
highlight! link diffIndexLine MoonflyCrimson
highlight! link diffLine MoonflySky
highlight! link diffRemoved MoonflyRed
highlight! link diffSubname MoonflySky
" GitGutter plugin
highlight! link GitGutterAdd MoonflyEmerald
highlight! link GitGutterChange MoonflySky
highlight! link GitGutterChangeDelete MoonflyCoral
highlight! link GitGutterDelete MoonflyRed
" Glyph palette
highlight! link GlyphPalette1 MoonflyCranberry
highlight! link GlyphPalette2 MoonflyEmerald
highlight! link GlyphPalette3 MoonflyYellow
highlight! link GlyphPalette4 MoonflyBlue
highlight! link GlyphPalette6 MoonflyTurquoise
highlight! link GlyphPalette7 MoonflyWhite
highlight! link GlyphPalette9 MoonflyCrimson
" indentLine plugin
if !exists('g:indentLine_defaultGroup') && !exists('g:indentLine_color_gui')
let g:indentLine_color_gui = s:grey15
endif
" mistfly-statusline plugin
highlight! link MistflyNormal MoonflyBlueMode
highlight! link MistflyInsert MoonflyEmeraldMode
highlight! link MistflyVisual MoonflyPurpleMode
highlight! link MistflyCommand MoonflyYellowMode
highlight! link MistflyReplace MoonflyCrimsonMode
" NERDTree plugin
highlight! link NERDTreeClosable MoonflyGrey58
highlight! link NERDTreeCWD MoonflyPurple
highlight! link NERDTreeDir MoonflySky
highlight! link NERDTreeDirSlash MoonflyCranberry
highlight! link NERDTreeExecFile MoonflyKhaki
highlight! link NERDTreeFile MoonflyWhite
highlight! link NERDTreeHelp MoonflyGrey62
highlight! link NERDTreeLinkDir MoonflyBlue
highlight! link NERDTreeLinkFile MoonflyBlue
highlight! link NERDTreeLinkTarget MoonflyTurquoise
highlight! link NERDTreeOpenable MoonflyGrey58
highlight! link NERDTreePart MoonflyGrey0
highlight! link NERDTreePartFile MoonflyGrey0
highlight! link NERDTreeUp MoonflyBlue
" NERDTree Git plugin
highlight! link NERDTreeGitStatusDirDirty MoonflyKhaki
highlight! link NERDTreeGitStatusModified MoonflyCrimson
highlight! link NERDTreeGitStatusRenamed MoonflySky
highlight! link NERDTreeGitStatusStaged MoonflySky
highlight! link NERDTreeGitStatusUntracked MoonflyRed
" Misc items
highlight! link bufExplorerHelp MoonflyGrey62
highlight! link bufExplorerSortBy MoonflyGrey62
highlight! link CleverFDefaultLabel MoonflyCrimson
highlight! link CtrlPMatch MoonflyCoral
highlight! link Directory MoonflyBlue
highlight! link erubyDelimiter MoonflyCrimson
highlight! link HighlightedyankRegion MoonflyGrey0
highlight! link jsonKeyword MoonflySky
highlight! link jsonQuote MoonflyWhite
highlight! link netrwClassify MoonflyCranberry
highlight! link netrwDir MoonflySky
highlight! link netrwExe MoonflyKhaki
highlight! link tagName MoonflyTurquoise
highlight! link Cheat40Header MoonflyBlue
highlight! link yamlBlockMappingKey MoonflySky
highlight! link yamlFlowMappingKey MoonflySky
if g:moonflyUnderlineMatchParen
exec 'highlight MatchWord gui=underline guisp=' . s:coral
else
highlight! link MatchWord MoonflyCoral
endif
exec 'highlight snipLeadingSpaces guibg=bg guifg=fg'
exec 'highlight MatchWordCur guibg=bg'
highlight! link fishInnerVariable MoonflyTurquoise
highlight! link fishParameter MoonflyTurquoise
highlight! link fishVariable MoonflyTurquoise
" Signify plugin
highlight! link SignifySignAdd MoonflyEmerald
highlight! link SignifySignChange MoonflySky
highlight! link SignifySignChangeDelete MoonflyCoral
highlight! link SignifySignDelete MoonflyRed
" Tagbar plugin
highlight! link TagbarFoldIcon MoonflyGrey62
highlight! link TagbarVisibilityPublic MoonflyLime
highlight! link TagbarVisibilityProtected MoonflyLime
highlight! link TagbarVisibilityPrivate MoonflyLime
highlight! link TagbarKind MoonflyEmerald
" FZF plugin
exec 'highlight FzfBorder guifg=' . s:grey18
exec 'highlight FzfFgPlus guifg=' . s:grey89
exec 'highlight FzfNormal guifg=' . s:grey70
exec 'highlight FzfPrompt guifg=' . s:blue . ' guibg=' . s:grey18
exec 'highlight FzfSubstring guifg=' . s:coral
let g:fzf_colors = {
\ 'fg': ['fg', 'FzfNormal'],
\ 'bg': ['bg', 'Normal'],
\ 'hl': ['fg', 'FzfSubstring'],
\ 'fg+': ['fg', 'FzfFgPlus'],
\ 'bg+': ['bg', 'Pmenu'],
\ 'hl+': ['fg', 'FzfSubstring'],
\ 'info': ['fg', 'String'],
\ 'border': ['fg', 'FzfBorder'],
\ 'prompt': ['fg', 'FzfPrompt'],
\ 'pointer': ['fg', 'Exception'],
\ 'marker': ['fg', 'FzfSubstring'],
\ 'spinner': ['fg', 'Type'],
\ 'header': ['fg', 'CursorLineNr'],
\ 'gutter': ['bg', 'Normal']
\}
endfunction