File: //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/make.cpython-310.pyc
o
���a � @ s� d Z ddlZddlmZmZmZmZmZmZ ddl m
Z
mZmZm
Z
mZmZmZmZ ddlmZ g d�ZG dd� de�ZG d d
� d
e�ZG dd� de�ZdS )
z�
pygments.lexers.make
~~~~~~~~~~~~~~~~~~~~
Lexers for Makefiles and similar.
:copyright: Copyright 2006-2021 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�
Whitespace)� BashLexer)�
MakefileLexer�BaseMakefileLexer�
CMakeLexerc @ sN e Zd ZdZdZg d�Zg d�ZdgZe� d�Z
e� d�Zdd � Zd
d� 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.*
�Makefile)�make�makefile�mf�bsdmake)z*.makz*.mkr r z
Makefile.*�GNUmakefileztext/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}tdi | j��}d}|D ]8}| j�|�s |r6|�t|�dtj|fgf� |� � �
d�}q| j�|�rJ|�t|�dt|fgf� q||7 }qt||�
|��E d H d S )NT� Fr �\� )�
splitlinesr �options� r_special�match�append�lenr �Preproc�strip�endswith� r_commentr �get_tokens_unprocessed)�self�text�ins�lines�done�lex�
backslashflag�liner r �6/usr/lib/python3/dist-packages/pygments/lexers/make.pyr'