Files
ServerSync/lib/prompt_toolkit/completion/__pycache__/base.cpython-314.pyc

182 lines
23 KiB
Plaintext
Raw Normal View History

2026-02-12 02:28:23 +02:00
+
9<><39>i<EFBFBD>><00><01>X<00>Rt^RIHt^RIHtHt^RIHtHtH t H
t
^RI H t ^RI HtHt^RIHtHt^RIHtHt.R Ot!RR4t!RR 4t!RR ]R7t!RR
]4t!RR ]4t!RR ]4t!RR]4t!RR]4tR!RRlltRRlt RRlt!R#)"<22>)<01> annotations)<02>ABCMeta<74>abstractmethod)<04>AsyncGenerator<6F>Callable<6C>Iterable<6C>Sequence)<01>Document<6E><02>aclosing<6E>generator_to_async_generator)<02> FilterOrBool<6F> to_filter)<02>AnyFormattedText<78>StyleAndTextTuples<65>
Completion<EFBFBD> Completer<65>ThreadedCompleter<65>DummyCompleter<65>DynamicCompleter<65> CompleteEvent<6E>ConditionalCompleterc<01><><00>]tRt^tRtRRRlltRRltRRltR R
lt] R R l4t
] R Rl4t ] RRl4t RRlt RtR#)ra<>
:param text: The new string that will be inserted into the document.
:param start_position: Position relative to the cursor_position where the
new text will start. The text will be inserted between the
start_position and the original cursor position.
:param display: (optional string or formatted text) If the completion has
to be displayed differently in the completion menu.
:param display_meta: (Optional string or formatted text) Meta information
about the completion, e.g. the path or source where it's coming from.
This can also be a callable that returns a string.
:param style: Style string.
:param selected_style: Style string, used for a selected completion.
This can override the `style` parameter.
Nc<01>4<00>V^8<>dQhRRRRRRRRRRR RR
R /#) <0C><00>text<78>str<74>start_position<6F>int<6E>displayzAnyFormattedText | None<6E> display_meta<74>style<6C>selected_style<6C>return<72>None<6E>)<01>formats"<22>E/tmp/pip-target-wqrk2shd/lib/python/prompt_toolkit/completion/base.py<70> __annotate__<5F>Completion.__annotate__*sP<00><00>(<28>(<28><11>(<28><1C>(<28>)<29> (<28>
.<2E> (<28> <13> (<28><1C>(<28>
<0E>(<28>c <09><><00>^RIHpWnW nW@nVfTpV!V4VnWPnW`nVP^8:gQhR#)<03><00><01>to_formatted_textN)<08>prompt_toolkit.formatted_textr/rr<00> _display_metar r"r#)<08>selfrrr r!r"r#r/s&&&&&&& r(<00>__init__<5F>Completion.__init__*sN<00><00> D<01><18> <09>,<2C><1B>)<29><1A> <12>?<3F><1A>G<EFBFBD>(<28><17>1<><04> <0C><1A>
<EFBFBD>,<2C><1B><13>"<22>"<22>a<EFBFBD>'<27>'<27>'r+c<01><00>V^8<>dQhRR/#<00>rr$rr&)r's"r(r)r*Cs<00><00>F<02>F<02>#<23>Fr+c <09>h<00>\VP\4'dQVPVP8Xd6VPP
RVP: RVP : R2#VPP
RVP: RVP : RVP: R2#)z(text=z, start_position=<3D>)z
, display=)<07>
isinstancer rr<00> __class__<5F>__name__r<00>r2s&r(<00>__repr__<5F>Completion.__repr__Cs<><00><00> <15>d<EFBFBD>l<EFBFBD>l<EFBFBD>C<EFBFBD> (<28> (<28>T<EFBFBD>\<5C>\<5C>T<EFBFBD>Y<EFBFBD>Y<EFBFBD>-F<><1A>n<EFBFBD>n<EFBFBD>-<2D>-<2D>.<2E>f<EFBFBD>T<EFBFBD>Y<EFBFBD>Y<EFBFBD>M<EFBFBD>AR<41>SW<53>Sf<53>Sf<53>Ri<52>ij<69>k<> k<><1A>n<EFBFBD>n<EFBFBD>-<2D>-<2D>.<2E>f<EFBFBD>T<EFBFBD>Y<EFBFBD>Y<EFBFBD>M<EFBFBD>AR<41>SW<53>Sf<53>Sf<53>Ri<52>is<69>tx<74>uA<02>uA<02>tD<02>DE<02>F<02> Fr+c<01> <00>V^8<>dQhRRRR/#)r<00>other<65>objectr$<00>boolr&)r's"r(r)r*Is<00><00>
<EFBFBD>
<EFBFBD>F<EFBFBD>
<EFBFBD>t<EFBFBD>
r+c <09>*<00>\V\4'gR#VPVP8H;'d\VPVP8H;'d;VPVP8H;'dVP
VP
8H#<00>F)r9rrrr r1)r2r@s&&r(<00>__eq__<5F>Completion.__eq__Is<00><00><19>%<25><1A>,<2C>,<2C><18> <10>I<EFBFBD>I<EFBFBD><15><1A><1A> #<23> :<3A> :<3A><14>#<23>#<23>u<EFBFBD>';<3B>';<3B>;<3B> :<3A> :<3A><14> <0C> <0C><05> <0A> <0A>-<2D> :<3A> :<3A><15>"<22>"<22>e<EFBFBD>&9<>&9<>9<> 
r+c<01><00>V^8<>dQhRR/#)rr$rr&)r's"r(r)r*Ss<00><00>X<01>X<01>#<23>Xr+c <09>p<00>\VPVPVPVP34#<00>N)<05>hashrrr r1r<s&r(<00>__hash__<5F>Completion.__hash__Ss*<00><00><13>T<EFBFBD>Y<EFBFBD>Y<EFBFBD><04> 3<> 3<>T<EFBFBD>\<5C>\<5C>4<EFBFBD>CU<43>CU<43>V<>W<>Wr+c<01><00>V^8<>dQhRR/#r6r&)r's"r(r)r*Ws<00><00>3<>3<>c<EFBFBD>3r+c <0A>2<00>^RIHpV!VP4#)z"The 'display' field as plain text.<2E><01>fragment_list_to_text)r0rPr <00>r2rPs& r(<00> display_text<78>Completion.display_textVs<00><00> H<01>$<24>T<EFBFBD>\<5C>\<5C>2<>2r+c<01><00>V^8<>dQhRR/#)rr$rr&)r's"r(r)r*^s<00><00>;<3B>;<3B>0<>;r+c <0A>F<00>^RIHpT!VP;'gR4#)z7Return meta-text. (This is lazy when using a callable).r.r)r0r/r1)r2r/s& r(r!<00>Completion.display_meta]s!<00><00> D<01> <20><14>!3<>!3<>!9<>!9<>r<EFBFBD>:<3A>:r+c<01><00>V^8<>dQhRR/#r6r&)r's"r(r)r*es<00><00>8<>8<>3<EFBFBD>8r+c <0A>2<00>^RIHpV!VP4#)zThe 'meta' field as plain text.rO)r0rPr!rQs& r(<00>display_meta_text<78>Completion.display_meta_textds<00><00> H<01>$<24>T<EFBFBD>%6<>%6<>7<>7r+c<01> <00>V^8<>dQhRRRR/#)r<00>positionrr$rr&)r's"r(r)r*ks<00><00> 
<EFBFBD> 
<EFBFBD>S<EFBFBD> 
<EFBFBD>Z<EFBFBD> 
r+c <0A><><00>WP,
^8<>gQh\VPWP,
RVPVPR7#)z<>
(Only for internal use!)
Get a new completion by splitting this one. Used by `Application` when
it needs to have a list of new completions after inserting the common
prefix.
N)rr r!)rrrr r1)r2r\s&&r(<00>new_completion_from_position<6F>'Completion.new_completion_from_positionksP<00><00><18>-<2D>-<2D>-<2D><11>2<>2<>2<><19><15><19><19>8<EFBFBD>&9<>&9<>9<>;<3B><<3C><18>L<EFBFBD>L<EFBFBD><1D>+<2B>+<2B>
<EFBFBD>
r+)r1r r#rr"r)r-NNrr)r;<00>
__module__<EFBFBD> __qualname__<5F>__firstlineno__<5F>__doc__r3r=rErK<00>propertyrRr!rYr^<00>__static_attributes__r&r+r(rrsc<00><00> <08>(<28>2F<02> 
<EFBFBD>X<01><0E>3<><0E>3<> <0E>;<3B><0E>;<3B> <0E>8<><0E>8<> 
<EFBFBD> 
r+c<01>6<00>]tRt^{tRtRRRlltRRltRtR#) ra 
Event that called the completer.
:param text_inserted: When True, it means that completions are requested
because of a text insert. (`Buffer.complete_while_typing`.)
:param completion_requested: When True, it means that the user explicitly
pressed the `Tab` key in order to view the completions.
These two flags can be used for instance to implement a completer that
shows some completions when ``Tab`` has been pressed, but not
automatically when the user presses a space. (Because of
`complete_while_typing`.)
c<01>$<00>V^8<>dQhRRRRRR/#)r<00> text_insertedrB<00>completion_requestedr$r%r&)r's"r(r)<00>CompleteEvent.__annotate__<5F>s$<00><00> 9<> 9<>!<21> 9<>AE<41> 9<> <0A> 9r+c <09>B<00>V'd V'dQhWnW nR#rI)rhri)r2rhris&&&r(r3<00>CompleteEvent.__init__<5F>s <00><00>"<22>&:<3A>;<3B>;<3B>+<2B><1A>%9<>!r+c<01><00>V^8<>dQhRR/#r6r&)r's"r(r)rj<00>s<00><00>F<02>F<02>#<23>Fr+c <09>l<00>VPP RVP: RVP: R2#)z(text_inserted=z, completion_requested=r8)r:r;rhrir<s&r(r=<00>CompleteEvent.__repr__<5F>sM<00><00><16>.<2E>.<2E>)<29>)<29>*<2A>/<2F>$<24>:L<>:L<>9O<39>Of<4F>gk<67>hA<02>hA<02>gD<02>DE<02>F<02> Fr+)rirhN)FF)r;r`rarbrcr3r=rer&r+r(rr{s<00><00> <08> 9<>F<02>Fr+c<01><<00>]tRt^<5E>tRt]RRl4tRRltRtR#)rz+
Base class for completer implementations.
c<01>$<00>V^8<>dQhRRRRRR/#<00>r<00>documentr
<00>complete_eventrr$zIterable[Completion]r&)r's"r(r)<00>Completer.__annotate__<5F>s$<00><00><12><12> <20><12>2?<3F><12> <1D>r+c# <0A>"<00>R#5i)a<>
This should be a generator that yields :class:`.Completion` instances.
If the generation of completions is something expensive (that takes a
lot of time), consider wrapping this `Completer` class in a
`ThreadedCompleter`. In that case, the completer algorithm runs in a
background thread and completions will be displayed as soon as they
arrive.
:param document: :class:`~prompt_toolkit.document.Document` instance.
:param complete_event: :class:`.CompleteEvent` instance.
Nr&<00>r2rsrts&&&r(<00>get_completions<6E>Completer.get_completions<6E>s
<00><00><00> <14>s<00>c<01>$<00>V^8<>dQhRRRRRR/#<00>rrsr
rtrr$z AsyncGenerator[Completion, None]r&)r's"r(r)ru<00>s$<00><00>
<17>
<17> <20>
<17>2?<3F>
<17> )<29>
r+c <0A>H"<00>VPW4FpV5x<00>K
R#5i)z<>
Asynchronous generator for completions. (Probably, you won't have to
override this.)
Asynchronous generator of :class:`.Completion` objects.
N)rx)r2rsrt<00>items&&& r(<00>get_completions_async<6E>Completer.get_completions_async<6E>s"<00><00><00><19>(<28>(<28><18>B<>D<EFBFBD><16>J<EFBFBD>C<01>s<00> "r&N) r;r`rarbrcrrxr~rer&r+r(rr<00>s%<00><00><08><14><12><14><12>$
<17>
r+)<01> metaclassc<01>J<00>]tRt^<5E>tRtRRltRRltRRltRR ltR
t R #) raQ
Wrapper that runs the `get_completions` generator in a thread.
(Use this to prevent the user interface from becoming unresponsive if the
generation of completions takes too much time.)
The completions will be displayed as soon as they are produced. The user
can already select a completion, even if not all completions are displayed.
c<01> <00>V^8<>dQhRRRR/#)r<00> completerrr$r%r&)r's"r(r)<00>ThreadedCompleter.__annotate__<5F>s<00><00>#<23>#<23>)<29>#<23><04>#r+c <09><00>WnR#rI<00>r<>)r2r<>s&&r(r3<00>ThreadedCompleter.__init__<5F>s<00><00>"<22>r+c<01>$<00>V^8<>dQhRRRRRR/#rrr&)r's"r(r)r<><00>s)<00><00>H<01>H<01> <20>H<01>2?<3F>H<01> <1D>Hr+c <09>8<00>VPPW4#rI<00>r<>rxrws&&&r(rx<00>!ThreadedCompleter.get_completions<6E>s<00><00><14>~<7E>~<7E>-<2D>-<2D>h<EFBFBD>G<>Gr+c<01>$<00>V^8<>dQhRRRRRR/#r{r&)r's"r(r)r<><00>s$<00><00><!<21><!<21> <20><!<21>2?<3F><!<21> )<29><!r+c <0A><>aaa"<00>\\VVV3Rl44;_uu_4GRjx<01>L
pVRjx<01>L
pV5x<00>KLLDRRR4GRjx<01>L
R# +GRjx<01>L
'giR#;i5i)z(
Asynchronous generator of completions.
c<01><<<03>SPPSS4#rIr<>)rtrsr2s<00><><EFBFBD>r(<00><lambda><3E>9ThreadedCompleter.get_completions_async.<locals>.<lambda> s<00><><00><04><0E><0E>6<>6<>x<EFBFBD><1E>Pr+Nr )r2rsrt<00>async_generator<6F>
completionsfff r(r~<00>'ThreadedCompleter.get_completions_async<6E>sj<00><><00><00>l<1C> (<28>P<> <0E>
<EFBFBD>
<EFBFBD>
<EFBFBD><1D>$3<> !<21> !<21>j<EFBFBD> <20> <20> 
<EFBFBD>
 !<21>O<EFBFBD> 
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>sj<00>'A9<01>A<08>A9<01>A<05>A<06>A
<EFBFBD>A<06> A<05>A9<01>A<06>A<05> A9<01>A<04>A9<01>A6 <09>"A%<0E>#
A6 <09>.A6 <09>0 A9c<01><00>V^8<>dQhRR/#r6r&)r's"r(r)r<>s<00><00>8<>8<>#<23>8r+c <09>$<00>RVP: R2#)zThreadedCompleter(r8r<>r<s&r(r=<00>ThreadedCompleter.__repr__s<00><00>#<23>D<EFBFBD>N<EFBFBD>N<EFBFBD>#5<>Q<EFBFBD>7<>7r+r<>N<>
r;r`rarbrcr3rxr~r=rer&r+r(rr<00>s"<00><00><08>#<23>H<01>
<!<21>|8<>8r+c<01>2<00>]tRtRtRtRRltRRltRtR#) riz1
A completer that doesn't return any completion.
c<01>$<00>V^8<>dQhRRRRRR/#rrr&)r's"r(r)<00>DummyCompleter.__annotate__s$<00><00><12><12> <20><12>2?<3F><12> <1D>r+c <09><00>.#rIr&rws&&&r(rx<00>DummyCompleter.get_completionss <00><00><12> r+c<01><00>V^8<>dQhRR/#r6r&)r's"r(r)r<>s<00><00>"<22>"<22>#<23>"r+c <09><00>R#)zDummyCompleter()r&r<s&r(r=<00>DummyCompleter.__repr__s<00><00>!r+r&N)r;r`rarbrcrxr=rer&r+r(rrs<00><00><08><12>
"<22>"r+c<01>J<00>]tRtRtRtRRltRRltRRltR R
ltR t R #) ri!z<>
Completer class that can dynamically returns any Completer.
:param get_completer: Callable that returns a :class:`.Completer` instance.
c<01> <00>V^8<>dQhRRRR/#)r<00> get_completerzCallable[[], Completer | None]r$r%r&)r's"r(r)<00>DynamicCompleter.__annotate__(s<00><00>+<2B>+<2B>&D<>+<2B><14>+r+c <09><00>WnR#rI<00>r<>)r2r<>s&&r(r3<00>DynamicCompleter.__init__(s<00><00>*<2A>r+c<01>$<00>V^8<>dQhRRRRRR/#rrr&)r's"r(r)r<>+s)<00><00>C<01>C<01> <20>C<01>2?<3F>C<01> <1D>Cr+c <09>h<00>VP4;'g \4pVPW4#rI)r<>rrx<00>r2rsrtr<>s&&& r(rx<00> DynamicCompleter.get_completions+s.<00><00><19>&<26>&<26>(<28><<3C><<3C>N<EFBFBD>,<<3C> <09><18>(<28>(<28><18>B<>Br+c<01>$<00>V^8<>dQhRRRRRR/#r{r&)r's"r(r)r<>1s$<00><00><1D><1D> <20><1D>2?<3F><1D> )<29>r+c <09><>"<00>VP4;'g \4pVPW4Rjx<01>L
pV5x<00>KL D R#5irI)r<>rr~)r2rsrtr<>r<>s&&& r(r~<00>&DynamicCompleter.get_completions_async1sO<00><00><00><19>&<26>&<26>(<28><<3C><<3C>N<EFBFBD>,<<3C> <09> )<29> ?<3F> ?<3F> <14>!
<EFBFBD> <1D> <1D>*<2A><1D> <1C> <1D>!
<EFBFBD>s%<00>4A <01>A <02>A<06>A <02> A <01>A <02> A c<01><00>V^8<>dQhRR/#r6r&)r's"r(r)r<>;s<00><00>W<01>W<01>#<23>Wr+c <09>H<00>RVP: RVP4: R2#)zDynamicCompleter(z -> r8r<>r<s&r(r=<00>DynamicCompleter.__repr__;s)<00><00>"<22>4<EFBFBD>#5<>#5<>"8<><04>T<EFBFBD>=O<>=O<>=Q<><T<>TU<54>V<>Vr+r<>Nr<4E>r&r+r(rr!s#<00><00><08> +<2B>C<01> <1D>W<01>Wr+c<01>J<00>]tRtRtRtRRltRRltRRltR R
ltR t R #) ri?z<>
Wrapper around any other completer that will enable/disable the completions
depending on whether the received condition is satisfied.
:param completer: :class:`.Completer` instance.
:param filter: :class:`.Filter` instance.
c<01>$<00>V^8<>dQhRRRRRR/#)rr<>r<00>filterrr$r%r&)r's"r(r)<00>!ConditionalCompleter.__annotate__Hs!<00><00>(<28>(<28>)<29>(<28>\<5C>(<28>d<EFBFBD>(r+c <09>2<00>Wn\V4VnR#rI)r<>rr<>)r2r<>r<>s&&&r(r3<00>ConditionalCompleter.__init__Hs<00><00>"<22><0E><1F><06>'<27><04> r+c<01><00>V^8<>dQhRR/#r6r&)r's"r(r)r<>Ls<00><00>S<01>S<01>#<23>Sr+c <09>@<00>RVP: RVP: R2#)zConditionalCompleter(z , filter=r8<00>r<>r<>r<s&r(r=<00>ConditionalCompleter.__repr__Ls!<00><00>&<26>t<EFBFBD>~<7E>~<7E>&8<> <09>$<24>+<2B>+<2B><1F>PQ<50>R<>Rr+c<01>$<00>V^8<>dQhRRRRRR/#rrr&)r's"r(r)r<>Os)<00><00>P<01>P<01> <20>P<01>2?<3F>P<01> <1D>Pr+c# <09><>"<00>VP4'd&VPPW4Rjx<01>L
R#R#L5irI)r<>r<>rxrws&&&r(rx<00>$ConditionalCompleter.get_completionsOs2<00><00><00> <10>;<3B>;<3B>=<3D>=<3D><1B>~<7E>~<7E>5<>5<>h<EFBFBD>O<> O<> O<> <19> O<>s<00>5A<01>A<04> Ac<01>$<00>V^8<>dQhRRRRRR/#r{r&)r's"r(r)r<>V<00>$<00><00> <1F> <1F> <20> <1F>2?<3F> <1F> )<29> r+c <09>4"<00>VP4'dI\VPPW44;_uu_4GRjx<01>L
pVRjx<01>L
pV5x<00>KR#LLDRRR4GRjx<01>L
R# +GRjx<01>L
'giR#;i5irI)r<>r r<>r~)r2rsrtr<>r}s&&& r(r~<00>*ConditionalCompleter.get_completions_asyncVs|<00><00><00> <10>;<3B>;<3B>=<3D>=<3D><1F><14><0E><0E>4<>4<>X<EFBFBD>N<><0E><0E><0E> <20>"1<><1F><1F>$<24><1E>J<EFBFBD> <19><0E><1F>/<2F><0E><0E><0E><0E><0E><0E>sr<00>AB<01> A#<08>
B<01> A;<05>A'<06>A%
<EFBFBD>A'<06> A;<05>!B<01>%A'<06>'A;<05>( B<01>3A6<04>4B<01>;B <09>B<0E>
B <09> B <09> Br<>N)
r;r`rarbrcr3r=rxr~rer&r+r(rr?s"<00><00><08>(<28>S<01>P<01> <1F> r+c<01>><00>]tRtRtRtRRltRRltRRltR tR
#) <0B>_MergedCompleteribz&
Combine several completers into one.
c<01> <00>V^8<>dQhRRRR/#)r<00>
completers<EFBFBD>Sequence[Completer]r$r%r&)r's"r(r)<00>_MergedCompleter.__annotate__gs<00><00>%<25>%<25>#6<>%<25>4<EFBFBD>%r+c <09><00>WnR#rI<00>r<>)r2r<>s&&r(r3<00>_MergedCompleter.__init__gs<00><00>$<24>r+c<01>$<00>V^8<>dQhRRRRRR/#rrr&)r's"r(r)r<>js)<00><00>K<01>K<01> <20>K<01>2?<3F>K<01> <1D>Kr+c# <09>j"<00>VPFpVPW4Rjx<01>L
K R#L
5irI)r<>rxr<>s&&& r(rx<00> _MergedCompleter.get_completionsjs,<00><00><00><1E><1F><1F>I<EFBFBD> <20>0<>0<><18>J<> J<> J<>)<29> J<>s <00>$3<01>1<06> 3c<01>$<00>V^8<>dQhRRRRRR/#r{r&)r's"r(r)r<>qr<>r+c  <09>"<00>VPF?p\VPW44;_uu_4GRjx<01>L
pVRjx<01>L
pV5x<00>K R#LLDRRR4GRjx<01>L
K] +GRjx<01>L
'giKw;i5irI)r<>r r~)r2rsrtr<>r<>r}s&&& r(r~<00>&_MergedCompleter.get_completions_asyncqsv<00><00><00><1E><1F><1F>I<EFBFBD><1F><19>/<2F>/<2F><08>I<><0E><0E><0E> <20>"1<><1F><1F>$<24><1E>J<EFBFBD> )<29><0E><1F>/<2F><0E><0E><0E><0E><0E><0E>sm<00>6B <01>A
<EFBFBD>B <01>A,<07>A<08>A <0C>A<08> A,<07>B <01>A<08>A,<07> B <01>$A'<06>%B <01>,B <0B>2A5<10>3
B <0B>>B <0B> B r<>N) r;r`rarbrcr3rxr~rer&r+r(r<>r<>bs<00><00><08>%<25>K<01> <1F> r+r<>c<01>$<00>V^8<>dQhRRRRRR/#)rr<>r<><00> deduplicaterBr$rr&)r's"r(r)r)}s$<00><00>(<28>(<28>#<23>(<28>26<32>(<28><0E>(r+c<05>V<00>V'd^RIHpV!\V44#\V4#)z<>
Combine several completers into one.
:param deduplicate: If `True`, wrap the result in a `DeduplicateCompleter`
so that completions that would result in the same text will be
deduplicated.
)<01>DeduplicateCompleter)r<>r<>r<>)r<>r<>r<>s&& r(<00>merge_completersr<73>}s&<00><00><13>5<>#<23>$4<>Z<EFBFBD>$@<40>A<>A<> <1B>J<EFBFBD> '<27>'r+c<01>$<00>V^8<>dQhRRRRRR/#)rrsr
<00> completionszSequence[Completion]r$rr&)r's"r(r)r)<00>s)<00><00>@<01>@<01><16>@<01>%9<>@<01><08>@r+c<05><>a<00>RV3RllpVUu.uFq2!V4'gKVNK pp\V4\V48wdR#RRlp\VUu.uF
q5!V4NK up4#uupiuupi)z/
Return the common prefix for all completions.
c<01> <00>V^8<>dQhRRRR/#)rr<>rr$rBr&)r's"r(r)<00>0get_common_complete_suffix.<locals>.__annotate__<5F>s<00><00>9<>9<>
<EFBFBD>9<>t<EFBFBD>9r+c<01>n<<01>VPRVP)pSPPV4#rI)rr<00>text_before_cursor<6F>endswith)r<><00>endrss& <20>r(<00>doesnt_change_before_cursor<6F>?get_common_complete_suffix.<locals>.doesnt_change_before_cursor<6F>s4<00><><00><18>o<EFBFBD>o<EFBFBD>:<3A><1A>!:<3A>!:<3A> :<3A>;<3B><03><17>*<2A>*<2A>3<>3<>C<EFBFBD>8<>8r+rc<01> <00>V^8<>dQhRRRR/#)rr<>rr$rr&)r's"r(r)r<><00>s<00><00>=<3D>=<3D>z<EFBFBD>=<3D>c<EFBFBD>=r+c<01>6<00>VPVP)R#rI)rr)r<>s&r(<00>
get_suffix<EFBFBD>.get_common_complete_suffix.<locals>.get_suffix<69>s<00><00><19><EFBFBD><EFBFBD>
<EFBFBD> 9<> 9<>9<>;<3B><<3C><r+)<02>len<65> _commonprefix)rsr<>r<><00>c<> completions2r<32>sf& r(<00>get_common_complete_suffixr<78><00>st<00><><00>9<>9<> +<2B>M<>{<7B>!<21>.I<>!<21>.L<>A<EFBFBD>A<EFBFBD>{<7B>L<EFBFBD>M<> <0B><<3C><18>C<EFBFBD> <0B>,<2C>,<2C><11>=<3D> <19><1C>><3E><1C>A<EFBFBD>*<2A>Q<EFBFBD>-<2D><1C>><3E> ?<3F>?<3F><>N<01><>?s<00>A,<04>A,<04>A1c<01> <00>V^8<>dQhRRRR/#)r<00>stringsz Iterable[str]r$rr&)r's"r(r)r)<00>s<00><00> <12> <12>=<3D> <12>S<EFBFBD> r+c<01><><00>V'gR#\V4p\V4p\V4Fwr4WBV,8wgKVRVu# V#)rN)<03>min<69>max<61> enumerate)r<><00>s1<73>s2<73>ir<69>s& r(r<>r<><00>sG<00><00> <12><11><11><17>\<5C><02> <10><17>\<5C><02><1D>b<EFBFBD>M<EFBFBD>D<EFBFBD>A<EFBFBD><10>q<EFBFBD>E<EFBFBD>z<EFBFBD><19>"<22>1<EFBFBD>v<EFBFBD> <0A>"<22><12> r+N) rrrrrrrr<>r<>rD)"rc<00>
__future__r<00>abcrr<00>typingrrrr <00>prompt_toolkit.documentr
<00>prompt_toolkit.eventloopr r <00>prompt_toolkit.filtersrrr0rr<00>__all__rrrrrrrr<>r<>r<>r<>r&r+r(<00><module>r<>s<><00><01><07>"<22>'<27>?<3F>?<3F>,<2C>K<>:<3A>N<>
<02><07>^
<EFBFBD>^
<EFBFBD>BF<02>F<02><"<17>'<27>"<17>JR8<> <09>R8<>j "<22>Y<EFBFBD> "<22>W<01>y<EFBFBD>W<01>< <1F>9<EFBFBD> <1F>F<1F>y<EFBFBD><1F>6(<28>$@<01>4 r+