-
T<c       s~      d  k  Z  & d  k Z ( d f  d     YZ d   Z d   Z d  k Z e Z [ d f  d     YZ d  S(   Ns
   AutoIndentc      s  ( * d e  d d f d d f d d f d d	 f d
 d f d d f d d f d d f g	 f g Z 8 h  d g d <d d g d <d g d <Z > h  d g d <d g d <d g d <d g d	 <d g d <d g d <d g d <d  g d <Z I h  d! d" d g d <d# d$ d g d <d d% g d <d d& g d	 <d d' g d <d d( g d <d g d <d  g d <Z c d) Z d d* Z e d+ Z i d, Z q d- d. d/ f Z	 s d0   Z
 w d1   Z  d) d2  Z  d3   Z  d4   Z  d5   Z 5e Z <d6   Z Bd7   Z Md8   Z Xd9   Z _d:   Z ld;   Z wd<   Z ~d=   Z d>   Z d?   Z d@   Z dA   Z dB   Z dC   Z dD   Z dE   Z  RS(F   Ns   edits   _Indent regions   <<indent-region>>s   _Dedent regions   <<dedent-region>>s   Comment _out regions   <<comment-region>>s   U_ncomment regions   <<uncomment-region>>s   Tabify regions   <<tabify-region>>s   Untabify regions   <<untabify-region>>s   Toggle tabss   <<toggle-tabs>>s   New indent widths   <<change-indentwidth>>s   <Key-BackSpace>s   <<smart-backspace>>s   <Key-Return>s
   <KP_Enter>s   <<newline-and-indent>>s	   <Key-Tab>s   <<smart-indent>>s   <Control-bracketright>s   <Control-bracketleft>s   <Alt-Key-3>s   <Alt-Key-4>s   <Alt-Key-5>s   <Alt-Key-6>s   <Alt-Key-t>s   <Alt-Key-u>s   <Alt-bracketright>s   <Meta-bracketright>s   <Alt-bracketleft>s   <Meta-bracketleft>s   <Meta-Key-3>s   <Meta-Key-4>s   <Meta-Key-5>s   <Meta-Key-6>i   i   i   i    i2   i  i@KL c    s"   s t | |  _  u | i |  _ d  S(   N(   s   editwins   selfs   text(   s   selfs   editwin(    (    s'   /mit/python/share/idlelib/AutoIndent.pys   __init__s s   c    s   w x x | i   Dx ] \ } } y | d j o z | |  _ nr { | d j o | | |  _ nR } | d j o ~ | |  _ n2  | d j o  | |  _ n  t	 d |  q Wd  S(   Ns   usetabss   indentwidths   tabwidths   context_use_ps1s   bad option name: %s(
   s   optionss   itemss   keys   values   selfs   usetabss   indentwidths   tabwidths   context_use_ps1s   KeyError(   s   selfs   optionss   values   key(    (    s'   /mit/python/share/idlelib/AutoIndent.pys   configw s    c    s     | o | oj  |  i   }  d | j o
 d j n o  | |  _ n  |  i |  i j o  d |  _ n n  |  i i	 |  i  d  S(   Ni   i   i    (
   s   guesss   ispythonsources   selfs   guess_indents   is   indentwidths   tabwidths   usetabss   editwins   set_tabwidth(   s   selfs   ispythonsources   guesss   i(    (    s'   /mit/python/share/idlelib/AutoIndent.pys   set_indentation_params s   !c    sX    |  i }  |  i i   \ }
 }  |
 o | o1  | i |
 |   | i d |
   d Sn  | i d d  }  | d j oE  | i
 d d d  o  | i d  n  | i    d Sn  | d d	 j o  | i d   d Sn  t i |  i f \ }	 }  t |	 | |   }  t o | d
 j p t   t | d |  i  |  i }  d
 }  xj  d o_  | d  }  | d }  t |	 | |   }  | | j p | d d	 j o  Pn qW | i    | i d | d   | | j  o  | i d d | |  n  | i    d Sd  S(   Ns   inserts   breaks   insert linestarts    s   >s   1.0s	   insert-1cis    	i    i   s
   insert-%dcs    (   s   selfs   texts   editwins   get_selection_indicess   firsts   lasts   deletes   mark_sets   gets   charss   compares   bells   strings
   expandtabss   tabwidths   expands   lens   haves	   __debug__s   AssertionErrors   ints   indentwidths   wants   ncharsdeleteds   undo_block_starts   inserts   undo_block_stop(   s   selfs   events   lasts   wants   texts   charss   ncharsdeleteds   tabwidths   haves   expands   first(    (    s'   /mit/python/share/idlelib/AutoIndent.pys   smart_backspace_event sB   !	 
!c 
   s    |  i }  |  i i   \ }	 }  | i    zV |	 o | oZ  t |	  t |  j o  |  i |  Sn  | i
 |	 |   | i d |	  n  | i d d  }  t | |  i  \ } }  | t |  j o  |  i | |  i  np  |  i o  d } nC  t t i |  |  i   }  |  i }  d | | | }  | i d |   | i d   d SWd    | i   Xd  S(   Ns   inserts   insert linestarts   	s    s   break(   s   selfs   texts   editwins   get_selection_indicess   firsts   lasts   undo_block_starts
   index2lines   indent_region_events   events   deletes   mark_sets   gets   prefixs
   classifywss   tabwidths   raws	   effectives   lens   reindent_tos   indentwidths   usetabss   pads   strings
   expandtabss   ns   inserts   sees   undo_block_stop(
   s   selfs   events   lasts	   effectives   texts   ns   raws   prefixs   pads   first(    (    s'   /mit/python/share/idlelib/AutoIndent.pys   smart_indent_event s0   c    sc    |  i }  |  i i   \ } }
  | i    z | o |
 o*  | i | |
   | i d |  n  | i	 d d  }  d t |  f \ } }  x3  | | j  o | | d j o  | d } q W | | j o  | i d d   d Sn  | |  }  d }  x:  | o | d d j o  | d  }  | d } q(W | o  | i d	 | d  n  x.  | i	 d  d j o  | i d  qW | i d d   t | i d   } t i |  i |  i  } x |  i D] } t | | d  } | d
 } | i	 | d  } | i |  | i |  i  	|  i! |   } 
| t# j	 p
 | d j o Pn qW| i$ | p d  | i%   }	 |	 t i' j o |	 t i( j o | i d |  n |	 t i) j o |  i* | i+    n{ |	 t i, j oG | i-   d j o  | i d |  n "|  i* | i.    n! $t/ o d p t0 d |	  %d Sn *| i1   } +| i d |  ,| i2   o -|  i3 |  n, .| o
 | i5   o /|  i6 |  n 0d SWd  12| i7 d  3| i8   Xd  S(   Ns   inserts   insert linestarti    s    	i   s   
s   breakis   insert - %d charss   .0s   bogus continuation type (9   s   selfs   texts   editwins   get_selection_indicess   firsts   lasts   undo_block_starts   deletes   mark_sets   gets   lines   lens   is   ns   inserts   indents
   index2lines   indexs   lnos   PyParses   Parsers   indentwidths   tabwidths   ys   num_context_liness   contexts   maxs   startats   startatindexs   rawtexts   set_strs   find_good_parse_starts   context_use_ps1s   _build_char_in_string_funcs   bods   Nones   set_los   get_continuation_types   cs   C_NONEs   C_STRINGs	   C_BRACKETs   reindent_tos   compute_bracket_indents   C_BACKSLASHs   get_num_lines_in_stmts   compute_backslash_indents	   __debug__s   AssertionErrors   get_base_indent_strings   is_block_openers   smart_indent_events   events   is_block_closers   smart_backspace_events   sees   undo_block_stop(   s   selfs   events   rawtexts   startats   texts   lnos   indents   startatindexs   lines   cs   lasts   is   ns   contexts   ys   bods   first(    (    s'   /mit/python/share/idlelib/AutoIndent.pys   newline_and_indent_event s|    !	 
  	 c    s&   <=| |  i i d  } @| Sd  S(   Nc    s   =?| | d |   Sd  S(   Ns   +%dc(   s   _iciss   _startindexs   offset(   s   offsets   _startindexs   _icis(    (    s'   /mit/python/share/idlelib/AutoIndent.pys   inner=s   (   s
   startindexs   selfs   editwins   is_char_in_strings   inner(   s   selfs
   startindexs   inner(    (    s'   /mit/python/share/idlelib/AutoIndent.pys   _build_char_in_string_func<s   c 
   s   BC|  i   \ } } } } Dx t t |   DD]j } E| | }	 F|	 oM Gt
 |	 |  i  \ } } H| |  i } I|  i |  |	 | | | <n q4 WJ|  i | | | |  Kd Sd  S(   Ns   break(   s   selfs
   get_regions   heads   tails   charss   liness   ranges   lens   poss   lines
   classifywss   tabwidths   raws	   effectives   indentwidths   _make_blankss
   set_region(
   s   selfs   events   heads	   effectives   charss   liness   poss   raws   tails   line(    (    s'   /mit/python/share/idlelib/AutoIndent.pys   indent_region_eventBs    	
&c 
   s   MN|  i   \ } } } } Ox t t |   DO]s } P| | }	 Q|	 oV Rt
 |	 |  i  \ } } St | |  i d  } T|  i |  |	 | | | <n q4 WU|  i | | | |  Vd Sd  S(   Ni    s   break(   s   selfs
   get_regions   heads   tails   charss   liness   ranges   lens   poss   lines
   classifywss   tabwidths   raws	   effectives   maxs   indentwidths   _make_blankss
   set_region(
   s   selfs   events   heads	   effectives   charss   liness   poss   raws   tails   line(    (    s'   /mit/python/share/idlelib/AutoIndent.pys   dedent_region_eventMs    	
&c    s   XY|  i   \ } } } } Zx? t t |  d  DZ]$ } [| | } \d | | | <q8 W]|  i
 | | | |  d  S(   Ni   s   ##(   s   selfs
   get_regions   heads   tails   charss   liness   ranges   lens   poss   lines
   set_region(   s   selfs   events   lines   tails   poss   heads   charss   lines(    (    s'   /mit/python/share/idlelib/AutoIndent.pys   comment_region_eventXs    	c    s   _`|  i   \ } } } } ax t t |   Da] } b| | } c| o
 dq4 n e| d  d j o f| d } n& g| d  d j o h| d } n i| | | <q4 Wj|  i
 | | | |  d  S(   Ni   s   ##i   s   #(   s   selfs
   get_regions   heads   tails   charss   liness   ranges   lens   poss   lines
   set_region(   s   selfs   events   lines   tails   poss   heads   charss   lines(    (    s'   /mit/python/share/idlelib/AutoIndent.pys   uncomment_region_event_s    	
c    s   lm|  i   \ } }	 } } n|  i   }
 ox t t	 |   Do]r } p| | } q| oU rt | |
  \ } } st | |
  \ } } td | d | | | | | <n qC Wu|  i | |	 | |  d  S(   Ns   	s    (   s   selfs
   get_regions   heads   tails   charss   liness   _asktabwidths   tabwidths   ranges   lens   poss   lines
   classifywss   raws	   effectives   divmods   ntabss   nspacess
   set_region(   s   selfs   events   nspacess   heads	   effectives   charss   liness   poss   raws   tails   tabwidths   lines   ntabs(    (    s'   /mit/python/share/idlelib/AutoIndent.pys   tabify_region_eventls    	
)c    s   wx|  i   \ } } } } y|  i   } zx: t t	 |   Dz]# } {t i | | |  | | <qC W||  i | | | |  d  S(   N(   s   selfs
   get_regions   heads   tails   charss   liness   _asktabwidths   tabwidths   ranges   lens   poss   strings
   expandtabss
   set_region(   s   selfs   events   heads   charss   liness   poss   tails   tabwidth(    (    s'   /mit/python/share/idlelib/AutoIndent.pys   untabify_region_eventws    	!c    s_   ~|  i i d d d d f |  i d d |  i o |  i |  _ n d Sd  S(   Ns   Toggle tabss
   Turn tabs s   ons   offs   ?s   parents   break(   s   selfs   editwins   askyesnos   usetabss   text(   s   selfs   event(    (    s'   /mit/python/share/idlelib/AutoIndent.pys   toggle_tabs_event~s
   c    sV   |  i   } | |  i j o& | |  _ |  i d d d n d Sd  S(   Ni    s   guesss   break(   s   selfs   _asktabwidths   news   tabwidths   set_indentation_params(   s   selfs   events   new(    (    s'   /mit/python/share/idlelib/AutoIndent.pys   change_tabwidth_events
   c    s}   |  i i d d d |  i d |  i d d d d } | o | |  i j o | |  _ n d	 Sd  S(
   Ns   Indent widths   New indent width (1-16)s   parents   initialvalues   minvaluei   s   maxvaluei   s   break(   s   selfs   editwins
   askintegers   texts   indentwidths   new(   s   selfs   events   new(    (    s'   /mit/python/share/idlelib/AutoIndent.pys   change_indentwidth_events   	c    s   |  i } |  i i   \ } } | o | o0 | i | d  } | i | d  } n% | i d  } | i d  } | i	 | |  } t i | d  } | | | | f Sd  S(   Ns
    linestarts   -1c lineend +1cs   insert linestarts   insert lineend +1cs   
(   s   selfs   texts   editwins   get_selection_indicess   firsts   lasts   indexs   heads   tails   gets   charss   strings   splits   lines(   s   selfs   charss   tails   lasts   texts   liness   heads   first(    (    s'   /mit/python/share/idlelib/AutoIndent.pys
   get_regions   c    s   |  i } t i | d  } | | j o | i   d  Sn | i d d d  | i	 d |  | i   | i | |  | i | |  | i   | i d | d  d  S(   Ns   
s   sels   1.0s   ends   insert(   s   selfs   texts   strings   joins   liness   newcharss   charss   bells
   tag_removes   mark_sets   heads   undo_block_starts   deletes   tails   inserts   undo_block_stops   tag_add(   s   selfs   heads   tails   charss   liness   newcharss   text(    (    s'   /mit/python/share/idlelib/AutoIndent.pys
   set_regions   c    sQ   |  i o2 t | |  i  \ } } d | d | Sn d | Sd  S(   Ns   	s    (   s   selfs   usetabss   divmods   ns   tabwidths   ntabss   nspaces(   s   selfs   ns   nspacess   ntabs(    (    s'   /mit/python/share/idlelib/AutoIndent.pys   _make_blankss   c    s   |  i } | i   | i d d d  o | i d d  n | o  | i d |  i |   n | i   d  S(   Ns   insert linestarts   !=s   insert(	   s   selfs   texts   undo_block_starts   compares   deletes   columns   inserts   _make_blankss   undo_block_stop(   s   selfs   columns   text(    (    s'   /mit/python/share/idlelib/AutoIndent.pys   reindent_tos   
 c    sT   |  i i d d d |  i d |  i d d d d p |  i Sd  S(	   Ns	   Tab widths   Spaces per tab?s   parents   initialvalues   minvaluei   s   maxvaluei   (   s   selfs   editwins
   askintegers   texts   tabwidth(   s   self(    (    s'   /mit/python/share/idlelib/AutoIndent.pys   _asktabwidths   	c    s   t  |  i |  i  i   \ } } | o | o: t | |  i  \ } } t | |  i  \ } } n d } } | | Sd  S(   Ni    (   s   IndentSearchers   selfs   texts   tabwidths   runs   openers   indenteds
   classifywss   raws   indentsmalls   indentlarge(   s   selfs   indentlarges   raws   openers   indenteds   indentsmall(    (    s'   /mit/python/share/idlelib/AutoIndent.pys   guess_indents   $(!   s   Nones   menudefss   keydefss   windows_keydefss   unix_keydefss   usetabss   indentwidths   tabwidths   context_use_ps1s   num_context_liness   __init__s   configs   set_indentation_paramss   smart_backspace_events   smart_indent_events   newline_and_indent_events   auto_indents   _build_char_in_string_funcs   indent_region_events   dedent_region_events   comment_region_events   uncomment_region_events   tabify_region_events   untabify_region_events   toggle_tabs_events   change_tabwidth_events   change_indentwidth_events
   get_regions
   set_regions   _make_blankss   reindent_tos   _asktabwidths   guess_indent(    (    (    s'   /mit/python/share/idlelib/AutoIndent.pys
   AutoIndent( s@   ]0i				
)"V		
	c    s   t  t |    Sd  S(   N(   s   ints   floats   index(   s   index(    (    s'   /mit/python/share/idlelib/AutoIndent.pys
   index2lines   c    s   d } } xy |  D]n } | d j o | d } | d } n; | d j o& | d } | | d | } n Pq W| | f Sd  S(   Ni    s    i   s   	(   s   raws	   effectives   ss   chs   tabwidth(   s   ss   tabwidths   chs   raws	   effective(    (    s'   /mit/python/share/idlelib/AutoIndent.pys
   classifywss   
 	s   IndentSearcherc      sV   d   Z  d   Z e i e i d d d d d d f d	  Z d
   Z RS(   Nc    sE   | |  _  | |  _ d |  _ |  _ t |  _ |  _ d  S(   Ni    (   s   texts   selfs   tabwidths   is   finisheds   Nones   blkopenlines   indentedline(   s   selfs   texts   tabwidth(    (    s'   /mit/python/share/idlelib/AutoIndent.pys   __init__s   c    s   	|  i o 
d Sn |  i d } |  _ | d } |  i i | d d  o d Sn |  i i | | d  Sd  S(   Ns    i   s   .0s   >=s   ends    lineend+1c(   s   selfs   finisheds   is   marks   texts   compares   get(   s   selfs   is   mark(    (    s'   /mit/python/share/idlelib/AutoIndent.pys   readlines   s   classs   defs   fors   ifs   trys   whilec	 	   s~   |  i o nd | | j o
 | | j o | |  _ n7 | | j o |  i o | |  _	 d |  _ n d  S(   Ni   (
   s   selfs   finisheds   types   NAMEs   tokens   OPENERSs   lines   blkopenlines   INDENTs   indentedline(	   s   selfs   types   tokens   starts   ends   lines   INDENTs   NAMEs   OPENERS(    (    s'   /mit/python/share/idlelib/AutoIndent.pys
   tokeneaters   c    s   t  i } |  i t  _  zC !y "t  i |  i |  i  Wn #t  i j
 o
 &n XWd  '(| t  _ X)|  i	 |  i
 f Sd  S(   N(   s	   _tokenizes   tabsizes   save_tabsizes   selfs   tabwidths   tokenizes   readlines
   tokeneaters
   TokenErrors   blkopenlines   indentedline(   s   selfs   save_tabsize(    (    s'   /mit/python/share/idlelib/AutoIndent.pys   runs   (   s   __init__s   readlines	   _tokenizes   INDENTs   NAMEs
   tokeneaters   run(    (    (    s'   /mit/python/share/idlelib/AutoIndent.pys   IndentSearchers   	-(   s   strings   PyParses
   AutoIndents
   index2lines
   classifywss   tokenizes	   _tokenizes   IndentSearcher(   s   IndentSearchers	   _tokenizes
   index2lines   strings
   classifywss   tokenizes   PyParses
   AutoIndent(    (    s'   /mit/python/share/idlelib/AutoIndent.pys   ? s   % 	