Your IP : 216.73.216.213
B
̽�\�� �
@ sF d Z ddlZddlmZmZmZmZmZmZm Z m
Z
mZ ddlm
Z
mZmZmZmZmZmZmZmZ ddlmZ dddd d
ddd
ddg
Ze�d�ZG dd� de�ZG dd
� d
e�ZG dd� de�ZG dd� de�ZG dd � d e�ZG dd� de�Z G dd� de�Z!G dd� de�Z"G dd� de�Z#G dd
� d
e�Z$G dd� de�Z%dS )z�
pygments.lexers.shell
~~~~~~~~~~~~~~~~~~~~~
Lexers for various shells.
:copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N) �Lexer�
RegexLexer�
do_insertions�bygroups�include�default�this�using�words) �Punctuation�Text�Comment�Operator�Keyword�Name�String�Number�Generic)�shebang_matches� BashLexer�BashSessionLexer� TcshLexer�
BatchLexer�SlurmBashLexer�MSDOSSessionLexer�PowerShellLexer�PowerShellSessionLexer�TcshSessionLexer�FishShellLexerz.*?
c @ s� e Zd ZdZdZdddddgZdd d
ddd
dddddddddgZdddgZed�de j
dfed�ed�gded fd!ed"fd#e jd$fd%e
jfd&e
jfd'efgd(eee�fd)e
jfd*ejfd+ejfd,e jfd-ee
jee�fd.efd/efd0e fd1efg
d2e jfd3e jd4fd5e jfd6e jfd7efd8efd9efd:efd;efd<efd=efgd3e jd>fd?e jfed�gd@e jd>fdAefdBe
jfdCefdDefedE�gdFed>fedE�gdGed>fdHefdIefdJefdKefedE�gde j
d>fedE�gdL� ZdMdN� ZdOS )Pr zI
Lexer for (ba|k|z|)sh shell scripts.
.. versionadded:: 0.6
ZBashZbash�shZkshZzsh�shellz*.shz*.kshz*.bashz*.ebuildz*.eclassz*.exheres-0z*.exlibz*.zshz.bashrcZbashrcz.bash_*zbash_*Zzshrcz.zshrcZPKGBUILDzapplication/x-shzapplication/x-shellscriptztext/x-shellscript�basic�`� backticks�data�interpz\$\(\(�mathz\$\(�parenz\$\{#?�curlyz\$[a-zA-Z_]\w*z\$(?:\d+|[#$?!_*@-])z\$za\b(if|fi|else|while|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+) r/ r% r! r$ r* r( r'