From 256745e04194ec60d3d3069909afdef85e060d35 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 29 Apr 2023 11:20:30 +0300 Subject: [Syntax-highlighting] Ported all of bash regexes --- awk-edits/Syntax-highlighting.awk | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) (limited to 'awk-edits/Syntax-highlighting.awk') diff --git a/awk-edits/Syntax-highlighting.awk b/awk-edits/Syntax-highlighting.awk index 1655e8e..caec9cf 100644 --- a/awk-edits/Syntax-highlighting.awk +++ b/awk-edits/Syntax-highlighting.awk @@ -23,8 +23,8 @@ function hi(pat, class) { function hie(pat, epat, class) { return gesub(pat, epat, "&"); } -function hil(lbpat, pat, lrpat, empt, class) { - return glsub(lbpat, pat, lrpat, "&", empt); +function hil(lbpat, pat, lrpat, class) { + return glsub(lbpat, pat, lrpat, "&"); } # @@ -107,16 +107,33 @@ syntaxhighlighting == 2 { } syntaxhighlighting == 3 { + $0 = gesub(@/=/, "<[^>]*>", "\\="); hi(@/("[^"]*"|'[^']*')/, "string"); + $0 = hil(@/[^\>&]/, + @/#.*$/, + "", + "comment"); + $0 = hil(@/[^[:alpha:]#]/, + @/[[:digit:]]+/, + @/([^[:alpha:];]|$)/, + "number"); hi(@/\$(\(|\(\(|{).+(\)|\)\)|})/, "structure"); hi(@/\$[^[:blank:]]+/, "structure"); - # gsub(/[[:blank:]]+-[-_[:alnum:]]+/, "&"); - $0 = hil(@/[^[:alnum:]]/, @/(if|fi|then|case|esac|==|!=|-eq|-ne|-gt|-ge|-lt|-le|;;|;|\|\||&&)/, @/[^[:alnum:]]/, 3, "conditional"); + $0 = hil(@/[[:blank:]]+/, @/-[-_[:alnum:]]+/, "", "operator"); + $0 = hil(@/(^|[^[:alnum:]])/, + @/(if|fi|then|case|esac|==|!=|-eq|-ne|-gt|-ge|-lt|-le|;;|;|\|\||&&)/, + @/([^[:alnum:]]|$)/, + "conditional"); hi(@/(^|[[:blank:]]+)(for|while|until|in|do|done)($|[[:blank:]])/, "repeat"); - $0 = hil(@/[[:blank:]]*/, @/[[:alnum:]]+/, @/=/, 0, "identifier"); - # $0 = hil("", @/[-_[:alnum:]]+[[:blank:]]*/, @/\([^\)]*\)/, 0, "function"); + $0 = hil(@/(^|[[:blank:]]+)/, + @/[[:alnum:]]+/, + @/(|\+|-)=/, + "identifier"); + $0 = hil("", + @/[-_[:alnum:]]+[[:blank:]]*/, + @/\([^\)]*\)/, + "function"); hi(@/[\{\}]/, "function"); - # $0 = hil(@/[^\>]/, @/#.*$/, "", 0, "comment"); } # -- cgit v1.3.1-26-gb76a