
    zi
                        d Z ddlmZ ddlZddlmZmZ ddlmZ ddl	m
Z
 ddlmZ erddlmZ  G d	 d
e
          ZddZdS )zTransforms for HTML builder.    )annotationsN)TYPE_CHECKINGAny)nodes)SphinxPostTransform)NodeMatcher)Sphinxc                  N    e Zd ZdZdZdZ ej        d          ZdZ	dd
Z
ddZdS )KeyboardTransforma$  Transform :kbd: role to more detailed form.

    Before::

        <literal class="kbd">
            Control-x

    After::

        <literal class="kbd compound">
            <literal class="kbd">
                Control
            -
            <literal class="kbd">
                x
    i  )htmlz(?<=.)(-|\+|\^|\s+)(?=.)))capslock)pagedown)r   up)scrollr   )numr   )sysrq)backspacekwargsr   returnNonec                   t          t          j        dg          }t          | j                            |                    D ]9}| j                            |d                                                   }t          |          dk    s| 
                    |          r^|d                             d           |                                 |r| 
                    |          r%d                    |d d                   }g |d d<   n|                    d	          }|t          j        d|dg          z  }	 |                    d	          }|t          j        |          z  }n# t          $ r Y nw xY w|;d S )
Nkbd)classes   r   compound    r   )r   r   literallistdocumentfindallpatternsplitastextlenis_multiwords_keyappendpopjoinText
IndexError)selfr   matchernodepartskeyseps          j/var/www/tmov.alphamb/tmov_inventario/venv/lib/python3.11/site-packages/sphinx/builders/html/transforms.pyrunzKeyboardTransform.run-   s|   emeW=== ..w7788 	 	DL&&tBx'8'899E5zzQ$"8"8"?"?O"":...HHJJJ ))%00 '''%),,C "E"1"II))A,,Cb#w????))A,,CEJsOO+DD!   D  	 	s   >,E++
E87E8r4   	list[str]boolc                    t          |          dk    r[|d                                         dk    r=|d                                         |d                                         f}|| j        v S dS )Nr"   r   r!   r      F)r*   striplowermultiwords_keys)r1   r4   names      r7   r+   z#KeyboardTransform.is_multiwords_keyG   sb    u::??uQx~~//2558>>##U1X^^%5%55D4///5    N)r   r   r   r   )r4   r9   r   r:   )__name__
__module____qualname____doc__default_priorityformatsrecompiler'   r?   r8   r+    rA   r7   r   r      sl           Gbj455G*O   4     rA   r   appr	   r   dict[str, Any]c                B    |                      t                     ddddS )NbuiltinT)versionparallel_read_safeparallel_write_safe)add_post_transformr   )rK   s    r7   setuprS   O   s1    ,--- "#  rA   )rK   r	   r   rL   )rE   
__future__r   rH   typingr   r   docutilsr   !sphinx.transforms.post_transformsr   sphinx.util.nodesr   sphinx.applicationr	   r   rS   rJ   rA   r7   <module>rZ      s    " " " " " " " " 				 % % % % % % % %       A A A A A A ) ) ) ) ) ) *)))))); ; ; ; ;+ ; ; ;|     rA   