;i ddlZddlmZmZmZejZejZejZej Z ej Z ddZ GddZ GddZ e e jd e e jd e e je e jd e e je e je e jd e e jd e e jd Ze e jd e e jd e e je e jd e e je e je e jd e e jd e e jd ZGd d e ZdS)N)QtCoreQtGui QtWidgetsc tj|}t}||d|vr$|t jjd|vr| d|S)z= Return a QTextCharFormat with the given attributes. bolditalicT) pg functionsmkColorQTextCharFormat setForeground setFontWeightQFontWeightBold setFontItalic)colorstyle_color_formats MC:\PYTHON\MyICR_Workspace\venv\Lib\site-packages\pyqtgraph/examples/syntax.pyformatrs~\ ! !% ( (FG &!!! el/0005d### NcZeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdS)LightThemeColorsz#B71C1Cz#FCE4ECz#4A148Cz#311B92z#1A237Ez#0D47A1z#01579Bz#006064z#004D40z#1B5E20z#33691Ez#827717z#F57F17z#FF6F00z#E65100z#BF360Cz#3E2723z#212121z#263238N__name__ __module__ __qualname__RedPinkPurple DeepPurpleIndigoBlue LightBlueCyanTealGreen LightGreenLimeYellowAmberOrange DeepOrangeBrownGreyBlueGreyrrrrm C D FJ F DI D D EJ D F E FJ E DHHHrrcZeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdS)DarkThemeColorsz#F44336z#F48FB1z#CE93D8z#B39DDBz#9FA8DAz#90CAF9z#81D4FAz#80DEEAz#80CBC4z#A5D6A7z#C5E1A5z#E6EE9Cz#FFF59Dz#FFE082z#FFCC80z#FFAB91z#BCAAA4z#EEEEEEz#B0BEC5Nrr4rrr7r75r5rr7rr ) keywordoperatorbracedefclassstringstring2commentselfnumberscReZdZdZgdZgdZgdZdZedZ dZ dZ d S) PythonHighlighterz0Syntax highlighter for the Python language. )"andassertbreakclasscontinuedefdelelifelseexceptexecfinallyforfromglobalifimportinislambdanotorpassprintraisereturntrywhileyieldNoneTrueFalseasyncawait)=z==z!=z>=z\+-z\*/z//z\%z\*\*z\+=z-=z\*=z/=z\%=z\^z\|z\&z\~z>>z<<)z\{z\}z\(z\)z\[z\]cbt||tdddf|_tdddf|_g}|dt jDz }|dt jDz }|dt jDz }|gd z }d |D|_ dS) Nz'''r=z"""cg|] }d|zddf S)z\b%s\brr8r4).0ws r z.PythonHighlighter.__init__..s3777q=!Y/777rcg|] }d|zddf S)%srr9r4)rnos rrpz.PythonHighlighter.__init__..s388819a,888rcg|] }d|zddf S)rrrr:r4)rnbs rrpz.PythonHighlighter.__init__..s355519a)555r) )z\bself\brr?)z\bdef\b\s*(\w+)rkr;)z\bclass\b\s*(\w+)rkr;)z\b[+-]?[0-9]+[lL]?\brr@)z\b[+-]?0[xX][0-9A-Fa-f]+[lL]?\brr@)z0\b[+-]?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\brr@)z"[^"\\]*(\\.[^"\\]*)*"rr<)z'[^'\\]*(\\.[^'\\]*)*'rr<)z#[^\n]*rr>c:g|]\}}}t|||fSr4)QRegExp)rnpatindexfmts rrpz.PythonHighlighter.__init__..s;666+3ss||UC0666r) QSyntaxHighlighter__init__rw tri_single tri_doublerBkeywords operatorsbracesrules)r?documentrs rr|zPythonHighlighter.__init__s##D(333 #5>>1i8"5>>1i8 77,5777 7 88,6888 8 55,3555 5     466/4666 rctj}|drtnt S)NdarkMode)r QApplicationinstanceproperty DARK_STYLES LIGHT_STYLES)r?apps rstyleszPythonHighlighter.styless1$--//!ll:66H{{LHrc|jD]\}}}||d}|j|}|dkrm||}t ||}||||||||z}|dkm|d|j|g|j R}|s|j|g|j R}dSdS)z>Apply syntax highlighting to the given block of text. rN) rindexInrposlencap setFormatsetCurrentBlockStatematch_multiliner}r~)r?text expressionnthrrylength in_multilines rhighlightBlockz PythonHighlighter.highlightBlocks(,z A A #JV&&tQ//E[(F1**"s++Z^^C0011uff555"**4@@ 1** !!!$$$,t+DC4?CCC  H/4/GtGGGLLL H HrcL||krd}d}n)||}|}|dkr||||z}||kr3||z |z|z}|dn*||t ||z |z}||||j|||||z}|dk||krdSdS)arDo highlighting of multi-line strings. ``delimiter`` should be a ``QRegExp`` for triple-single-quotes or triple-double-quotes, and ``in_state`` should be a unique integer to represent the corresponding state changes when inside those strings. Returns True if we're still inside a multi-line string when this function is finished. rTF)previousBlockStater matchedLengthrrrrcurrentBlockState) r?r delimiterin_staterstartaddendrs rrz!PythonHighlighter.match_multilines?  " " $ $ 0 0ECC%%d++E))++Cqjj##D%#+66Cczzus*Y-D-D-F-FF))!,,,,))(333TU*S0 NN5&$+e*< = = =%%dEFN;;Eqjj"  ! ! # #x / /45rN) rrr __doc__rrrr|rrrrr4rrrBrBfsH   IF/6/6/6bIIXIHHH,&&&&&rrB)r) pyqtgraphr pyqtgraph.QtrrrrwrQColorr r{rrr7r&r!r#r%r.r$r*r)rrrBr4rrrsS1111111111 .  '-     .0v&+V44'+V44 V$+ , ,'.77f%+,,v&122v&,h77 F#(& 1 1v&+,,   vo*F33*F33 VO* + +-v66f_*++vo011vo+X66 F?' 0 0vo*++   QQQQQ*QQQQQr