mirror of
https://github.com/godotengine/godot-docs.git
synced 2025-12-31 17:49:03 +03:00
Use different color for control flow keywords in GDScript syntax highlighting
This matches the Godot script editor's behavior. Note that this does not apply to C# and shaders (which currently use GLSL highlighting), as it would require copying their respective highlighters to this repository and modifying them.
This commit is contained in:
@@ -85,6 +85,7 @@ class GDScriptLexer(RegexLexer):
|
||||
Operator,
|
||||
),
|
||||
include("keywords"),
|
||||
include("control_flow_keywords"),
|
||||
(r"(func)((?:\s|\\\s)+)", bygroups(Keyword, Text), "funcname"),
|
||||
(r"(class)((?:\s|\\\s)+)", bygroups(Keyword, Text), "classname"),
|
||||
include("builtins"),
|
||||
@@ -155,16 +156,6 @@ class GDScriptLexer(RegexLexer):
|
||||
"enum",
|
||||
"static",
|
||||
"var",
|
||||
"break",
|
||||
"continue",
|
||||
"if",
|
||||
"elif",
|
||||
"else",
|
||||
"for",
|
||||
"pass",
|
||||
"return",
|
||||
"match",
|
||||
"while",
|
||||
"super",
|
||||
),
|
||||
suffix=r"\b",
|
||||
@@ -172,6 +163,28 @@ class GDScriptLexer(RegexLexer):
|
||||
Keyword,
|
||||
),
|
||||
],
|
||||
"control_flow_keywords": [
|
||||
(
|
||||
words(
|
||||
(
|
||||
"break",
|
||||
"continue",
|
||||
"elif",
|
||||
"else",
|
||||
"if",
|
||||
"for",
|
||||
"match",
|
||||
"pass",
|
||||
"return",
|
||||
"while",
|
||||
),
|
||||
suffix=r"\b",
|
||||
),
|
||||
# Custom control flow class used to give control flow keywords a different color,
|
||||
# like in the Godot editor.
|
||||
Keyword.ControlFlow,
|
||||
),
|
||||
],
|
||||
"builtins": [
|
||||
(
|
||||
words(
|
||||
|
||||
@@ -95,6 +95,7 @@
|
||||
--highlight-comment-color: #408090;
|
||||
--highlight-keyword-color: #007020;
|
||||
--highlight-keyword2-color: #902000;
|
||||
--highlight-control-flow-keyword-color: #902060;
|
||||
--highlight-number-color: #208050;
|
||||
--highlight-decorator-color: #4070a0;
|
||||
--highlight-type-color: #007020;
|
||||
@@ -223,6 +224,7 @@
|
||||
--highlight-comment-color: rgba(204, 206, 211, 0.5);
|
||||
--highlight-keyword-color: #ff7085;
|
||||
--highlight-keyword2-color: #42ffc2;
|
||||
--highlight-control-flow-keyword-color: #ff8ccc;
|
||||
--highlight-number-color: #a1ffe0;
|
||||
--highlight-decorator-color: #ffb373;
|
||||
--highlight-type-color: #8effda;
|
||||
@@ -877,6 +879,10 @@ code,
|
||||
color: var(--highlight-keyword-color);
|
||||
}
|
||||
|
||||
.highlight .k-ControlFlow /* Keyword.ControlFlow */ {
|
||||
color: var(--highlight-control-flow-keyword-color);
|
||||
}
|
||||
|
||||
.highlight .ch /* Comment.Hashbang */,
|
||||
.highlight .cp /* Comment.Preproc */ {
|
||||
color: var(--highlight-keyword2-color);
|
||||
|
||||
Reference in New Issue
Block a user