o
    \h	                     @   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-2025 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d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   zR
    `scdoc` is a simple man page generator for POSIX systems written in C99.
    scdocz!https://git.sr.ht/~sircmpwn/scdocscdz*.scdz*.scdocz2.5z^(;.+\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| v r
|d7 }d| v r|d7 }|  dd }d}t||r%|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_linescdoc_preamble_pattern r   X/home/air/segue/gemini/backup/venv/lib/python3.10/site-packages/pygments/lexers/scdoc.pyanalyse_textC   s   zScdocLexer.analyse_textN)__name__
__module____qualname____doc__nameurlaliases	filenamesversion_addedr   	MULTILINEflagsr   r   r   Headingr   
Subheadingr	   r   r   Emphr
   r   StrongBackticktokensr   r   r   r   r   r      s<    
%)r#   r   pygments.lexerr   r   r   r   r   pygments.tokenr   r   r	   r
   r   __all__r   r   r   r   r   <module>   s    
