diff options
[Syntax-highlighting] Ported lex and yacc, tweaked C
1 files changed, 18 insertions, 13 deletions
| -rw-r--r-- | awk-edits/Syntax-highlighting.awk | 31 |
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:]]|[-_])+[\(\.]/, "<span class=\"SH-cls\">&</span>"); - gsub(/(<[[:alnum:]]+>)/, "<span class=\"SH-kwd\">&</span>"); - gsub(/([[:blank:]]|\()*([[:upper:]]|[-_])+([[:blank:]]|\)|,|;)+/, "<span class=\"SH-cst\">&</span>"); - gsub(/(=>)/, "<span class=\"SH-kwd2\">&</span>"); + $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:]]+/, "<span class=\"SH-kwd\">&</span>"); + hi(@/%[^[:blank:]]+/, "storageclass"); } # @@ -211,7 +213,7 @@ syntaxhighlighting == 103 { } syntaxhighlighting == 104 { - gsub(/%[^[:blank:]]+/, "<span class=\"SH-kwd\">&</span>"); + 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"); |