
    Mht                     t    d Z ddlmZmZmZmZ ddlmZmZm	Z	m
Z
mZmZmZmZmZmZ dgZ G d de          ZdS )z
    pygments.lexers.openscad
    ~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for the OpenSCAD languages.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerbygroupswordsinclude)
TextCommentPunctuationOperatorKeywordNameNumber
WhitespaceLiteralStringOpenScadLexerc                   |   e Zd ZdZdZdZdgZdgZdgZdZ	de
fd	ej        d
fdej        dfdefdefdefdefdej        fd eej        e          dfd eej        e
ej                  fd eej        e
ej                  f eddd          ef eddd          ef eddd          ej        fdej        j        fdej        fdej        fdefdefgd  eeej        e          fgd!ej         fgd"ed#f e!d$          d%ej        fg e!d$          d&ej        fdej        d'fd(ej        d#fd)ej        fgd*Z"d+S ),r   zFor openSCAD code.
    OpenSCADzhttps://openscad.org/openscadz*.scadzapplication/x-openscadz2.16z[^\S\n]+z//comment-singlez/\*comment-multiz[{}\[\]\(\),;:]z[*!#%\-+=?/]z<=|<|==|!=|>=|>|&&|\|\|z\$(f[asn]|t|vp[rtd]|children)z(undef|PI)\bz(use|include)((?:\s|\\\\s)+)includesz(module)(\s*)([^\s\(]+)z(function)(\s*)([^\s\(]+))truefalsez\b)prefixsuffix)	functionmoduler   useforintersection_forifelsereturn)Acirclesquarepolygontextspherecubecylinder
polyhedron	translaterotatescaleresizemirror
multmatrixcoloroffsethull	minkowskiunion
differenceintersectionabssignsincostanacosasinatanatan2floorroundceillnlogpowsqrtexprandsminmaxconcatlookupstrchrsearchversionversion_numnormcrossparent_moduleechoimport
import_dxfdxf_linear_extrudelinear_extruderotate_extrudesurface
projectionrender	dxf_crossdxf_dimletassignlenz\bchildren\bz	""".*?"""z"(\\\\|\\[^\\]|[^"\\])*"z-?\d+(\.\d+)?(e[+-]?\d+)?z\w+z(<)([^>]*)(>)z2:param: [a-zA-Z_]\w*|:returns?:|(FIXME|MARK|TODO):z\nz#popcommentz[^\n]+z[^*/]+z#pushz\*/z[*/])rootr   re   r   r   N)#__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesversion_addedr   r   Single	Multiliner	   r
   r   Constantr   	Namespacer   r   DeclarationFunctionr   r   BuiltinPseudor   Doubler   PreprocFileSpecialr   tokens     X/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pygments/lexers/openscad.pyr   r      sG        D
!ClG
I)*IM *%GN$45W&8-h''2-x8g.//*D11
 (Xg'T^DDF)Xg):t}EEGU$U5AAA7KU   / / / 18
 U   / / /   dl126=)(&-8)62TNY-
` !g&9;GG
 C_

 D&!GI'
 GI)*W&0W&/g'(
}E EFFFr~   N)rj   pygments.lexerr   r   r   r   pygments.tokenr   r   r	   r
   r   r   r   r   r   r   __all__r   r}   r~   r   <module>r      s     @ ? ? ? ? ? ? ? ? ? ? ? s s s s s s s s s s s s s s s s s s s s s s s s
O O O O OJ O O O O Or~   