From d7cd9edb84d9403eca0d4caae68815c12c560164 Mon Sep 17 00:00:00 2001 From: pommicket Date: Wed, 4 Jan 2023 23:19:01 -0500 Subject: highlight matching < > for HTML --- syntax.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/syntax.c b/syntax.c index 2d9dd15..1e4f084 100644 --- a/syntax.c +++ b/syntax.c @@ -124,7 +124,17 @@ static bool syntax_keyword_matches(const char32_t *text, size_t len, const char } char32_t syntax_matching_bracket(Language lang, char32_t c) { - (void)lang; // not needed yet + if (lang == LANG_HTML) { + // for most languages, this would look weird since + // v cursor + // if (x < 5 && y >| 6) + // ^ this will be highlighted as a "matching bracket" + // but for HTML this is nice + switch (c) { + case '<': return '>'; + case '>': return '<'; + } + } switch (c) { case '(': return ')'; case ')': return '('; @@ -137,7 +147,10 @@ char32_t syntax_matching_bracket(Language lang, char32_t c) { } bool syntax_is_opening_bracket(Language lang, char32_t c) { - (void)lang; + if (lang == LANG_HTML) { + if (c == '<') + return true; + } switch (c) { case '(': case '[': -- cgit v1.2.3