B
YI~dœ ã @ s’ d dl Z d dlmZ d dlmZ d dlmZ ddddd gZdad
d„ Z dd
„ Z
G dd„ deƒZG dd„ dƒZe
dkrŽd dlmZ edddd� dS )é N)Ú
messagebox)ÚEditorWindow)Úiomenuzfile "([^"]*)", line (\d+)z([^\s]+)\((\d+)\)z^(\s*\S.*?):\s*(\d+):z([^\s]+):\s*(\d+):z^\s*(\S.*?):\s*(\d+):c C s dd„ t D ƒad S )Nc S s g | ]}t |t j¡‘qS © )ÚreÚcompileÚ
IGNORECASE)Ú.0Zpatr r ú3/opt/alt/python37/lib64/python3.7/idlelib/outwin.pyú
s z!compile_progs..)Úfile_line_patsÚfile_line_progsr r r r
Ú
compile_progs s r c C s� t s
tƒ x^t D ]R}| | ¡}|r| dd¡\}}yt|dƒ}| ¡ P W q tk
r` wY qX qW d S y|t|ƒfS tk
rŠ d S X d S )Né é Úr) r
r ÚsearchÚgroupÚopenÚcloseÚOSErrorÚintÚ TypeError)ÚlineÚprogÚmatchÚfilenameÚlinenoÚfr r r
Úfile_line_helper s"
r c @ sj e Zd ZdddddgZdZdd„ Zd d
„ Zdd„ Zd
d„ Zddd„Z dd„ Z
dd„ Zdd„ Zddd„Z
dS )ÚOutputWindow)ZCutz<>Zrmenu_check_cut)ZCopyz<>Zrmenu_check_copy)ZPastez <>Zrmenu_check_paste)NNN)zGo to file/linez<>NFc G s$ t j| f|žŽ | j d| j¡ d S )Nz<>)r Ú__init__ÚtextZbindÚgoto_file_line)ÚselfÚargsr r r
r! O s zOutputWindow.__init__c C s dS )NFr )r$ r r r r
ÚispythonsourceT s zOutputWindow.ispythonsourcec C s dS )NZOutputr )r$ r r r
Úshort_titleX s zOutputWindow.short_titlec C s | ¡ rdS dS )NZyesÚno)Z get_saved)r$ r r r
Ú maybesave\ s zOutputWindow.maybesaver Úinsertc C sF t |tƒr| tjd¡}| j |||¡ | j |¡ | j ¡ t |ƒS )NÚreplace)
Ú
isinstanceÚbytesÚdecoder Úencodingr" r* ZseeÚupdateÚlen)r$ ÚsÚtagsÚmarkr r r
Úwritea s
zOutputWindow.writec C s x|D ]}| |¡ qW d S )N)r5 )r$ Úlinesr r r r
Ú
writelinesx s
zOutputWindow.writelinesc C s d S )Nr )r$ r r r
Úflush} s zOutputWindow.flushc O s t j||Ž d S )N)r Ú showerror)r$ r% Úkwargsr r r
r9 � s zOutputWindow.showerrorNc C sd | j dd¡}t|ƒ}|sJ| j dd¡}t|ƒ}|sJ| jdd| j d� d S |\}}| j ||¡ d S )Nzinsert linestartzinsert lineendzinsert -1line linestartzinsert -1line lineendzNo special linezTThe line you point at doesn't look like a valid file name followed by a line number.)Úparent)r" Úgetr r9 ÚflistZgotofileline)r$ Zeventr Úresultr r r r r
r# „ s
zOutputWindow.goto_file_line)r r* )N)Ú__name__Ú
__module__Ú__qualname__Zrmenu_specsZallow_code_contextr! r&