
    ^h                    X    S SK Jr  S SKJr  S SKJr  SSKJrJrJ	r	  S/r
 " S S\5      rg)	    )annotations)Iterable)Document   )CompleteEvent	Completer
CompletionDeduplicateCompleterc                  8    \ rS rSrSrSS jr      SS jrSrg)	r
      z
Wrapper around a completer that removes duplicates. Only the first unique
completions are kept.

Completions are considered to be a duplicate if they result in the same
document text when they would be applied.
c                    Xl         g N	completer)selfr   s     _/home/james-whalen/.local/lib/python3.13/site-packages/prompt_toolkit/completion/deduplicate.py__init__DeduplicateCompleter.__init__   s    "    c              #  X  #    [        5       nU R                  R                  X5       H}  nUR                  S UR                  UR
                  -    UR                  -   UR                  UR                  S  -   nXQR                  :X  a  Ma  XS;   a  Mh  UR                  U5        Uv   M     g 7fr   )setr   get_completionstextcursor_positionstart_positionadd)r   documentcomplete_eventfound_so_far
completiontext_if_applieds         r   r   $DeduplicateCompleter.get_completions   s      "%..88RJT 8 8:;T;T TU//"-- 8 8 :;<  --/._- Ss   B(B*r   N)r   r   returnNone)r   r   r   r   r#   zIterable[Completion])__name__
__module____qualname____firstlineno____doc__r   r   __static_attributes__ r   r   r
   r
      s)    # 2?	r   N)
__future__r   typingr   prompt_toolkit.documentr   baser   r   r	   __all__r
   r+   r   r   <module>r1      s(    "  , 6 6!
"!9 !r   