From 33b0c7ae86cba731e032a17476e7b66daea61bb1 Mon Sep 17 00:00:00 2001 From: zufuliu Date: Tue, 10 Mar 2020 10:25:38 +0800 Subject: [PATCH] Colorize YAML anchor and alias with different style. --- scintilla/include/SciLexer.h | 5 +++-- scintilla/include/SciLexer.iface | 5 +++-- scintilla/lexers/LexYAML.cxx | 5 +++-- src/EditLexers/EditStyle.h | 2 +- src/EditLexers/EditStyleX.h | 2 +- src/EditLexers/stlYAML.c | 3 ++- 6 files changed, 13 insertions(+), 9 deletions(-) diff --git a/scintilla/include/SciLexer.h b/scintilla/include/SciLexer.h index 1d234cbc18..4954aef536 100644 --- a/scintilla/include/SciLexer.h +++ b/scintilla/include/SciLexer.h @@ -614,8 +614,8 @@ #define SCE_YAML_IDENTIFIER 2 #define SCE_YAML_KEYWORD 3 #define SCE_YAML_NUMBER 4 -#define SCE_YAML_REFERENCE 5 -#define SCE_YAML_DOCUMENT 6 +#define SCE_YAML_ANCHOR 5 +#define SCE_YAML_ALIAS 6 #define SCE_YAML_TEXT 7 #define SCE_YAML_ERROR 8 #define SCE_YAML_OPERATOR 9 @@ -629,6 +629,7 @@ #define SCE_YAML_VERBATIM_TAG 17 #define SCE_YAML_DATETIME 18 #define SCE_YAML_INDENTED_TEXT 19 +#define SCE_YAML_DOCUMENT 20 #define SCE_V_DEFAULT 0 #define SCE_V_COMMENT 1 #define SCE_V_COMMENTLINE 2 diff --git a/scintilla/include/SciLexer.iface b/scintilla/include/SciLexer.iface index 4c0fde0a34..59de3326c9 100644 --- a/scintilla/include/SciLexer.iface +++ b/scintilla/include/SciLexer.iface @@ -1140,8 +1140,8 @@ val SCE_YAML_COMMENT=1 val SCE_YAML_IDENTIFIER=2 val SCE_YAML_KEYWORD=3 val SCE_YAML_NUMBER=4 -val SCE_YAML_REFERENCE=5 -val SCE_YAML_DOCUMENT=6 +val SCE_YAML_ANCHOR=5 +val SCE_YAML_ALIAS=6 val SCE_YAML_TEXT=7 val SCE_YAML_ERROR=8 val SCE_YAML_OPERATOR=9 @@ -1155,6 +1155,7 @@ val SCE_YAML_TAG=16 val SCE_YAML_VERBATIM_TAG=17 val SCE_YAML_DATETIME=18 val SCE_YAML_INDENTED_TEXT=19 +val SCE_YAML_DOCUMENT=20 # Lexical states for SCLEX_TEX #lex TeX=SCLEX_TEX SCE_TEX_ #val SCE_TEX_DEFAULT=0 diff --git a/scintilla/lexers/LexYAML.cxx b/scintilla/lexers/LexYAML.cxx index 53df3276e1..84a62a13e9 100644 --- a/scintilla/lexers/LexYAML.cxx +++ b/scintilla/lexers/LexYAML.cxx @@ -245,7 +245,8 @@ void ColouriseYAMLDoc(Sci_PositionU startPos, Sci_Position lengthDoc, int initSt } break; - case SCE_YAML_REFERENCE: + case SCE_YAML_ANCHOR: + case SCE_YAML_ALIAS: if (!IsYAMLAnchorChar(sc.ch)) { sc.SetState(SCE_YAML_DEFAULT); } @@ -338,7 +339,7 @@ void ColouriseYAMLDoc(Sci_PositionU startPos, Sci_Position lengthDoc, int initSt } else if (sc.ch == '\"') { sc.SetState(SCE_YAML_STRING2); } else if ((sc.ch == '&' || sc.ch == '*') && IsYAMLAnchorChar(sc.chNext)) { - sc.SetState(SCE_YAML_REFERENCE); + sc.SetState((sc.ch == '&')? SCE_YAML_ANCHOR : SCE_YAML_ALIAS); } else if (sc.ch == '!') { if (sc.chNext == '<') { sc.SetState(SCE_YAML_VERBATIM_TAG); diff --git a/src/EditLexers/EditStyle.h b/src/EditLexers/EditStyle.h index 2638c7f80d..6c91ed210e 100644 --- a/src/EditLexers/EditStyle.h +++ b/src/EditLexers/EditStyle.h @@ -236,7 +236,7 @@ #define NP2STYLE_DateTime 63566 #define NP2STYLE_Action 63567 #define NP2STYLE_ModuleDirective 63568 -#define NP2STYLE_Reference 63569 +#define NP2STYLE_Anchor 63569 #define NP2STYLE_TextBlock 63570 #define NP2STYLE_Math 63571 #define NP2STYLE_SpecialCharacter 63572 diff --git a/src/EditLexers/EditStyleX.h b/src/EditLexers/EditStyleX.h index 1ca9f18168..5bbf00c12c 100644 --- a/src/EditLexers/EditStyleX.h +++ b/src/EditLexers/EditStyleX.h @@ -244,7 +244,7 @@ #define NP2StyleX_DateTime EDITSTYLE_HOLE(DateTime, L"DateTime") #define NP2StyleX_Action EDITSTYLE_HOLE(Action, L"Action") #define NP2StyleX_ModuleDirective EDITSTYLE_HOLE(ModuleDirective, L"Module Directive") -#define NP2StyleX_Reference EDITSTYLE_HOLE(Reference, L"Reference") +#define NP2StyleX_Anchor EDITSTYLE_HOLE(Anchor, L"Anchor") #define NP2StyleX_TextBlock EDITSTYLE_HOLE(TextBlock, L"Text Block") #define NP2StyleX_Math EDITSTYLE_HOLE(Math, L"Math") #define NP2StyleX_SpecialCharacter EDITSTYLE_HOLE(SpecialCharacter, L"Special Character") diff --git a/src/EditLexers/stlYAML.c b/src/EditLexers/stlYAML.c index 3aca8389b5..a233f13034 100644 --- a/src/EditLexers/stlYAML.c +++ b/src/EditLexers/stlYAML.c @@ -19,7 +19,8 @@ static EDITSTYLE Styles_YAML[] = { { SCE_YAML_DIRECTIVE, NP2StyleX_Directive, L"fore:#FF8000" }, { SCE_YAML_DOCUMENT, NP2StyleX_Document, L"bold; back:#FFC040; eolfilled" }, { SCE_YAML_KEY, NP2StyleX_Property, L"fore:#A46000" }, - { SCE_YAML_REFERENCE, NP2StyleX_Reference, L"fore:#9E4D2A" }, + { SCE_YAML_ANCHOR, NP2StyleX_Anchor, L"fore:#9E4D2A" }, + { SCE_YAML_ALIAS, NP2StyleX_Alias, L"fore:#9E4D2A" }, { MULTI_STYLE(SCE_YAML_TAG, SCE_YAML_VERBATIM_TAG, 0, 0), NP2StyleX_Tag, L"fore:#7C5AF3" }, { SCE_YAML_COMMENT, NP2StyleX_Comment, L"fore:#608060" }, { MULTI_STYLE(SCE_YAML_STRING1, SCE_YAML_STRING2, 0, 0), NP2StyleX_String, L"fore:#008000" },