File: //opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/__pycache__/make.cpython-311.pyc
�
�;f� � �� � d Z ddlZddlmZmZmZmZmZmZ ddl m
Z
mZmZm
Z
mZmZmZmZ ddlmZ g d�Z G d� de� � Z G d � d
e� � Z G d� de� � ZdS )
z�
pygments.lexers.make
~~~~~~~~~~~~~~~~~~~~
Lexers for Makefiles and similar.
:copyright: Copyright 2006-2024 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 � � e Zd ZdZdZg d�Zg d�ZdgZdZdZ e
j d� � Z e
j d � � Z
d
� Zd� 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)�make�makefile�mf�bsdmake)z*.makz*.mkr r z
Makefile.*�GNUmakefileztext/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 # �F K � g }|� d�� � }d}t di | j ��}d}|D ]�}| j � |� � s|rZ|� t
|� � dt j |fgf� � |� � � �
d� � }�x| j � |� � r.|� t
|� � dt |fgf� � ��||z
}��t ||�
|� � � � E d {V �� d S )NT)�keependsr Fr �\� )�
splitlinesr �options� r_special�match�append�lenr
�Preproc�strip�endswith� r_commentr �get_tokens_unprocessed)�self�text�ins�lines�done�lex�
backslashflag�lines �G/opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/make.pyr, z$MakefileLexer.get_tokens_unprocessed/ s4 � � � ��������.�.�����/�/�$�,�/�/���
�� � �D��~�#�#�D�)�)�
�]�
��
�
�C��I�I��G�O�T�(B�'C�D�E�E�E� $�
�
��� 5� 5�d� ;� ;�
�
���%�%�d�+�+�
��
�
�C��I�I��G�T�(:�';�<�=�=�=�=������ ��c�&@�&@��&F�&F�G�G�G�G�G�G�G�G�G�G�G� c �4 � t j d| � � rdS d S )Nz
\$\([A-Z_]+\)g�������?)�re�search)r. s r5 �analyse_textzMakefileLexer.analyse_text? s&