|e&|dZddlmZmZmZmZddlmZmZm Z m Z m Z m Z m Z mZddgZGddeZGddeZy) z pygments.lexers.smalltalk ~~~~~~~~~~~~~~~~~~~~~~~~~ Lexers for Smalltalk and related languages. :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. ) RegexLexerincludebygroupsdefault)TextCommentOperatorKeywordNameStringNumber PunctuationSmalltalkLexer NewspeakLexercDeZdZdZdZdZdgZgdZdgZde e e e e fe de d e d d e e eje fe d d e fde fgde ej e ejfde ej e fde ej e eje fge d de e e ejfde dfedgdedfdej&dfdej(dfde dfdedfge d defdej(fdefdej&fdej(dfgdej(dfe d gdej(dfe d gd!e fd"efgd#e d$fd%e dfd&ej.j0dfd'ej2dfd(ejdfd)ej(dfe d*gd+e dfe d d,ej.dfd-ej.fd.e dfd/ej dfd0ej fd1ej dfd2edfd3efd4e fd5e dfg d6e fd7e fd8e e ej2e ee e e fd9e e ej2e ee fd:e ej2e ej(e ee ee ee ee fd;e ej2e ee fd<e e e e fd+e fgd= Zy>)?rz For Smalltalk syntax. Contributed by Stefan Matthias Aust. Rewritten by Nils Winter. .. versionadded:: 0.10 Smalltalkzhttp://www.smalltalk.org/z*.st) smalltalksqueakstztext/x-smalltalkz(<)(\w+:)(.*?)(>)squeak fileout whitespacesmethod 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)(\].*)(! !)$) rrr!r"rrrrrrrN)__name__ __module__ __qualname____doc__nameurl filenamesaliases mimetypesrrr rr r VariableFunctionrr CharSymbolr rBuiltinPseudoClassrtokens;/usr/lib/python3/dist-packages/pygments/lexers/smalltalk.pyrrs D %CI+G#$I"8D'4#F G $ % M " ' ( !8HdmmX#N O I  8 $ D !  * dmmT4== 9 ; )8DMM4+H I 7 dmmT4==$ ? A   M "  hdmm 4 6 Hf % FO  fm 4 V[[- 0 V]]I . D- ( -v} E   M " -v 6 (&-- 8 f % V[[ ! fmm_ 5 FMM#: ; % &  FMM6 * % & TN g & D* + D- ( ; \\ - 1 !4::} = !4==- @ ; ]]M + J   gv & M " H \\6 #  - & )  7  . *DMM6 B K ( ;    f % " (  ( G$**gvwgV X I$**gvwG I( WfmmWfg&'67L  MFWfg> @ !8GT7#C D g % kiFr6ceZdZdZdZdZdgZdgZdgZde jfde fd e e je eje fd e fd e ej e ej"fd e ej$e efd ej*fededg dej0fdej2fdej"fde ej"efdej fdej"fdefdefdefdefdefededg de fde fde j6fde j6fde j6fgd e fd!efgd"Zy#)$rz9 For Newspeak syntax. .. versionadded:: 1.1 Newspeakzhttp://newspeaklanguage.org/z*.ns2newspeakztext/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"rz#'[^']*'z#\w+:?z&#(\+|\/|~|\*|<|>|=|@|%|\||&|\?|!|,|-)+r z"[^"]*")rr;r"r<N)r$r%r&r'r(r)r*r+r,r Declarationr rrr r3r.r- Attributer rSpecialrr FloatIntegerrr0r4r5r6r7rrs D (C InG"#I!'"5"5 6  ( g))4T B D N   * dmmT4== 9 ;  dnndH 5 7 w ' $ % L ! ".v|| < V^^ $ dmm $ 8DMM8< = dmm $ T]] # { # { # { # 98 D k " L ! J  "V   &-- (  & 6 F  TN  ! Q,Fr6N)r'pygments.lexerrrrrpygments.tokenrrr r r r r r__all__rrr5r6r7rEsIBA _ -wZwt8J8r6