3
V'ícø ã @ sV d Z ddlZddlmZmZmZmZmZmZm Z m
Z
mZmZ ddl
mZmZmZmZmZmZmZmZmZmZ ddlmZ dddd d
ddd
dddgZG dd deZG dd
d
eZG dd deZG dd deZG dd d eZG dd deZ G dd deZ!G dd deZ"G dd deZ#G dd
d
eZ$G dd deZ%G dd deZ&dS )zÉ
pygments.lexers.shell
~~~~~~~~~~~~~~~~~~~~~
Lexers for various shells.
:copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
é N)
ÚLexerÚ
RegexLexerÚ
do_insertionsÚbygroupsÚincludeÚdefaultÚthisÚusingÚwordsÚline_re)
ÚPunctuationÚ
WhitespaceÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚGeneric)Úshebang_matchesÚ BashLexerÚBashSessionLexerÚ TcshLexerÚ
BatchLexerÚSlurmBashLexerÚMSDOSSessionLexerÚPowerShellLexerÚPowerShellSessionLexerÚTcshSessionLexerÚFishShellLexerÚ
ExeclineLexerc @ sä e Zd ZdZdZdddddgZdd d
ddd
dddddddddddgZdddgZedde j
dfeded gd!ed"fd#ed$fd%e jd&fd'e
jfd(e
jfd)efgd*eeefd+e
jfd,ejfd-ejfd.e jfd/ee
jeefd0efd1efd2e fd3efg
d4e jfd5e jd6fd7e jfd8e jfd9efd:efd;efd<efd=efd>efd?efgd5e jd@fdAe jfed gdBe jd@fdCefdDe
jfdEefdFefedGgdHed@fedGgdIed@fdJefdKefdLefdMefedGgde j
d@fedGgdN ZdOdP ZdQS )Rr zI
Lexer for (ba|k|z|)sh shell scripts.
.. versionadded:: 0.6
ZBashÚbashÚshZkshÚzshÚshellz*.shz*.kshz*.bashz*.ebuildz*.eclassz*.exheres-0z*.exlibz*.zshz.bashrcZbashrcz.bash_*zbash_*Zzshrcz.zshrcz.kshrcZkshrcZPKGBUILDzapplication/x-shzapplication/x-shellscriptztext/x-shellscriptÚbasicú`Ú backticksÚdataÚinterpz\$\(\(Úmathz\$\(Úparenz\$\{#?Úcurlyz\$[a-zA-Z_]\w*z\$(?:\d+|[#$?!_*@-])z\$zd\b(if|fi|else|while|in|do|done|for|then|return|function|case|select|continue|until|esac|elif)(\s*)\baM \b(alias|bg|bind|break|builtin|caller|cd|command|compgen|complete|declare|dirs|disown|echo|enable|eval|exec|exit|export|false|fc|fg|getopts|hash|help|history|jobs|kill|let|local|logout|popd|printf|pushd|pwd|read|readonly|set|shift|shopt|source|suspend|test|time|times|trap|true|type|typeset|ulimit|umask|unalias|unset|wait)(?=[\s)`])z\A#!.+\nz#.*\nz\\[\w\W]z(\b\w+)(\s*)(\+?=)z[\[\]{}()=]z<<<z<<-?\s*(\'?)\\?(\w+)[\w\W]+?\2z&&|\|\|z(?s)\$?"(\\.|[^"\\$])*"ú"Ústringz#(?s)\$'(\\\\|\\[0-7]+|\\.|[^'\\])*'z (?s)'.*?'ú;ú&z\|z\s+z\d+\bz[^=\s\[\]{}()$"\'`\\<&|;]+ú<z#popz (?s)(\\\\|\\[0-7]+|\\.|[^"\\$])+z\}z:-z\w+z
[^}:"\'`$\\]+ú:Úrootz\)z\)\)z[-+*/%^|&]|\*\*|\|\|z\d+#\d+z \d+#(?! )z\d+) r4 r* r&