3 Õì2aú( ã @ s¶ d dl Z d dlmZ d dlZd dlmZmZmZ d dl m Z ddddd d ddd dddhZdZdZ e jdƒfdd„Zdd„ ZG dd„ dƒZejƒ edkr²d dlmZ edddd� dS ) é N)Úmaxsize)ÚTOPÚXÚSUNKEN)ÚidleConfÚclassÚdefÚelifÚelseÚexceptÚfinallyÚforÚifÚtryÚwhileÚwithÚasyncéd iè z^(\s*)(\w*)c C s |j | ƒjƒ S )N)ÚmatchÚgroups)ÚcodelineÚc© r ú0/opt/alt/python36/lib64/python3.6/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 @ s^ e Zd Zdd„ Zedd„ ƒZdd„ Zddd „Zddd „Zdd„ Z ddd„Z dd„ Zdd„ ZdS )ÚCodeContextc C s^ || _ |j| _| jd | _tj| _d | _d| _dg| _| jj t | jƒ| _| jj t | jƒ| _d S )NÚfonté r Ú Féÿÿÿÿ)r r&