U
    luf	                     @   s^   d Z ddlZddlmZmZmZmZmZ ddlm	Z	m
Z
mZmZmZ dgZG dd deZdS )z
    pygments.lexers.scdoc
    ~~~~~~~~~~~~~~~~~~~~~

    Lexer for scdoc, a simple man page generator.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)
RegexLexerincludebygroupsusingthis)TextCommentKeywordStringGeneric
ScdocLexerc                   @   s   e Zd ZdZdZdZddgZddgZej	Z
deefdeejefd	eejefd
eeeeeeddfdeeeeeddfdeeejfdeeeefedgdefdeeejefdeeejefdejfdefdefgdZdd ZdS )r   zm
    `scdoc` is a simple man page generator for POSIX systems written in C99.

    .. versionadded:: 2.5
    Zscdocz!https://git.sr.ht/~sircmpwn/scdocZscdz*.scdz*.scdocz^(;.+\n)z^(#)([^#].+\n)z^(#{2})(.+\n)z^(\s*)([*-])(\s)(.+\n)inline)statez^(\s*)(\.+\.)( .+\n)z^(\s*>\s)(.+\n)z^(```\n)([\w\W]*?)(^```$)z\\.z(\s)(_[^_]+_)(\W|\n)z(\s)(\*[^*]+\*)(\W|\n)z`[^`]+`z[^\\\s]+.)rootr   c                 C   sN   d}d| kr|d7 }d| kr$|d7 }|  dd }d}t||rJ|d7 }|S )zWe checks for bold and underline text with * and _. Also
        every scdoc file must start with a strictly defined first line.r   *g{Gz?_
z^.*\([1-7]\)( "[^"]+"){0,2}$g      ?)	partitionresearch)textresult
first_lineZscdoc_preamble_pattern r   9/tmp/pip-unpacked-wheel-7eq1ciah/pygments/lexers/scdoc.pyanalyse_textD   s    zScdocLexer.analyse_textN)__name__
__module____qualname____doc__nameurlaliases	filenamesr   	MULTILINEflagsr   r   r   ZHeadingr   Z
Subheadingr	   r   r   ZEmphr
   r   ZStrongZBackticktokensr   r   r   r   r   r      s8   
%)r    r   Zpygments.lexerr   r   r   r   r   Zpygments.tokenr   r   r	   r
   r   __all__r   r   r   r   r   <module>   s
   
