From e5be7ac510d900ee81a55d4c71eec228872d5457 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 29 Apr 2023 15:06:42 +0300 Subject: [Syntax-highlighting] Ported lex and yacc, tweaked C --- awk-edits/Syntax-highlighting.awk | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) (limited to 'awk-edits/Syntax-highlighting.awk') diff --git a/awk-edits/Syntax-highlighting.awk b/awk-edits/Syntax-highlighting.awk index 35fd1f3..0e5250e 100644 --- a/awk-edits/Syntax-highlighting.awk +++ b/awk-edits/Syntax-highlighting.awk @@ -182,10 +182,12 @@ syntaxhighlighting == 101 { } syntaxhighlighting == 102 { - gsub(/new ([[:alnum:]]|[-_])+[\(\.]/, "&"); - gsub(/(<[[:alnum:]]+>)/, "&"); - gsub(/([[:blank:]]|\()*([[:upper:]]|[-_])+([[:blank:]]|\)|,|;)+/, "&"); - gsub(/(=>)/, "&"); + $0 = hil(@/(^|[^[:alnum:]])/, + @/(new|public|protected|private|override)/, + @/([^[:alnum:]]|$)/, + "keyword"); + hi(@/<[-_[:alpha:]]+>/, "typedef"); + $0 = hie(@/[_[:upper:]][_[:upper:]][_[:upper:]][_[:upper:]]+/, @/<[^>]*>/, "const"); } # @@ -198,7 +200,7 @@ syntaxhighlighting == 102 { } syntaxhighlighting == 103 { - gsub(/%[^[:blank:]]+/, "&"); + hi(@/%[^[:blank:]]+/, "storageclass"); } # @@ -211,7 +213,7 @@ syntaxhighlighting == 103 { } syntaxhighlighting == 104 { - gsub(/%[^[:blank:]]+/, "&"); + hi(@/%[^[:blank:]]+/, "storageclass"); } # @@ -225,7 +227,7 @@ syntaxhighlighting == 104 { syntaxhighlighting >= 100 { $0 = hie(@/"[^"]*"/, "<[^>]*>", "string"); - hi(@/(//.*$|/\*.*$|^.*\*/)/, "comment"); + hi(@/(//.*$|/\*.*$|^[^\*]*\*/)/, "comment"); $0 = hil(@/[^[:alnum:]#\$]/, @/[[:digit:]]+/, @/[^[:alnum:]]/, @@ -242,18 +244,21 @@ syntaxhighlighting >= 100 { @/[-_[:alnum:]]+[[:blank:]]*/, @/\(/, "function"); - hi(@/(==|!=|<|>|<=|>=|&&|\|\||!)/, "conditional"); - $0 = hil(@/(^|[^[:alnum:]])/, + hi(@/(==|!=|<=|>=|&&|\|\||!)/, "conditional"); + $0 = hil(@/(^|[^-[:alnum:]])/, @/(break|continue|do|for|goto|while)/, @/([^[:alnum:]]|$)/, "repeat"); - $0 = hil(@/(^|[^[:alnum:]])/, + $0 = hil(@/(^|[^-[:alnum:]])/, @/(case|const|default|else|extern|if|return|sizeof|switch|typedef)/, @/([^[:alnum:]]|$)/, "keyword"); - hi(@/^[[:blank:]]*#[[:alpha:]]+/, "preproc"); - $0 = hil(@/(^|[^[:alnum:]])/, - @/(auto|char|double|float|int|long|short|signed|unsigned|bool)/, + $0 = hil(@/(^|<.*>)[[:blank:]]*/, + @/#[[:alpha:]]+/, + "", + "preproc"); + $0 = hil(@/(^|[^-[:alnum:]])/, + @/(auto|char|double|float|int|long|short|signed|unsigned|bool|void)/, @/([^[:alnum:]]|$)/, "type"); hi(@/'[\\]?[ -~]'/, "char"); -- cgit v1.3.1-26-gb76a