sq3: show SQLite error messages on stderr by default
[iv.d.git] / egtui / editor / highlighters.d
blobc0691ed962b02605b92f159ca1f5dd68310c58ac
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*/;
17 private:
19 import iv.alice;
20 import iv.rawtty;
21 import iv.strex;
22 import iv.egtui.tty;
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 {
52 switch (hs.kwtype) {
53 case HiNone: return XtColorFB!(TtyRgb2Color!(0xb2, 0xb2, 0xb2), TtyRgb2Color!(0x00, 0x00, 0x00)); // 7,0
54 case HiText: return TextColor;
56 case HiCommentOneLine:
57 case HiCommentMulti:
58 return XtColorFB!(TtyRgb2Color!(0xb2, 0x68, 0x18), TextBG); // 3,237
60 case HiCommentDirective:
61 return XtColorFB!(TtyRgb2Color!(0xd0, 0x00, 0x00), TextBG);
63 case HiNumber:
64 return XtColorFB!(TtyRgb2Color!(0x18, 0xb2, 0x18), TextBG); // 2,237
66 case HiChar:
67 return XtColorFB!(TtyRgb2Color!(0x54, 0xff, 0xff), TextBG); // 14,237
68 case HiCharSpecial:
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
73 // normal string
74 case HiDQString:
75 case HiSQString:
76 case HiBQString:
77 case HiRQString:
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?!");