o $a> @s~dZddlZddlmZmZmZddlmZddlm Z ddl m Z ddl m Z Gdd d e Zd e d eeeffd d ZdS)z sphinx.builders.html.transforms ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Transforms for HTML builder. :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. N)AnyDictList)nodes)Sphinx)SphinxPostTransform) NodeMatcherc@sNeZdZdZdZdZedZdZ de ddfd d Z d e e defd d ZdS)KeyboardTransforma$Transform :kbd: role to more detailed form. Before:: Control-x After:: Control - x i)htmlz(?<=.)(-|\+|\^|\s+)(?=.)))capslockpagedown)pageup scrolllock)numr sysrq backspacekwargsreturnNc Ksttjdgd}|j|D]d}|j|d}t|dks%| |r&q|d d| |rr| |rHd |dd}g|dd<n| d }|tjd|dgd7}z| d }|t |7}Wn tyoYnw|s3qdS) Nkbd)classesrcompoundr)rrliteraldocumenttraversepatternsplitastextlenis_multiwords_keyappendpopjoinText IndexError)selfrmatchernodepartskeysepr0A/usr/lib/python3/dist-packages/sphinx/builders/html/transforms.pyrun1s,    zKeyboardTransform.runr-cCsJt|dkr#|ddkr#|d|df}||jvr!dSdSdS)NrrrrTF)r#striplowermultiwords_keys)r*r-namer0r0r1r$Is  z#KeyboardTransform.is_multiwords_key)__name__ __module__ __qualname____doc__default_prioritybuildersrecompiler r6rr2rstrboolr$r0r0r0r1r s r apprcCs|tddddS)NbuiltinT)versionparallel_read_safeparallel_write_safe)add_post_transformr )rBr0r0r1setupTs rH)r;r>typingrrrdocutilsrsphinx.applicationr!sphinx.transforms.post_transformsrsphinx.util.nodesrr r@rHr0r0r0r1s     ?