JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrB YI~d=@sddlZddlmZddlmZddlmZGdddZeddZ d d Z d d Z d dZ ddZ ddZedZddZGdddZGdddZGdddZedkrddlmZeddd d!dS)"N)askyesno) askinteger)idleConfc@s2eZdZddZeddZddZd dd ZdS) FormatParagraphcCs ||_dS)N)editwin)selfrr3/opt/alt/python37/lib64/python3.7/idlelib/format.py__init__szFormatParagraph.__init__cCstjdddddd|_dS)N extensionsrz max-widthintH)typedefault)rZ GetOption max_width)clsrrr reload"szFormatParagraph.reloadcCs d|_dS)N)r)rrrr close'szFormatParagraph.closeNc Cs|dkr|jn|}|jj}|j\}}|rF|rF|||}t|}nt||d\}}}}|rpt|||}n t ||}| ddd||kr| d|| | ||||||n | d||ddS)Ninsertselz1.0endbreak)rrtextget_selection_indicesgetget_comment_headerfind_paragraphindexreformat_commentreformat_paragraph tag_removemark_setundo_block_startdeleterundo_block_stopZsee) reventlimitrfirstlastdatacomment_headernewdatarrr format_paragraph_event*s(          z&FormatParagraph.format_paragraph_event)N)__name__ __module__ __qualname__r classmethodrrr,rrrr rs rc CsFtt|d\}}|d|d|}x:|d|ddrbt|rb|d}|d|d|}q*W|}t|}t|}xsz#reformat_comment..c3s|]}|VqdS)Nr)rLr:)r*rr rNs)r7rEr5maxr)r)r&r*Z format_widthr+Z block_suffixr)r*rMr rs   rcCstd|dk S)Nz^\s*$)r?match)r:rrr r6sr6cCstd|S)Nz ^([ \t]*))r?rSgroup)r:rrr r>sr>cCs"td|}|dkrdS|dS)Nz ^([ \t]*#*)rPr3)r?rSrT)r:mrrr rs rz[ \t]*cCs$t|}|t||fS)N)_line_indent_rerSrr7rTrA)r:tabwidthrUrrr get_line_indents rXc@sheZdZddZddZddZddd Zdd d Zdd d ZdddZ dddZ dddZ ddZ dS) FormatRegioncCs ||_dS)N)r)rrrrr r szFormatRegion.__init__cCsr|jj}|j\}}|r<|r<||d}||d}n|d}|d}|||}|d}||||fS)Nz linestartz-1c lineend +1czinsert linestartzinsert lineend +1cr;)rrrrrr5)rrr'r(headtailcharsrFrrr get_regions     zFormatRegion.get_regioncCsz|jj}d|}||kr&|dS|ddd|d||||||||| | d|ddS)Nr;rz1.0rr) rrrEZbellr r!r"r#rr$Ztag_add)rrZr[r\rFrnewcharsrrr set_regions     zFormatRegion.set_regionNc Cs|\}}}}xZtt|D]J}||}|rt||jj\}} | |jj} |j| ||d||<qW|||||dS)Nr) r]r@r7rXrrW indentwidth _make_blanksr_) rr%rZr[r\rFposr:raw effectiverrr indent_region_events  z FormatRegion.indent_region_eventc Cs|\}}}}x`tt|D]P}||}|rt||jj\}} t| |jjd} |j| ||d||<qW| ||||dS)Nrr) r]r@r7rXrrWrRr`rar_) rr%rZr[r\rFrbr:rcrdrrr dedent_region_events z FormatRegion.dedent_region_eventcCsR|\}}}}x,tt|dD]}||}d|||<q"W|||||dS)Nr3z##r)r]r@r7r_)rr%rZr[r\rFrbr:rrr comment_region_event s z!FormatRegion.comment_region_eventcCs|\}}}}xdtt|D]T}||}|s0q|dddkrN|dd}n|dddkrj|dd}|||<qW|||||dS)Nr<z##r3#r)r]r@r7r_)rr%rZr[r\rFrbr:rrr uncomment_region_event,s  z#FormatRegion.uncomment_region_eventc Cs|\}}}}|}|dkr$dSx\tt|D]L}||}|r2t||\} } t| |\} } d| d| || d||<q2W|||||dS)N r=r)r] _asktabwidthr@r7rXdivmodr_) rr%rZr[r\rFrWrbr:rcrdZntabsZnspacesrrr tabify_region_event?s$z FormatRegion.tabify_region_eventcCs`|\}}}}|}|dkr$dSx&tt|D]}|||||<q2W|||||dS)Nr)r]rkr@r7rAr_)rr%rZr[r\rFrWrbrrr untabify_region_eventNsz"FormatRegion.untabify_region_eventcCstdd|jj|jjdddS)Nz Tab widthzColumns per tab? (2-16)r<)parent initialvalueminvaluemaxvalue)rrrr`)rrrr rkYszFormatRegion._asktabwidth)N)N)N)N)N)N) r-r.r/r r]r_rerfrgrirmrnrkrrrr rYs   rYc@s$eZdZddZddZddZdS)IndentscCs ||_dS)N)r)rrrrr r gszIndents.__init__cCsJ|j}|j}tddd|dd|dd|jdrF| |_d |_d S) Nz Toggle tabsz Turn tabs )ZonZoffz? Indent width )zwill bez remains atz 8.z! Note: a tab is always 8 columns)rpr)rusetabsrrr`)rr%rrvrrr toggle_tabs_eventjs zIndents.toggle_tabs_eventcCs<|j}tdd|j|jddd}|r8||jkr8|js8||_dS)Nz Indent widthz6New indent width (2-16) (Always use 8 when using tabs)r<ro)rprqrrrsr)rrrr`rv)rr%rrIrrr change_indentwidth_eventzsz Indents.change_indentwidth_eventN)r-r.r/r rwrxrrrr rtdsrtc@seZdZddZdddZdS)RstripcCs ||_dS)N)r)rrrrr r szRstrip.__init__Nc Cs|jj}|jj}|tt|d}xZtd|D]L}|d|d|}t |}t | }||kr6| d||fd|q6W|ddkrt |jdsx*|d d kr|d dkr| d qW| dS) Nrr3z%i.0z%i.endz%i.%izend-2cr;Zinterpzend-1cz1.0zend-3c)rrundor"r floatrr@rr7rCr#hasattrr$) rr%rrzZend_lineZcurZtxtrcZcutrrr do_rstrips   zRstrip.do_rstrip)N)r-r.r/r r}rrrr rysry__main__)mainzidlelib.idle_test.test_formatr<F) verbosityexit)r?Ztkinter.messageboxrZtkinter.simpledialogrZidlelib.configrrrrrrr6r>rcompilerVrXrYrtryr-Zunittestrrrrr s(   C%$  $