File: //opt/saltstack/salt/lib/python3.10/site-packages/pygments/lexers/__pycache__/make.cpython-310.pyc
o
;j� � @ 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-present 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 @ sV e Zd ZdZdZg d�Zg d�ZdgZdZdZ e
�d�Ze
�d �Z
d
d� Zdd
� ZdS )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)Zmake�makefileZmfZbsdmake)z*.makz*.mkr r z
Makefile.*ZGNUmakefileztext/x-makefile�-https://en.wikipedia.org/wiki/Make_(software)� z�^(?:\.\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 }|j dd�}d}tdi | j��}d}|D ]8}| j�|�s!|r7|�t|�dtj|fgf� |� � �
d�}q| j�|�rK|�t|�dt|fgf� q||7 }qt||�
|��E d H d S )NT)�keependsr Fr �\� )�
splitlinesr �options� r_special�match�append�lenr ZPreproc�strip�endswith� r_commentr �get_tokens_unprocessed)�self�textZins�linesZdoneZlexZ
backslashflag�liner r �H/opt/saltstack/salt/lib/python3.10/site-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&