File: //lib/python3/dist-packages/pygments/lexers/__pycache__/shell.cpython-311.pyc
�
�E�c�� � �� � d Z ddlZddlmZmZmZmZmZmZm Z m
Z
mZmZ ddl
mZmZmZmZmZmZmZmZmZmZ ddlmZ g d�Z G d� de� � Z G d � d
e� � Z G d� de� � Z G d
� de� � Z G d� de� � Z G d� de� � Z G d� de� � Z! G d� de� � Z" G d� de� � Z# G d� de� � Z$ G d� de� � Z% G d� de� � Z&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 �� � e Zd ZdZdZg d�Zg d�Zg d�Z ed� � de j
df ed � � ed
� � gdedfd
edfde j dfde
j fde
j fdefgd eee� � fde
j fdej fdej fde j fd ee
j ee� � fdefdefde fdefg
de j fde j d fd!e j fd"e j fd#efd$efd%efd&efd'efd(efd)efgde j d*fd+e j f ed
� � gd,e j d*fd-efd.e
j fd/efd0ef ed1� � gd2ed*f ed1� � gd3ed*fd4efd5efd6efd7ef ed1� � gde j
d*f ed1� � gd8� Zd9� Zd:S );r zI
Lexer for (ba|k|z|)sh shell scripts.
.. versionadded:: 0.6
�Bash)�bash�sh�ksh�zsh�shell)z*.shz*.kshz*.bashz*.ebuildz*.eclassz*.exheres-0z*.exlibz*.zshz.bashrc�bashrcz.bash_*zbash_*�zshrcz.zshrcz.kshrc�kshrc�PKGBUILD)zapplication/x-shzapplication/x-shellscriptztext/x-shellscript�basic�`� backticks�data�interp�\$\(\(�math�\$\(�paren�\$\{#?�curlyz\$[a-zA-Z_]\w*z\$(?:\d+|[#$?!_*@-])�\$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)`])�\A#!.+\n�#.*\n�\\[\w\W]z(\b\w+)(\s*)(\+?=)z[\[\]{}()=]z<<<�<<-?\s*(\'?)\\?(\w+)[\w\W]+?\2z&&|\|\|z(?s)\$?"(\\.|[^"\\$])*"�"�string�#(?s)\$'(\\\\|\\[0-7]+|\\.|[^'\\])*'� (?s)'.*?'�;�&z\|�\s+z\d+\b�[^=\s\[\]{}()$"\'`\\<&|;]+�<�#pop� (?s)(\\\\|\\[0-7]+|\\.|[^"\\$])+�\}�:-�\w+z
[^}:"\'`$\\]+�:�root�\)�\)\)�[-+*/%^|&]|\*\*|\|\|�\d+#\d+� \d+#(?! )�\d+) rN r3 r/ r2 r@ r9 r7 r5 r1 c �X � t | d� � rdS | � d� � rdS d S )Nz (ba|z|)sh� z$ g�������?)r �
startswith��texts �7/usr/lib/python3/dist-packages/pygments/lexers/shell.py�analyse_textzBashLexer.analyse_textx s<