B YI~d>, ã @ sª d dl Z d dlmZ d dlZd dlmZmZ d dlm Z ddddd d ddd dddhZ e d¡fdd„Zdd„ Z G dd„ dƒZe ¡ edkr¦d dlmZ edddd� dS )é N)Úmaxsize)ÚNSEWÚSUNKEN)ÚidleConfÚclassÚdefÚifÚelifÚelseÚwhileÚforÚtryÚexceptÚfinallyÚwithÚasyncz^(\s*)(\w*)c C s | | ¡ ¡ S )N)ÚmatchÚgroups)ÚcodelineÚc© r ú8/opt/alt/python37/lib64/python3.7/idlelib/codecontext.pyÚget_spaces_firstword s r c C sF t | ƒ\}}t|ƒ}t| ƒ|ks,| | dkr0t}|tko:|}|| |fS )Nú#)r ÚlenÚINFINITYÚBLOCKOPENERS)r ZspacesZ firstwordÚindentÚopenerr r r Ú get_line_info s r c @ sr e Zd ZdZdd„ Zdd„ Zedd„ ƒZdd „ Zddd„Z ddd„Z dd„ Zddd„Zdd„ Z dd„ Zdd„ Zd S )ÚCodeContextéd c C s || _ |j| _| ¡ d S )N)ÚeditwinÚtextÚ_reset)Úselfr" r r r Ú__init__. s zCodeContext.__init__c C s$ d | _ d | _d | _d| _dg| _d S )Né )r éÿÿÿÿÚ F)ÚcontextÚcell00Út1Ú topvisibleÚinfo)r% r r r r$ C s zCodeContext._resetc C s t jdddddd�| _d S )NÚ extensionsr ZmaxlinesÚinté )ÚtypeÚdefault)r Z GetOptionÚ context_depth)Úclsr r r ÚreloadJ s zCodeContext.reloadc C s> | j d k r:y| j | j ¡ W n tjk r2 Y nX d | _ d S )N)r, r# Úafter_cancelÚtkinterÚTclError)r% r r r Ú__del__Q s zCodeContext.__del__Nc C s~ | j d k�r(| jj| jjf}d}d}xh|D ]`}|| jjkrB| ¡ n| ¡ }||j |d ¡7 }||j | d¡¡7 }||j | d¡¡7 }q*W t j | jjddd||tdd� }| _ | ¡ | ¡ | d| j¡ | ¡ |jddtd� t t ¡ d ¡}t j| jj|d d�| _| jjddtd� d} n:| j ¡ d | _ | j ¡ d | _| j | j¡ | ¡ d } | jjdd| › d�d� dS )Nr ÚpadxÚborderr' Údisabled)ÚheightÚwidthZhighlightthicknessr; r<