<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent posts to Javascript beautifier</title><link>https://sourceforge.net/p/npppythonscript/discussion/1199074/thread/5719d4a8/</link><description>Recent posts to Javascript beautifier</description><atom:link href="https://sourceforge.net/p/npppythonscript/discussion/1199074/thread/5719d4a8/feed.rss" rel="self"/><language>en</language><lastBuildDate>Tue, 22 Mar 2016 10:10:27 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/npppythonscript/discussion/1199074/thread/5719d4a8/feed.rss" rel="self" type="application/rss+xml"/><item><title>Javascript beautifier</title><link>https://sourceforge.net/p/npppythonscript/discussion/1199074/thread/5719d4a8/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Better than beautifier.js&lt;br/&gt;
Decode strings&lt;br/&gt;
un-minimize&lt;br/&gt;
it use JSTools/JSFormat to un-minimize&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="s-Atom"&gt;import&lt;/span&gt; &lt;span class="s-Atom"&gt;re&lt;/span&gt;
&lt;span class="s-Atom"&gt;import&lt;/span&gt; &lt;span class="s-Atom"&gt;codecs&lt;/span&gt;

&lt;span class="nv"&gt;ESCAPE_SEQUENCE_RE&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s-Atom"&gt;re&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;compile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s-Atom"&gt;r'''&lt;/span&gt;
&lt;span class="s-Atom"&gt;    ( \\U........      # 8-digit hex escapes&lt;/span&gt;
&lt;span class="s-Atom"&gt;    | \\u....          # 4-digit hex escapes&lt;/span&gt;
&lt;span class="s-Atom"&gt;    | \\x..            # 2-digit hex escapes&lt;/span&gt;
&lt;span class="s-Atom"&gt;    | \\[0-7]{1,3}     # Octal escapes&lt;/span&gt;
&lt;span class="s-Atom"&gt;    | \\N\{[^}]+\}     # Unicode characters by name&lt;/span&gt;
&lt;span class="s-Atom"&gt;    | \\[\\'&lt;/span&gt;&lt;span class="s2"&gt;"abfnrtv]  # Single-character escapes&lt;/span&gt;
&lt;span class="s2"&gt;    )''', re.UNICODE | re.VERBOSE)&lt;/span&gt;

&lt;span class="s2"&gt;def decode_escapes(s):&lt;/span&gt;
&lt;span class="s2"&gt;    def decode_match(match):&lt;/span&gt;
&lt;span class="s2"&gt;        return codecs.decode(match.group(0), 'unicode-escape')&lt;/span&gt;

&lt;span class="s2"&gt;    return ESCAPE_SEQUENCE_RE.sub(decode_match, s)&lt;/span&gt;

&lt;span class="s2"&gt;donnees = editor.getText()&lt;/span&gt;
&lt;span class="s2"&gt;strings=re.finditer("&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s-Atom"&gt;\&lt;/span&gt;&lt;span class="s2"&gt;".+\")"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s-Atom"&gt;donnees&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="s-Atom"&gt;for&lt;/span&gt; &lt;span class="s-Atom"&gt;s&lt;/span&gt; &lt;span class="s-Atom"&gt;in&lt;/span&gt; &lt;span class="nn"&gt;strings&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="s-Atom"&gt;editor&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s-Atom"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;group&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="nf"&gt;decode_escapes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s-Atom"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;group&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]))&lt;/span&gt;
&lt;span class="s-Atom"&gt;notepad&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;runMenuCommand&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"JSTool"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"JSFormat"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">REY Sébastien</dc:creator><pubDate>Tue, 22 Mar 2016 10:10:27 -0000</pubDate><guid>https://sourceforge.net9c53a7ce95637a3ce7f2aa99cd319afbe8160599</guid></item></channel></rss>