o
‡ÎÖa ã @ sp d Z ddlmZmZmZmZ ddlmZmZm Z m
Z
mZmZm
Z
mZ ddgZG dd„ deƒZG dd„ deƒZdS ) zâ
pygments.lexers.smalltalk
~~~~~~~~~~~~~~~~~~~~~~~~~
Lexers for Smalltalk and related languages.
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
é )Ú
RegexLexerÚincludeÚbygroupsÚdefault)ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚSmalltalkLexerÚ
NewspeakLexerc @ s† e Zd ZdZdZdgZg d¢ZdgZdee e
e e ƒfedƒedƒed ƒd
eee
jeƒfedƒdefd
e fgdee
je e
jƒfdee
je ƒfdee
je e
je ƒfgedƒdeee e
jƒfdedfedƒgdedfdejdfdejdfde dfdedfgedƒdefdejfdefdejfdejdfgdejdfedƒgdejdfedƒgd e fd!efgd"e d#fd$e dfd%e
jjdfd&e
jdfd'e
jdfd(ejdfed)ƒgd*e
dfedƒd+e
jdfd,e
jfd-edfd.e
jdfd/e
jfd0e
jdfd1edfd2efd3e fd4e dfgd5e
fd6e
fd7ee
e
je
ee
e e
ƒfd8ee
e
je
ee
ƒfd9ee
je
eje
ee
ee
ee
ee
ƒfd:ee
je
ee
ƒfd;ee
e e
ƒfd*e
fgd<œZd=S )>r z¡
For `Smalltalk `_ syntax.
Contributed by Stefan Matthias Aust.
Rewritten by Nils Winter.
.. versionadded:: 0.10
Ú Smalltalkz*.st)Ú smalltalkÚsqueakÚstztext/x-smalltalkz(<)(\w+:)(.*?)(>)úsqueak fileoutÚwhitespacesúmethod definitionz(\|)([\w\s]*)(\|)Úobjectsz \^|\:=|\_z
[\]({}.;!]z([a-zA-Z]+\w*:)(\s*)(\w+)z^(\b[a-zA-Z]+\w*\b)(\s*)$z'^([-+*/\\~<>=|&!?,@%]+)(\s*)(\w+)(\s*)$z
(:)(\s*)(\w+)z\|z#popz'(''|[^'])*'Úafterobjectú\$.z#\(Úparenthz\)z(\d+r)?-?\d+(\.\d+)?(e-?\d+)?z[-+*/\\~<>=|!?,@%\w:]+z#*\(Ú
inner_parenth)Úrootr Ú_parenth_helperú\s+z"(""|[^"])*"z\[Úblockvariablesz\]z+\b(self|super|true|false|nil|thisContext)\bz\b[A-Z]\w*(?!:)\bz\b[a-z]\w*(?!:)\bz+#("(""|[^"])*"|[-+*/\\~<>=|&!?,@%]+|[\w:]+)Úliteralsz! !$z8\b(ifTrue:|ifFalse:|whileTrue:|whileFalse:|timesRepeat:)z\b(new\b(?!:))z\:=|\_z\b[a-zA-Z]+\w*:z\b[a-zA-Z]+\w*z\w+:?|[-+*/\\~<>=|&!?,@%]+z\.ú;z[\])}]z[\[({]z^"(""|[^"])*"!z^'(''|[^'])*'!z7^(!)(\w+)( commentStamp: )(.*?)( prior: .*?!\n)(.*?)(!)z9^(!)(\w+(?: class)?)( methodsFor: )('(?:''|[^'])*')(.*?!)z‹^(\w+)( subclass: )(#\w+)(\s+instanceVariableNames: )(.*?)(\s+classVariableNames: )(.*?)(\s+poolDictionaries: )(.*?)(\s+category: )(.*?)(!)z5^(\w+(?: class)?)(\s+instanceVariableNames: )(.*?)(!)z(!\n)(\].*)(! !)$)r r r r r r r r r r r N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚ filenamesÚaliasesÚ mimetypesr r r r r r
ÚVariableÚFunctionr r ÚCharÚSymbolr r ÚBuiltinÚPseudoÚClassr
Útokens© r2 r2 ú;/usr/lib/python3/dist-packages/pygments/lexers/smalltalk.pyr sÆ ÷ÿÿú
ÿû
û
ù
ü
þýÿ
ÿ÷ÿ
óÿÿÿûÿî
«c @ s" e Zd ZdZdZdgZdgZdgZdej fde
fdeej ee
jeƒfd efd
ee
jee
jƒfdee
jeeƒfdejfed
ƒedƒg dejfdejfde
jfdee
jeƒfde
jfde
jfdefdefdefdefdefedƒedƒg
de
fde
fde
jfde
jfde
jfgdefd efgd!œZd"S )#r z[
For `Newspeak `_ syntax.
.. versionadded:: 1.1
ÚNewspeakz*.ns2Únewspeakztext/x-newspeakz\b(Newsqueak2)\bz'[^']*'z\b(class)(\s+)(\w+)(\s*)z>\b(mixin|self|super|private|public|protected|nil|true|false)\bz(\w+\:)(\s*)([a-zA-Z_]\w+)z
(\w+)(\s*)(=)z<\w+>ÚexpressionstatÚ
whitespacez(\d+\.\d*|\.\d+|\d+[fF])[fF]?z\d+z:\w+z (\w+)(::)z\w+:z\w+z\(|\)z\[|\]z\{|\}z)(\^|\+|\/|~|\*|<|>|=|@|%|\||&|\?|!|,|-|:)z\.|;r r z#'[^']*'z#\w+:?z(\+|\/|~|\*|<|>|=|@|%|\||&|\?|!|,|-)+r z"[^"]*")r r6 r r7 N)r" r# r$ r% r&