
    ,hSG                         d Z ddlZddlmZmZ ddlmZmZmZm	Z	m
Z
mZmZmZmZ ddgZ G d de      Z G d de      Zy)	z
    pygments.lexers.rebol
    ~~~~~~~~~~~~~~~~~~~~~

    Lexers for the REBOL and related languages.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)
RegexLexerbygroups)	TextCommentOperatorKeywordNameStringNumberGeneric
Whitespace
RebolLexerRedLexerc                      e Zd ZdZdZdgZg dZdgZdZdZ	e
j                  e
j                  z  ZdZd	 Zg d
efdej$                  dfdej(                  fdej(                  dfdej(                  fdedfdedfdej,                  fdej.                  fdefdej2                  dfdej2                  fdej4                  fdej6                  fdej6                  fdej:                  fdej:                  fd ej4                  fd!ej4                  fd"efd#ej>                  fd$ej2                  fd%ej2                  fd&ej2                  fd'ed(fd)ed*fd+ed,fd-efd.ej@                  fd/efd0ejB                  fd1ejB                  d2fd3efd4efeejD                  fd5efd6ejD                  fded7fgd8efeejD                  fd5efd6ejD                  fded9fd:ed7fgd4ej2                  feej2                  fd6ej2                  fdej2                  d7fgedz   ej$                  d7fd;ej$                  d7fd<ej$                  d7fgeejB                  fdejB                  d=fd>ejB                  fd?ejB                  d7fgd4ejB                  feejB                  fd5ejB                  fd6ejB                  fdejB                  d7fgd@ej:                  fdAej:                  d7fgd
ej(                  fdBej(                  fd:ej(                  d7fgd4efeefd5efd6efded7fgd8efeefd5efd6efded9fd:ed7fgdCed9fdDed7fded(fded*fdEefgdFZ#dG Z$yH)Ir   z
    A REBOL lexer.
    REBOLrebol)z*.rz*.r3z*.rebztext/x-rebolzhttp://www.rebol.comz1.1(?:\^\([0-9a-f]{1,4}\)*)c              #   .  K   |j                         }t        j                  d|      r$|j                         t        j
                  |f y t        j                  d|      r$|j                         t        j                  |f y t        j                  d|      r$|j                         t        j                  |f y t        j                  d|      r$|j                         t        j                  |f y t        j                  d|      r$|j                         t        j                  |f y t        j                  d|      r$|j                         t        j                  |f y t        j                  d|      r|j                         t        |f y t        j                  d|      r|j                         t        |f y t        j                  d	|      r|j                         t        |f y t        j                  d
|      r$|j                         t        j                  |f y t        j                  d|      r.|j                         t        j                  j                   |f y t        j                  d|      r$|j                         t        j"                  |f y t        j                  d|      r$|j                         t        j$                  |f y |j                         t        j                  |f y w)N.*:$a  (native|alias|all|any|as-string|as-binary|bind|bound\?|case|catch|checksum|comment|debase|dehex|exclude|difference|disarm|either|else|enbase|foreach|remove-each|form|free|get|get-env|if|in|intersect|loop|minimum-of|maximum-of|mold|new-line|new-line\?|not|now|prin|print|reduce|compose|construct|repeat|reverse|save|script\?|set|shift|switch|throw|to-hex|trace|try|type\?|union|unique|unless|unprotect|unset|until|use|value\?|while|compress|decompress|secure|open|close|read|read-io|write-io|write|update|query|wait|input\?|exp|log-10|log-2|log-e|square-root|cosine|sine|tangent|arccosine|arcsine|arctangent|protect|lowercase|uppercase|entab|detab|connected\?|browse|launch|stats|get-modes|set-modes|to-local-file|to-rebol-file|encloak|decloak|create-link|do-browser|bind\?|hide|draw|show|size-text|textinfo|offset-to-caret|caret-to-offset|local-request-file|rgb-to-hsv|hsv-to-rgb|crypt-strength\?|dh-make-key|dh-generate-key|dh-compute-key|dsa-make-key|dsa-generate-key|dsa-make-signature|dsa-verify-signature|rsa-make-key|rsa-generate-key|rsa-encrypt)$a4  (add|subtract|multiply|divide|remainder|power|and~|or~|xor~|minimum|maximum|negate|complement|absolute|random|head|tail|next|back|skip|at|pick|first|second|third|fourth|fifth|sixth|seventh|eighth|ninth|tenth|last|path|find|select|make|to|copy\*|insert|remove|change|poke|clear|trim|sort|min|max|abs|cp|copy)$a  (error|source|input|license|help|install|echo|Usage|with|func|throw-on-error|function|does|has|context|probe|\?\?|as-pair|mod|modulo|round|repend|about|set-net|append|join|rejoin|reform|remold|charset|array|replace|move|extract|forskip|forall|alter|first+|also|take|for|forever|dispatch|attempt|what-dir|change-dir|clean-path|list-dir|dirize|rename|split-path|delete|make-dir|delete-dir|in-dir|confirm|dump-obj|upgrade|what|build-tag|process-source|build-markup|decode-cgi|read-cgi|write-user|save-user|set-user-name|protect-system|parse-xml|cvs-date|cvs-version|do-boot|get-net-info|desktop|layout|scroll-para|get-face|alert|set-face|uninstall|unfocus|request-dir|center-face|do-events|net-error|decode-url|parse-header|parse-header-date|parse-email-addrs|import-email|send|build-attach-body|resend|show-popup|hide-popup|open-events|find-key-face|do-face|viewtop|confine|find-window|insert-event-func|remove-event-func|inform|dump-pane|dump-face|flag-face|deflag-face|clear-fields|read-net|vbug|path-thru|read-thru|load-thru|do-thru|launch-thru|load-image|request-download|do-face-alt|set-font|set-para|get-style|set-style|make-face|stylize|choose|hilight-text|hilight-all|unlight-text|focus|scroll-drag|clear-face|reset-face|scroll-face|resize-face|load-stock|load-stock-block|notify|request|flash|request-color|request-pass|request-text|request-list|request-date|request-file|dbug|editor|link-relative-path|emailer|parse-error)$zO(halt|quit|do|load|q|recycle|call|run|ask|parse|view|unview|return|exit|break)$zREBOL$to-.*z5(\+|-|\*|/|//|\*\*|and|or|xor|=\?|=|==|<>|<|>|<=|>=)$z.*\?$.*\!$'.*#.*%.*)grouprematchstartr   
Subheadingr	   BuiltinFunctionr   	Namespace	ExceptionHeadingr   TypeVariableInstanceLabel	Decoratorlexerr   words      W/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/pygments/lexers/rebol.pyword_callbackzRebolLexer.word_callback#   s1    {{}88FD!++-!3!3T99XX$ #'$( ++-t33XX
  ++-44XX%0 '+3,4 ++-!2!2D88XX#$(* ++-55XXh%++-$66XXgt$++-$..XXN++-4//XXh%++-$..XXh%++-t33XXeT"++-!7!7==XXeT"++-T11XXeT"++-55++-44s   LL\s+#"charz#\{[0-9a-f]*\}2#\{bin264#\{[0-9a-z+/=\s]*\}"string\{string2;#+.*\n;\*+.*\n;.*\n%"
stringFile%[^(^{")\s\[\]]+[+-]?([a-z]{1,3})?\$\d+(\.\d+)?[+-]?\d+\:\d+(\:\d+)?(\.\d+)?zJ\d+[\-/][0-9a-z]+[\-/]\d+(\/\d+\:\d+((\:\d+)?([.\d+]?([+-]?\d+:\d+)?)?)?)?\d+(\.\d+)+\.\d+\d+X\d+#[+-]?\d+(\'\d+)?([.,]\d*)?E[+-]?\d+[+-]?\d+(\'\d+)?[.,]\d*[+-]?\d+(\'\d+)?[\[\]()] [a-z]+[^(^{"\s:)]*://[^(^{"\s)]* mailto:[^(^{"@\s)]+@[^(^{"@\s)]+[^(^{"@\s)]+@[^(^{"@\s)]+
comment\s"commentString1comment\s\{commentString2comment\s\[commentBlockcomment\s[^(\s{"\[]+z/[^(^{")\s/[\]]*z"([^(^{")\s/[\]]+)(?=[:({"\s/\[\]])
<[\w:.-]*><[^(<>\s")]+tag([^(^{")\s]+)[^(^")]+[(|)]+\^.#pop	[^(^{})]+#push\}\^."."	tagString[^(<>\r\n")]+>(\d+\.)+\d+([01]\s*){8}\[\][^(\[\]"{)]+rootr6   r8   r=   r1   rS   r^   tupler3   rK   rM   rO   c                     t        j                  d| t         j                        ryt        j                  d| t         j                        ryy)zS
        Check if code contains REBOL header and so it probably not R code
        z^\s*REBOL\s*\[g      ?z\s*REBOL\s*\[g      ?N)r   r   
IGNORECASEsearch)texts    r-   analyse_textzRebolLexer.analyse_text   s9     88%tR]];YY'r}}= >    N)%__name__
__module____qualname____doc__namealiases	filenames	mimetypesurlversion_addedr   rk   	MULTILINEflags	escape_rer.   r   r
   Charr   Hexr   SpecialPreprocr	   r)   FloatOtherr   Constantr   Strong	AttributeTagEscapetokensrn    ro   r-   r   r      s#    DiG(I I
 CMMMBLL(E+IS5l#
TN#
FKK(#
 

+#
 fjj&)	#

 &vzz2#
 68$#
 FI&#
 )#
 '//*#
 w#
 DNNL1#
 !$..1#
 0>#
 .v||<#
./5||=#
" !'"2"23##
$ ))*%#
& 4V\\B'#
( (6)#
* !&)+#
, '..)-#
. 1$..A/#
0 1$..A1#
2 *4>>:3#
4 G%565#
6 W&677#
8 Wn59#
: %g.;#
< !$..1=#
> 3MB?#
@ DHH%A#
B dhh.C#
D t$E#
J &!&V]]#66"
 6"&V]]#FG$FF#
 $..)'T^^$4>>6*	
 _fkk62fkk6*FKK(
 !488[)txx(488V$	
 $((#!!TXX488V$
 '**+W%%v.

 VZZ fjj)FJJ'
 '"  W7F#
 7#  WGW%GV$
 GW%GV$7,-G-.g&
IkFZ	ro   c                      e Zd ZdZdZddgZddgZddgZd	Zd
Z	e
j                  e
j                  z  ZdZd Zg defdej$                  dfdej(                  fdej(                  dfdej(                  fd eej(                  ej.                  e      fdedfdedfdej4                  fdej6                  fdefdej8                  dfdej8                  fdej:                  fd ej<                  fd!ej<                  fd"ej@                  fd#ej@                  fd$ej:                  fd%ej:                  fd&efd'e!jD                  fd(ej8                  fd)ej8                  fd*ej8                  fd+ed,fd-ed.fd/ed0fd1efd2ejF                  fd3efd4ejH                  fd5ejH                  d6fd7efd8efeejJ                  fd9efd:ejJ                  fded;fgd<efeejJ                  fd9efd:ejJ                  fded=fd>ed;fgd8ej8                  feej8                  fd:ej8                  fdej8                  d;fgedz   ej$                  d;fd?ej$                  d;fd@ej$                  d;fgeejH                  fdejH                  dAfdBejH                  fdCejH                  d;fgd8ejH                  feejH                  fd9ejH                  fd:ejH                  fdejH                  d;fgdDej@                  fdEej@                  d;fgdej(                  fdFej(                  fd>ej(                  d;fgd8efeefd9efd:efded;fgd<efeefd9efd:efded=fd>ed;fgdGed=fdHed;fded,fded.fdIefgdJZ&yK)Lr   z
    A Red-language lexer.
    Redredz
red/systemz*.redz*.redsz
text/x-redztext/x-red-systemzhttps://www.red-lang.orgz2.0r   c              #   *  K   |j                         }t        j                  d|      r$|j                         t        j
                  |f y t        j                  d|      r$|j                         t        j                  |f y t        j                  d|      r$|j                         t        j                  |f y t        j                  d|      r.|j                         t        j                  j                  |f y t        j                  d|      r$|j                         t        j                  |f y t        j                  d|      r$|j                         t        j                  |f y t        j                  d|      r|j                         t        |f y t        j                  d|      r$|j                         t        j                  |f y t        j                  d	|      r|j                         t        |f y t        j                  d
|      r|j                         t        |f y t        j                  d|      r$|j                         t        j                  |f y t        j                  d|      r.|j                         t        j                  j                   |f y t        j                  d|      r$|j                         t        j"                  |f y t        j                  d|      r$|j                         t        j$                  |f y t        j                  d|      r$|j                         t        j
                  |f y |j                         t        j                  |f y w)Nr   a  (if|unless|either|any|all|while|until|loop|repeat|foreach|forall|func|function|does|has|switch|case|reduce|compose|get|set|print|prin|equal\?|not-equal\?|strict-equal\?|lesser\?|greater\?|lesser-or-equal\?|greater-or-equal\?|same\?|not|type\?|stats|bind|union|replace|charset|routine)$af  (make|random|reflect|to|form|mold|absolute|add|divide|multiply|negate|power|remainder|round|subtract|even\?|odd\?|and~|complement|or~|xor~|append|at|back|change|clear|copy|find|head|head\?|index\?|insert|length\?|next|pick|poke|remove|reverse|select|sort|skip|swap|tail|tail\?|take|trim|create|close|delete|modify|open|open\?|query|read|rename|update|write)$z`(yes|on|no|off|true|false|tab|cr|lf|newline|escape|slash|sp|space|null|none|crlf|dot|null-byte)$ze(#system-global|#include|#enum|#define|#either|#if|#import|#export|#switch|#default|#get-definition)$z(system|halt|quit|quit-return|do|load|q|recycle|call|run|ask|parse|raise-error|return|exit|break|alias|push|pop|probe|\?\?|spec-of|body-of|quote|forever)$z(action\?|block\?|char\?|datatype\?|file\?|function\?|get-path\?|zero\?|get-word\?|integer\?|issue\?|lit-path\?|lit-word\?|logic\?|native\?|op\?|paren\?|path\?|refinement\?|set-path\?|set-word\?|string\?|unset\?|any-struct\?|none\?|word\?|any-series\?)$z(JNICALL|stdcall|cdecl|infix)$r   zN(\+|-\*\*|-|\*\*|//|/|\*|and|or|xor|=\?|===|==|=|<>|<=|>=|<<<|>>>|<<|>>|<|>%)$r   r   r   r   z:.*)r   r   r   r   r   r   r	   r    r!   Pseudor   r"   r#   r   r%   r&   r'   r(   r)   r*   s      r-   r.   zRedLexer.word_callback   s    {{}88FD!++-!3!3T99XX >
 @DE ++-t33XX (
 *./ ++-44XX 348:++-!4!4d::XX <=AC++-!2!2D88XX )*.0 ++-55XX C EIJ ++-$..XX7>++-!2!2D88XXgt$++-$..XX ./35++-4//XXh%++-t33XXeT"++-!7!7==XXeT"++-T11XXeT"++-55XXeT"++-!3!3T99++-44s   NNr/   r0   r1   z#\{[0-9a-f\s]*\}r2   r3   r4   z$([0-9a-f]+)(h)((\s)|(?=[\[\]{}"()]))r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   zH\d+[\-/][0-9a-z]+[\-/]\d+(/\d+:\d+((:\d+)?([\.\d+]?([+-]?\d+:\d+)?)?)?)?rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   z/[^(^{^")\s/[\]]*z#([^(^{^")\s/[\]]+)(?=[:({"\s/\[\]])rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   N)'rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   r   rk   rz   r{   r|   r.   r   r
   r}   r   r~   r   r	   r&   r   r   r   r   r)   r   r   r   r   r   r   r   r   r   r   r   ro   r-   r   r      sN    Dl#G(#I23I
$CMMMBLL(E+I45n%
TN%
FKK(%
 !&**-%
 fjj&)	%

 &vzz2%
 5fjj$--<>%
 68$%
 FI&%
 )%
 '//*%
 w%
 DNNL1%
 !$..1%
 0>%
  .v||<!%
"/06>#%
& !'"2"23'%
( ))*)%
* 4V\\B+%
, (6-%
. !&)/%
0 '..)1%
2 1$..A3%
4 1$..A5%
6 *4>>:7%
8 G%569%
: W&67;%
< Wn5=%
> %g.?%
@ "4>>2A%
B 4]CC%
D DHH%E%
F dhh.G%
H t$I%
N &!&V]]#66"
 6"&V]]#FG$FF#
 $..)'T^^$4>>6*	
 _fkk62fkk6*FKK(
 !488[)txx(488V$	
 $((#!!TXX488V$
 '**+W%%v.

 VZZ fjj)FJJ'
 '"  W7F#
 7#  WGW%GV$
 GW%GV$7,-G-.g&
MmFro   )rs   r   pygments.lexerr   r   pygments.tokenr   r   r   r   r	   r
   r   r   r   __all__r   r   r   ro   r-   <module>r      sJ    
 /      
$Z Zzrz rro   