diff options
Diffstat (limited to 'vendor/github.com/alecthomas/chroma/v2/lexers/embedded/awk.xml')
| -rw-r--r-- | vendor/github.com/alecthomas/chroma/v2/lexers/embedded/awk.xml | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/awk.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/awk.xml new file mode 100644 index 0000000..07476ff --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/awk.xml | |||
| @@ -0,0 +1,95 @@ | |||
| 1 | <lexer> | ||
| 2 | <config> | ||
| 3 | <name>Awk</name> | ||
| 4 | <alias>awk</alias> | ||
| 5 | <alias>gawk</alias> | ||
| 6 | <alias>mawk</alias> | ||
| 7 | <alias>nawk</alias> | ||
| 8 | <filename>*.awk</filename> | ||
| 9 | <mime_type>application/x-awk</mime_type> | ||
| 10 | </config> | ||
| 11 | <rules> | ||
| 12 | <state name="root"> | ||
| 13 | <rule pattern="^(?=\s|/)"> | ||
| 14 | <token type="Text"/> | ||
| 15 | <push state="slashstartsregex"/> | ||
| 16 | </rule> | ||
| 17 | <rule> | ||
| 18 | <include state="commentsandwhitespace"/> | ||
| 19 | </rule> | ||
| 20 | <rule pattern="\+\+|--|\|\||&&|in\b|\$|!?~|\|&|(\*\*|[-<>+*%\^/!=|])=?"> | ||
| 21 | <token type="Operator"/> | ||
| 22 | <push state="slashstartsregex"/> | ||
| 23 | </rule> | ||
| 24 | <rule pattern="[{(\[;,]"> | ||
| 25 | <token type="Punctuation"/> | ||
| 26 | <push state="slashstartsregex"/> | ||
| 27 | </rule> | ||
| 28 | <rule pattern="[})\].]"> | ||
| 29 | <token type="Punctuation"/> | ||
| 30 | </rule> | ||
| 31 | <rule pattern="(break|continue|do|while|exit|for|if|else|return|switch|case|default)\b"> | ||
| 32 | <token type="Keyword"/> | ||
| 33 | <push state="slashstartsregex"/> | ||
| 34 | </rule> | ||
| 35 | <rule pattern="function\b"> | ||
| 36 | <token type="KeywordDeclaration"/> | ||
| 37 | <push state="slashstartsregex"/> | ||
| 38 | </rule> | ||
| 39 | <rule pattern="(atan2|cos|exp|int|log|rand|sin|sqrt|srand|gensub|gsub|index|length|match|split|patsplit|sprintf|sub|substr|tolower|toupper|close|fflush|getline|next(file)|print|printf|strftime|systime|mktime|delete|system|strtonum|and|compl|lshift|or|rshift|asorti?|isarray|bindtextdomain|dcn?gettext|@(include|load|namespace))\b"> | ||
| 40 | <token type="KeywordReserved"/> | ||
| 41 | </rule> | ||
| 42 | <rule pattern="(ARGC|ARGIND|ARGV|BEGIN(FILE)?|BINMODE|CONVFMT|ENVIRON|END(FILE)?|ERRNO|FIELDWIDTHS|FILENAME|FNR|FPAT|FS|IGNORECASE|LINT|NF|NR|OFMT|OFS|ORS|PROCINFO|RLENGTH|RS|RSTART|RT|SUBSEP|TEXTDOMAIN)\b"> | ||
| 43 | <token type="NameBuiltin"/> | ||
| 44 | </rule> | ||
| 45 | <rule pattern="[@$a-zA-Z_]\w*"> | ||
| 46 | <token type="NameOther"/> | ||
| 47 | </rule> | ||
| 48 | <rule pattern="[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?"> | ||
| 49 | <token type="LiteralNumberFloat"/> | ||
| 50 | </rule> | ||
| 51 | <rule pattern="0x[0-9a-fA-F]+"> | ||
| 52 | <token type="LiteralNumberHex"/> | ||
| 53 | </rule> | ||
| 54 | <rule pattern="[0-9]+"> | ||
| 55 | <token type="LiteralNumberInteger"/> | ||
| 56 | </rule> | ||
| 57 | <rule pattern=""(\\\\|\\"|[^"])*""> | ||
| 58 | <token type="LiteralStringDouble"/> | ||
| 59 | </rule> | ||
| 60 | <rule pattern="'(\\\\|\\'|[^'])*'"> | ||
| 61 | <token type="LiteralStringSingle"/> | ||
| 62 | </rule> | ||
| 63 | </state> | ||
| 64 | <state name="commentsandwhitespace"> | ||
| 65 | <rule pattern="\s+"> | ||
| 66 | <token type="Text"/> | ||
| 67 | </rule> | ||
| 68 | <rule pattern="#.*$"> | ||
| 69 | <token type="CommentSingle"/> | ||
| 70 | </rule> | ||
| 71 | </state> | ||
| 72 | <state name="slashstartsregex"> | ||
| 73 | <rule> | ||
| 74 | <include state="commentsandwhitespace"/> | ||
| 75 | </rule> | ||
| 76 | <rule pattern="/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/\B"> | ||
| 77 | <token type="LiteralStringRegex"/> | ||
| 78 | <pop depth="1"/> | ||
| 79 | </rule> | ||
| 80 | <rule pattern="(?=/)"> | ||
| 81 | <token type="Text"/> | ||
| 82 | <push state="#pop" state="badregex"/> | ||
| 83 | </rule> | ||
| 84 | <rule> | ||
| 85 | <pop depth="1"/> | ||
| 86 | </rule> | ||
| 87 | </state> | ||
| 88 | <state name="badregex"> | ||
| 89 | <rule pattern="\n"> | ||
| 90 | <token type="Text"/> | ||
| 91 | <pop depth="1"/> | ||
| 92 | </rule> | ||
| 93 | </state> | ||
| 94 | </rules> | ||
| 95 | </lexer> \ No newline at end of file | ||
