diff options
Diffstat (limited to 'vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cfengine3.xml')
| -rw-r--r-- | vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cfengine3.xml | 206 |
1 files changed, 206 insertions, 0 deletions
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cfengine3.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cfengine3.xml new file mode 100644 index 0000000..d330549 --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cfengine3.xml @@ -0,0 +1,206 @@ +<lexer> + <config> + <name>CFEngine3</name> + <alias>cfengine3</alias> + <alias>cf3</alias> + <filename>*.cf</filename> + </config> + <rules> + <state name="interpol"> + <rule pattern="\$[{(]"> + <token type="LiteralStringInterpol"/> + <push/> + </rule> + <rule pattern="[})]"> + <token type="LiteralStringInterpol"/> + <pop depth="1"/> + </rule> + <rule pattern="[^${()}]+"> + <token type="LiteralStringInterpol"/> + </rule> + </state> + <state name="arglist"> + <rule pattern="\)"> + <token type="Punctuation"/> + <pop depth="1"/> + </rule> + <rule pattern=","> + <token type="Punctuation"/> + </rule> + <rule pattern="\w+"> + <token type="NameVariable"/> + </rule> + <rule pattern="\s+"> + <token type="Text"/> + </rule> + </state> + <state name="root"> + <rule pattern="#.*?\n"> + <token type="Comment"/> + </rule> + <rule pattern="@.*?\n"> + <token type="CommentPreproc"/> + </rule> + <rule pattern="(body)(\s+)(\S+)(\s+)(control)"> + <bygroups> + <token type="Keyword"/> + <token type="Text"/> + <token type="Keyword"/> + <token type="Text"/> + <token type="Keyword"/> + </bygroups> + </rule> + <rule pattern="(body|bundle|promise)(\s+)(\S+)(\s+)(\w+)(\()"> + <bygroups> + <token type="Keyword"/> + <token type="Text"/> + <token type="Keyword"/> + <token type="Text"/> + <token type="NameFunction"/> + <token type="Punctuation"/> + </bygroups> + <push state="arglist"/> + </rule> + <rule pattern="(body|bundle|promise)(\s+)(\S+)(\s+)(\w+)"> + <bygroups> + <token type="Keyword"/> + <token type="Text"/> + <token type="Keyword"/> + <token type="Text"/> + <token type="NameFunction"/> + </bygroups> + </rule> + <rule pattern="(")([^"]+)(")(\s+)(string|slist|int|real)(\s*)(=>)(\s*)"> + <bygroups> + <token type="Punctuation"/> + <token type="NameVariable"/> + <token type="Punctuation"/> + <token type="Text"/> + <token type="KeywordType"/> + <token type="Text"/> + <token type="Operator"/> + <token type="Text"/> + </bygroups> + </rule> + <rule pattern="(\S+)(\s*)(=>)(\s*)"> + <bygroups> + <token type="KeywordReserved"/> + <token type="Text"/> + <token type="Operator"/> + <token type="Text"/> + </bygroups> + </rule> + <rule pattern="""> + <token type="LiteralString"/> + <push state="doublequotestring"/> + </rule> + <rule pattern="'"> + <token type="LiteralString"/> + <push state="singlequotestring"/> + </rule> + <rule pattern="`"> + <token type="LiteralString"/> + <push state="backtickstring"/> + </rule> + <rule pattern="(\w+)(\()"> + <bygroups> + <token type="NameFunction"/> + <token type="Punctuation"/> + </bygroups> + </rule> + <rule pattern="([\w.!&|()]+)(::)"> + <bygroups> + <token type="NameClass"/> + <token type="Punctuation"/> + </bygroups> + </rule> + <rule pattern="(\w+)(:)"> + <bygroups> + <token type="KeywordDeclaration"/> + <token type="Punctuation"/> + </bygroups> + </rule> + <rule pattern="@[{(][^)}]+[})]"> + <token type="NameVariable"/> + </rule> + <rule pattern="[(){},;]"> + <token type="Punctuation"/> + </rule> + <rule pattern="=>"> + <token type="Operator"/> + </rule> + <rule pattern="->"> + <token type="Operator"/> + </rule> + <rule pattern="\d+\.\d+"> + <token type="LiteralNumberFloat"/> + </rule> + <rule pattern="\d+"> + <token type="LiteralNumberInteger"/> + </rule> + <rule pattern="\w+"> + <token type="NameFunction"/> + </rule> + <rule pattern="\s+"> + <token type="Text"/> + </rule> + </state> + <state name="doublequotestring"> + <rule pattern="\$[{(]"> + <token type="LiteralStringInterpol"/> + <push state="interpol"/> + </rule> + <rule pattern="\\."> + <token type="LiteralStringEscape"/> + </rule> + <rule pattern="""> + <token type="LiteralString"/> + <pop depth="1"/> + </rule> + <rule pattern="\n"> + <token type="LiteralString"/> + </rule> + <rule pattern="."> + <token type="LiteralString"/> + </rule> + </state> + <state name="singlequotestring"> + <rule pattern="\$[{(]"> + <token type="LiteralStringInterpol"/> + <push state="interpol"/> + </rule> + <rule pattern="\\."> + <token type="LiteralStringEscape"/> + </rule> + <rule pattern="'"> + <token type="LiteralString"/> + <pop depth="1"/> + </rule> + <rule pattern="\n"> + <token type="LiteralString"/> + </rule> + <rule pattern="."> + <token type="LiteralString"/> + </rule> + </state> + <state name="backtickstring"> + <rule pattern="\$[{(]"> + <token type="LiteralStringInterpol"/> + <push state="interpol"/> + </rule> + <rule pattern="\\."> + <token type="LiteralStringEscape"/> + </rule> + <rule pattern="`"> + <token type="LiteralString"/> + <pop depth="1"/> + </rule> + <rule pattern="\n"> + <token type="LiteralString"/> + </rule> + <rule pattern="."> + <token type="LiteralString"/> + </rule> + </state> + </rules> +</lexer> |
