File: //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/make.cpython-38.pyc
U
`a�[� � @ s� d Z ddlZddlmZmZmZmZmZmZ ddl m
Z
mZmZm
Z
mZmZmZ ddlmZ dddgZG d d� de�ZG d
d� de�ZG dd� de�ZdS )z�
pygments.lexers.make
~~~~~~~~~~~~~~~~~~~~
Lexers for Makefiles and similar.
:copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�Lexer�
RegexLexer�include�bygroups�
do_insertions�using)�Text�Comment�Operator�Keyword�Name�String�Punctuation)� BashLexer�
MakefileLexer�BaseMakefileLexer�
CMakeLexerc @ sZ e Zd ZdZdZddddgZddddd d
gZdgZe� d�Z
e� d
�Zdd� Zdd� Z
dS )r z�
Lexer for BSD and GNU make extensions (lenient enough to handle both in
the same file even).
*Rewritten in Pygments 0.10.*
ZMakefileZmakeZmakefileZmfZbsdmakez*.makz*.mkz
Makefile.*ZGNUmakefileztext/x-makefilez�^(?:\.\s*(include|undef|error|warning|if|else|elif|endif|for|endfor)|\s*(ifeq|ifneq|ifdef|ifndef|else|endif|-?include|define|endef|:|vpath)|\s*(if|else|endif))(?=\s)z^\s*@?#c c s� g }|� d�}d}tf | j�}d}|D ]p}| j�|�s:|rf|�t|�dtj|fgf� |� � �
d�}q&| j�|�r�|�t|�dt|fgf� q&||7 }q&t||�
|��D ]
}|V q�d S )NT� Fr �\)�
splitlinesr Zoptions� r_special�match�append�lenr ZPreproc�strip�endswith� r_commentr �get_tokens_unprocessed) �self�textZins�linesZdoneZlexZ
backslashflag�line�item� r# �6/usr/lib/python3/dist-packages/pygments/lexers/make.pyr . s
z$MakefileLexer.get_tokens_unprocessedc C s t �d| �rdS d S )Nz
\$\([A-Z_]+\)g�������?)�re�search)r r# r# r$ �analyse_text? s zMakefileLexer.analyse_textN)�__name__�
__module__�__qualname__�__doc__�name�aliases� filenames� mimetypesr% �compiler r r r'