+
     BiI                         ^ RI t ^ RIHt ^ RIHt . ROtRsR tR t ! R R]4      t	 ! R R	4      t
]R
8X  d   ^ RIHt ]! R^RR7       R# R# )    N)
messagebox)EditorWindowc                      \          U u. uF(  p \        P                  ! V \        P                  4      NK*  	  up sR # u up i N)file_line_patsrecompile
IGNORECASEfile_line_progs)pats    %/usr/lib/python3.14/idlelib/outwin.pycompile_progsr      s5     #12"03 zz#r}}5"02O 2s   .<c                 F   \         '       g   \        4        \          FN  pVP                  V 4      pV'       g   K  VP                  ^^4      w  r4 \	        V4      pVP                  4         M	  R#  V\        V4      3#   \         d     Kp  i ; i  \         d     R# i ; i)   N)	r   r   searchgroupopencloseOSErrorint	TypeError)lineprogmatchfilenamelinenofs   &     r   file_line_helperr      s     ?D!5${{1a0HN	   V$$    s$   A?2B ?BBB B c                   j   a  ] tR t^:t o . ROtRtR tR tR tR t	RR lt
R tR	 tR
 tRR ltRtV tR# )OutputWindowNFc                    \         P                  ! V .VO5!   V P                  P                  R V P                  4       R# )<<goto-file-line>>N)r   __init__textbindgoto_file_line)selfargss   &*r   r#   OutputWindow.__init__N   s.    d*T*		+T-@-@A    c                    R # )F )r'   r   s   &&r   ispythonsourceOutputWindow.ispythonsourceS   s    r*   c                    R # )Outputr,   r'   s   &r   short_titleOutputWindow.short_titleW   s    r*   c                6    V P                  4       '       d   R # R# )yesno)	get_savedr1   s   &r   	maybesaveOutputWindow.maybesave[   s    ((u2d2r*   c                    V P                   P                  W1V4       V P                   P                  V4       V P                   P                  4        \	        V4      # r   )r$   insertseeupdatelenr'   stagsmarks   &&&&r   writeOutputWindow.write`   sA    " 			$'		d		1vr*   c                :    V F  pV P                  V4       K  	  R # r   )rC   )r'   linesr   s   && r   
writelinesOutputWindow.writelinesv   s    DJJt r*   c                    R # r   r,   r1   s   &r   flushOutputWindow.flush{   s    r*   c                2    \         P                  ! V/ VB  R # r   )r   	showerror)r'   r(   kwargss   &*,r   rM   OutputWindow.showerror   s    d-f-r*   c                @   V P                   P                  R R4      p\        V4      pV'       gP   V P                   P                  RR4      p\        V4      pV'       g!   V P                  RRV P                   R7       R# Vw  rEV P                  P                  WE4       R# )zinsert linestartzinsert lineendzinsert -1line linestartzinsert -1line lineendzNo special linezTThe line you point at doesn't look like a valid file name followed by a line number.)parentN)r$   getr   rM   flistgotofileline)r'   eventr   resultr   r   s   &&    r   r&   OutputWindow.goto_file_line   s     yy}}/1AB!$' 99==!:!8:D%d+F%C99	  &
 !

1r*   r,   ))Cutz<<cut>>rmenu_check_cut)Copyz<<copy>>rmenu_check_copy)Pastez	<<paste>>rmenu_check_paste)NNN)zGo to file/liner"   N)r,   r;   r   )__name__
__module____qualname____firstlineno__rmenu_specsallow_code_contextr#   r-   r2   r8   rC   rG   rJ   rM   r&   __static_attributes____classdictcell____classdict__s   @r   r    r    :   sG     K B
3
,
.2 2r*   r    c                   F   a  ] tR t^t o RRR/RRR//tR tR tR tR	tV t	R
# )OnDemandOutputWindowstdout
foregroundbluestderrz#007700c                     Wn         R V n        R # r   )rS   owin)r'   rS   s   &&r   r#   OnDemandOutputWindow.__init__   s    
	r*   c                    V P                   '       g   V P                  4        V P                   P                  WV4       R # r   )ro   setuprC   r?   s   &&&&r   rC   OnDemandOutputWindow.write   s&    yyyJJL		&r*   c                .   \        V P                  4      ;V n        pVP                  pV P                  P                  4        F"  w  r4V'       g   K  VP                  ! V3/ VB  K$  	  VP                  R 4       V P                  P                  V n        R# )selN)	r    rS   ro   r$   tagdefsitemstag_configure	tag_raiserC   )r'   ro   r$   tagcnfs   &    r   rr   OnDemandOutputWindow.setup   sn    '

33	Dyy**,HCs""3.#. - 	uYY__
r*   )rS   ro   rC   N)
r^   r_   r`   ra   rv   r#   rC   rr   rd   re   rf   s   @r   ri   ri      s6      	L&)L),G'
% %r*   ri   __main__)mainzidlelib.idle_test.test_outwinF)	verbosityexit)zfile "([^"]*)", line (\d+)z([^\s]+)\((\d+)\)z^(\s*\S.*?):\s*(\d+):z([^\s]+):\s*(\d+):z^\s*(\S.*?):\s*(\d+):)r   tkinterr   idlelib.editorr   r   r   r   r   r    ri   r^   unittestr~   r,   r*   r   <module>r      s`    
  ' 28a2< a2J% %6 z	(AEB r*   