Files
ServerSync/lib/prompt_toolkit/layout/__pycache__/controls.cpython-314.pyc

314 lines
43 KiB
Plaintext
Raw Normal View History

2026-02-12 02:28:23 +02:00
+
9<><39>i<EFBFBD><69><00><01><00>Rt^RIHt^RIt^RIHtHt^RIHtH t H
t
H t H t ^RI Ht^RIHt^RIHt^RIHt^R IHt^R
IHtHt^R IHtHtHt^R IHtH t H!t!^R I"H#t#H$t$^RI%H&t&H't'H(t(^RI)H*t*^RI+H,t,^RI-H.t.^RI/H0t0H1t1H2t2H3t3H4t4H5t5H6t6]'d^RI7H8t8H9t9^RI-H:t:.R$Ot;] ]<]<.]3,t=!RR]R7t>!RR4t?!RR]>4t@!RR]>4tA!R R!] 4tB!R"R]>4tC!R#R]C4tDR#)%z)
User interface Controls for the layout.
)<01> annotationsN)<02>ABCMeta<74>abstractmethod)<05> TYPE_CHECKING<4E>Callable<6C>Hashable<6C>Iterable<6C>
NamedTuple)<01>get_app)<01>Buffer)<01> SimpleCache)<01>Point)<01>Document)<02> FilterOrBool<6F> to_filter)<03>AnyFormattedText<78>StyleAndTextTuples<65>to_formatted_text)<03>fragment_list_to_text<78>fragment_list_width<74> split_lines)<02>Lexer<65> SimpleLexer)<03> MouseButton<6F>
MouseEvent<EFBFBD>MouseEventType)<01> SearchState)<01> SelectionType)<01>
get_cwidth)<07>DisplayMultipleCursors<72>#HighlightIncrementalSearchProcessor<6F>HighlightSearchProcessor<6F>HighlightSelectionProcessor<6F> Processor<6F>TransformationInput<75>merge_processors)<02>KeyBindingsBase<73>NotImplementedOrNone)<01>Event<6E> BufferControl<6F>SearchBufferControl<6F> DummyControl<6F>FormattedTextControl<6F> UIControl<6F> UIContentc<01><><00>]tRt^?tRtRRltRRltRRltRR lt] R
R l4t
R R lt RRlt RRlt RRltRRltRtR#)r-z-
Base class for all user interface controls.
c<01><00>V^8<>dQhRR/#<00><03><00>return<72>None<6E>)<01>formats"<22>E/tmp/pip-target-wqrk2shd/lib/python/prompt_toolkit/layout/controls.py<70> __annotate__<5F>UIControl.__annotate__Ds<00><00> <0A> <0A>t<EFBFBD> <0A>c <09><00>R#<00>Nr5<00><01>selfs&r7<00>reset<65>UIControl.resetDs<00><00> r:c<01> <00>V^8<>dQhRRRR/#<00>r2<00>max_available_width<74>intr3<00>
int | Noner5)r6s"r7r8r9Hs<00><00><14><14>3<EFBFBD><14>:<3A>r:c <09><00>R#r<r5<00>r>rCs&&r7<00>preferred_width<74>UIControl.preferred_widthHs<00><00>r:c
<01>,<00>V^8<>dQhRRRRRRRRRR /#<00>
r2<00>widthrD<00>max_available_height<68>
wrap_lines<EFBFBD>bool<6F>get_line_prefix<69>GetLinePrefixCallable | Noner3rEr5)r6s"r7r8r9Ks<<00><00><14><14><12><14>"<22><14><19> <14>
6<> <14>
<14> r:c <09><00>R#r<r5)r>rLrMrNrPs&&&&&r7<00>preferred_height<68>UIControl.preferred_heightKs<00><00>r:c<01><00>V^8<>dQhRR/#<00>r2r3rOr5)r6s"r7r8r9Ts<00><00><15><15>d<EFBFBD>r:c <0A><00>R#)z.
Tell whether this user control is focusable.
Fr5r=s&r7<00> is_focusable<6C>UIControl.is_focusableTs<00><00>r:c<01>$<00>V^8<>dQhRRRRRR/#<00>r2rLrD<00>heightr3r.r5)r6s"r7r8r9[s!<00><00> <0C> <0C>C<EFBFBD> <0C><13> <0C><19> r:c <0A><00>R#)zV
Generate the content for this user control.
Returns a :class:`.UIContent` instance.
Nr5)r>rLr\s&&&r7<00>create_content<6E>UIControl.create_contentZ<00><00>r:c<01> <00>V^8<>dQhRRRR/#<00>r2<00> mouse_eventrr3r'r5)r6s"r7r8r9bs<00><00>
<1E>
<1E><1A>
<1E>8L<38>
r:c <0A><00>\#)a 
Handle mouse events.
When `NotImplemented` is returned, it means that the given event is not
handled by the `UIControl` itself. The `Window` or key bindings can
decide to handle this event as scrolling or changing focus.
:param mouse_event: `MouseEvent` instance.
)<01>NotImplemented)r>rcs&&r7<00> mouse_handler<65>UIControl.mouse_handlerbs
<00><00><1E>r:c<01><00>V^8<>dQhRR/#r1r5)r6s"r7r8r9ns<00><00> <0C> <0C>$<24> r:c <0A><00>R#)zl
Request to move the cursor down.
This happens when scrolling down and the cursor is completely at the
top.
Nr5r=s&r7<00>move_cursor_down<77>UIControl.move_cursor_downnr`r:c<01><00>V^8<>dQhRR/#r1r5)r6s"r7r8r9us<00><00> <0C> <0C><04> r:c <0A><00>R#)z
Request to move the cursor up.
Nr5r=s&r7<00>move_cursor_up<75>UIControl.move_cursor_upur`r:c<01><00>V^8<>dQhRR/#<00>r2r3<00>KeyBindingsBase | Noner5)r6s"r7r8r9zs<00><00> <0C> <0C>"8<> r:c <0A><00>R#)z<>
The key bindings that are specific for this user control.
Return a :class:`.KeyBindings` object if some key bindings are
specified, or `None` otherwise.
Nr5r=s&r7<00>get_key_bindings<67>UIControl.get_key_bindingszr`r:c<01><00>V^8<>dQhRR/#<00>r2r3zIterable[Event[object]]r5)r6s"r7r8r9<00>s<00><00><12><12>'><3E>r:c <0A><00>.#)z<>
Return a list of `Event` objects. This can be a generator.
(The application collects all these events, in order to bind redraw
handlers to these events.)
r5r=s&r7<00>get_invalidate_events<74>UIControl.get_invalidate_events<74>s <00><00> <12> r:r5N)<11>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__firstlineno__<5F>__doc__r?rHrSrXrr^rfrjrnrtry<00>__static_attributes__r5r:r7r-r-?sM<00><00><08> <0A><14><14><15> <14> <0C><14> <0C>
<1E> <0C> <0C>
 <0C><12>r:)<01> metaclassc<01>R<00>]tRt^<5E>tRtR^RRR3RRlltRRltR R R
lltR tR#) r.a<>
Content generated by a user control. This content consists of a list of
lines.
:param get_line: Callable that takes a line number and returns the current
line. This is a list of (style_str, text) tuples.
:param line_count: The number of lines.
:param cursor_position: a :class:`.Point` for the cursor position.
:param menu_position: a :class:`.Point` for the menu position.
:param show_cursor: Make the cursor visible.
c <09><00>.#r<r5<00><01>is&r7<00><lambda><3E>UIContent.<lambda><3E>s<00><00>2r:NTc
<01>,<00>V^8<>dQhRRRRRRRRRR /#)
r2<00>get_line<6E>#Callable[[int], StyleAndTextTuples]<5D>
line_countrD<00>cursor_position<6F> Point | None<6E> menu_position<6F> show_cursorrOr5)r6s"r7r8<00>UIContent.__annotate__<5F>s<<00><00>;<3B>;<3B>5<>;<3B><18>;<3B>&<26> ;<3B>
$<24> ;<3B> <1A> ;r:c <09>|<00>WnW nT;'g\^^R7VnW@nWPn/VnR#<00><03><00><02>x<>yN)r<>r<>r r<>r<>r<><00>_line_heights_cache)r>r<>r<>r<>r<>r<>s&&&&&&r7<00>__init__<5F>UIContent.__init__<5F>s:<00><00>!<21> <0A>$<24><0F>.<2E>A<>A<>%<25>!<21>q<EFBFBD>/<2F><04><1C>*<2A><1A>&<26><18>9;<3B><04> r:c<01> <00>V^8<>dQhRRRR/#)r2<00>linenorDr3rr5)r6s"r7r8r<><00>s<00><00><1D><1D>#<23><1D>*<<3C>r:c <0A>P<00>WP8dVPV4#\h)z(Make it iterable (iterate line by line).)r<>r<><00>
IndexError)r>r<>s&&r7<00> __getitem__<5F>UIContent.__getitem__<5F>s!<00><00> <11>O<EFBFBD>O<EFBFBD> #<23><17>=<3D>=<3D><16>(<28> (<28><1C> r:c
<01>,<00>V^8<>dQhRRRRRRRRRR/#) r2r<>rDrLrPrQ<00>
slice_stoprEr3r5)r6s"r7r8r<><00>sC<00><00>G<1A>G<1A><13>G<1A><13>G<1A>6<> G<1A>
<1F> G<1A>
<0A> Gr:c
 <0A><><00>\4PWV3pVPV,# \EdT^8XdRpM<>\ TP T44RTp\ T4pT'd|T\\T!T^444, p^pY<>8<EFBFBD>dQT^, pY<>,p\T!Y^,
44p \ \ T 44p
Y<EFBFBD>8<EFBFBD>dRpMJY<4A>, pKVM?\Y<>4wr<>T 'd
T ^, p \^T 4pM \dRpMi;iY`PT&Tu#i;i)a<>
Return the height that a given line would need if it is rendered in a
space with the given width (using line wrapping).
:param get_line_prefix: None or a `Window.get_line_prefix` callable
that returns the prefix to be inserted before this line.
:param slice_stop: Wrap only "line[:slice_stop]" and return that
partial result. This is needed for scrolling the window correctly
when line wrapping.
:returns: The computed height.
Ni<00><>) r
<00>render_counterr<72><00>KeyErrorrr<>rrr<00>divmod<6F>max<61>ZeroDivisionError) r>r<>rLrPr<><00>keyr\<00>line<6E>
text_width<EFBFBD>
fragments2<EFBFBD> prefix_width<74>quotient<6E> remainders &&&&& r7<00>get_height_for_line<6E>UIContent.get_height_for_line<6E>sN<00><00>*<16>i<EFBFBD>&<26>&<26><06>z<EFBFBD>A<><03>0 <1A><17>+<2B>+<2B>C<EFBFBD>0<> 0<><30><17>. <1A><14><01>z<EFBFBD><1E><06>-<2D>T<EFBFBD>]<5D>]<5D>6<EFBFBD>-B<>C<>K<EFBFBD>Z<EFBFBD>P<><04>'<27><04>-<2D>
<EFBFBD>"<22><1E>"5<>)<29>/<2F>&<26>!<21>*D<>E<>#<16><16>J<EFBFBD>
<1F>F<EFBFBD>%<25>,<2C><1E>!<21> <0B><06>"<22>+<2B>
<EFBFBD>%6<>+<2B>F<EFBFBD>Q<EFBFBD>J<EFBFBD>?<3F>&<1A>
<EFBFBD>(2<>2G<32>
<EFBFBD>2S<EFBFBD>'T<> <0C>'<27>0<>%*<2A>F<EFBFBD>!<21>"<22>2<>
<EFBFBD>-<2D> 2<>.4<EFBFBD>Z<EFBFBD>.G<>+<2B><08>%<25>$<24><01>M<EFBFBD>H<EFBFBD>!$<24>Q<EFBFBD><08>!1<><06><> -<2D>'<27>!&<26><06>'<27><>-3<> $<24> $<24>S<EFBFBD> )<29><19>M<EFBFBD>]. <1A>s4<00>,<00>CD?<03>. D<02>;D?<03> D)<05>&D?<03>(D)<05>)D?<03>>D?)r<>r<>r<>r<>r<>r<>r<) r{r|r}r~rr<>r<>r<>r<>r5r:r7r.r.<00>s/<00><00>
<08>:F<01><1B>(,<2C>&*<2A> <20> ;<3B>"<1D>G<1A>Gr:c<01><><00>]tRt^<5E>tRtRRRlltRRltRRltR R
ltR R lt R Rlt
RRlt RRlt RRlt RRltRRltRtR#)r,a]
Control that displays formatted text. This can be either plain text, an
:class:`~prompt_toolkit.formatted_text.HTML` object an
:class:`~prompt_toolkit.formatted_text.ANSI` object, a list of ``(style_str,
text)`` tuples or a callable that takes no argument and returns one of
those, depending on how you prefer to do the formatting. See
``prompt_toolkit.layout.formatted_text`` for more information.
(It's mostly optimized for rather small widgets, like toolbars, menus, etc...)
When this UI control has the focus, the cursor will be shown in the upper
left corner of this control by default. There are two ways for specifying
the cursor position:
- Pass a `get_cursor_position` function which returns a `Point` instance
with the current cursor position.
- If the (formatted) text is passed as a list of ``(style, text)`` tuples
and there is one that looks like ``('[SetCursorPosition]', '')``, then
this will specify the cursor position.
Mouse support:
The list of fragments can also contain tuples of three items, looking like:
(style_str, text, handler). When mouse support is enabled and the user
clicks on this fragment, then the given handler is called. That handler
should accept two inputs: (Application, MouseEvent) and it should
either handle the event or return `NotImplemented` in case we want the
containing Window to handle this event.
:param focusable: `bool` or :class:`.Filter`: Tell whether this control is
focusable.
:param text: Text or formatted text to be displayed.
:param style: Style string applied to the content. (If you want to style
the whole :class:`~prompt_toolkit.layout.Window`, pass the style to the
:class:`~prompt_toolkit.layout.Window` instead.)
:param key_bindings: a :class:`.KeyBindings` object.
:param get_cursor_position: A callable that returns the cursor position as
a `Point` instance.
Nc<01>8<00>V^8<>dQhRRRRRRRRR R
R R
R R RR/#)r2<00>textr<00>style<6C>str<74> focusabler<00> key_bindingsrrr<>rO<00>modal<61>get_cursor_positionz!Callable[[], Point | None] | Noner3r4r5)r6s"r7r8<00>!FormattedTextControl.__annotate__%sZ<00><00>:<3A>:<3A><1E>:<3A><13>:<3A> <20> :<3A>
-<2D> :<3A> <1A> :<3A><14>:<3A>?<3F>:<3A>
<0E>:r:c <09><><00>WnW n\V4VnW@nWPnW`nWpn\^R7Vn \^R7Vn
RVn R#)<03><00><01>maxsizeN) r<>r<>rr<>r<>r<>r<>r<>r <00>_content_cache<68>_fragment_cache<68>
_fragments)r>r<>r<>r<>r<>r<>r<>r<>s&&&&&&&&r7r<><00>FormattedTextControl.__init__%s_<00><00><19> <09><1A>
<EFBFBD>"<22>9<EFBFBD>-<2D><04><0E>)<29><19>&<26><18><1A>
<EFBFBD>#6<> <20>AL<01>TV<54>@W<><04><1B>EP<45><15>F
<EFBFBD><04><1C> 6:<3A><04>r:c<01><00>V^8<>dQhRR/#r1r5)r6s"r7r8r<>Cs<00><00><1F><1F>t<EFBFBD>r:c <09><00>RVnR#r<)r<>r=s&r7r?<00>FormattedTextControl.resetCs <00><00><1E><04>r:c<01><00>V^8<>dQhRR/#rVr5)r6s"r7r8r<>F<00><00><00> <20> <20>d<EFBFBD> r:c <09>"<00>VP4#r<<00>r<>r=s&r7rX<00>!FormattedTextControl.is_focusableF<00><00><00><13>~<7E>~<7E><1F>r:c<01><00>V^8<>dQhRR/#<00>r2r3r<>r5)r6s"r7r8r<>Is<00><00>;<3B>;<3B>#<23>;r:c <09>P<00>VPP RVP: R2#)<02>(<28>))<03> __class__r{r<>r=s&r7<00>__repr__<5F>FormattedTextControl.__repr__Is$<00><00><16>.<2E>.<2E>)<29>)<29>*<2A>!<21>D<EFBFBD>I<EFBFBD>I<EFBFBD>=<3D><01>:<3A>:r:c<01><00>V^8<>dQhRR/#)r2r3rr5)r6s"r7r8r<>Ls<00><00>
<EFBFBD>
<EFBFBD>,><3E>
r:c <0A>ha<00>SPP\4PV3Rl4#)z<>
Get fragments, but only retrieve fragments once during one render run.
(This function is called several times during one rendering, because
we also need those for calculating the dimensions.)
c<01>D<<01>\SPSP4#r<)rr<>r<>r=s<00>r7r<><00>AFormattedTextControl._get_formatted_text_cached.<locals>.<lambda>Ss<00><><00>.?<3F><04> <09> <09>4<EFBFBD>:<3A>:<3A>.Vr:)r<><00>getr
r<>r=sfr7<00>_get_formatted_text_cached<65>/FormattedTextControl._get_formatted_text_cachedLs,<00><><00> <14>#<23>#<23>'<27>'<27> <13>I<EFBFBD> $<24> $<24>&V<>
<EFBFBD>
r:c<01> <00>V^8<>dQhRRRR/#)r2rCrDr3r5)r6s"r7r8r<>Vs<00><00>!<21>!<21>3<EFBFBD>!<21>3<EFBFBD>!r:c <0A><><00>\VP44pVPR4Uu.uFp\V4NK pp\ V4#uupi)zU
Return the preferred width for this control.
That is the width of the longest line.
<EFBFBD>
)rr<><00>splitrr<>)r>rCr<><00>l<> line_lengthss&& r7rH<00>$FormattedTextControl.preferred_widthVsK<00><00>
%<25>T<EFBFBD>%D<>%D<>%F<>G<><04>/3<>z<EFBFBD>z<EFBFBD>$<24>/?<3F>@<40>/?<3F>!<21>
<EFBFBD>1<EFBFBD> <0A>/?<3F> <0C>@<40><12><<3C> <20> <20><>As<00>Ac
<01>,<00>V^8<>dQhRRRRRRRRRR /#rKr5)r6s"r7r8r<>_s<<00><00>&<26>&<26><12>&<26>"<22>&<26><19> &<26>
6<> &<26>
<14> &r:c <0A><><00>VPVR4pV'dC^p\VP4F%pWePWqV4, pWb8<62>gK#Vu# V#VP#)z/
Return the preferred height for this control.
N)r^<00>ranger<65>r<>)r>rLrMrNrP<00>contentr\r<>s&&&&& r7rS<00>%FormattedTextControl.preferred_height_sg<00><00><17>%<25>%<25>e<EFBFBD>T<EFBFBD>2<><07> <15><16>F<EFBFBD><1A>7<EFBFBD>-<2D>-<2D>.<2E><01><16>5<>5<>a<EFBFBD><0F>P<>P<><06><19>1<>/<2F>/<2F>/<2F><1A>M<EFBFBD><1A>%<25>%<25> %r:c<01>$<00>V^8<>dQhRRRRRR/#)r2rLrDr\rEr3r.r5)r6s"r7r8r<>ts!<00><00>09<>09<>C<EFBFBD>09<><1A>09<> <09>09r:c
 <09><>aa a
a a <0C>SP4p\\V44pVUUu.uF$pVUu.uFqf^,V^,3NK upNK& uppo
VSnRRV
3Rlllo RV 3Rllo SP;'gS !4o \ V4VS 3pRV V
V V3RllpSP PWx4#uupiuuppi)r<>c<01> <00>V^8<>dQhRRRR/#)r2<00>fragmentr<74>r3r<>r5)r6s"r7r8<00>9FormattedTextControl.create_content.<locals>.__annotate__<5F>s<00><00> <18> <18><19> <18> <19> r:c<01><><<01>\S4F:wr^pVF-vrEpW9d\W1R7uu#V\V4, pK/ K< R#r<>)<03> enumerater <00>len)r<>r<>r<>r<><00> style_strr<72><00>_<>fragment_liness& <20>r7r<><00>@FormattedTextControl.create_content.<locals>.get_cursor_position<6F>sL<00><><00>%<25>^<5E>4<><07><01><15><01>+/<2F>'<27>I<EFBFBD>a<EFBFBD><1F>,<2C>$<24>q<EFBFBD><EFBFBD>.<2E><15><13>T<EFBFBD><19>N<EFBFBD>A<EFBFBD>,0<>5<> r:c<01><00>V^8<>dQhRR/#)r2r3r<>r5)r6s"r7r8r<><00>s<00><00> <<3C> <<3C><<3C> <r:c<01><<01>S!R4#)z[SetMenuPosition]r5)r<>s<00>r7<00>get_menu_position<6F>>FormattedTextControl.create_content.<locals>.get_menu_position<6F>s<00><><00>&<26>':<3A>;<3B> ;r:c<01><00>V^8<>dQhRR/#)r2r3r.r5)r6s"r7r8r<><00>s<00><00> <0E> <0E>Y<EFBFBD> r:c<01>\<<04>\V3Rl\S4SPSS!4R7#)c<01><<01>SV,#r<r5)r<>r<>s&<26>r7r<><00>JFormattedTextControl.create_content.<locals>.get_content.<locals>.<lambda><3E>s
<00><><00>><3E>!<21>#4r:)r<>r<>r<>r<>r<>)r.r<>r<>)r<>r<>r<>r>s<00><><EFBFBD><EFBFBD>r7<00> get_content<6E>8FormattedTextControl.create_content.<locals>.get_content<6E>s-<00><><00><1C>4<><1E>~<7E>.<2E> <20>,<2C>,<2C> /<2F>/<2F>1<> <0E> r:)z[SetCursorPosition])r<><00>listrr<>r<><00>tupler<65>r<>) r>rLr\<00>fragments_with_mouse_handlers<72>"fragment_lines_with_mouse_handlersr<73><00>itemr<6D>r<>r<>r<>r<>r<>s f&& @@@@r7r^<00>#FormattedTextControl.create_contentts<><00><><00>(,<2C>(G<>(G<>(I<>%<25>-1<> <17>5<> 6<>.
<EFBFBD>*<2A>;<3B>4
<EFBFBD>:<3A><04>-1<> 1<>D<EFBFBD>D<EFBFBD>1<EFBFBD>g<EFBFBD>t<EFBFBD>A<EFBFBD>w<EFBFBD> <1F>D<EFBFBD> 1<>:<3A>4
<EFBFBD><0E>8<><04><0F> <18> <18> <<3C> <<3C> <20>3<>3<>J<>J<>7J<37>J<>M<><0F><15>2<>3<>U<EFBFBD>O<EFBFBD>L<><03> <0E> <0E><14>"<22>"<22>&<26>&<26>s<EFBFBD>8<>8<><38>O 2<><32>4
s<00> C <06>C <0C>C <06>C c<01> <00>V^8<>dQhRRRR/#rbr5)r6s"r7r8r<><00>s<00><00>%<1E>%<1E><1A>%<1E>8L<38>%r:c <0A><><00>VP'd<>\\VP44pW!PP,pVPP
p^pVFLpV\ V^,4, pWT8<54>gK$\ V4^8<>dV^,pV!V4u#\# \#\# \d
\u#i;i)a
Handle mouse events.
(When the fragment list contained mouse handlers and the user clicked on
on any of these, the matching handler is called. This handler can still
return `NotImplemented` in case we want the
:class:`~prompt_toolkit.layout.Window` to handle this particular
event.)
) r<>r<>r<00>positionr<6E>r<>r<>r<>re)r>rc<00>fragments_for_line<6E> fragments<74>xpos<6F>countr<00>handlers&& r7rf<00>"FormattedTextControl.mouse_handler<65>s<><00><00> <10>?<3F>?<3F>?<3F>!%<25>k<EFBFBD>$<24>/<2F>/<2F>&B<>!C<> <1E> "<22>.<2E>/C<>/C<>/E<>/E<>F<> <09>
#<23>+<2B>+<2B>-<2D>-<2D><04><1A><05>%<25>D<EFBFBD><19>S<EFBFBD><14>a<EFBFBD><17>\<5C>)<29>E<EFBFBD><1C>|<7C><1E>t<EFBFBD>9<EFBFBD><01>><3E>'+<2B>1<EFBFBD>g<EFBFBD>G<EFBFBD>#*<2A>;<3B>#7<>7<>!<21><1E><1D>&<26><1E><1D>~<7E><1D><>+<1E> &<26>%<25>%<25> &<26>s<00>C<00>C<03>Cc<01><00>V^8<>dQhRR/#rVr5)r6s"r7r8r<><00>s<00><00><1A><1A>$<24>r:c <09><00>VP#r<)r<>r=s&r7<00>is_modal<61>FormattedTextControl.is_modal<61>s <00><00><13>z<EFBFBD>z<EFBFBD>r:c<01><00>V^8<>dQhRR/#rqr5)r6s"r7r8r<><00>s<00><00>!<21>!<21>"8<>!r:c <09><00>VP#r<<00>r<>r=s&r7rt<00>%FormattedTextControl.get_key_bindings<67>s<00><00><13> <20> <20> r:)
r<EFBFBD>r<>r<>r<>r<>r<>r<>r<>r<>r<>)<07>rFNTFN)r{r|r}r~rr<>r?rXr<>r<>rHrSr^rfrrtr<>r5r:r7r,r,<00>sF<00><00>(<08>T:<3A><<1F> <20>;<3B>
<EFBFBD>!<21>&<26>*09<>d%<1E>N<1A>!<21>!r:c<01>2<00>]tRtRtRtRRltRRltRtR#) r+i<>z<>
A dummy control object that doesn't paint any content.
Useful for filling a :class:`~prompt_toolkit.layout.Window`. (The
`fragment` and `char` attributes of the `Window` class can be used to
define the filling.)
c<01>$<00>V^8<>dQhRRRRRR/#r[r5)r6s"r7r8<00>DummyControl.__annotate__<5F>s&<00><00>A<01>A<01>C<EFBFBD>A<01><13>A<01><19>Ar:c <09>6<00>RRlp\V^d^d,R7#)c<01> <00>V^8<>dQhRRRR/#<00>r2r<>rDr3rr5)r6s"r7r8<00>1DummyControl.create_content.<locals>.__annotate__<5F>s<00><00> <16> <16><03> <16> 2<> r:c<01><00>.#r<r5r<>s&r7r<><00>-DummyControl.create_content.<locals>.get_line<6E>s<00><00><15>Ir:)r<>r<>)r.)r>rLr\r<>s&&& r7r^<00>DummyControl.create_content<6E>s<00><00> <16><19>(<28>s<EFBFBD>C<EFBFBD>x<EFBFBD>@<40>@r:c<01><00>V^8<>dQhRR/#rVr5)r6s"r7r8r<00>s<00><00><15><15>d<EFBFBD>r:c <09><00>R#<00>Fr5r=s&r7rX<00>DummyControl.is_focusable<6C>s<00><00>r:r5N)r{r|r}r~rr^rXr<>r5r:r7r+r+<00>s<00><00><08>A<01> <15>r:c<01>6<00>]tRtRt$R]R&R]R&R]R&RtR#) <09>_ProcessedLinei<65>rrzCallable[[int], int]<5D>source_to_display<61>display_to_sourcer5N)r{r|r}r~<00>__annotations__r<5F>r5r:r7r$r$<00>s<00><00>!<21>!<21>+<2B>+<2B>+<2B>+r:r$c<01><00>]tRtRtRtR%RRlltRRlt]RR l4t]R
R l4t ]R R l4t
RRlt RRlt RRlt RRltRRltR&RRlltRRltRRltRRltR R!ltR"R#ltR$tR#)'r)i<>a<>
Control for visualizing the content of a :class:`.Buffer`.
:param buffer: The :class:`.Buffer` object to be displayed.
:param input_processors: A list of
:class:`~prompt_toolkit.layout.processors.Processor` objects.
:param include_default_input_processors: When True, include the default
processors for highlighting of selection, search and displaying of
multiple cursors.
:param lexer: :class:`.Lexer` instance for syntax highlighting.
:param preview_search: `bool` or :class:`.Filter`: Show search while
typing. When this is `True`, probably you want to add a
``HighlightIncrementalSearchProcessor`` as well. Otherwise only the
cursor position will move, but the text won't be highlighted.
:param focusable: `bool` or :class:`.Filter`: Tell whether this control is focusable.
:param focus_on_click: Focus this buffer when it's click, but not yet focused.
:param key_bindings: a :class:`.KeyBindings` object.
Nc<01>@<00>V^8<>dQhRRRRRRRRR R
R R
R R RRRR
RR/
#)r2<00>buffer<65> Buffer | None<6E>input_processors<72>list[Processor] | None<6E> include_default_input_processorsrO<00>lexer<65> Lexer | None<6E>preview_searchrr<><00>search_buffer_controlz>None | SearchBufferControl | Callable[[], SearchBufferControl]r<>zCallable[[], int | None] | None<6E>focus_on_clickr<6B>rrr5)r6s"r7r8<00>BufferControl.__annotate__s{<00><00>,U<01>,U<01><1D>,U<01>1<>,U<01>+/<2F> ,U<01>
<1C> ,U<01> %<25> ,U<01> <20>,U<01> K<01>,U<01>7<>,U<01>%<25>,U<01>-<2D>,Ur:c  <09><><00>W nW0n\4\4\ 4\ 4.Vn\V4Vn\V4Vn \V 4Vn
T;'g \4Vn W<>n T;'g \4VnW<>nWpn\%^R7VnRVnRVnR#)<03>r<>N)r,r.r!r r"r<00>default_input_processorsrr1r<>r3r r*r<>rr/r<><00>_search_buffer_controlr r<><00>_last_click_timestamp<6D>_last_get_processed_line) r>r*r,r.r/r1r<>r2r<>r3r<>s &&&&&&&&&&&r7r<><00>BufferControl.__init__s<><00><00>!1<><1D>0P<30>-<2D> %<25> &<26> /<2F> 1<> '<27> )<29> "<22> $<24> )
<EFBFBD><04>%<25>(<28><0E>7<><04><1B>"<22>9<EFBFBD>-<2D><04><0E>'<27><0E>7<><04><1B><1C>(<28>(<28><06><08><04> <0B>*<2A><1A><1A>+<2B>+<2B>k<EFBFBD>m<EFBFBD><04>
<EFBFBD>(<28><19>&;<3B>#<23> <18><01> "<22> <0A><1C>48<34><04>"<22>PT<50><04>%r:c<01><00>V^8<>dQhRR/#r<>r5)r6s"r7r8r4/s<00><00>U<01>U<01>#<23>Ur:c <09>l<00>RVPP RVP: R\V4: R2#)<04><z buffer=z at <20>>)r<>r{r*<00>idr=s&r7r<><00>BufferControl.__repr__/s1<00><00><12>4<EFBFBD>><3E>><3E>*<2A>*<2A>+<2B>8<EFBFBD>D<EFBFBD>K<EFBFBD>K<EFBFBD>?<3F>$<24>r<EFBFBD>$<24>x<EFBFBD>l<EFBFBD>RS<52>T<>Tr:c<01><00>V^8<>dQhRR/#)r2r3zSearchBufferControl | Noner5)r6s"r7r8r43s<00><00> <16> <16>'A<> r:c <09><><00>\VP4'dVP4pM VPpVe\V\4'gQhV#r<)<04>callabler8<00>
isinstancer*)r><00>results& r7r2<00>#BufferControl.search_buffer_control2sK<00><00> <14>D<EFBFBD>/<2F>/<2F> 0<> 0<><19>0<>0<>2<>F<EFBFBD><19>0<>0<>F<EFBFBD><15>~<7E><1A>F<EFBFBD>4G<34>!H<>!H<>H<>H<><15> r:c<01><00>V^8<>dQhRR/#)r2r3r+r5)r6s"r7r8r4?s<00><00><14><14>}<7D>r:c <09>><00>VPpVe VP#R#r<)r2r*)r><00>controls& r7<00> search_buffer<65>BufferControl.search_buffer>s <00><00><16>,<2C>,<2C><07> <12> <1E><1A>><3E>><3E> !<21>r:c<01><00>V^8<>dQhRR/#)r2r3rr5)r6s"r7r8r4Fs<00><00> !<21> !<21>k<EFBFBD> !r:c <0A>V<00>VPpV'd VP#\4#)z<>
Return the `SearchState` for searching this `BufferControl`. This is
always associated with the search control. If one search bar is used
for searching multiple `BufferControls`, then they share the same
`SearchState`.
)r2<00>searcher_search_stater)r>r2s& r7<00> search_state<74>BufferControl.search_stateEs'<00><00>!%<25> :<3A> :<3A><1D> <20>(<28>><3E>><3E> ><3E><1E>=<3D> r:c<01><00>V^8<>dQhRR/#rVr5)r6s"r7r8r4Sr<>r:c <09>"<00>VP4#r<r<>r=s&r7rX<00>BufferControl.is_focusableSr<>r:c<01> <00>V^8<>dQhRRRR/#rBr5)r6s"r7r8r4Vs<00><00> <14> <14>3<EFBFBD> <14>:<3A> r:c <0A><00>R#)a<>
This should return the preferred width.
Note: We don't specify a preferred width according to the content,
because it would be too expensive. Calculating the preferred
width can be done by calculating the longest line, but this would
require applying all the processors to each line. This is
unfeasible for a larger document, and doing it for small
documents only would result in inconsistent behavior.
Nr5rGs&&r7rH<00>BufferControl.preferred_widthVs<00><00>r:c
<01>,<00>V^8<>dQhRRRRRRRRRR /#rKr5)r6s"r7r8r4cs<<00><00><16><16><12><16>"<22><16><19> <16>
6<> <16>
<14> r:c <09><><00>^pVPV^R7pV'g VP#VPV8<>dV#\VP4F%pWVPWqV4, pWR8<52>gK#Vu# V#)r<>)r\)r^r<>r<>r<>)r>rLrMrNrPr\r<>r<>s&&&&& r7rS<00>BufferControl.preferred_heightcs<><00><00><13><06><16>%<25>%<25>e<EFBFBD>A<EFBFBD>%<25>6<><07><1A><1A>%<25>%<25> %<25> <13> <1D> <1D>!5<> 5<>'<27> '<27><16>w<EFBFBD>)<29>)<29>*<2A>A<EFBFBD> <12>1<>1<>!<21>O<EFBFBD>L<> L<>F<EFBFBD><15>-<2D>+<2B>+<2B> +<2B> <16> r:c<01> <00>V^8<>dQhRRRR/#)r2<00>documentrr3r<>r5)r6s"r7r8r4<00>s <00><00> J<01> J<01> <20> J<01> ,<2C> Jr:c <0A><>aa<01>RVV3RllpSPSPP43pSPP W24#)z@
Create a function that returns the fragments for a given line.
c<01><00>V^8<>dQhRR/#)r2r3r<>r5)r6s"r7r8<00>EBufferControl._get_formatted_text_for_line_func.<locals>.__annotate__<5F>s<00><00> 5<> 5<>-P<> 5r:c<01>:<<02>SPPS4#r<)r/<00> lex_document)r\r>s<00><>r7<00>get_formatted_text_for_line<6E>TBufferControl._get_formatted_text_for_line_func.<locals>.get_formatted_text_for_line<6E>s<00><><00><17>:<3A>:<3A>*<2A>*<2A>8<EFBFBD>4<> 4r:)r<>r/<00>invalidation_hashr<68>r<>)r>r\rbr<>sff r7<00>!_get_formatted_text_for_line_func<6E>/BufferControl._get_formatted_text_for_line_func<6E>sA<00><><00> 5<> 5<><18>}<7D>}<7D>d<EFBFBD>j<EFBFBD>j<EFBFBD>:<3A>:<3A><<3C>=<3D><03><13>#<23>#<23>'<27>'<27><03>I<>Ir:c<01>(<00>V^8<>dQhRRRRRRRR/#)r2r\rrLrDr\r3<00>Callable[[int], _ProcessedLine]r5)r6s"r7r8r4<00>s,<00><00>><1D>><1D> <20>><1D>),<2C>><1D>69<36>><1D> (<28>>r:c <0A><>aaaaaa<07>SP;'g.pSP'dSPV,p\V4oRVVVVV3RlloRVVV3RllpV!4#)z<>
Create a function that takes a line number of the current document and
returns a _ProcessedLine(processed_fragments, source_to_display, display_to_source)
tuple.
c<01>(<00>V^8<>dQhRRRRRRRR/#) r2r<>rDrrr<>r<>r3r$r5)r6s"r7r8<00>CBufferControl._create_get_processed_line_func.<locals>.__annotate__<5F>s0<00><00> <0E> <0E><17> <0E>)<29> <0E>:<3A> <0E><1C>  r:c <05><><<05>RRlpSP\SSVVVS SV44p\VPVPVP
4#)z0Transform the fragments for a given line number.c<01> <00>V^8<>dQhRRRR/#)r2r<>rDr3r5)r6s"r7r8<00>VBufferControl._create_get_processed_line_func.<locals>.transform.<locals>.__annotate__<5F>s<00><00> <19> <19>S<EFBFBD> <19>S<EFBFBD> r:c<05><00>V#)z<>X position from the buffer to the x position in the
processed fragment list. By default, we start from the 'identity'
operation.r5r<>s&r7r%<00>[BufferControl._create_get_processed_line_func.<locals>.transform.<locals>.source_to_display<61>s <00><00><19>r:)<06>apply_transformationr$r$rr%r&)
r<EFBFBD>rr<>r%<00>transformationr\r\<00>merged_processorr>rLs
&&& <20><><EFBFBD><EFBFBD><EFBFBD>r7<00> transform<72>@BufferControl._create_get_processed_line_func.<locals>.transform<72>sd<00><><00> <19> .<2E>B<>B<>#<23><18><1C><1A>%<25><1D><19><1A><1C> <12> <0E>N<EFBFBD>"<22><1E>(<28>(<28><1E>0<>0<><1E>0<>0<><0E> r:c<01><00>V^8<>dQhRR/#)r2r3rhr5)r6s"r7r8rk<00>s<00><00> &<26> &<26><<3C> &r:c<01>H<aa<02>SPS4o/oRVVV3RllpV#)c<01> <00>V^8<>dQhRRRR/#)r2r<>rDr3r$r5)r6s"r7r8<00>XBufferControl._create_get_processed_line_func.<locals>.create_func.<locals>.__annotate__<5F>s<00><00> *<2A> *<2A>c<EFBFBD> *<2A>n<EFBFBD> *r:c<01>h<<03>SV,# \dS!TS!T4S4pTST&Tu#i;ir<)r<>)r<><00>processed_line<6E>cacher<65>rts& <20><><EFBFBD>r7<00>get_processed_line<6E>^BufferControl._create_get_processed_line_func.<locals>.create_func.<locals>.get_processed_line<6E>sA<00><><00>*<2A> <20><11>8<EFBFBD>O<EFBFBD><4F><1F>*<2A>%.<2E>q<EFBFBD>(<28>1<EFBFBD>+<2B>x<EFBFBD>%H<>N<EFBFBD>-<2D>E<EFBFBD>!<21>H<EFBFBD>)<29>)<29>*<2A>s <00> <00>"1<03>1)re)r}r|r<>r\r>rts @@<40><><EFBFBD>r7<00> create_func<6E>BBufferControl._create_get_processed_line_func.<locals>.create_func<6E>s*<00><><00><1B>=<3D>=<3D>h<EFBFBD>G<>H<EFBFBD>/1<>E<EFBFBD> *<2A> *<2A>&<26> %r:)r,r.r7r%)r>r\rLr\r,rrsrtsffff @@r7<00>_create_get_processed_line_func<6E>-BufferControl._create_get_processed_line_func<6E>sb<00><><00> <20>0<>0<>6<>6<>B<EFBFBD><18> <0F> 0<> 0<> 0<>#<23><<3C><<3C>?O<>O<> <1C>+<2B>,<<3C>=<3D><18> <0E> <0E>B &<26> &<26><1B>}<7D>r:c<01>(<00>V^8<>dQhRRRRRRRR/#)r2rLrDr\r1rOr3r.r5)r6s"r7r8r4<00>s2<00><00>g<17>g<17><18>g<17>"%<25>g<17>7;<3B>g<17> <12>gr:c <0A><>a<0F>VPpVP4VPpT;'gk\VP 4;'dJT;'d@VPP
;'d"\ 4PPV8H4pV'dWVeSVPpVP\VPP
VPVPR74pM VPpVPW<>V4oSVnRV3Rllp RV3Rllp
\#V
VP$V !VP&VP(4R7p \ 4PP*V8Xd<>VP,'dVP-4MRp V eE\/V \04'gQhVPP3V 4wr<>V !W<>4V nV #VP4'd_VPP3\7VP8VP4P:P844wr<>V !W<>4V nV #RV nV #)z
Create a UIContent.
N)r<><00> direction<6F> ignore_casec<01>$<00>V^8<>dQhRRRRRR/#)r2<00>rowrD<00>colr3r r5)r6s"r7r8<00>2BufferControl.create_content.<locals>.__annotate__s&<00><00> R<01> R<01>#<23> R<01>C<EFBFBD> R<01>E<EFBFBD> Rr:c<05>H<<01>\S!V4PV4VR7#)z.Return the content column for this coordinate.r<>)r r%)r<>r<>r}s&&<26>r7<00>translate_rowcol<6F>6BufferControl.create_content.<locals>.translate_rowcols!<00><><00><18>-<2D>c<EFBFBD>2<>D<>D<>S<EFBFBD>I<>S<EFBFBD>Q<> Qr:c<01> <00>V^8<>dQhRRRR/#rr5)r6s"r7r8r<>s<00><00>
<1D>
<1D><03>
<1D> 2<>
r:c<05>@<<01>S!V4PpVR.,pV#)z-Return the fragments for a given line number.)r<00> )r)r<>rr}s& <20>r7r<><00>.BufferControl.create_content.<locals>.get_lines'<00><><00>*<2A>1<EFBFBD>-<2D>7<>7<>I<EFBFBD>"<22>Y<EFBFBD>K<EFBFBD>/<2F>I<EFBFBD><1C> r:)r<>r<>r<>)r*<00>load_history_if_not_yet_loadedr2rOr1r<>r
<00>layout<75>search_target_buffer_controlrP<00>document_for_searchrr<>r<>r\r<>r:r.r<><00>cursor_position_row<6F>cursor_position_col<6F>current_controlr<6C>rErD<00>translate_index_to_position<6F>complete_state<74>minr<6E><00>original_document)r>rLr\r1r*<00>search_control<6F> preview_now<6F>ssr\r<>r<>r<>r<><00>menu_row<6F>menu_colr}s&&&& @r7r^<00>BufferControl.create_content<6E>sG<00><><00> <16><1B><1B><06> <0F>-<2D>-<2D>/<2F> <1E>3<>3<><0E>$<24> 
<EFBFBD> 
<EFBFBD><04> <10> <1F> <1F> !<21> B<01> B<01> <1B> B<01> B<01><1F>%<25>%<25>*<2A>*<2A>  B<01> B<01> <14>I<EFBFBD> <1C> <1C> 9<> 9<>T<EFBFBD> A<> )
<EFBFBD> <0B> <17>><3E>5<><15>"<22>"<22>B<EFBFBD><1D>1<>1<><1B>'<27>.<2E>.<2E>3<>3<> <20>l<EFBFBD>l<EFBFBD> "<22><0E><0E><12><0E>H<EFBFBD><1E><EFBFBD><EFBFBD>H<EFBFBD>!<21>A<>A<> <14>V<EFBFBD>
<EFBFBD><1A>);<3B><04>%<25> R<01> R<01>
<1D>
<1D><1C><1D><1F>*<2A>*<2A>,<2C><18>,<2C>,<2C>h<EFBFBD>.J<>.J<><0E>
<EFBFBD><07> <13>9<EFBFBD> <1B> <1B> +<2B> +<2B>t<EFBFBD> 3<>48<34>4F<34>4F<34>4F<34>D<EFBFBD>.<2E>.<2E>0<>D<EFBFBD>M<EFBFBD><1C>(<28>!<21>-<2D><13>5<>5<>5<>5<>%+<2B>_<EFBFBD>_<EFBFBD>%P<>%P<>!<21>&<12>"<22><08>)9<><18>(L<><07>%<25>"<17><0E>!<18>&<26>&<26>&<26> &,<2C>_<EFBFBD>_<EFBFBD>%P<>%P<><17><1E>.<2E>.<2E><1E>-<2D>-<2D>?<3F>?<3F>O<>O<><16>&<12>"<22><08> )9<><18>(L<><07>%<25><17><0E>)-<2D><07>%<25><16>r:c<01> <00>V^8<>dQhRRRR/#rbr5)r6s"r7r8r48s<00><00>M<14>M<14><1A>M<14>8L<38>Mr:c <0A>B<00>VPpVPp\4PPV8XEd<>VP
'EdyVP VP 4pVPVP4pVPPVP V4pVP\P8XdVP4WbnR#VP\P 8XdwVP"\$P&8wdXVP(fB\+VPV,
4^8<>d!VP-\.P0R7WbnR#VP\P28XEd+\+VPV,
4^8<>d5VP(f!VP-\.P0R7WbnVP4;'d*\6P6!4VP4,
R8p\6P6!4VnV'duVPP94wr<>V;PV, unVP-\.P0R7V;PW<>,
, unR#\:#R#VP=4'd;VP\P28XdV\4PnR#\:#)z!
Mouse handler for this control.
N)<01>selection_typeg333333<33>?)r*rr
r<>r<>r:r<>r&r<>r\<00>translate_row_col_to_index<65>
event_typer<00>
MOUSE_DOWN<EFBFBD>exit_selectionr<6E><00>
MOUSE_MOVE<EFBFBD>buttonr<00>NONE<4E>selection_state<74>abs<62>start_selectionr<00>
CHARACTERS<EFBFBD>MOUSE_UPr9<00>time<6D>find_boundaries_of_current_wordrer3)
r>rcr*rr{r<00>index<65> double_click<63>start<72>ends
&& r7rf<00>BufferControl.mouse_handler8sw<00><00><16><1B><1B><06><1E>'<27>'<27><08> <13>9<EFBFBD> <1B> <1B> +<2B> +<2B>t<EFBFBD> 3<><13>,<2C>,<2C>,<2C>!%<25>!><3E>!><3E>x<EFBFBD>z<EFBFBD>z<EFBFBD>!J<><0E>&<26>7<>7<><08>
<EFBFBD>
<EFBFBD>C<><04><1E><0F><0F>B<>B<>8<EFBFBD>:<3A>:<3A>t<EFBFBD>T<><05><1F>)<29>)<29>^<5E>-F<>-F<>F<><1A>)<29>)<29>+<2B>-2<>*<2A>r<14>m <20>*<2A>*<2A>n<EFBFBD>.G<>.G<>G<>#<23>*<2A>*<2A>k<EFBFBD>.><3E>.><3E>><3E><1F>.<2E>.<2E>6<><1F><06> 6<> 6<><15> ><3E>?<3F>!<21>C<><1E>.<2E>.<2E>m<EFBFBD>>V<>>V<>.<2E>W<>-2<>*<2A>Z<14>W!<21>+<2B>+<2B>~<7E>/F<>/F<>F<> <1B>6<EFBFBD>1<>1<>E<EFBFBD>9<>:<3A>Q<EFBFBD>><3E>!<21>1<>1<>9<>"<22>2<>2<>/<<3C>/G<>/G<>3<><1E>27<32>.<2E>
<1D>2<>2<>K<01>K<01> <20>I<EFBFBD>I<EFBFBD>K<EFBFBD>$<24>*D<>*D<>D<>s<EFBFBD>J<>!<21>26<32><19><19><1B>D<EFBFBD>.<2E>#<23>%+<2B>_<EFBFBD>_<EFBFBD>%T<>%T<>%V<>
<EFBFBD><05><1E>.<2E>.<2E>%<25>7<>.<2E><1E>.<2E>.<2E>m<EFBFBD>>V<>>V<>.<2E>W<><1E>.<2E>.<2E>#<23>+<2B>=<3D>.<2E>$<14>*<2A>)<29>k-<2D>H<14><15>#<23>#<23>%<25>%<25><1F>*<2A>*<2A>n<EFBFBD>.E<>.E<>E<>
48<34><07> <09> <20> <20>0<><14>&<26>%r:c<01><00>V^8<>dQhRR/#r1r5)r6s"r7r8r4<00>s<00><00>C<01>C<01>$<24>Cr:c <09><><00>VPpV;PVPP4, unR#r<)r*r<>r\<00>get_cursor_down_position<6F>r><00>bs& r7rj<00>BufferControl.move_cursor_down<77>s)<00><00> <10>K<EFBFBD>K<EFBFBD><01> <09><19><19>Q<EFBFBD>Z<EFBFBD>Z<EFBFBD>@<40>@<40>B<>B<>r:c<01><00>V^8<>dQhRR/#r1r5)r6s"r7r8r4<00>s<00><00>A<01>A<01><04>Ar:c <09><><00>VPpV;PVPP4, unR#r<)r*r<>r\<00>get_cursor_up_positionr<6E>s& r7rn<00>BufferControl.move_cursor_up<75>s)<00><00> <10>K<EFBFBD>K<EFBFBD><01> <09><19><19>Q<EFBFBD>Z<EFBFBD>Z<EFBFBD>><3E>><3E>@<40>@<40>r:c<01><00>V^8<>dQhRR/#rqr5)r6s"r7r8r4<00>s<00><00>!<21>!<21>"8<>!r:c <0A><00>VP#)z7
When additional key bindings are given. Return these.
rr=s&r7rt<00>BufferControl.get_key_bindings<67>s<00><00><14> <20> <20> r:c<01><00>V^8<>dQhRR/#rwr5)r6s"r7r8r4<00>s<00><00> ,<2C> ,<2C>'><3E> ,r:c# <0A><>"<00>VPPx<00>VPPx<00>VPPx<00>VPPx<00>R#5i)z&
Return the Window invalidate events.
N)r*<00>on_text_changed<65>on_cursor_position_changed<65>on_completions_changed<65>on_suggestion_setr=s&r7ry<00>#BufferControl.get_invalidate_events<74>sG<00><00><00>
<13>k<EFBFBD>k<EFBFBD>)<29>)<29>)<29><12>k<EFBFBD>k<EFBFBD>4<>4<>4<><12>k<EFBFBD>k<EFBFBD>0<>0<>0<><12>k<EFBFBD>k<EFBFBD>+<2B>+<2B>+<2B>s<00>A#A%)r<>r9r:r8r*r7r3r<>r.r,r<>r/r<>r1)
NNTNFTNNFNr!)r{r|r}r~rr<>r<><00>propertyr2rKrPrXrHrSrer<>r^rfrjrnrtryr<>r5r:r7r)r)<00>s<><00><00><08>&,U<01>\U<01><0E> <16><0E> <16><0E><14><0E><14> <0E> !<21><0E> !<21> <20> <14><16>< J<01>><1D>@g<17>RM<14>^C<01>A<01>!<21> ,<2C> ,r:c<01>6a<00>]tRtRtRtRRV3RllltRtV;t#)r*i<>z<>
:class:`.BufferControl` which is used for searching another
:class:`.BufferControl`.
:param ignore_case: Search case insensitive.
c <01>0<00>V^8<>dQhRRRRRRRRR R
R R/#) r2r*r+r,r-r/r0r3rr<>rrr<>r5)r6s"r7r8<00> SearchBufferControl.__annotate__<5F>sN<00><00>J<01>J<01><1D>J<01>1<>J<01><1C> J<01>
%<25> J<01> -<2D> J<01>"<22>Jr:c <09>R<<01>\SV`VVVVVR7\VR7VnR#))r*r,r/r3r<>)r<>N)<04>superr<72>rrO)r>r*r,r/r3r<>r<>r<>s&&&&&&&<26>r7r<><00>SearchBufferControl.__init__<5F>s5<00><><00> <0E><07><18><19>-<2D><17>)<29>%<25> <19>
<EFBFBD>&1<>[<5B>%I<><04>"r:)rO)NNNFNF)r{r|r}r~rr<>r<><00> __classcell__)r<>s@r7r*r*<00>s<00><><00><08>J<01>J<01>Jr:)r)r*r+r,r-r.)Er<00>
__future__rr<><00>abcrr<00>typingrrrrr <00>"prompt_toolkit.application.currentr
<00>prompt_toolkit.bufferr <00>prompt_toolkit.cacher <00>prompt_toolkit.data_structuresr <00>prompt_toolkit.documentr<00>prompt_toolkit.filtersrr<00>prompt_toolkit.formatted_textrrr<00>#prompt_toolkit.formatted_text.utilsrrr<00>prompt_toolkit.lexersrr<00>prompt_toolkit.mouse_eventsrrr<00>prompt_toolkit.searchr<00>prompt_toolkit.selectionr<00>prompt_toolkit.utilsr<00>
processorsrr r!r"r#r$r%<00>'prompt_toolkit.key_binding.key_bindingsr&r'r(<00>__all__rD<00>GetLinePrefixCallabler-r.r,r+r$r)r*r5r:r7<00><module>r<>s<><00><01><04>#<23> <0B>'<27>J<>J<>6<>(<28>,<2C>0<>,<2C>:<3A><02><02>
<02><02>
5<>O<>O<>-<2D>2<>+<2B><02><02><02><11><06>+<2B> <02><07>!<21>#<23>s<EFBFBD><1A>-=<3D>!=<3D>><3E><15>I<12>'<27>I<12>Xl<1A>l<1A>^W!<21>9<EFBFBD>W!<21>t<15>9<EFBFBD><15>&,<2C>Z<EFBFBD>,<2C> q,<2C>I<EFBFBD>q,<2C>h J<01>-<2D>Jr: