+
    Qi3  c                  s   R t ^ RIHt RtRtRtRtRt^ RIt^ RI	H
t
 ^ R	IHt ^ R
IHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ]
'       d   ^ RIt]P.                  ! RR4       ^ RIHt  ! R R]P4                  4      tR# )+Script utilities for terminal presentation.)annotationsz$Id$z
$Revision$z$Date$zCopyright (c) 2016 Igalia, S.L.ZLGPLN)TYPE_CHECKING)debug)focus_manager)input_event_manager)script_utilities)AXText)AXUtilities)TextEventReasonAtspiz2.0)r
   c                  sJ    ] tR t^2tRtR R ltR R ltR R ltR R	 ltR
t	R# )	Utilitiesr    c                    V ^8  d   QhRRRR/#    eventAtspi.EventreturnZstr Zformat   "K/usr/lib/python3.14/site-packages/orca/scripts/terminal/script_utilities.py__annotate__Utilities.__annotate__5   s      + #     c                	s    \         P                  ! R VP                  4      pV'       g   VP                  # VP                  RVP                  4        pRVR.p\        P
                  ! \        P                  VR4       V# )z\n~NzTERMINAL: Adjusted deletion: ''T)researchany_datastartr   print_tokens
LEVEL_INFO)selfr   Zmatchadjustedtokenss   &&   r   deleted_textZUtilities.deleted_text5   sb    		&%..1>>!>>.5;;=12HcB5++VT:r   c               r   r   r   r   r   r   r   r   ?   s     0 0; 03 0r   c                	s   \        VP                  4      ^8X  d   VP                  # \        P                  ! V4      \        P
                  8X  d   VP                  # V P                  P                  4       P                  V4      '       d   VP                  # VP                  VP                  \        VP                  4      ,           r2\        P                  ! VP                  V4      pRV.p\        P                  ! \        P                  VR4       \        P                  ! VP                  V^,
          4      pRV.p\        P                  ! \        P                  VR4       WF8X  d5   Rp\        P                   ! \        P                  VR4       VP                  # \        P                  ! VP                  R4      pRV.p\        P                  ! \        P                  VR4       VR8w  d
   V^,          pVRWF39  d   TpVR8w  d1   V^,          pV^ ,          P#                  R4      '       d
   V^,          p\        P$                  ! VP                  W#4      p	V	'       d.   RV	R	.p\        P                  ! \        P                  VR4       V	# R
p\        P                   ! \        P                  VR4       VP                  p	V	# )i   z"TERMINAL: First line of insertion:Tz!TERMINAL: Last line of insertion:z.TERMINAL: Not adjusting single-line insertion.NzTERMINAL: Current line:Z
zTERMINAL: Adjusted insertion: 'r   z0TERMINAL: Adjustment failed. Returning any_data.)Z     r$   )lenr   r   Zget_text_event_reasonr	   ZAUTO_INSERTION_PRESENTABLEZ_scriptZget_clipboard_presenterZis_clipboard_text_changed_eventdetail1r   Zget_line_at_offsetsourcer   r   r   Zprint_messageZendswithZget_substring)
r    r   r   ZendZ
first_liner"   Z	last_lineZmsgZcurrent_liner!   s
   &&        r   inserted_textZUtilities.inserted_text?   s#   u~~!#>>!,,U37a7aa>>!<<//1QQRWXX>>!]]EMMC4G$Gs..u||UC
6
C5++VT:--ellC!GD	5yA5++VT:"BC 0 0#t<>>!00tD+\:5++VT:#qME
JBB$I
"A,C|$$T**q''eA73GFu//> 	 EC 0 0#t<~~Hr   c               r   r   r   r   r   boolr   r   r   r   r   r   q   s      K D r   c                sJ   VP                   \        P                  ! 4       P                  4       8w  d   R# VP                  P                  R4      '       EdM   VP                  P                  4       '       Ed,   \        P                  ! 4       P                  4       '       d   R# VP                  P                  R4      '       d   R# \        P                  ! 4       pVP                  4       '       d+   \        \        P                  ! RVP                  4      4      # VP                  4       '       d   R# VP!                  4       '       d   \#        VP                  4      ^8  # \$        P&                  ! VP                   4      VP(                  VP*                  ,           8X  d   R# R# )zGReturns true if we should treat this event as resulting from a command.Fzobject:text-changed:insertz
~z[^\d\s]T)r'   r   get_managerZget_locus_of_focustype
startswithr   stripr   Zlast_event_was_pasteZcount"last_event_was_return_tab_or_spacer*   r   r   last_event_was_alt_modifiedlast_event_was_printable_keyr%   r   Zget_caret_offsetr&   Zdetail2r    r   Zmanager   && r   treat_event_as_commandZ Utilities.treat_event_as_commandq   s    <<=446IIKK::  !=>>5>>CWCWCYCY"..0EEGG~~##E**)557G99;;BIIj%..ABB224433555>>*Q..&&u||48UUr   c               r   r)   r   r   r   r   r   r      s      + $ r   c                s   \         P                  ! 4       P                  4       '       d   R# VP                  P	                  R4      '       d   VP
                  P                  4       '       dx   \         P                  ! 4       pVP                  4       '       d   R# VP                  4       '       d   R# \        VP
                  4      ^8  d   VP                  4       '       d   R# R# )z4Returns true if we should treat this event as noise.Fzobject:text-changed:deleteT)r   r+   Zlast_event_was_commandr,   r-   r   r.   r/   r0   r%   r1   r2   r3   r   treat_event_as_noiseZUtilities.treat_event_as_noise   s     **,CCEE::  !=>>5>>CWCWCYCY)557G99;;22445>>"Q&7+O+O+Q+Qr   r   N)
Z__name__Z
__module__Z__qualname__Z__firstlineno____doc__r#   r(   r4   r5   Z__static_attributes__r   r   r   r   r   2   s    50d6 r   r   )r6   Z
__future__r   Z__id__Z__version__Z__date__Z__copyright__Z__license__r   Ztypingr   Zorcar   r   r   r   Zorca.ax_textr   Zorca.ax_utilitiesr   Zorca.ax_utilities_eventr	   ZgiZrequire_versionZgi.repositoryr
   r   r   r   r   <module>r7      sq   . 2 #1 	     $ !  ) 3w&#j ** jr   