+
    8LiQ                        R t ^ RIt^ RIt^ RIt^ RIHtHtHtHtH	t	H
t
 ^ RIHt ]P                  R8  d   ^ RIHt M^ RIHt ]P                   ! ]4      t]P&                  ]P(                  ]P*                  utttRt]	! R4      t]	! R]R]3,          R7      tR	 R
 ltRR R lltRR R lltRR R lltRR R lltR R lt]3R R llt RR R llt!R# ) z-Decorators used by python host plugin system.N)AnyCallableDictOptionalTypeVarUnion)unicode_errors_default)LiteralTF.)boundc                0    V ^8  d   QhR\         R\         /# )   clsreturn)r
   )formats   ":/usr/lib/python3/dist-packages/pynvim/plugin/decorators.py__annotate__r      s       a     c                f    RV n         R p\        P                  ! W4       F  w  r#RVn        K  	  V # )zTag a class as a plugin.

This decorator is required to make the class methods discoverable by the
plugin_load method of the host.
Tc                     \        V R 4      # )
_nvim_bind)hasattr)fns   &r   <lambda>plugin.<locals>.<lambda>#   s    72|4r   F)_nvim_plugininspect
getmembersr   )r   	predicate_r   s   &   r   pluginr!      s6     C
 5I##C3 4Jr   c                `    V ^8  d   QhR\         R\        R\        \        .\        3,          /# )r   rpc_method_namesyncr   )strboolr   r   )r   s   "r   r   r   )   s,       4 HaS!V<L r   c                   a a R V V3R llpV# )zDExport a function or plugin method as a msgpack-rpc request handler.c                0    V ^8  d   QhR\         R\         /# r   fr   r   )r   s   "r   r    rpc_export.<locals>.__annotate__+   s      q Q r   c                 @   < SV n         SV n        R V n        RV n        V # )TF)_nvim_rpc_method_name_nvim_rpc_syncr   _nvim_prefix_plugin_path)r*   r#   r$   s   &r   decrpc_export.<locals>.dec+   s'    "1%*"r    )r#   r$   r1   s   ff r   
rpc_exportr4   )   s      Jr   c                \   V ^8  d   QhR\         R\        \         \        3,          R\        \         ,          R\        \        \         \        3,          ,          R\        \        ,          R\        R\        R\        R	\        R
\        \         ,          R\
        \        .\        3,          /# )r   namenargscompleterangecountbangregisterr$   allow_nestedevalr   )r%   r   intr   r&   r   r   )r   s   "r   r   r   4   s     7 7
7c?7 sm7 E#s(O$	7
 C=7 7 7 7 7 3-7 qc1f7r   c
                >   a aaaaaaaaa	 R VVVVV	V VVVV3
R llp
V
# )z:Tag a function or plugin method as a Nvim command handler.c                0    V ^8  d   QhR\         R\         /# r)   r+   )r   s   "r   r   command.<locals>.__annotate__A   s     ) )q )Q )r   c                 t  <
 R P                  S4      V n        SV n        RV n        RV n        / pS
e   S
RJ d   RM
\        S
4      VR&   M	Se   SVR&   S'       d   RVR&   S'       d   RVR&   S	'       d   S	VR&   S'       d   SVR&   S'       d   SVR	&   S'       g   S'       d   R
pMSpRRRSRVRV/V n        V # )z
command:{}T r9   r:   r;   r<   r7   r8   r>   urgenttypecommandr6   r$   optsr   r.   r/   r   r0   r%   _nvim_rpc_spec)r*   rH   rpc_syncr=   r;   r8   r:   r>   r6   r7   r9   r<   r$   s   &  r   r1   command.<locals>.decA   s    % 	
  %)"!"'4-BSZDM!DMDL!D!DM'DDL7?HH IDHD	
 r   r3   )r6   r7   r8   r9   r:   r;   r<   r$   r=   r>   r1   s   ffffffffff r   rG   rG   4   s    ) ) )T Jr   c                    V ^8  d   QhR\         R\         R\        R\        R\        \         ,          R\        \        .\        3,          /# )r   r6   patternr$   r=   r>   r   )r%   r&   r   r   r   )r   s   "r   r   r   n   sS     # #
## # 	#
 3-# qc1f#r   c                *   a aaaa R VVV VV3R llpV# )z>Tag a function or plugin method as a Nvim autocommand handler.c                0    V ^8  d   QhR\         R\         /# r)   r+   )r   s   "r   r   autocmd.<locals>.__annotate__v   s      q Q r   c                    < R P                  SS4      V n        SV n        RV n        RV n        RS/pS'       d   SVR&   S'       g   S'       d   RpMSpRRRSRVR	V/V n        V # )
zautocmd:{}:{}TrN   r>   rE   rF   autocmdr6   r$   rH   )r   r.   r/   r   r0   rJ   )r*   rH   rK   r=   r>   r6   rN   r$   s   &  r   r1   autocmd.<locals>.decv   s    ""41 	
  %)" w
 DL7?HH IDHD	
 r   r3   )r6   rN   r$   r=   r>   r1   s   fffff r   rS   rS   n   s     6 Jr   c                    V ^8  d   QhR\         R\        \        \         \        3,          R\        R\        R\        \         ,          R\
        \        .\        3,          /# )r   r6   r9   r$   r=   r>   r   )r%   r   r&   r?   r   r   r   )r   s   "r   r   r      s^     $ $
$sC $ $ 	$
 3-$ qc1f$r   c                *   a aaaa R VVV VV3R llpV# )z;Tag a function or plugin method as a Nvim function handler.c                0    V ^8  d   QhR\         R\         /# r)   r+   )r   s   "r   r   function.<locals>.__annotate__   s      q Q r   c                    < R P                  S4      V n        SV n        RV n        RV n        / pS'       d   SRJ d   RM
\        S4      VR&   S'       d   SVR&   S'       g   S'       d   RpMSpRRRSR	VR
V/V n        V # )zfunction:{}TrD   r9   r>   rE   rF   functionr6   r$   rH   rI   )r*   rH   rK   r=   r>   r6   r9   r$   s   &  r   r1   function.<locals>.dec   s      & 	
  %)""'4-BSZDMDL7?HH JDHD	
 r   r3   )r6   r9   r$   r=   r>   r1   s   fffff r   rZ   rZ      s     8 Jr   c                0    V ^8  d   QhR\         R\         /# r)   r+   )r   s   "r   r   r      s      Q 1 r   c                "    RV n         RV n        V # )z,Tag a function or method as a shutdown hook.T)_nvim_shutdown_hookr   )r*   s   &r   shutdown_hookr_      s     AALHr   c                T    V ^8  d   QhR\         R\        \        .\        3,          /# )r   moder   )r%   r   r   )r   s   "r   r   r      s%       (A362B r   c                   a  R V 3R llpV# )z1Configure automatic encoding/decoding of strings.c                0    V ^8  d   QhR\         R\         /# r)   r+   )r   s   "r   r   decode.<locals>.__annotate__         q Q r   c                    < SV n         V # N_nvim_decode)r*   ra   s   &r   r1   decode.<locals>.dec   s    r   r3   )ra   r1   s   f r   decoderk      s      Jr   c                v    V ^8  d   QhR\         \        \        3,          R\        \        .\        3,          /# )r   encodingr   )r   r&   r%   r   r   )r   s   "r   r   r      s.      uT3Y' 8QCF3C r   c                J   a  \        S \        4      '       d   Ro R V 3R llpV# )z DEPRECATED: use pynvim.decode().Tc                0    V ^8  d   QhR\         R\         /# r)   r+   )r   s   "r   r   encoding.<locals>.__annotate__   re   r   c                    < SV n         V # rg   rh   )r*   rm   s   &r   r1   encoding.<locals>.dec   s    !r   )
isinstancer%   )rm   r1   s   f r   rm   rm      s&    (C    Jr   )      )r!   r4   rG   rS   rZ   rm   rk   r_   )F)	    NNNFFFFN)*FFN)FFFN)T)"__doc__r   loggingsystypingr   r   r   r   r   r   pynvim.compatr   version_infotyping_extensionsr	   	getLogger__name__loggerdebuginfowarningwarn__all__r
   r   r!   r4   rG   rS   rZ   r_   rk   rm   r3   r   r   <module>r      s    3   
 @ @ 0f)			8	$\\6;; tT2 CLCxS)*"7t#L$N .  r   