U
    luf                     @   s~   d Z ddddddddd	d
ddZedkrzddlZddlmZ ddlZdd Zdd Zdd Z	dd Z
dd Zdd Ze  dS )a  
    pygments.lexers._lua_builtins
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    This file contains the names and modules of lua functions
    It is able to re-generate itself, but for adding new functions you
    probably have to add some callbacks (see function module_callbacks).

    Do not edit the MODULES dict by hand.

    Run with `python -I` to regenerate.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
)Z_GZ_VERSIONassertZcollectgarbageZdofileerrorZgetmetatableZipairsloadZloadfilenextpairsZpcallprintZrawequalZrawgetZrawlenZrawsetselectZsetmetatableZtonumbertostringtypewarnZxpcall)zbit32.arshiftz
bit32.bandz
bit32.bnotz	bit32.borzbit32.btestz
bit32.bxorzbit32.extractzbit32.lrotatezbit32.lshiftzbit32.replacezbit32.rrotatezbit32.rshift)zcoroutine.closezcoroutine.createzcoroutine.isyieldablezcoroutine.resumezcoroutine.runningzcoroutine.statuszcoroutine.wrapzcoroutine.yield)zdebug.debugzdebug.gethookzdebug.getinfozdebug.getlocalzdebug.getmetatablezdebug.getregistryzdebug.getupvaluezdebug.getuservaluezdebug.sethookzdebug.setlocalzdebug.setmetatablezdebug.setupvaluezdebug.setuservaluezdebug.tracebackzdebug.upvalueidzdebug.upvaluejoin)zio.closezio.flushzio.inputzio.lineszio.openz	io.outputzio.popenzio.readz	io.stderrzio.stdinz	io.stdoutz
io.tmpfilezio.typezio.write)"zmath.absz	math.acosz	math.asinz	math.atanz
math.atan2z	math.ceilzmath.cosz	math.coshzmath.degzmath.expz
math.floorz	math.fmodz
math.frexpz	math.hugez
math.ldexpzmath.logzmath.maxzmath.maxintegerzmath.minzmath.minintegerz	math.modfzmath.pizmath.powzmath.radzmath.randomzmath.randomseedzmath.sinz	math.sinhz	math.sqrtzmath.tanz	math.tanhzmath.tointegerz	math.typezmath.ult)	zpackage.configzpackage.cpathzpackage.loadedzpackage.loadlibzpackage.pathzpackage.preloadzpackage.searcherszpackage.searchpathrequire)zos.clockzos.datezos.difftimez
os.executezos.exitz	os.getenvz	os.removez	os.renamezos.setlocalezos.timez
os.tmpname)zstring.bytezstring.charzstring.dumpzstring.findzstring.formatzstring.gmatchzstring.gsubz
string.lenzstring.lowerzstring.matchzstring.packzstring.packsizez
string.repzstring.reversez
string.subzstring.unpackzstring.upper)ztable.concatztable.insertz
table.movez
table.packztable.removez
table.sortztable.unpack)z	utf8.charzutf8.charpatternzutf8.codepointz
utf8.codeszutf8.lenzutf8.offset)basicZbit32	coroutinedebugiomathmodulesosstringtableutf8__main__    N)urlopenc               	   C   sV   dd } dd }dd }dd }d	d
 }dd }dd }dd }| |||||||dS )Nc                 S   s
   |  dS )Nz
coroutine.
startswithname r   A/tmp/pip-unpacked-wheel-7eq1ciah/pygments/lexers/_lua_builtins.pyis_in_coroutine_module   s    z0module_callbacks.<locals>.is_in_coroutine_modulec                 S   s   | dks|  drdS dS d S )N)r   modulepackageTFr   r   r   r   r   is_in_modules_module   s    z.module_callbacks.<locals>.is_in_modules_modulec                 S   s
   |  dS )Nzstring.r   r   r   r   r   is_in_string_module   s    z-module_callbacks.<locals>.is_in_string_modulec                 S   s
   |  dS )Nztable.r   r   r   r   r   is_in_table_module   s    z,module_callbacks.<locals>.is_in_table_modulec                 S   s
   |  dS )Nr   r   r   r   r   r   is_in_math_module   s    z+module_callbacks.<locals>.is_in_math_modulec                 S   s
   |  dS )Nzio.r   r   r   r   r   is_in_io_module   s    z)module_callbacks.<locals>.is_in_io_modulec                 S   s
   |  dS )Nzos.r   r   r   r   r   is_in_os_module   s    z)module_callbacks.<locals>.is_in_os_modulec                 S   s
   |  dS )Nzdebug.r   r   r   r   r   is_in_debug_module   s    z,module_callbacks.<locals>.is_in_debug_module)r   r   r   r   r   r   r   r   r   )r   r"   r#   r$   r%   r&   r'   r(   r   r   r   module_callbacks   s"    r)   c                  C   sH   t d} td}| D ],}||d}|d k	r| d   S qd S )Nzhttp://www.lua.org/manual/z"^<A HREF="(\d\.\d)/">(Lua )?\1</A>
iso-8859-1r   )r   recompilematchdecodegroups)frlinemr   r   r   get_newest_version   s    
r4   c                 C   sR   t d|  }td}g }|D ].}||d}|d k	r|| d  q|S )Nzhttp://www.lua.org/manual/%s/z4^<A HREF="manual.html#pdf-(?!lua|LUA)([^:]+)">\1</A>r*   r   )r   r+   r,   r-   r.   appendr/   )versionr0   r1   	functionsr2   r3   r   r   r   get_lua_functions   s    
r8   c                 C   sB   t   D ]\}}|| r
|  S q
d| kr:| dd S dS d S )N.r   r   )r)   itemssplit)r   modcbr   r   r   get_function_module   s    
r>   c              	   C   s   t | dd}| }W 5 Q R X |d |d }||dd  }t | ddd.}|| |dt|  || W 5 Q R X d S )Nzutf-8)encodingzMODULES = {zif __name__ == '__main__':wzMODULES = %s

)openreadfindwritepprintpformat)filenamer   fpcontentheaderfooterr   r   r   
regenerate   s    
rL   c                  C   s   t  } t }d| fD ]D}td|  t|}tdt|tt|| f  |t|O }qt|}i }|D ]*}td|  t|}||g | qjdd |	 D }t
t| d S )Nz5.2z'> Downloading function index for Lua %sz> %d functions found, %d new:z>> %sc                 S   s   i | ]\}}|t |qS r   )tuple).0kvr   r   r   
<dictcomp>  s      zrun.<locals>.<dictcomp>)r4   setr   r8   lensortedr>   
setdefaultr5   r:   rL   __file__)r6   r7   rP   r0   r   Zfull_function_namer3   r   r   r   run  s"    rW   )__doc__ZMODULES__name__r+   urllib.requestr   rE   r)   r4   r8   r>   rL   rW   r   r   r   r   <module>   s2   "	  !'
	