Mercurial > yakumo_izuru > aya
diff vendor/github.com/alecthomas/chroma/v2/lexers/embedded/smalltalk.xml @ 66:787b5ee0289d draft
Use vendored modules
Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>
author | yakumo.izuru |
---|---|
date | Sun, 23 Jul 2023 13:18:53 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/smalltalk.xml Sun Jul 23 13:18:53 2023 +0000 @@ -0,0 +1,294 @@ +<lexer> + <config> + <name>Smalltalk</name> + <alias>smalltalk</alias> + <alias>squeak</alias> + <alias>st</alias> + <filename>*.st</filename> + <mime_type>text/x-smalltalk</mime_type> + </config> + <rules> + <state name="inner_parenth"> + <rule pattern="\)"> + <token type="LiteralStringSymbol"/> + <pop depth="1"/> + </rule> + <rule> + <include state="_parenth_helper"/> + </rule> + </state> + <state name="objects"> + <rule pattern="\["> + <token type="Text"/> + <push state="blockvariables"/> + </rule> + <rule pattern="\]"> + <token type="Text"/> + <push state="afterobject"/> + </rule> + <rule pattern="\b(self|super|true|false|nil|thisContext)\b"> + <token type="NameBuiltinPseudo"/> + <push state="afterobject"/> + </rule> + <rule pattern="\b[A-Z]\w*(?!:)\b"> + <token type="NameClass"/> + <push state="afterobject"/> + </rule> + <rule pattern="\b[a-z]\w*(?!:)\b"> + <token type="NameVariable"/> + <push state="afterobject"/> + </rule> + <rule pattern="#("(""|[^"])*"|[-+*/\\~<>=|&!?,@%]+|[\w:]+)"> + <token type="LiteralStringSymbol"/> + <push state="afterobject"/> + </rule> + <rule> + <include state="literals"/> + </rule> + </state> + <state name="afterobject"> + <rule pattern="! !$"> + <token type="Keyword"/> + <pop depth="1"/> + </rule> + <rule> + <include state="whitespaces"/> + </rule> + <rule pattern="\b(ifTrue:|ifFalse:|whileTrue:|whileFalse:|timesRepeat:)"> + <token type="NameBuiltin"/> + <pop depth="1"/> + </rule> + <rule pattern="\b(new\b(?!:))"> + <token type="NameBuiltin"/> + </rule> + <rule pattern=":=|_"> + <token type="Operator"/> + <pop depth="1"/> + </rule> + <rule pattern="\b[a-zA-Z]+\w*:"> + <token type="NameFunction"/> + <pop depth="1"/> + </rule> + <rule pattern="\b[a-zA-Z]+\w*"> + <token type="NameFunction"/> + </rule> + <rule pattern="\w+:?|[-+*/\\~<>=|&!?,@%]+"> + <token type="NameFunction"/> + <pop depth="1"/> + </rule> + <rule pattern="\."> + <token type="Punctuation"/> + <pop depth="1"/> + </rule> + <rule pattern=";"> + <token type="Punctuation"/> + </rule> + <rule pattern="[\])}]"> + <token type="Text"/> + </rule> + <rule pattern="[\[({]"> + <token type="Text"/> + <pop depth="1"/> + </rule> + </state> + <state name="literals"> + <rule pattern="'(''|[^'])*'"> + <token type="LiteralString"/> + <push state="afterobject"/> + </rule> + <rule pattern="\$."> + <token type="LiteralStringChar"/> + <push state="afterobject"/> + </rule> + <rule pattern="#\("> + <token type="LiteralStringSymbol"/> + <push state="parenth"/> + </rule> + <rule pattern="\)"> + <token type="Text"/> + <push state="afterobject"/> + </rule> + <rule pattern="(\d+r)?-?\d+(\.\d+)?(e-?\d+)?"> + <token type="LiteralNumber"/> + <push state="afterobject"/> + </rule> + </state> + <state name="root"> + <rule pattern="(<)(\w+:)(.*?)(>)"> + <bygroups> + <token type="Text"/> + <token type="Keyword"/> + <token type="Text"/> + <token type="Text"/> + </bygroups> + </rule> + <rule> + <include state="squeak fileout"/> + </rule> + <rule> + <include state="whitespaces"/> + </rule> + <rule> + <include state="method definition"/> + </rule> + <rule pattern="(\|)([\w\s]*)(\|)"> + <bygroups> + <token type="Operator"/> + <token type="NameVariable"/> + <token type="Operator"/> + </bygroups> + </rule> + <rule> + <include state="objects"/> + </rule> + <rule pattern="\^|:=|_"> + <token type="Operator"/> + </rule> + <rule pattern="[\]({}.;!]"> + <token type="Text"/> + </rule> + </state> + <state name="_parenth_helper"> + <rule> + <include state="whitespaces"/> + </rule> + <rule pattern="(\d+r)?-?\d+(\.\d+)?(e-?\d+)?"> + <token type="LiteralNumber"/> + </rule> + <rule pattern="[-+*/\\~<>=|&#!?,@%\w:]+"> + <token type="LiteralStringSymbol"/> + </rule> + <rule pattern="'(''|[^'])*'"> + <token type="LiteralString"/> + </rule> + <rule pattern="\$."> + <token type="LiteralStringChar"/> + </rule> + <rule pattern="#*\("> + <token type="LiteralStringSymbol"/> + <push state="inner_parenth"/> + </rule> + </state> + <state name="parenth"> + <rule pattern="\)"> + <token type="LiteralStringSymbol"/> + <push state="root" state="afterobject"/> + </rule> + <rule> + <include state="_parenth_helper"/> + </rule> + </state> + <state name="whitespaces"> + <rule pattern="\s+"> + <token type="Text"/> + </rule> + <rule pattern=""(""|[^"])*""> + <token type="Comment"/> + </rule> + </state> + <state name="squeak fileout"> + <rule pattern="^"(""|[^"])*"!"> + <token type="Keyword"/> + </rule> + <rule pattern="^'(''|[^'])*'!"> + <token type="Keyword"/> + </rule> + <rule pattern="^(!)(\w+)( commentStamp: )(.*?)( prior: .*?!\n)(.*?)(!)"> + <bygroups> + <token type="Keyword"/> + <token type="NameClass"/> + <token type="Keyword"/> + <token type="LiteralString"/> + <token type="Keyword"/> + <token type="Text"/> + <token type="Keyword"/> + </bygroups> + </rule> + <rule pattern="^(!)(\w+(?: class)?)( methodsFor: )('(?:''|[^'])*')(.*?!)"> + <bygroups> + <token type="Keyword"/> + <token type="NameClass"/> + <token type="Keyword"/> + <token type="LiteralString"/> + <token type="Keyword"/> + </bygroups> + </rule> + <rule pattern="^(\w+)( subclass: )(#\w+)(\s+instanceVariableNames: )(.*?)(\s+classVariableNames: )(.*?)(\s+poolDictionaries: )(.*?)(\s+category: )(.*?)(!)"> + <bygroups> + <token type="NameClass"/> + <token type="Keyword"/> + <token type="LiteralStringSymbol"/> + <token type="Keyword"/> + <token type="LiteralString"/> + <token type="Keyword"/> + <token type="LiteralString"/> + <token type="Keyword"/> + <token type="LiteralString"/> + <token type="Keyword"/> + <token type="LiteralString"/> + <token type="Keyword"/> + </bygroups> + </rule> + <rule pattern="^(\w+(?: class)?)(\s+instanceVariableNames: )(.*?)(!)"> + <bygroups> + <token type="NameClass"/> + <token type="Keyword"/> + <token type="LiteralString"/> + <token type="Keyword"/> + </bygroups> + </rule> + <rule pattern="(!\n)(\].*)(! !)$"> + <bygroups> + <token type="Keyword"/> + <token type="Text"/> + <token type="Keyword"/> + </bygroups> + </rule> + <rule pattern="! !$"> + <token type="Keyword"/> + </rule> + </state> + <state name="method definition"> + <rule pattern="([a-zA-Z]+\w*:)(\s*)(\w+)"> + <bygroups> + <token type="NameFunction"/> + <token type="Text"/> + <token type="NameVariable"/> + </bygroups> + </rule> + <rule pattern="^(\b[a-zA-Z]+\w*\b)(\s*)$"> + <bygroups> + <token type="NameFunction"/> + <token type="Text"/> + </bygroups> + </rule> + <rule pattern="^([-+*/\\~<>=|&!?,@%]+)(\s*)(\w+)(\s*)$"> + <bygroups> + <token type="NameFunction"/> + <token type="Text"/> + <token type="NameVariable"/> + <token type="Text"/> + </bygroups> + </rule> + </state> + <state name="blockvariables"> + <rule> + <include state="whitespaces"/> + </rule> + <rule pattern="(:)(\s*)(\w+)"> + <bygroups> + <token type="Operator"/> + <token type="Text"/> + <token type="NameVariable"/> + </bygroups> + </rule> + <rule pattern="\|"> + <token type="Operator"/> + <pop depth="1"/> + </rule> + <rule> + <pop depth="1"/> + </rule> + </state> + </rules> +</lexer> \ No newline at end of file