1 /* Invisible Vector Library
2 * simple FlexBox-based TUI engine
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, version 3 of the License ONLY.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 module iv
.egtui
.editor
.highlighters
/*is aliced*/;
23 import iv
.egeditor
.editor
;
24 public import iv
.egeditor
.highlighters
;
27 // ////////////////////////////////////////////////////////////////////////// //
28 public enum TextBG
= TtyRgb2Color
!(0x3a, 0x3a, 0x3a); // 237
29 //public enum TextBG = TtyRGB!"333"; // 237
31 public enum TextColorNoHi
= XtColorFB
!(TtyRgb2Color
!(0xff, 0xa0, 0x00), TextBG
);
32 public enum TextColor
= XtColorFB
!(TtyRgb2Color
!(0xd0, 0xd0, 0xd0), TextBG
); // 252,237
33 public enum TextKillColor
= XtColorFB
!(TtyRgb2Color
!(0xe0, 0xe0, 0xe0), TextBG
); // 252,237
34 public enum BadColor
= XtColorFB
!(TtyRgb2Color
!(0xff, 0xff, 0x54), TtyRgb2Color
!(0xb2, 0x18, 0x18)); // 11,1
35 //public enum TrailSpaceColor = XtColorFB!(TtyRgb2Color!(0xff, 0xff, 0x00), TtyRgb2Color!(0x00, 0x00, 0x87)); // 226,18
36 public enum TrailSpaceColor
= XtColorFB
!(TtyRgb2Color
!(0x6c, 0x6c, 0x6c), TtyRgb2Color
!(0x26, 0x26, 0x26)); // 242,235
37 public enum VisualTabColor
= XtColorFB
!(TtyRgb2Color
!(0x80, 0x00, 0x00), TextBG
); // 242,235
38 public enum BlockColor
= XtColorFB
!(TtyRgb2Color
!(0xff, 0xff, 0xff), TtyRgb2Color
!(0x00, 0x5f, 0xff)); // 15,27
39 public enum BookmarkColor
= XtColorFB
!(TtyRgb2Color
!(0xff, 0xff, 0xff), TtyRgb2Color
!(0x87, 0x00, 0xd7)); // 15,92
40 public enum BracketColor
= XtColorFB
!(TtyRgb2Color
!(0xff, 0xff, 0x54), TtyRgb2Color
!(0x00, 0x00, 0x00)); // 11,0
41 public enum IncSearchColor
= XtColorFB
!(TtyRgb2Color
!(0xff, 0xff, 0x00), TtyRgb2Color
!(0xd7, 0x00, 0x00)); // 226,160
43 public enum UtfuckedColor
= XtColorFB
!(TtyRgb2Color
!(0x6c, 0x6c, 0x6c), TtyRgb2Color
!(0x26, 0x26, 0x26)); // 242,235
45 public enum VLineColor
= XtColorFB
!(TtyRgb2Color
!(0x60, 0x60, 0x60), TextBG
); // 252,237
47 //public enum TabColor = XtColorFB!(TtyRgb2Color!(0x00, 0x00, 0x80), TextBG);
50 // ////////////////////////////////////////////////////////////////////////// //
51 public uint hiColor() (in auto ref GapBuffer
.HighState hs
) nothrow @safe @nogc {
53 case HiNone
: return XtColorFB
!(TtyRgb2Color
!(0xb2, 0xb2, 0xb2), TtyRgb2Color
!(0x00, 0x00, 0x00)); // 7,0
54 case HiText
: return TextColor
;
56 case HiCommentOneLine
:
58 return XtColorFB
!(TtyRgb2Color
!(0xb2, 0x68, 0x18), TextBG
); // 3,237
60 case HiCommentDirective
:
61 return XtColorFB
!(TtyRgb2Color
!(0xd0, 0x00, 0x00), TextBG
);
64 return XtColorFB
!(TtyRgb2Color
!(0x18, 0xb2, 0x18), TextBG
); // 2,237
67 return XtColorFB
!(TtyRgb2Color
!(0x54, 0xff, 0xff), TextBG
); // 14,237
69 return XtColorFB
!(TtyRgb2Color
!(0x54, 0xff, 0x54), TextBG
); // 10,237; green
70 //return XtColorFB!(TtyRgb2Color!(0x18, 0xb2, 0x18), TextBG); // 2,237
71 //return XtColorFB!(TtyRgb2Color!(0x54, 0xff, 0xff), TextBG); // 14,237
78 return XtColorFB
!(TtyRgb2Color
!(0x18, 0xb2, 0xb2), TextBG
); // 6,237
79 case HiDQStringSpecial
:
80 case HiSQStringSpecial
:
81 return XtColorFB
!(TtyRgb2Color
!(0x54, 0xff, 0xff), TextBG
); // 14,237
82 //return XtColorFB!(TtyRgb2Color!(0x18, 0xb2, 0x18), TextBG); // 2,237
84 case HiKeyword
: return XtColorFB
!(TtyRgb2Color
!(0xff, 0xff, 0x54), TextBG
); // 11,237
85 case HiKeywordHi
: return XtColorFB
!(TtyRgb2Color
!(0xff, 0xff, 0xff), TextBG
); // 202,237
86 case HiBuiltin
: return XtColorFB
!(TtyRgb2Color
!(0xff, 0x5f, 0x00), TextBG
); // 202,237
87 case HiType
: return XtColorFB
!(TtyRgb2Color
!(0xff, 0xaf, 0x00), TextBG
); // 214,237
88 case HiSpecial
: return XtColorFB
!(TtyRgb2Color
!(0x54, 0xff, 0x54), TextBG
); // 10,237; green
89 case HiInternal
: return XtColorFB
!(TtyRgb2Color
!(0xff, 0x54, 0x54), TextBG
); // 9,237; red
90 case HiPunct
: return XtColorFB
!(TtyRgb2Color
!(0x54, 0xff, 0xff), TextBG
); // 14,237
91 case HiSemi
: return XtColorFB
!(TtyRgb2Color
!(0xff, 0x00, 0xff), TextBG
); // 201,237
92 case HiUDA
: return XtColorFB
!(TtyRgb2Color
!(0x00, 0x87, 0xff), TextBG
); // 33,237
93 case HiAliced
: return XtColorFB
!(TtyRgb2Color
!(0xff, 0x5f, 0x00), TextBG
); // 202,237
94 case HiPreprocessor
: return XtColorFB
!(TtyRgb2Color
!(0xff, 0x54, 0x54), TextBG
); // 9,237; red
96 case HiRegExp
: return XtColorFB
!(TtyRgb2Color
!(0xff, 0x5f, 0x00), TextBG
); // 202,237
98 case HiToDoOpen
: // [.]
99 return XtColorFB
!(TtyRgb2Color
!(0xff, 0x00, 0xff), TextBG
);
100 case HiToDoUnsure
: // [?]
101 return XtColorFB
!(TtyRgb2Color
!(0xc0, 0x00, 0xc0), TextBG
);
102 case HiToDoUrgent
: // [!]
103 return XtColorFB
!(TtyRgb2Color
!(0xff, 0x00, 0x00), TextBG
);
104 case HiToDoSemi
: // [+]
105 return XtColorFB
!(TtyRgb2Color
!(0xff, 0xff, 0x00), TextBG
);
106 case HiToDoDone
: // [*]
107 return XtColorFB
!(TtyRgb2Color
!(0x00, 0xa0, 0x00), TextBG
);
108 case HiToDoDont
: // [-]
109 return XtColorFB
!(TtyRgb2Color
!(0x90, 0x90, 0x00), TextBG
);
111 default: assert(0, "wtf?!");