
                         n    S r SSKJr  SSKJr  SSKJr  SSKJr  S rS r	 " S S	\R                  5      rg
)z9Argcomplete completers for various config related things.    )
completers)module_util)
properties)named_configsc                    [         R                  R                  5       n/ nSU ;   a  U R                  SS5      nUS   nUS   n XR;   am  US-   n[         R                  R	                  U5      R                  5       nUR                  U Vs/ s H  oR                  U 5      (       d  M  Xh-   PM      sn5        U$ UR                  U V	s/ s H  oR                  U 5      (       d  M  U	S-   PM!     sn	5        [         R                  R                  R                  n[         R                  R	                  U5      R                  5       nUR                  U Vs/ s H  oR                  U 5      (       d  M  UPM     sn5        U$ s  snf s  sn	f s  snf )z8An argcomplete completer for property and section names./   r   )
r   VALUESAllSectionssplitSectionAllPropertiesextend
startswithdefault_sectionname)
prefixunused_kwargsall_sectionsoptionspartssectionsection_strpropspss
             3lib/googlecloudsdk/command_lib/config/completers.pyPropertiesCompleterr      s=   ""..0,'F]LLa EAhG1XFcMk''0>>@ennuMu!V8LokouMN 
. NN\J\\\&5IGAG\JK//44G%%g.<<>ENNu=u!V(<Au=>	. N K >s$   	E?&E?F#	FF	0F	c                     [        [        R                  R                  5       R	                  5       5      nU Vs/ s H  o3R                  U 5      (       d  M  UPM     sn$ s  snf )z@An argcomplete completer for existing named configuration names.)listr   ConfigurationStore
AllConfigskeysr   )r   r   configscs       r   NamedConfigCompleterr&   2   sE    11<<>CCEF'	5WV 4!W	55	5s   A A c                   (    \ rS rSrSrS rSS jrSrg)PropertyValueCompleter8   zsA completer for a specific property value.

The property value to be completed is not known until completion time.
c                    [         R                  R                  R                  R	                  S5        UR                  S5      nU(       d  g [         R                  " U5      nU(       d  g UR                  (       a4  UR                   Vs/ s H  oUR                  U5      (       d  M  UPM     sn$ UR                  (       aA  [        R                  " UR                  5      nU" U R                  S9nUR                  X5      $ g s  snf )NTproperty)cache)r   r
   coreprint_completion_tracebacksSetGetValue
FromStringchoicesr   	completerr   ImportModuler,   Complete)selfr   parameter_info	prop_namepropr%   completer_classr3   s           r   r5   PropertyValueCompleter.Complete>   s    66::4@''
3I  +D||>Af)=a>>~~#00@o!

3i77  ?s   
D'DNc                     AAg)z#No completion cache for properties.N )r6   r7   aggregationss      r   UpdatePropertyValueCompleter.UpdateV   s        r=   )NN)__name__
__module____qualname____firstlineno____doc__r5   r?   __static_attributes__r=   rA   r   r(   r(   8   s    
0%rA   r(   N)rF   googlecloudsdk.command_lib.utilr   googlecloudsdk.corer   r   "googlecloudsdk.core.configurationsr   r   r&   	Converterr(   r=   rA   r   <module>rL      s5     @ 7 + * <26 %Z11  %rA   