+
    i	                        ^ RI Ht ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ RI	Ht ^ R	I	Ht ^ R
I	Ht ^RIHt ^RIHt RR R lltR R ltR R ltR R ltR# )    )annotationsN)exists)join)splitext)
check_call)Dict)List)Mapping)Optionalis_posix)CommandErrorc               $    V ^8  d   QhRRRRRR/# )   filenamestrenvironzOptional[Dict[str, str]]returnNone )formats   "mC:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO\maestro-backend\venv\Lib\site-packages\alembic/util/editor.py__annotate__r      s)     L LL4L	L    c                    Vf   \         P                  MTp \        V4      p\        W0.4       R#   \         d   p\        RT: R24      ThRp?ii ; i)a  
Opens the given file in a text editor. If the environment variable
``EDITOR`` is set, this is taken as preference.

Otherwise, a list of commonly installed editors is tried.

If no editor matches, an :py:exc:`OSError` is raised.

:param filename: The filename to open. Will be passed  verbatim to the
    editor command.
:param environ: An optional drop-in replacement for ``os.environ``. Used
    mainly for testing.
NzError executing editor ())osr   _find_editorr   	Exceptionr   )r   r   enveditorexcs   &&   r   open_in_editorr#      sP       "**WCLc"F%& LCABKLs   1 AAAc                    V ^8  d   QhRRRR/# )r   r   Mapping[str, str]r   r   r   )r   s   "r   r   r   )   s      +  r   c                &   \        4       p\        R4       FR  w  r#W09   g   K  W,          p\        V4      '       d   Vu # \        P                  V9  g   KA  VP                  W$4       KT  	  V F  p\        WP4      pVf   K  Vu # 	  \        R4      h)EDITORzSNo suitable editor found. Please set the "EDITOR" or "VISUAL" environment variables)r'   VISUAL)_default_editors	enumerater   r   sepinsert_find_executableOSError)r   
candidatesivaruser_choice	candidatepaths   &      r   r   r   )   s    !#J01>!,Kk""""vv[(!!!1 2  		3K   	5 r   c               $    V ^8  d   QhRRRRRR/# )r   r3   r   r   r%   r   zOptional[str]r   )r   s   "r   r   r   =   s$      .r   c                
   \         '       g!   \        V 4      ^,          R8w  d
   V R,          p VP                  RR4      P                  \        P
                  4       F#  p\        W 4      p\        V4      '       g   K!  Vu # 	  R# )   z.exePATH N)r   r   getsplitr   pathsepr   r   )r3   r   r4   values   &&  r   r-   r-   =   se    
 8+A.&8V	FB'--bjj9T%%==L : r   c                   V ^8  d   QhRR/# )r   r   z	List[str]r   )r   s   "r   r   r   K   s     < <) <r   c                 *    \         '       d   . RO# . RO# )sensible-editor)r@   r!   nanovimcode)zcode.exeznotepad++.exeznotepad.exer   r   r   r   r)   r)   K   s     xCC;;r   )N)
__future__r   r   os.pathr   r   r   
subprocessr   typingr   r	   r
   r   compatr   r"   r   r#   r   r-   r)   r   r   r   <module>rI      s>    " 	    !      L0(<r   