
    |eu                     l    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y)z
    pygments.lexers.openscad
    ~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for the OpenSCAD languages.

    :copyright: Copyright 2006-2023 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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j2                  fdej2                  j4                  fdej8                  fdej8                  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!y*)+r   z3For openSCAD code.

    .. versionadded:: 2.16
    OpenSCADzhttps://openscad.org/openscadz*.scadzapplication/x-openscadz[^\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	mimetypesr   r   Single	Multiliner	   r
   r   Constantr   	Namespacer   r   DeclarationFunctionr   r   BuiltinPseudor   Doubler   PreprocFileSpecialr   tokens     :/usr/lib/python3/dist-packages/pygments/lexers/openscad.pyr   r      s"    D
!ClG
I)*I *%GNN$45W&&8-h''2-x8g..//**D1
 (g''T^^DF)g)):t}}EG$U5A7K   / 18
    /   dll1126==)(&--8)62TNY-
` !g&9&9;G
 C__

 D&!I'
 I))*W&&0W&&/g''(
}EFr}   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      s2    @ ? s s s
PJ Pr}   