a
    ;@bQ                      @   s   d Z ddddddddd	d
ddZedkrddlZddlZeeejd ddD ]Zeje 	drNeje= qNzddl
mZ W n ey   ddlmZ Y n0 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.

    :copyright: Copyright 2006-2021 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rawsetZselectZsetmetatableZtonumberZtostringtypeZ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.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   z/lexers)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   <lib/python3.9/site-packages/pygments/lexers/_lua_builtins.pyis_in_coroutine_module   s    z0module_callbacks.<locals>.is_in_coroutine_modulec                 S   s   | dv 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   sB   t d} td}| D ]&}||}|d ur| d   S qd S )Nzhttp://www.lua.org/manual/z"^<A HREF="(\d\.\d)/">(Lua )?\1</A>r   )r   recompilematchgroups)frlinemr   r   r   get_newest_version   s    

r1   c                 C   sL   t d|  }td}g }|D ](}||}|d u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+   appendr,   )versionr-   r.   	functionsr/   r0   r   r   r   get_lua_functions   s    

r5   c                 C   sB   t   D ]\}}|| r
|  S q
d| v 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 | }| }W d    n1 s&0    Y  |d |d }||dd  }t | d8}|| |dt|  || W d    n1 s0    Y  d S )NzMODULES = {zif __name__ == '__main__':wzMODULES = %s

)openreadfindwritepprintZpformat)filenamer   fpZcontentheaderZfooterr   r   r   
regenerate  s    
&
rE   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>       zrun.<locals>.<dictcomp>)r1   setr   r5   lensortedr;   
setdefaultr2   r7   rE   __file__)r3   r4   rI   r-   r   Zfull_function_namer0   r   r   r   run  s"    rQ   )__doc__ZMODULES__name__r)   sysrangerM   pathiendswithZurllibr   ImportErrorZurllib.requestrA   r(   r1   r5   r;   rE   rQ   r   r   r   r   <module>   s@   "	  
'
	