From bcadd4811b6fd883cc84abea75b3a55c50be0e71 Mon Sep 17 00:00:00 2001 From: msftrncs Date: Wed, 21 Aug 2019 00:37:45 -0500 Subject: [PATCH 1/2] Operator Highlight in ArgumentMode Operators shouldn't highlight in argument mode. See https://github.com/PowerShell/PowerShell/issues/10348 Operators as TokenKind Generic are not actually operators. Fix #1002. --- PSReadLine/Render.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PSReadLine/Render.cs b/PSReadLine/Render.cs index df6c9e9ad..aa85311b7 100644 --- a/PSReadLine/Render.cs +++ b/PSReadLine/Render.cs @@ -663,7 +663,7 @@ private string GetTokenColor(Token token) return _options._keywordColor; } - if ((token.TokenFlags & (TokenFlags.BinaryOperator | TokenFlags.UnaryOperator | TokenFlags.AssignmentOperator)) != 0) + if (token.Kind != TokenKind.Generic && (token.TokenFlags & (TokenFlags.BinaryOperator | TokenFlags.UnaryOperator | TokenFlags.AssignmentOperator)) != 0) { return _options._operatorColor; } From e9a49e2aae3cefc3dc21a823a214c13a0496d484 Mon Sep 17 00:00:00 2001 From: msftrncs Date: Fri, 23 Aug 2019 00:09:20 -0500 Subject: [PATCH 2/2] test argument mode operator highlight --- test/RenderTest.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/test/RenderTest.cs b/test/RenderTest.cs index dc76374ed..d2dac1e28 100644 --- a/test/RenderTest.cs +++ b/test/RenderTest.cs @@ -37,7 +37,7 @@ public void Render() TestSetup(KeyMode.Cmd); Test("", Keys( - "abc -def <#123#> \"hello $name\"", + "abc -def <#123#> \"hello $name\" 1 + (1-2)", _.Home, CheckThat(() => AssertScreenIs(1, @@ -49,7 +49,14 @@ public void Render() TokenClassification.None, " ", TokenClassification.String, "\"hello ", TokenClassification.Variable, "$name", - TokenClassification.String, "\"")), + TokenClassification.String, "\"", + TokenClassification.None, " ", + TokenClassification.Number, "1", + TokenClassification.None, " + (", + TokenClassification.Number, "1", + TokenClassification.Operator, "-", + TokenClassification.Number, "2", + TokenClassification.None, ")")), _.Ctrl_c, InputAcceptedNow ));