<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3
2a                 @   sB   d dl Z d dlZG dd dZedkr>d dlmZ eddd dS )	    Nc               @   s<   e Zd Zejej d Zdd Zdd Zdd Z	dd	 Z
d
S )
AutoExpand_c             C   s   |j | _ | j j| _d | _d S )N)textbellstate)selfZeditwin r   //opt/alt/python36/lib64/python3.6/autoexpand.py__init__   s    
zAutoExpand.__init__c       
      C   s   | j jd}| j jdd}| js.| j }d}n*| j\}}}}||ksL||krX| j }d}|sh| j  dS | j }| j jdt| d || }	|d t| }|dkr| j  | j j	d|	 | j jd}| j jdd}||||f| _dS )Ninsertzinsert linestartzinsert lineendr   breakzinsert - %d chars   )
r   indexgetr   getwordsr   getprevworddeletelenr   )
r   ZeventZ	curinsertZcurlinewordsr   r   linewordZnewwordr   r   r	   expand_word_event   s.    zAutoExpand.expand_word_eventc       	      C   s   | j  }|sg S | jjdd}tjd| d |}~| jjdd}tjd| d |}~| rh| rhg S g }i }|j  x*|D ]"}|j|rq~|j| |||< q~W x*|D ]"}|j|rq|j| |||< qW |j| |S )Nz1.0zinsert wordstartz\bz\w+\bzinsert wordendend)r   r   r   refindallreverseappend)	r   r   ZbeforeZwbeforeafterZwafterr   dictwr   r   r	   r   6   s4    






zAutoExpand.getwordsc             C   sJ   | j jdd}t|}x&|dkr<||d  | jkr<|d }qW ||d  S )Nzinsert linestartr   r   r   )r   r   r   	wordchars)r   r   ir   r   r	   r   U   s
    zAutoExpand.getprevwordN)__name__
__module____qualname__stringZascii_lettersdigitsr    r
   r   r   r   r   r   r   r	   r      s
   r   __main__)mainz!idlelib.idle_test.test_autoexpand   )	verbosity)r   r%   r   r"   Zunittestr(   r   r   r   r	   <module>   s
   K