
    9i
                        S SK Jr  S SKrS SKrS SKrS SKJr  SSKJr  \R                  " S\R                  5      rSS jrSS jrSS	 jrSS
 jr   S       SS jjrSSS jjr\S:X  a  \" 5         gg)    )annotationsN)Path   )_install_adapterz(?:[-\._]menu)?\.json$c                j    U R                  SS9nUR                  SSSSS9  UR                  SSSS	S9  g )
NT)requiredz	--install*PKGzcreate menu items for the given metadata JSON files or packages; if none are given, create menu items for all packages in the prefix)nargsmetavarhelpz--removezremove menu items for the given metadata JSON files or packages; if none are given, remove menu items for all packages in the prefix)add_mutually_exclusive_groupadd_argument)parserinstall_groups     0lib/python3.13/site-packages/menuinst/cli/cli.py_add_install_groupr      sY    777FM	   	      c                &    U R                  SSSS9  g )Nz--prefixTz:The prefix containing the shortcuts metadate inside `Menu`)r   r   r   r   s    r   _add_prefixr   !   s    
I  r   c                $    U R                  SSS9  g )Nz--root-prefixzThe menuinst base/root prefix)r   r   r   s    r   _add_root_prefixr   )   s    
,  r   c                F    [        U 5        [        U 5        [        U 5        g N)r   r   r   r   s    r   configure_parserr   0   s    vVr   c                   S nUb  UnSnOUb  UnSnO[         R                  " S S5      eU(       a0  [        [        U5      R	                  5       R                  5       5      nU S-  R                  S5       H^  nU(       a6  UR                  U;  a&  [        R                  SUR                  5      U;  a  M@  [        [        U5      U[        U 5      US9  M`     g )NFTz+Must select shortcuts to install or remove.Menuz*.json )removeprefixroot_prefix)argparseArgumentErrorstrr   
expanduserresolveglobname_MENU_REsubr   )r"   r#   install_shortcutsremove_shortcutspackagesr!   	json_paths          r   installr1   6   s     H$$		%#$$T+XYY${+668@@BCvo++H5	h.R0@	N6#f+;	
 6r   c                H   U c  [         R                  SS  OU n [        R                  " 5       n[	        U5        UR                  U 5      n[        [        UR                  5      R                  5       R                  5       UR                  UR                  UR                  S9  g )N   )r#   r-   r.   )sysargvr$   ArgumentParserr   
parse_argsr1   r   r"   r'   r(   r#   r!   )r5   r   argss      r   mainr9   U   sz    <388AB<TD$$&FVT"DT[[$$&..0$$,,	r   __main__)r   argparse.ArgumentParserreturnNone)r   r;   )NNN)r"   r   r#   z
str | Noner-   list[str] | Noner.   r>   r   )r5   r>   )
__future__r   r$   rer4   pathlibr   apir   compile
IGNORECASEr+   r   r   r   r   r1   r9   __name__ r   r   <module>rG      s    "  	 
  "::/?( #*.)-	


 (
 '	
>
 zF r   