From 703e6f571e0c38f45b071c0c8345d87b480423f6 Mon Sep 17 00:00:00 2001 From: ridiculousfish Date: Mon, 10 Aug 2020 16:41:56 -0700 Subject: [PATCH] Highlight the = in variable assignments as an operator --- src/fish_tests.cpp | 7 +++++-- src/highlight.cpp | 7 +++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/fish_tests.cpp b/src/fish_tests.cpp index c832697aa..5c97d09cf 100644 --- a/src/fish_tests.cpp +++ b/src/fish_tests.cpp @@ -4933,7 +4933,9 @@ static void test_highlighting() { }); highlight_tests.push_back({ - {L"HOME=.", highlight_role_t::param}, + {L"HOME", highlight_role_t::param}, + {L"=", highlight_role_t::operat, ns}, + {L".", highlight_role_t::param, ns}, {L"false", highlight_role_t::command}, {L"|&", highlight_role_t::error}, {L"true", highlight_role_t::command}, @@ -4952,7 +4954,8 @@ static void test_highlighting() { }); highlight_tests.push_back({ - {L"a=", highlight_role_t::param}, + {L"a", highlight_role_t::param}, + {L"=", highlight_role_t::operat, ns}, }); auto &vars = parser_t::principal_parser().vars(); diff --git a/src/highlight.cpp b/src/highlight.cpp index 7536bea41..24e96e29d 100644 --- a/src/highlight.cpp +++ b/src/highlight.cpp @@ -1034,10 +1034,9 @@ void highlighter_t::visit(const ast::argument_t &arg, bool cmd_is_cd) { void highlighter_t::visit(const ast::variable_assignment_t &varas) { color_as_argument(varas); - // TODO: Color the '=' in the variable assignment as an operator, for fun. - // if (auto where = variable_assignment_equals_pos(varas.source(this->buff))) { - // this->color_array.at(*where) = highlight_role_t::operat; - // } + if (auto where = variable_assignment_equals_pos(varas.source(this->buff))) { + this->color_array.at(*where) = highlight_role_t::operat; + } } void highlighter_t::visit(const ast::decorated_statement_t &stmt) {