
    Æe	                        d Z ddlZddlmZ ddlmZmZ  G d de      Z G d de      Z G d	 d
e      Z	 G d de      Z
 G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Zy)z0Definitions of types for the Autoimport program.    N)Enum)
NamedTupleOptionalc                   (    e Zd ZdZdZdZdZdZdZdZ	y)	Sourcez:Describes the source of the package, for sorting purposes.r                  N)
__name__
__module____qualname____doc__PROJECTMANUALBUILTINSTANDARDSITE_PACKAGEUNKNOWN     >/usr/lib/python3/dist-packages/rope/contrib/autoimport/defs.pyr   r      s#    DGFGHLGr   r   c                   T    e Zd ZU dZeej                     ed<   eed<   e	ed<   e	ed<   y)
ModuleInfoz5Descriptor of information to get names from a module.filepathmodname
underlinedprocess_importsN)
r   r   r   r   r   pathlibPath__annotations__strboolr   r   r   r   r      s%    ?w||$$Lr   r   c                   N    e Zd ZU dZej
                  ed<   eed<   eed<   eed<   y)
ModuleFilez=Descriptor of information to get names from a file using ast.r   r   r   r   N)	r   r   r   r   r    r!   r"   r#   r$   r   r   r   r&   r&      s     GllLr   r&   c                   4    e Zd ZU dZdZeed<   eed<   eed<   y)ModuleCompiledz5Descriptor of information to get names using imports.Nr   r   r   )r   r   r   r   r   r#   r"   r$   r   r   r   r(   r(   &   s    ?HLr   r(   c                        e Zd ZdZdZdZdZdZy)PackageTypezIDescribes the type of package, to determine how to get the names from it.r   r   r	   r
   N)r   r   r   r   r   r   COMPILEDSINGLE_FILEr   r   r   r*   r*   /   s    SGHHKr   r*   c                   t    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZy)NameTypezMDescribes the type of Name for lsp completions. Taken from python lsp server.r   r	   r
   r   r            	   
                                                N)r   r   r   r   TextMethodFunctionConstructorFieldVariableClass	InterfaceModulePropertyUnitValuer   KeywordSnippetColorFile	ReferenceFolder
EnumMemberConstantStructEventOperatorTypeParameterr   r   r   r.   r.   8   s    WDFHKEHEIFHDEDGGEDIFJHFEHMr   r.   c                   T    e Zd ZU dZeed<   eed<   eej                     ed<   e
ed<   y)PackagezAttributes of a package.namesourcepathtypeN)r   r   r   r   r#   r"   r   r   r    r!   r*   r   r   r   r\   r\   V   s$    "
IN
7<<
  
r   r\   c                   D    e Zd ZU dZeed<   eed<   eed<   eed<   eed<   y)Namez#A Name to be added to the database.r]   r   packager^   	name_typeN)r   r   r   r   r#   r"   r   r.   r   r   r   rb   rb   _   s    -
ILLNr   rb   c                   &    e Zd ZU dZeed<   eed<   y)PartialNamezPartial information of a Name.r]   rd   N)r   r   r   r   r#   r"   r.   r   r   r   rf   rf   i   s    (
Ir   rf   c                   :    e Zd ZU dZeed<   eed<   eed<   eed<   y)SearchResultzSearch Result.import_statementr]   r^   itemkindN)r   r   r   r   r#   r"   intr   r   r   rh   rh   p   s    
IKMr   rh   )r   r    enumr   typingr   r   r   r   r&   r(   r*   r.   r\   rb   rf   rh   r   r   r   <module>rn      s    6   'T   Z $ t <j : * : r   