a
    ÛËU_µ&  ã                   @   s^   d Z ddlZddlmZmZmZ ddlmZmZm	Z	m
Z
mZmZmZ dgZG dd„ deƒZdS )zÕ
    pygments.lexers.teraterm
    ~~~~~~~~~~~~~~~~~~~~~~~~

    Lexer for Tera Term macro files.

    :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚincludeÚbygroups)ÚTextÚCommentÚOperatorÚNameÚStringÚNumberÚKeywordÚTeraTermLexerc                   @   sj  e Zd ZdZdZg d¢ZdgZdgZedƒedƒedƒed	ƒed
ƒedƒedƒedƒedƒde	fg
de
jfde
jdfgde
jdfde
jfde
jfgdee	ejƒfgdefdeee	ejƒfgdejfgdejfgdeeejƒfdejfgdejfdejd fd!ejd"fgd#ejfd$efgdejdfed%ƒgd!ejdfed%ƒgd&ejfd'efd(ejfgd)e	fgd*œZd+d,„ Zd-S ).r   zb
    For `Tera Term <https://ttssh2.osdn.jp/>`_ macro source code.

    .. versionadded:: 2.4
    zTera Term macro)ZttlZteratermZteratermmacroz*.ttlztext/x-teratermmacroÚcommentsÚlabelsÚcommandsúbuiltin-variablesúuser-variablesÚ	operatorsúnumeric-literalsústring-literalsúall-whitespacez\Sz	;[^\r\n]*z/\*ú
in-commentz\*/z#popz[^*/]+z[*/]z(?i)^(\s*)(:[a-z0-9_]+)aL  (?i)\b(basename|beep|bplusrecv|bplussend|break|bringupbox|callmenu|changedir|checksum16|checksum16file|checksum32|checksum32file|checksum8|checksum8file|clearscreen|clipb2var|closesbox|closett|code2str|connect|continue|crc16|crc16file|crc32|crc32file|cygconnect|delpassword|dirname|dirnamebox|disconnect|dispstr|do|else|elseif|enablekeyb|end|endif|enduntil|endwhile|exec|execcmnd|exit|expandenv|fileclose|fileconcat|filecopy|filecreate|filedelete|filelock|filemarkptr|filenamebox|fileopen|fileread|filereadln|filerename|filesearch|fileseek|fileseekback|filestat|filestrseek|filestrseek2|filetruncate|fileunlock|filewrite|filewriteln|findclose|findfirst|findnext|flushrecv|foldercreate|folderdelete|foldersearch|for|getdate|getdir|getenv|getfileattr|gethostname|getipv4addr|getipv6addr|getmodemstatus|getpassword|getspecialfolder|gettime|gettitle|getttdir|getver|if|ifdefined|include|inputbox|int2str|intdim|ispassword|kmtfinish|kmtget|kmtrecv|kmtsend|listbox|loadkeymap|logautoclosemode|logclose|loginfo|logopen|logpause|logrotate|logstart|logwrite|loop|makepath|messagebox|mpause|next|passwordbox|pause|quickvanrecv|quickvansend|random|recvln|regexoption|restoresetup|return|rotateleft|rotateright|scprecv|scpsend|send|sendbreak|sendbroadcast|sendfile|sendkcode|sendln|sendlnbroadcast|sendlnmulticast|sendmulticast|setbaud|setdate|setdebug|setdir|setdlgpos|setdtr|setecho|setenv|setexitcode|setfileattr|setflowctrl|setmulticastname|setpassword|setrts|setspeed|setsync|settime|settitle|show|showtt|sprintf|sprintf2|statusbox|str2code|str2int|strcompare|strconcat|strcopy|strdim|strinsert|strjoin|strlen|strmatch|strremove|strreplace|strscan|strspecial|strsplit|strtrim|testlink|then|tolower|toupper|unlink|until|uptime|var2clipb|wait|wait4all|waitevent|waitln|waitn|waitrecv|waitregex|while|xmodemrecv|xmodemsend|yesnobox|ymodemrecv|ymodemsend|zmodemrecv|zmodemsend)\bz#(?i)(call|goto)([ \t]+)([a-z0-9_]+)a  (?i)(groupmatchstr1|groupmatchstr2|groupmatchstr3|groupmatchstr4|groupmatchstr5|groupmatchstr6|groupmatchstr7|groupmatchstr8|groupmatchstr9|inputstr|matchstr|mtimeout|param1|param2|param3|param4|param5|param6|param7|param8|param9|paramcnt|params|result|timeout)\bz(?i)[a-z_][a-z0-9_]*z(-?)([0-9]+)z(?i)\$[0-9a-f]+z(?i)#(?:[0-9]+|\$[0-9a-f]+)ú'úin-single-stringú"úin-double-stringz\\[\\nt]Ú.úin-general-stringzand|not|or|xorz[!%&*+<=>^~\|\/-]+z[()]z\s+)Úrootr   r   r   r   r   r   r   r   r   r   r   r   r   c                 C   s"   t  tjd d d | ¡rdS d S )Nr   r   g{®Gáz„?)ÚreÚsearchr   Útokens)Útext© r"   ú:/usr/lib/python3/dist-packages/pygments/lexers/teraterm.pyÚanalyse_textM  s    zTeraTermLexer.analyse_textN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesZ	mimetypesr   r   r   ÚSingleZ	Multiliner   r   ZLabelr   ZBuiltinZVariabler   r
   ZIntegerZHexr	   ZCharÚDoubleZEscapeZWordZSymbolr    r$   r"   r"   r"   r#   r      sŽ   ö
þ
ýÿ J€ ¶ Mÿ€ ³ Säÿ!ÿþ

ýþ
þ
þýÿ€ € Ú  /)r(   r   Zpygments.lexerr   r   r   Zpygments.tokenr   r   r   r   r	   r
   r   Ú__all__r   r"   r"   r"   r#   Ú<module>   s
   
$