diff --git a/lexilla/doc/LexillaHistory.html b/lexilla/doc/LexillaHistory.html
index 3b642bbd8..74dcf35f4 100644
--- a/lexilla/doc/LexillaHistory.html
+++ b/lexilla/doc/LexillaHistory.html
@@ -565,6 +565,8 @@
riQQ |
YX Hao |
Bertrand Lacoste |
+
+ | Ivan Ustûžanin |
Releases
@@ -603,6 +605,18 @@
Fixed Matlab to not allow escape sequences in double-quoted strings.
Issue #18.
+
+ Support flexible heredoc and nowdoc syntax for PHP.
+ Issue #19.
+
+
+ Enabled '_' digit separator in numbers for PHP.
+ Issue #19.
+
+
+ Stop styling attributes as comments for PHP.
+ Issue #19.
+
Release 5.1.0
diff --git a/lexilla/lexers/LexHTML.cxx b/lexilla/lexers/LexHTML.cxx
index 39a6672ca..902f25f53 100644
--- a/lexilla/lexers/LexHTML.cxx
+++ b/lexilla/lexers/LexHTML.cxx
@@ -535,7 +535,7 @@ bool isPHPStringState(int state) {
Sci_Position FindPhpStringDelimiter(std::string &phpStringDelimiter, Sci_Position i, const Sci_Position lengthDoc, Accessor &styler, bool &isSimpleString) {
Sci_Position j;
const Sci_Position beginning = i - 1;
- bool isValidSimpleString = false;
+ bool isQuoted = false;
while (i < lengthDoc && (styler[i] == ' ' || styler[i] == '\t'))
i++;
@@ -543,10 +543,11 @@ Sci_Position FindPhpStringDelimiter(std::string &phpStringDelimiter, Sci_Positio
const char chNext = styler.SafeGetCharAt(i + 1);
phpStringDelimiter.clear();
if (!IsPhpWordStart(ch)) {
- if (ch == '\'' && IsPhpWordStart(chNext)) {
+ if ((ch == '\'' || ch == '\"') && IsPhpWordStart(chNext)) {
+ isSimpleString = ch == '\'';
+ isQuoted = true;
i++;
ch = chNext;
- isSimpleString = true;
} else {
return beginning;
}
@@ -554,9 +555,9 @@ Sci_Position FindPhpStringDelimiter(std::string &phpStringDelimiter, Sci_Positio
phpStringDelimiter.push_back(ch);
i++;
for (j = i; j < lengthDoc && !isLineEnd(styler[j]); j++) {
- if (!IsPhpWordChar(styler[j])) {
- if (isSimpleString && (styler[j] == '\'') && isLineEnd(styler.SafeGetCharAt(j + 1))) {
- isValidSimpleString = true;
+ if (!IsPhpWordChar(styler[j]) && isQuoted) {
+ if (((isSimpleString && styler[j] == '\'') || (!isSimpleString && styler[j] == '\"')) && isLineEnd(styler.SafeGetCharAt(j + 1))) {
+ isQuoted = false;
j++;
break;
} else {
@@ -566,7 +567,7 @@ Sci_Position FindPhpStringDelimiter(std::string &phpStringDelimiter, Sci_Positio
}
phpStringDelimiter.push_back(styler[j]);
}
- if (isSimpleString && !isValidSimpleString) {
+ if (isQuoted) {
phpStringDelimiter.clear();
return beginning;
}
@@ -2280,7 +2281,7 @@ void SCI_METHOD LexerHTML::Lex(Sci_PositionU startPos, Sci_Position length, int
} else if (ch == '/' && chNext == '/') {
i++;
state = SCE_HPHP_COMMENTLINE;
- } else if (ch == '#') {
+ } else if (ch == '#' && chNext != '[') {
state = SCE_HPHP_COMMENTLINE;
} else if (ch == '\"') {
state = SCE_HPHP_HSTRING;
@@ -2307,7 +2308,7 @@ void SCI_METHOD LexerHTML::Lex(Sci_PositionU startPos, Sci_Position length, int
case SCE_HPHP_NUMBER:
// recognize bases 8,10 or 16 integers OR floating-point numbers
if (!IsADigit(ch)
- && strchr(".xXabcdefABCDEF", ch) == NULL
+ && strchr(".xXabcdefABCDEF_", ch) == NULL
&& ((ch != '-' && ch != '+') || (chPrev != 'e' && chPrev != 'E'))) {
styler.ColourTo(i - 1, SCE_HPHP_NUMBER);
if (IsOperator(ch))
@@ -2349,13 +2350,10 @@ void SCI_METHOD LexerHTML::Lex(Sci_PositionU startPos, Sci_Position length, int
if (phpStringDelimiter == "\"") {
styler.ColourTo(i, StateToPrint);
state = SCE_HPHP_DEFAULT;
- } else if (isLineEnd(chPrev)) {
+ } else if (lineStartVisibleChars == 1) {
const int psdLength = static_cast(phpStringDelimiter.length());
- const char chAfterPsd = styler.SafeGetCharAt(i + psdLength);
- const char chAfterPsd2 = styler.SafeGetCharAt(i + psdLength + 1);
- if (isLineEnd(chAfterPsd) ||
- (chAfterPsd == ';' && isLineEnd(chAfterPsd2))) {
- i += (((i + psdLength) < lengthDoc) ? psdLength : lengthDoc) - 1;
+ if (!IsPhpWordChar(styler.SafeGetCharAt(i + psdLength))) {
+ i += (((i + psdLength) < lengthDoc) ? psdLength : lengthDoc) - 1;
styler.ColourTo(i, StateToPrint);
state = SCE_HPHP_DEFAULT;
if (foldHeredoc) levelCurrent--;
@@ -2372,12 +2370,9 @@ void SCI_METHOD LexerHTML::Lex(Sci_PositionU startPos, Sci_Position length, int
styler.ColourTo(i, StateToPrint);
state = SCE_HPHP_DEFAULT;
}
- } else if (isLineEnd(chPrev) && styler.Match(i, phpStringDelimiter.c_str())) {
+ } else if (lineStartVisibleChars == 1 && styler.Match(i, phpStringDelimiter.c_str())) {
const int psdLength = static_cast(phpStringDelimiter.length());
- const char chAfterPsd = styler.SafeGetCharAt(i + psdLength);
- const char chAfterPsd2 = styler.SafeGetCharAt(i + psdLength + 1);
- if (isLineEnd(chAfterPsd) ||
- (chAfterPsd == ';' && isLineEnd(chAfterPsd2))) {
+ if (!IsPhpWordChar(styler.SafeGetCharAt(i + psdLength))) {
i += (((i + psdLength) < lengthDoc) ? psdLength : lengthDoc) - 1;
styler.ColourTo(i, StateToPrint);
state = SCE_HPHP_DEFAULT;
@@ -2410,7 +2405,7 @@ void SCI_METHOD LexerHTML::Lex(Sci_PositionU startPos, Sci_Position length, int
} else if (ch == '/' && chNext == '/') {
i++;
state = SCE_HPHP_COMMENTLINE;
- } else if (ch == '#') {
+ } else if (ch == '#' && chNext != '[') {
state = SCE_HPHP_COMMENTLINE;
} else if (ch == '\"') {
state = SCE_HPHP_HSTRING;
diff --git a/lexilla/scripts/LexillaData.py b/lexilla/scripts/LexillaData.py
index c2b29984c..0a519613e 100644
--- a/lexilla/scripts/LexillaData.py
+++ b/lexilla/scripts/LexillaData.py
@@ -1,6 +1,7 @@
#!/usr/bin/env python3
# ScintillaData.py - implemented 2013 by Neil Hodgson neilh@scintilla.org
# Released to the public domain.
+# encoding: cp437
# Common code used by Scintilla and SciTE for source file regeneration.
# The ScintillaData object exposes information about Scintilla as properties:
@@ -41,7 +42,7 @@ sys.path.append(str(thisPath.parent.parent.parent / "scintilla" / "scripts"))
import FileGenerator
-neutralEncoding = "latin_1"
+neutralEncoding = "cp437" # Each byte value is valid in cp437
def FindModules(lexFile):
modules = []
diff --git a/res/StdDarkModeScheme.ini b/res/StdDarkModeScheme.ini
index f5233cdf8..07d5ca854 100644
--- a/res/StdDarkModeScheme.ini
+++ b/res/StdDarkModeScheme.ini
@@ -1,5 +1,5 @@
# Lexer Style "Sombra" from MadDogVachon (https://github.com/MadDogVachon)
-# encoding:UTF-8
+# encoding:CP437
[Custom Colors]
01=#252526
02=#1346CE
@@ -10,561 +10,322 @@
10=#FCA287
11=#ACFBC0
16=#92FB53
-[Styles]
[Common Base]
-Default Style=font:Default; fore:#F8F8ED; back:#141613
-Margins and Line Numbers=size:-2; fore:#A4FFFF; back:#444444
-Matching Braces (Indicator)=fore:#38FF6B; alpha:80; alpha2:80; indic_roundbox
-Matching Braces Error (Indicator)=fore:#FF389D; alpha:140; alpha2:140; indic_roundbox
-Control Characters (Font)=size:-1; fore:#FFF1A8; back:#141613
-Indentation Guide (Color)=fore:#A0A0A1; back:#141613
-Selected Text (Colors)=fore:#FDCA1C; back:#0000B3; eolfilled; alpha:80
-Whitespace (Colors, Size 0-12)=fore:#FF6937; back:#141613
-Current Line Background (Color)=size:2; fore:#A0A0A1; back:#FFFF37; alpha:50
-Long Line Marker (Colors)=fore:#FFCD37; back:#161916
-Extra Line Spacing (Size)=back:#141613
-Bookmarks and Folding (Colors, Size)=size:+2; fore:#B7B7FF; back:#49FF4A; alpha:100
-Mark Occurrences (Indicator)=fore:#3499FF; alpha:60; alpha2:60; indic_roundbox
-Hyperlink Hotspots=fore:#6666FF; back:#8A8AFF; indic_plain
-Multi Edit Indicator=fore:#FFB437; alpha:60; alpha2:180; indic_roundbox
-Inline-IME Color=fore:#63FF62
+Default Style=font:Default; fore:#F8F8ED;
+Margins and Line Numbers=size:-1; fore:#A4FFFF; back:#444444
+Matching Braces (Indicator)=fore:#009100; back:#252526; alpha:40; alpha2:220; indic_roundbox
+Matching Braces Error (Indicator)=fore:#FF0080; back:#252526; alpha:140; alpha2:220; indic_roundbox
+Control Characters (Font)=size:-1; fore:#FFF1A8; back:#252526
+Indentation Guide (Color)=fore:#A0A0A0; back:#252526
+Selected Text (Colors)=fore:#FFFFE2; back:#409FFF; eolfilled; alpha:80
+Whitespace (Colors, Size 0-12)=fore:#666600; back:#252526
+Current Line Background (Color)=size:2; fore:#4F9D9D; back:#C1C1C1; alpha:50
+Caret (Color, Size 1-3)=fore:#80FF80
+Long Line Marker (Colors)=fore:#954A00; back:#181818
+Extra Line Spacing (Size)=back:#252526
+Bookmarks and Folding (Colors, Size)=size:+2; fore:#888888; back:#0095DD; alpha:100
+Mark Occurrences (Indicator)=fore:#00FF80; back:#B0FFB0; alpha:100; alpha2:100; indic_roundbox
+Hyperlink Hotspots=bold; italic; fore:#009F9F; back:#0053B7; indic_roundbox
+Inline-IME Color=fore:#00FF00; back:#252526
[2nd Common Base]
-2nd Default Style=font:Courier New; fore:#FFFFE2; back:#141613
-2nd Margins and Line Numbers=font:Courier New; size:-2; fore:#A4FFFF; back:#444444
-2nd Matching Braces (Indicator)=fore:#37FF69; alpha:80; alpha2:220; indic_roundbox
-2nd Matching Braces Error (Indicator)=fore:#FF379B; alpha:140; alpha2:220; indic_roundbox
-2nd Control Characters (Font)=size:-1; fore:#FFF1A8; back:#141613
-2nd Indentation Guide (Color)=fore:#A0A0A1
-2nd Selected Text (Colors)=fore:#FF6B38; eolfilled
-2nd Whitespace (Colors, Size 0-12)=fore:#FF6B38
-2nd Current Line Background (Color)=size:2; fore:#5F60FF; back:#FFFF37; alpha:50
-2nd Caret (Color, Size 1-3)=size:2; fore:#343400
-2nd Long Line Marker (Colors)=fore:#FFCF38; back:#181818
-2nd Extra Line Spacing (Size)=size:2
-2nd Bookmarks and Folding (Colors, Size)=size:+2; charset:2; fore:#B7FFB7; back:#49FF49; case:U; alpha:100
-2nd Mark Occurrences (Indicator)=fore:#8A8AFF; alpha:60; alpha2:60; indic_box
-2nd Hyperlink Hotspots=fore:#4FFF4F; back:#6AFF69; alpha:180; indic_compositionthin
-2nd Multi Edit Indicator=fore:#38B9FF; indic_box
-2nd Inline-IME Color=fore:#F65555; back:#141613
+2nd Default Style=font:Courier New; fore:#FFFFE2
+2nd Margins and Line Numbers=bold; size:-1; fore:#A4FFFF; back:#444444
+2nd Matching Braces (Indicator)=fore:#009100; back:#252526; alpha:40; alpha2:220; indic_roundbox
+2nd Matching Braces Error (Indicator)=fore:#FF0080; back:#252526; alpha:140; alpha2:220; indic_roundbox
+2nd Control Characters (Font)=size:-1; fore:#FFF1A8; back:#252526
+2nd Indentation Guide (Color)=fore:#A0A0A0; back:#252526
+2nd Selected Text (Colors)=fore:#FFFFE2; back:#409FFF; eolfilled; alpha:80
+2nd Whitespace (Colors, Size 0-12)=fore:#666600; back:#252526
+2nd Current Line Background (Color)=size:2; fore:#4F9D9D; back:#C1C1C1; alpha:50
+2nd Caret (Color, Size 1-3)=size:1; fore:#80FF80
+2nd Long Line Marker (Colors)=fore:#954A00; back:#181818
+2nd Extra Line Spacing (Size)=back:#252526
+2nd Bookmarks and Folding (Colors, Size)=size:+2; fore:#888888; back:#0095DD; alpha:100
+2nd Mark Occurrences (Indicator)=fore:#00FF80; back:#B0FFB0; alpha:100; alpha2:100; indic_roundbox
+2nd Hyperlink Hotspots=bold; italic; fore:#009F9F; back:#0053B7; indic_roundbox
+2nd Inline-IME Color=fore:#00FF00; back:#252526
[Text Files]
-Margins and Line Numbers=font:Default; size:-2
-Extra Line Spacing (Size)=size:2
[ANSI Art]
-Default=font:Lucida Console; size:11
[Apache Config Files]
-Comment=italic; fore:#7ECC7E
-String=fore:#FF9933
-Number=fore:#FF6B38
-Directive=fore:#4476FF
-IP Address=bold; fore:#FF6B38
+Comment=fore:#75715E
+String=fore:#E6DB74
+Number=fore:#AE81FF
[Assembly Script]
-Comment=italic; fore:#7ECC7E
-String=fore:#CCFFCC
-Number=fore:#F65555
-Operator=fore:#BDCFFF
-CPU Instruction=fore:#BDCFFF
-FPU Instruction=fore:#BDCFFF
-Extended Instruction=fore:#BDCFFF
-Directive=fore:#BDCFFF
-Directive Operand=fore:#BDCFFF
-Register=fore:#FFFF91
+Comment=fore:#75715E
+String=fore:#E6DB74
+Number=fore:#AE81FF
+Operator=fore:#F92672
+Register=fore:#75715E
[AutoHotkey_L Script]
-Comment=italic; fore:#7ECC7E
-String=fore:#BABBBA
-Label=fore:#A8A8FF
-HotKey=fore:#49D6FF
-HotString=fore:#69FFFF
-KeyHotstringOption=fore:#FE6BFE
-Hex Number=fore:#FE74FE
-Number=fore:#FFA938
-Variable=fore:#FFA938
-Variable Dereferencing=fore:#FE6BBC
-Object=fore:#73FFFE
-User-Defined Function=fore:#A8A8FF
-Directive=italic; fore:#FF9492
-Command=bold; fore:#A8A8FF
-Parameter=fore:#49B7FF
-Flow of Control=fore:#A0A0FF
-Function=fore:#FF8FFF
-Built-In Variables=bold; fore:#F25F45
-Key=fore:#A2A3A2
-Escape=italic; fore:#FF8684
-Error=back:#F65555
[AutoIt3 Script]
-Comment=italic; fore:#7ECC7E
-Number=fore:#5A7DFF
-Function=fore:#678AE9
-User-Defined Function=fore:#E6E6E6
-Keyword=fore:#646BFF
-Macro=fore:#FFFF91
-String=fore:#80FFFF
-Operator=fore:#FF9933
-Variable=fore:#DFDDD9
-Send Key=fore:#B4B4B4
-Preprocessor=fore:#FFFF91
-Special=fore:#FFFF91
[AviSynth Script]
-Comment=italic; fore:#7ECC7E
-String=fore:#E87DE8
-Number=fore:#78FEFE
-Keyword=bold; fore:#A3A3F5
-Filter=bold; fore:#A3A3F5
-Plugin=bold; fore:#57C8FF
-Function=fore:#78FEFE
-Clip Property=fore:#A3A3F5
[Awk Script]
-Keyword=bold; fore:#6768FF
-Keyword 2nd=bold; italic; fore:#6667FF
-Comment=italic; fore:#7ECC7E
-String=fore:#CCFFCC
-Number=fore:#FF9057
-Operator=fore:#FF9933
[Batch Files]
-Default=back:#141613
-Comment=italic; fore:#7ECC7E
-Keyword=bold; fore:#8694F4
-Identifier=fore:#A0A0FF; back:#4D4100
-Operator=fore:#FF9933
-Label=fore:#FF5453; back:#303B30; eolfilled
+Comment=fore:#75715E
+Keyword=fore:#26B5F9
[C# Source Code]
-Identifier=fore:#A0A0FF
-Comment=italic; fore:#7ECC7E
-Keyword=bold; fore:#FFBC77
-Global Class=fore:#6EC3DB
-String=fore:#99FFBB
-Number=fore:#F65555
-Operator=fore:#FF9933
-Preprocessor=fore:#FFFF91
-Verbatim String=fore:#66DDAA
+Identifier=fore:#FFFFFF
+Comment=fore:#0D8206
+Keyword=fore:#52A5F8
+String=fore:#FCA287
+Number=fore:#80FF80
+Operator=fore:#FFFFFF
+Preprocessor=fore:#808080
+Verbatim String=fore:#FCA287
[C/C++ Source Code]
-Identifier=fore:#C5D3CE
-Comment=italic; fore:#7ECC7E
-Keyword=bold; fore:#BDCFFF
-Keyword 2nd=bold; italic; fore:#4A78E0
-Typedefs/Classes=bold; italic; fore:#FF7877
-String=fore:#CCFFCC
-Number=fore:#F65555
-Operator=fore:#FD7E00
-Preprocessor=fore:#FFC000
+Identifier=fore:#B5B5B9
+Comment=fore:#0D8206
+Keyword=fore:#3A6EA5
+String=fore:#FCA287
+Number=fore:#ACFBC0
+Operator=fore:#808080
+Preprocessor=fore:#808080
[Cmake Script]
-Comment=italic; fore:#7ECC7E
-String=fore:#E87DE8; back:#232623
-Function=fore:#A3A3F5
-Parameter=fore:#F0917F
-Variable=fore:#FF7E51
-While Def=fore:#A3A3F5
-For Each Def=fore:#A3A3F5
-If Def=fore:#A3A3F5
-Macro Def=fore:#A3A3F5
-Variable within String=fore:#FF7E51; back:#232623
-Number=fore:#80FFFF
[Coffeescript]
-Comment=italic; fore:#7ECC7E
-String=fore:#CCFFCC
-Preprocessor=fore:#FFFF91
-Identifier=bold; fore:#BDCFFF
-Operator=fore:#FF9933
-Number=fore:#F65555
-Regex=fore:#84FFC1; back:#6D5D00
[Configuration Files]
-Default=back:#141614
-Comment=italic; fore:#7ECC7E
-Section=bold; fore:#000800; back:#993300; eolfilled
-Assignment=fore:#F65555
-Default Value=fore:#F65555
+Comment=fore:#0D8206
+Section=fore:#3A6EA5
+Assignment=fore:#A6E22E
[CSS Style Sheets]
-Default=fore:#DBDBDB; back:#141614
-Comment=italic; fore:#7ECC7E
-HTML Tag=bold; fore:#BDCFFF
-Tag-Class=fore:#E0FF77
-Tag-ID=fore:#E0FF77
-Tag-Attribute=italic; fore:#E0FF77
-Pseudo-Class=fore:#FF9933
-Pseudo-Element=fore:#FE60A7
-CSS Property=fore:#FF6B38
-String=fore:#CCFFCC
-Value=fore:#77A3CF
-Operator=fore:#FF9933
-Important=bold; fore:#FF5453
-Directive=bold; fore:#B7FFB7; back:#6D5D00
-Media=bold; fore:#BDCFFF
-Variable=bold; fore:#FF6E38
-Unknown Pseudo-Class=fore:#FF5453; back:#FFFF81
-Unknown Property=fore:#FF5453; back:#FFFF81
+Comment=fore:#008000
+HTML Tag=bold; fore:#B28B40
+Tag-Class=bold; fore:#B28B40
+Tag-ID=bold; fore:#B28B40
+Tag-Attribute=fore:#B28B40
+CSS Property=fore:#35BDFF
+String=fore:#FF8080
+Value=fore:#FFFFFF
+Operator=fore:#DFE1B1
+Important=bold; fore:#DFE1B1
+Directive=bold
+Unknown Pseudo-Class=fore:#FF0000
+Unknown Property=fore:#FF0000
[CSV Prism]
-Column 0=fore:#C94EFE
-Column 1=fore:#7861FD
-Column 2=fore:#3E8CFE
-Column 3=fore:#28A5FF
-Column 4=fore:#56FEFD
-Column 5=fore:#4CFF74
-Column 6=fore:#B7FF4C
-Column 7=fore:#F0FE45
-Column 8=fore:#FFAF37
-Column 9=fore:#FF4C4B
+Column 1=fore:#2153FE
[D Source Code]
-Comment=italic; fore:#7ECC7E
-Comment Doc=fore:#67A5FF
-Number=fore:#F65555
-Keyword=bold; fore:#BDCFFF
-Keyword 2nd=bold; fore:#BDCFFF
-Typedef=italic; fore:#BDCFFF
-String=italic; fore:#4A78E0
-Operator=fore:#FF9933
[Dart Source Code]
+Keyword=fore:#3838FF
+Keyword 2nd=fore:#3838FF
+Meta-Data=fore:#FF9C38
+Class=fore:#389CFF
+Enumeration=fore:#FF9C38
+Function=fore:#FFBF65
+Comment=fore:#96B096
+Comment Doc=fore:#8FC78F
+Task Marker=bold; fore:#8FC7C7
+String=fore:#77FF77
+TriQ-String=fore:#FFA63F
+Verbatim String=fore:#FFA63F
+ESC Sequence=fore:#57C7FF
+Number=fore:#FF3838
+Variable=fore:#DB9577
+Operator2=fore:#FF5FFF
[Diff Files]
-Comment=italic; fore:#7ECC7E
-Command=bold; fore:#BDCFFF
-Source and Destination=fore:#C80100; back:#FFF2A8; eolfilled
-Position Setting=fore:#8A8AFF
-Line Addition=fore:#81FF80; back:#002100; eolfilled
-Line Removal=fore:#200100; back:#FF8180; eolfilled
-Line Change=fore:#000120; back:#8081FF; eolfilled
+Comment=fore:#75715E
+Source and Destination=bold; italic; fore:#4C4745
+Line Addition=back:#13354A; eolfilled
+Line Removal=fore:#960050; back:#1E0010; eolfilled
+Line Change=fore:#89807D; back:#4C4745; eolfilled
[Go Source Code]
-Comment=italic; fore:#7ECC7E
-Number=fore:#F65555
-Keyword=bold; fore:#BDCFFF
-Keyword 2nd=bold; fore:#BDCFFF
-Typedef=italic; fore:#BDCFFF
-String=italic; fore:#4A78E0
-Operator=fore:#FF9933
[Inno Setup Script]
-Comment=italic; fore:#7ECC7E
-Keyword=fore:#8A8AFF
-Parameter=fore:#8A8AFF
-Section=bold; fore:#B3B3FF
-Preprocessor=fore:#FF5251
-Inline Expansion=fore:#F2A6F2
-Pascal Comment=italic; fore:#7ECC7E
-Pascal Keyword=fore:#8A8AFF
[Java Source Code]
-Comment=italic; fore:#7ECC7E
-Keyword=bold; fore:#FFC065
-String=fore:#CCFFCC
-Number=fore:#F65555
-Operator=fore:#FF9933
+Comment=fore:#008000
+Keyword=fore:#F92672
+String=fore:#E6DB74
+Number=fore:#AE81FF
+Operator=fore:#F92672
[JavaScript]
-Comment=italic; fore:#7ECC7E
-Keyword=bold; fore:#FFC065
-String=fore:#CCFFCC
-Regex=fore:#84FFC1; back:#6D5D00
-Number=fore:#F65555
-Operator=fore:#FF9933
+Comment=fore:#008000
+Keyword=fore:#0080C0
+String=fore:#FF8080
+Regex=fore:#804000
+Number=fore:#FFFFFF
+Operator=fore:#FFFFFF
[JSON]
-Comment=italic; fore:#7ECC7E
-Keyword=bold; fore:#FFDC6D
-LD Keyword=bold; fore:#FB7F66
-String=fore:#CCFFCC
-Number=fore:#F65555
-Operator=fore:#FF9933
-Property Name=fore:#89A0E1
-ESC Sequence=fore:#70F590
-Parsing Error=fore:#FFFF37; back:#FF6867; eolfilled
+Keyword=bold; fore:#A46000
[Julia Script]
-[KiX Config]
+Comment=fore:#96B096
+Number=fore:#FF3838
+Keyword=bold; fore:#3838FF
+Keyword 2nd=bold; fore:#FF72FF
+String=fore:#FF835A
+Operator=fore:#FF915D
+Type Operator=fore:#FF6DFF
+Identifier=fore:#7A7AFF
+Symbol=fore:#D9BF66
+Macro Def=fore:#389CFF
+Comment Doc=fore:#9B9B9B
+Literal String=fore:#FF5FFF
+Command=bold; fore:#4949FF
+Annotation=fore:#FF9C38
+Parsing Error=fore:#FFFF38; back:#FF6767; eolfilled
+[KiXtart Script]
+Function=fore:#FF6AFF
+Macro=fore:#FFCE38
+Comment=fore:#77FF77
+String=italic; fore:#949494
+Operator=fore:#FF5353
+Number=fore:#6CFFFF
+Variable=fore:#DB9577
[Kotlin Source Code]
+Keyword=fore:#3838FF
+Annotation=fore:#FF9C38
+Class=fore:#389CFF
+Interface=bold; fore:#2995FF
+Enumeration=fore:#FF9C38
+Function=fore:#FFBF65
+Comment=fore:#96B096
+Comment Doc=fore:#8FC7C7
+Comment Doc Word=fore:#8FC7C7
+Task Marker=bold; fore:#86E1E1
+String=fore:#77FF77
+Verbatim String=fore:#FFA63F
+ESC Sequence=fore:#57C7FF
+Back Ticks=fore:#DB9577
+Number=fore:#FF3838
+Variable=fore:#DB9577
+Operator=fore:#FF5FFF
[LaTeX Files]
-Command=fore:#8A8AFF
-Comment=italic; fore:#7ECC7E
-Math=fore:#F65555
-Special Char=fore:#FEFF62
-Tag=fore:#8A8AFF
-Verbatim Segment=fore:#A7A8A7
-Error=fore:#FFFF37; back:#FF6867
[Lua Script]
-Comment=italic; fore:#7ECC7E
-Number=fore:#80FFFF
-Keyword=fore:#8F8FEF
-Basic Functions=fore:#A3A3F5
-String, Table & Math Functions=fore:#78BBFF
-Input, Output & System Facilities=fore:#80FFFF
-String=fore:#FF9933
-Literal String=fore:#DB9957
-Preprocessor=fore:#FFFF91
-Label=fore:#FEFF77
[Makefiles]
-Comment=italic; fore:#7ECC7E
-Identifier=fore:#80A2FF
-Target=fore:#FFCF38; back:#4476FF
-Preprocessor=fore:#FFFF91
+Comment=fore:#75715E
+Preprocessor=fore:#75715E
[Markdown]
-Strong=bold; fore:#E68A00
-Emphasis=italic; fore:#E68A00
-Header 1=bold; fore:#FF66B8
-Header 2=bold; fore:#E651A1
-Header 3=bold; fore:#CC3385
-Header 4=bold; fore:#E651A1
-Header 5=bold; fore:#FF66B8
-Header 6=bold; fore:#CC3385
-Pre Char=fore:#A3A3F5
-Unordered List=bold; fore:#389DFF
-Ordered List=bold; fore:#389DFF
-Block Quote=fore:#B3B3FF
-Link=fore:#8A8AFF
-Code=fore:#6666FF; back:#262726
+Header 1=bold; fore:#FF0088
+Header 2=bold; fore:#FF0088
+Header 3=bold; fore:#FF0088
+Header 4=bold; fore:#FF0088
+Header 5=bold; fore:#FF0088
+Header 6=bold; fore:#FF0088
[MATLAB]
-Comment=italic; fore:#7ECC7E
-Number=fore:#FFFF91
-Keyword=bold; fore:#A3A3F5
-String=fore:#E87DE8
[Nim Source Code]
-Comment=italic; fore:#7ECC7E
-Keyword=bold; fore:#8CB38D
-String Double Quoted=fore:#DF73A0
-String Single Quoted=fore:#DF73A0
-String Triple Double Quotes=fore:#DF73A0
-String Triple Single Quotes=fore:#DF73A0
-Number=fore:#646CE1
-Operator=bold; fore:#B5B6B5
-Function name=fore:#B5B6B5
-Parsing Error=italic; fore:#FFFF37; back:#FF6867
[NSIS Script]
-Comment=italic; fore:#7ECC7E
-String=fore:#A7A8A7; back:#232623
-Function=fore:#678AE9
-Variable=fore:#FF7E51
-Variable within String=fore:#FF7E51; back:#232623
-Number=fore:#F65555
-Constant=fore:#FFAF37
-Section=fore:#517EFF
-Sub Section=fore:#517EFF
-Section Group=fore:#517EFF
-Function Definition=fore:#517EFF
-PageEx=fore:#517EFF
-If Definition=fore:#517EFF
-Macro Definition=fore:#517EFF
[Pascal Source Code]
-Comment=italic; fore:#7ECC7E
-Keyword=bold; fore:#E78DE7
-String=fore:#CCFFCC
-Number=fore:#F65555
-Inline Asm=fore:#8A8AFF
-Preprocessor=fore:#DF20DF
+Comment=fore:#75715E
+Keyword=fore:#F92672
+String=fore:#E6DB74
+Number=fore:#AE81FF
+Preprocessor=fore:#75715E
[Perl Script]
-Comment=italic; fore:#7ECC7E
-Keyword=bold; fore:#FFBC77
-String Double Quoted=fore:#CCFFCC
-String Single Quoted=fore:#CCFFCC
-Number=fore:#F65555
-Scalar $var=fore:#BDCFFF
-Array @var=fore:#4476FF
-Hash %var=fore:#FF9933
-Symbol Table *var=fore:#77A3CF
-Regex /re/ or m{re}=fore:#84FFC1; back:#6D5D00
-Substitution s/re/ore/=fore:#84FFC1; back:#6D5D00
-Back Ticks=fore:#FF7B46; back:#6D5D00
-Here-Doc (Delimiter)=fore:#E0FF77
-Here-Doc (Single Quoted, q)=fore:#E0FF77
-Here-Doc (Double Quoted, qq)=fore:#E0FF77
-Here-Doc (Back Ticks, qx)=fore:#FF7B46; back:#6D5D00
-Single Quoted String (Generic, q)=fore:#CCFFCC
-Double Quoted String (qq)=fore:#CCFFCC
-Back Ticks (qx)=fore:#FF7B46; back:#6D5D00
-Regex (qr)=fore:#84FFC1; back:#6D5D00
-Array (qw)=fore:#4476FF
-Prototype=fore:#E87DE8; back:#460046
-Format Identifier=bold; fore:#E0FF77; back:#6D5D00
-Format Body=fore:#E0FF77; back:#6D5D00
-POD (Common)=fore:#FFC065; back:#5C5C00; eolfilled
-POD (Verbatim)=fore:#FFC065; back:#5C5C00; eolfilled
-Data Section=fore:#FFC065; back:#5C5C00; eolfilled
-Parsing Error=fore:#FF5453; back:#FFFF81
+Comment=fore:#75715E
+Keyword=fore:#F92672
+String Double Quoted=fore:#E6DB74
+String Single Quoted=fore:#E6DB74
+Number=fore:#AE81FF
+Regex /re/ or m{re}=fore:#E6DB74
+Substitution s/re/ore/=fore:#E6DB74
+Here-Doc (Delimiter)=fore:#75715E
+Here-Doc (Single Quoted, q)=fore:#75715E
+Here-Doc (Double Quoted, qq)=fore:#75715E
+Here-Doc (Back Ticks, qx)=fore:#75715E
+Single Quoted String (Generic, q)=fore:#E6DB74
+Double Quoted String (qq)=fore:#E6DB74
+Regex (qr)=fore:#E6DB74
+Parsing Error=fore:#F8F8F0; back:#F92672
[PowerShell Script]
-Comment=italic; fore:#7ECC7E
-Keyword=bold; fore:#FFBC77
-String=fore:#CCFFCC
-Number=fore:#F65555
-Variable=fore:#BDCFFF
-Cmdlet=fore:#FFE6CC; back:#473D06
-Alias=bold; fore:#BDCFFF
+Comment=fore:#75715E
+Keyword=fore:#F92672
+String=fore:#E6DB74
+Number=fore:#AE81FF
[Python Script]
-Comment=italic; fore:#7ECC7E
-Keyword=fore:#A3A3F5
-String Single Quoted=fore:#2BEE2B
-String Double Quoted=fore:#73FF73
-String Triple Single Quotes=fore:#7AB87A
-String Triple Double Quotes=fore:#4DCB4D
-Number=fore:#FF6B38
-Operator=bold; fore:#FEFF84
-Function Name=fore:#FE85FE
-Class Name=fore:#FE85FE
+Comment=fore:#75715E
+Keyword=fore:#F92672
+String Single Quoted=fore:#E6DB74
+String Double Quoted=fore:#E6DB74
+String Triple Single Quotes=fore:#E6DB74
+String Triple Double Quotes=fore:#E6DB74
+Number=fore:#AE81FF
+Operator=fore:#F92672
+Function Name=fore:#A6E22E
+Class Name=fore:#A6E22E
[Registry Files]
-Comment=italic; fore:#7ECC7E
-String=fore:#99FF99
-Value Type=bold; fore:#A3A3F5
-Hex=fore:#F37F7E
-Added Key=bold; fore:#000800; back:#993300; eolfilled
-Deleted Key=fore:#F65555
-Escaped=bold; fore:#969A9E
-GUID in Key Path=fore:#E9CD85
-Parameter=fore:#8BF3ED
[Resource Script]
-Comment=italic; fore:#7ECC7E
-Keyword=bold; fore:#BDCFFF
-String=fore:#CCFFCC
-Number=fore:#F65555
-Operator=fore:#BDCFFF
-Preprocessor=fore:#FFFF91
+Comment=fore:#75715E
+Keyword=fore:#F92672
+String=fore:#E6DB74
+Number=fore:#80FF80
+Operator=fore:#F92672
+Preprocessor=fore:#75715E
[R-S-SPlus Statistics Code]
-Comment=italic; fore:#7ECC7E
-Keyword=bold; fore:#BDCFFF
-Base Package Functions=bold; fore:#FF7978
-Other Package Functions=bold; fore:#E87DE8
-Number=fore:#8A8AFF
-String=italic; fore:#4A78E0
-Operator=bold; fore:#FF9933
-Infix=fore:#FE85FE
-Infix EOL=fore:#FF6B38; back:#4B264B; eolfilled
[Ruby Script]
-Comment=italic; fore:#7ECC7E
-Keyword=fore:#A3A3F5
-Number=fore:#80FFFF
-String=fore:#FFFF91
-Class Name=fore:#8A8AFF
-Function Name=fore:#78FEFE
-POD=fore:#97FF97; back:#015D00; eolfilled
-Regex=fore:#B7FFB7; back:#017200
-Symbol=fore:#D9C066
-Module Name=fore:#E87DE8
-Instance Var=fore:#FE60D3
-Class Var=fore:#D360FE
-Data Section=fore:#FF8987; back:#4D3100; eolfilled
[Rust Source Code]
-Build-In Type=fore:#FE639B
-Other Keyword=italic; fore:#91ED7F
-Number=fore:#A7A8A7
-Comment=italic; fore:#7ECC7E
-String=fore:#E86967
-Operator=fore:#A7A8A7
-Macro Definition=fore:#BDCFFF
-Rust Lifetime=fore:#FF9933
-Parsing Error=fore:#222422; back:#FF403F
-Byte String=fore:#C0C1C0
[Shell Script]
-Comment=italic; fore:#7ECC7E
-Number=fore:#80FFFF
-Keyword=fore:#6666FF
-String Double Quoted=fore:#80FFFF
-String Single Quoted=fore:#E87DE8
-Scalar=fore:#FEFF77
-Parameter Expansion=fore:#FEFF77; back:#949600
-Back Ticks=fore:#FF379B
-Here-Doc (Single Quoted, q)=fore:#80FFFF
[SQL Query]
-Default=bold; fore:#EC7600
-Comment=italic; fore:#7ECC7E
-Keyword=bold; fore:#E87DE8
-Value Type=bold; fore:#B3B3FF
-String=fore:#CCFFCC; back:#6D5D00
-Identifier=fore:#A0A0FF
-Quoted Identifier=fore:#FE78FE; back:#540054
-Number=fore:#F65555
-Operator=bold; fore:#FF9933
+Comment=fore:#66747B
+Keyword=bold; fore:#93C763
+String=fore:#E6DB74
+Identifier=bold; fore:#93C763
+Number=fore:#FFD351
+Operator=fore:#FFF1A8
[Tcl Script]
-Comment=italic; fore:#7ECC7E
-Keyword=fore:#8A8AFF
-Number=fore:#F65555
-String=fore:#80FFFF
-Identifier=fore:#A0A0FF
-Substitution=fore:#E23636
-Modifier=fore:#E651A1
[TOML Config]
-Keyword=bold; fore:#FF379B
-Comment=italic; fore:#7ECC7E
-Section=bold; fore:#CCFFCC; back:#04529A; eolfilled
-Key=bold; fore:#8C8FB4
-Assignment=bold; fore:#FF2928
-Value=fore:#CACCCA
-Number=fore:#4748FF
-Date-Time=fore:#E830DC
-String=italic; fore:#AAABAA
-Parsing Error=fore:#FFFF37; back:#561010; eolfilled
[VBScript]
-Comment=italic; fore:#7ECC7E
-Keyword=bold; fore:#FF9933
-String=fore:#CCFFCC
-Number=fore:#F65555
+Comment=fore:#0D8206
+Keyword=fore:#3A6EA5
+String=fore:#FCA287
+Number=fore:#ACFBC0
[VHDL]
-Comment=fore:#73FF73
-Number=fore:#F65555
-String=fore:#CCFFCC
-Operator=fore:#FF9933
-Keyword=bold; fore:#BDCFFF
-Standard Operator=bold; fore:#BDCFFF
-Standard Type=fore:#FFFF91
[Visual Basic]
-Comment=italic; fore:#7ECC7E
-Keyword=bold; fore:#FF9933
-Identifier=fore:#DBDBDB
-String=fore:#99FF99
-Number=fore:#F65555
-Operator=fore:#DBDBDB
-Preprocessor=fore:#FFB238
+Comment=fore:#0D8206
+Keyword=fore:#3A6EA5
+Identifier=fore:#FFFFFF
+String=fore:#FCA287
+Number=fore:#92FB53
+Operator=fore:#FFFFFF
+Preprocessor=fore:#52A5F8
[Web Source Code]
-Default=fore:#DBDBDB
-HTML Tag=fore:#E0FF77
-HTML Unknown Tag=fore:#FF5453; back:#FFFF81
-HTML Attribute=fore:#FF6B38
-HTML Unknown Attribute=fore:#FF5453; back:#FFFF81
-HTML Value=fore:#77A3CF
-HTML String=fore:#77A3CF
-HTML Other Inside Tag=fore:#77A3CF
-HTML Comment=italic; fore:#7ECC7E
-HTML Entity=fore:#FF9933
+HTML Tag=fore:#0080C0
+HTML Unknown Tag=fore:#C80000
+HTML Attribute=fore:#80FFFF
+HTML Unknown Attribute=fore:#C80000
+HTML Value=fore:#FFFFFF
+HTML String=fore:#FFFFFF
+HTML Other Inside Tag=fore:#FFFFFF
+HTML Comment=fore:#008000
+HTML Entity=fore:#0080C0
HTML Element Text=fore:#E0E2E4
-XML Identifier=bold; fore:#ED7CE5
-SGML=fore:#ED7CE5
-CDATA=fore:#A8A9A8
-ASP Start Tag=bold; fore:#B3B3FF
-PHP Start Tag=bold; fore:#B3B3FF
-PHP Comment=fore:#FFFF91
-PHP Keyword=bold; fore:#FFC065
-PHP String=fore:#CCFFCC
-PHP Simple String=fore:#99FF99
-PHP Number=fore:#F65555
-PHP Operator=fore:#FF9933
-PHP Variable=italic; fore:#B3B3FF
-PHP String Variable=italic; fore:#B3B3FF
-PHP Complex Variable=italic; fore:#B3B3FF
-JS Comment=fore:#A8A9A8
-JS Keyword=bold; fore:#FFC065
-JS String=fore:#CCFFCC
-JS Regex=fore:#84FFC1; back:#6D5D00
-JS Number=fore:#F65555
-JS Symbols=fore:#FF9933
-ASP JS Comment=fore:#A8A9A8; back:#7F7F7F
-ASP JS Keyword=bold; fore:#FFC065
-ASP JS String=fore:#CCFFCC
-ASP JS Regex=fore:#84FFC1; back:#6D5D00
-ASP JS Number=fore:#F65555
-ASP JS Symbols=fore:#FF9933
-VBS Comment=fore:#A8A9A8
-VBS Keyword=bold; fore:#FF9933
-VBS String=fore:#CCFFCC
-VBS Number=fore:#F65555
-ASP VBS Comment=fore:#A8A9A8
-ASP VBS Keyword=bold; fore:#FF9933
-ASP VBS String=fore:#CCFFCC
-ASP VBS Number=fore:#F65555
+SGML=fore:#0080C0
+CDATA=fore:#E0E2E4
+ASP Start Tag=fore:#0080C0
+PHP Start Tag=fore:#FFFFFF
+PHP Comment=fore:#FFFFFF
+PHP Keyword=fore:#92C654
+PHP String=font:Lucida Console; size:9; fore:#808080
+PHP Simple String=fore:#EB7517
+PHP Number=fore:#FFCD22
+PHP Operator=fore:#E7AF66
+PHP Variable=font:Lucida Console; size:9; fore:#678CB1
+PHP String Variable=fore:#EB7517
+PHP Complex Variable=fore:#EB7517
+JS Comment=fore:#8F0306; back:#9F9F9F
+JS Keyword=bold; fore:#3A6EA5
+JS String=fore:#FF8080
+JS Regex=fore:#FFFFFF
+JS Number=fore:#2291FF
+JS Symbols=fore:#FFFFFF
+ASP JS Comment=fore:#75715E
+ASP JS Keyword=fore:#F92672
+ASP JS String=fore:#E6DB74
+ASP JS Regex=fore:#E6DB74
+ASP JS Number=fore:#AE81FF
+ASP JS Symbols=fore:#F92672
+VBS Comment=fore:#75715E
+VBS Keyword=fore:#F92672
+VBS String=fore:#E6DB74
+VBS Number=fore:#AE81FF
+ASP VBS Comment=fore:#75715E
+ASP VBS Keyword=fore:#F92672
+ASP VBS String=fore:#E6DB74
+ASP VBS Number=fore:#AE81FF
[XML Document]
-Default=fore:#DBDBDB; back:#1A1A1A
-XML Tag=fore:#A6A6F2
-XML Attribute=fore:#FFAF6B
-XML Value=fore:#ED7CE5
-XML String=fore:#EDFFED
-XML Other Inside Tag=fore:#CDEDCD
-XML Comment=italic; fore:#7ECC7E
-XML Entity=fore:#FF9933
-XML Identifier=bold; fore:#ED7CE5
-SGML=fore:#FFB3EB
-CDATA=fore:#A8A9A8
+XML Tag=fore:#3A6EA5
+XML Attribute=fore:#52A5F8
+XML Value=fore:#0080C0
+XML String=fore:#FFFFFF
+XML Other Inside Tag=fore:#0080C0
+XML Comment=fore:#008000
+XML Entity=fore:#0080C0
+XML Identifier=fore:#808080
+SGML=fore:#F92672
+CDATA=fore:#75715E
[YAML]
-Comment=italic; fore:#7ECC7E
-Identifier=bold; fore:#BDCFFF
-Keyword=fore:#FE74FE
-Number=fore:#FFFF91
-Reference=fore:#73FFFE
-Document=bold; fore:#343400; back:#A6A6FF; eolfilled
-Text=fore:#BABBBA
-Error=bold; italic; fore:#343400; back:#FF5555; eolfilled
-Operator=fore:#9C9DCE
diff --git a/src/StyleLexers/styleLexKiX.c b/src/StyleLexers/styleLexKiX.c
index 9de2d6236..e9deebf81 100644
--- a/src/StyleLexers/styleLexKiX.c
+++ b/src/StyleLexers/styleLexKiX.c
@@ -30,7 +30,7 @@ KEYWORDLIST KeyWords_KiX =
EDITLEXER lexKiX =
{
- SCLEX_KIX, "kix", IDS_LEX_KIX_SCR, L"KiX Config", L"kix", L"",
+ SCLEX_KIX, "kix", IDS_LEX_KIX_SCR, L"KiXtart Script", L"kix", L"",
&KeyWords_KiX, {
{ {STYLE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
//{ {SCE_KIX_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },