ulmul 0.4.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. data/README-en +118 -63
  2. data/README-ja +92 -58
  3. data/Rakefile +26 -10
  4. data/bin/ulmul2html5 +7 -58
  5. data/bin/ulmul2latex +34 -0
  6. data/bin/ulmul2xhtml +6 -58
  7. data/google-code-prettify/CHANGES.html +130 -0
  8. data/google-code-prettify/COPYING +202 -0
  9. data/google-code-prettify/README-zh-Hans.html +143 -0
  10. data/google-code-prettify/README.html +203 -0
  11. data/google-code-prettify/src/lang-apollo.js +51 -0
  12. data/google-code-prettify/src/lang-css.js +78 -0
  13. data/google-code-prettify/src/lang-fortran.js +53 -0
  14. data/google-code-prettify/src/lang-hs.js +101 -0
  15. data/google-code-prettify/src/lang-lisp.js +93 -0
  16. data/google-code-prettify/src/lang-lua.js +59 -0
  17. data/google-code-prettify/src/lang-ml.js +56 -0
  18. data/google-code-prettify/src/lang-proto.js +35 -0
  19. data/google-code-prettify/src/lang-scala.js +54 -0
  20. data/google-code-prettify/src/lang-sql.js +57 -0
  21. data/google-code-prettify/src/lang-vb.js +61 -0
  22. data/google-code-prettify/src/lang-vhdl.js +34 -0
  23. data/google-code-prettify/src/lang-wiki.js +53 -0
  24. data/google-code-prettify/src/lang-yaml.js +27 -0
  25. data/google-code-prettify/src/prettify.css +44 -0
  26. data/google-code-prettify/src/prettify.js +1508 -0
  27. data/google-code-prettify/tests/large_input_test.html +122 -0
  28. data/google-code-prettify/tests/prettify_test.html +2772 -0
  29. data/google-code-prettify/tests/test_base.js +132 -0
  30. data/google-code-prettify/tests/test_styles.css +5 -0
  31. data/hello.c +7 -0
  32. data/index.en.html +221 -120
  33. data/index.ja.html +182 -115
  34. data/lib/ulmul.rb +477 -276
  35. data/test/unit/ulmul_test.rb +21 -0
  36. data/ulmul-slidy.css +21 -8
  37. data/ulmul.gemspec +9 -5
  38. data/ulmul2html5.css +19 -5
  39. data/ulmul2xhtml.css +17 -1
  40. metadata +90 -12
  41. data/tests/ulmul_test.rb +0 -14
@@ -0,0 +1,143 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+
4
+ <html>
5
+ <head>
6
+ <meta http-equiv="content-type" value="text/html; charset=UTF-8" />
7
+ <title>Javascript code prettifier</title>
8
+
9
+ <link href="src/prettify.css" type="text/css" rel="stylesheet" />
10
+
11
+ <script src="src/prettify.js" type="text/javascript"></script>
12
+
13
+ <style type="text/css">
14
+ body { margin-left: .5in }
15
+ h1, h2, h3, h4, .footer { margin-left: -.4in; }
16
+ </style>
17
+ </head>
18
+
19
+ <body onload="prettyPrint()" bgcolor="white">
20
+ <h1>Javascript code prettifier</h1>
21
+ <h1>Javascript 代码美容师</h1>
22
+ <h2>安装使用</h2>
23
+ <ol>
24
+ <li><a href="http://google-code-prettify.googlecode.com/files/prettify-small-5-Jul-2008.zip">下载</a> 文件
25
+ <li>在你的文件中包含这儿的脚本和样式表(你要保证这儿的 css 和 js 文件按在你的服务器上, 并且调整在 <tt>script</tt> 和 <tt>link</tt>标签中的路径)
26
+ <pre class="prettyprint">
27
+ &lt;link href="prettify.css" type="text/css" rel="stylesheet" />
28
+ &lt;script type="text/javascript" src="prettify.js">&lt;/script></pre>
29
+ <li>添加<code class="prettyprint">onload="prettyPrint()"</code> 到你的文件的 body 标签中.
30
+ <li>修改样式表,使用你自己喜欢的颜色.</li>
31
+ </ol>
32
+
33
+ <h2>使用方法<br></h2>
34
+ <p>在
35
+ <tt>&lt;pre class="prettyprint"&gt;...&lt;/pre&gt;</tt> 或 <tt>&lt;code class="prettyprint"&gt;...&lt;/code&gt;</tt>
36
+ 中间放上代码片段,它就会自动被美化了.
37
+
38
+ <table summary="code examples">
39
+ <tr>
40
+ <th>The original
41
+ <th>Prettier
42
+ <tr>
43
+ <td><pre style="border: 1px solid #888;padding: 2px"
44
+ ><a name="voila1"></a>class Voila {
45
+ public:
46
+ // Voila
47
+ static const string VOILA = "Voila";
48
+
49
+ // will not interfere with embedded <a href="#voila1">tags</a>.
50
+ }</pre>
51
+
52
+ <td><pre class="prettyprint"><a name="voila2"></a>class Voila {
53
+ public:
54
+ // Voila
55
+ static const string VOILA = "Voila";
56
+
57
+ // will not interfere with embedded <a href="#voila2">tags</a>.
58
+ }</pre>
59
+ </table>
60
+
61
+
62
+ <h2>常见问题</h2>
63
+ <h3 id="langs">它是为什么语言工作的?</h3>
64
+ <p><tt>prettify.js中的注释是权威的,但是它的语法分析程序可以在很多语言中使用</tt>,包括 C ,
65
+ Java, Python, Bash, SQL, HTML, XML, CSS, Javascript, 和 Makefiles.
66
+ 它在 Ruby, PHP, VB, 和 Awk 中还算可以,而且也可以在 Perl 和 Ruby的合适子集中起作用,但是, 因为注释的约定,它对
67
+ Smalltalk, 或 CAML类似的语言起作用.<br></p>
68
+
69
+
70
+ <p>LISP系列的语言可以使用一个拓展<a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-lisp.js"><code>lang-lisp.js</code></a>.</p><p>对于 <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-css"><code>CSS</code></a>,
71
+ <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-hs"><code>Haskell</code></a>,
72
+ <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-lua.js"><code>Lua</code></a>,
73
+ <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-ml.js"><code>OCAML, SML, F#</code></a>,
74
+ <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-vb.js"><code>Visual Basic</code></a>,
75
+ <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-sql.js"><code>SQL</code></a>,
76
+ <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-proto.js"><code>Protocol Buffers</code></a>, 和
77
+ <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-wiki.js"><code>WikiText</code></a>..也是类似的</p><p>如果你想给你喜欢的语言写个拓展版本, 请参阅<tt>src/lang-lisp.js</tt> ,并写一个包括你的语言的拓展的 <a href="http://code.google.com/p/google-code-prettify/issues/list"
78
+ >发布</a> 和一个测试用例.</p>
79
+
80
+ <h3>如何指定我的代码在哪种语言里?</h3>
81
+ <p>你不需要指定语言环境,因为 <code>prettyprint()</code>
82
+ 会对此进行猜测. 你可以使用<code> prettyprint </code>这个类通过指定语言的拓展名来指定语言,就像这样:</p>
83
+ <pre class="prettyprint lang-html"
84
+ >&lt;pre class=&quot;prettyprint <b>lang-html</b>&quot;&gt;
85
+ The lang-* class specifies the language file extensions.
86
+ File extensions supported by default include
87
+ "bsh", "c", "cc", "cpp", "cs", "csh", "cyc", "cv", "htm", "html",
88
+ "java", "js", "m", "mxml", "perl", "pl", "pm", "py", "rb", "sh",
89
+ "xhtml", "xml", "xsl".
90
+ &lt;/pre&gt;</pre>
91
+
92
+ <h3>它在混淆代码例子上不起作用吗?</h3>
93
+ <p>是的. 美化混淆代码就像给小猪涂口红,也就是不在这个工具的范围内. <br></p>
94
+
95
+ <h3>它可以在那些浏览器上工作?</h3>
96
+ <p>这个工具已经在 IE 6, Firefox 1.5 &amp; 2, 和 Safari 2.0.4 上测试通过. 打开 <a href="tests/prettify_test.html">测试页面</a> ,看看它能不能在你的浏览器上起作用.</p>
97
+
98
+ <h3>有什么改变?</h3>
99
+ <p>查看 <a href="CHANGES.html">变化日志</a></p>
100
+
101
+ <h3>&nbsp;为什么Prettyprinting 对WordPress中的字符串没用?</h3>
102
+ <p>很显然,wordpress 在 &quot;smart quoting&quot; 时会改变关闭符号.
103
+ 这使得关闭符号跟开始符号不配套.
104
+ <p>这和复制粘贴代码一样,破坏了美化作用. 去
105
+ <a href="http://wordpress.org/support/topic/125038"
106
+ >WordPress's help center</a> 查看更多关于如何关闭插入代码段时的&quot;smart quoting&quot;的信息.</p>
107
+
108
+ <h3>如何在我的代码中加入行号? (Out of date -- see <a href="README.html">English version</a>)</h3>
109
+ <p>你可以使用 <code>nocode</code> 类来标记 span 标记不是代码.
110
+ <pre>&lt;pre class=prettyprint&gt;
111
+ &lt;span class="<b>nocode</b>"&gt;1:&lt;/span&gt; /* This is line 1 of my code
112
+ &lt;span class="<b>nocode</b>"&gt;2:&lt;/span&gt; * and here's line 2 */
113
+ &lt;span class="<b>nocode</b>"&gt;3:&lt;/span&gt; print("I'm line number 3");
114
+ &lt;/pre&gt;</pre>得到
115
+ <pre class=prettyprint>
116
+ <span class="nocode">1:</span> /* This is line 1 of my code
117
+ <span class="nocode">2:</span> * and here's line 2 */
118
+ <span class="nocode">3:</span> print("I'm line number 3");
119
+ </pre>
120
+
121
+ <p>查看一个更完整的例子: issue22
122
+ <a href="tests/prettify_test.html#issue22">testcase</a>.</p>
123
+
124
+ <h3>我得到了这样一条错误信息 &quot;a is not a function&quot; 或 &quot;opt_whenDone is not a function&quot;</h3>
125
+ <p>如果你通过事件句柄条用 <code>prettyPrint</code> , 把它隐藏到一个函数中. <br></p><p>不要这么写
126
+ </p><blockquote>
127
+ <code class="prettyprint lang-js"
128
+ >addEventListener('load', prettyPrint, false);</code>
129
+ </blockquote>而要这么写
130
+ <blockquote>
131
+ <code class="prettyprint lang-js"
132
+ >addEventListener('load', function (event) { prettyPrint() }, false);</code>
133
+ </blockquote>这样的话,浏览器就不会把时间对象传递给 <code>prettyPrint</code> ,事件对象会让它困惑的.
134
+
135
+ <br><br><br>
136
+
137
+ <div class="footer">
138
+ <!-- Created: Tue Oct 3 17:51:56 PDT 2006 -->
139
+ <!-- hhmts start -->
140
+ Last modified: Wed Jan 7 13:25:42 PST 2009<br><!-- hhmts end -->
141
+ </div>
142
+ </body>
143
+ </html>
@@ -0,0 +1,203 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+
4
+ <html>
5
+ <head>
6
+ <title>Javascript code prettifier</title>
7
+
8
+ <link href="src/prettify.css" type="text/css" rel="stylesheet" />
9
+
10
+ <script src="src/prettify.js" type="text/javascript"></script>
11
+
12
+ <style type="text/css">
13
+ body { margin-left: .5in }
14
+ h1, h2, h3, h4, .footer { margin-left: -.4in; }
15
+ </style>
16
+ </head>
17
+
18
+ <body onload="prettyPrint()" bgcolor="white">
19
+ <small style="float: right">Languages : <a href="README-zh-Hans.html">CH</a></small>
20
+ <h1>Javascript code prettifier</h1>
21
+
22
+ <h2>Setup</h2>
23
+ <ol>
24
+ <li><a href="http://code.google.com/p/google-code-prettify/downloads/list">Download</a> a distribution
25
+ <li>Include the script and stylesheets in your document
26
+ (you will need to make sure the css and js file are on your server, and
27
+ adjust the paths in the <tt>script</tt> and <tt>link</tt> tag)
28
+ <pre class="prettyprint">
29
+ &lt;link href="prettify.css" type="text/css" rel="stylesheet" />
30
+ &lt;script type="text/javascript" src="prettify.js">&lt;/script></pre>
31
+ <li>Add <code class="prettyprint lang-html">onload="prettyPrint()"</code> to your
32
+ document's body tag.
33
+ <li>Modify the stylesheet to get the coloring you prefer</li>
34
+ </ol>
35
+
36
+ <h2>Usage</h2>
37
+ <p>Put code snippets in
38
+ <tt>&lt;pre class="prettyprint"&gt;...&lt;/pre&gt;</tt>
39
+ or <tt>&lt;code class="prettyprint"&gt;...&lt;/code&gt;</tt>
40
+ and it will automatically be pretty printed.
41
+
42
+ <table summary="code examples">
43
+ <tr>
44
+ <th>The original
45
+ <th>Prettier
46
+ <tr>
47
+ <td><pre style="border: 1px solid #888;padding: 2px"
48
+ ><a name="voila1"></a>class Voila {
49
+ public:
50
+ // Voila
51
+ static const string VOILA = "Voila";
52
+
53
+ // will not interfere with embedded <a href="#voila1">tags</a>.
54
+ }</pre>
55
+
56
+ <td><pre class="prettyprint"><a name="voila2"></a>class Voila {
57
+ public:
58
+ // Voila
59
+ static const string VOILA = "Voila";
60
+
61
+ // will not interfere with embedded <a href="#voila2">tags</a>.
62
+ }</pre>
63
+ </table>
64
+
65
+ <h2>FAQ</h2>
66
+ <h3 id="langs">Which languages does it work for?</h3>
67
+ <p>The comments in <tt>prettify.js</tt> are authoritative but the lexer
68
+ should work on a number of languages including C and friends,
69
+ Java, Python, Bash, SQL, HTML, XML, CSS, Javascript, and Makefiles.
70
+ It works passably on Ruby, PHP, VB, and Awk and a decent subset of Perl
71
+ and Ruby, but, because of commenting conventions, doesn't work on
72
+ Smalltalk, or CAML-like languages.</p>
73
+
74
+ <p>LISPy languages are supported via an extension:
75
+ <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-lisp.js"
76
+ ><code>lang-lisp.js</code></a>.</p>
77
+ <p>And similarly for
78
+ <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-css.js"
79
+ ><code>CSS</code></a>,
80
+ <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-hs.js"
81
+ ><code>Haskell</code></a>,
82
+ <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-lua.js"
83
+ ><code>Lua</code></a>,
84
+ <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-ml.js"
85
+ ><code>OCAML, SML, F#</code></a>,
86
+ <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-vb.js"
87
+ ><code>Visual Basic</code></a>,
88
+ <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-sql.js"
89
+ ><code>SQL</code></a>,
90
+ <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-proto.js"
91
+ ><code>Protocol Buffers</code></a>, and
92
+ <a href="http://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-wiki.js"
93
+ ><code>WikiText</code></a>..
94
+
95
+ <p>If you'd like to add an extension for your favorite language, please
96
+ look at <tt>src/lang-lisp.js</tt> and file an
97
+ <a href="http://code.google.com/p/google-code-prettify/issues/list"
98
+ >issue</a> including your language extension, and a testcase.</p>
99
+
100
+ <h3>How do I specify which language my code is in?</h3>
101
+ <p>You don't need to specify the language since <code>prettyprint()</code>
102
+ will guess. You can specify a language by specifying the language extension
103
+ along with the <code>prettyprint</code> class like so:</p>
104
+ <pre class="prettyprint lang-html"
105
+ >&lt;pre class=&quot;prettyprint <b>lang-html</b>&quot;&gt;
106
+ The lang-* class specifies the language file extensions.
107
+ File extensions supported by default include
108
+ "bsh", "c", "cc", "cpp", "cs", "csh", "cyc", "cv", "htm", "html",
109
+ "java", "js", "m", "mxml", "perl", "pl", "pm", "py", "rb", "sh",
110
+ "xhtml", "xml", "xsl".
111
+ &lt;/pre&gt;</pre>
112
+
113
+ <h3>It doesn't work on <tt>&lt;obfuscated code sample&gt;</tt>?</h3>
114
+ <p>Yes. Prettifying obfuscated code is like putting lipstick on a pig
115
+ &mdash; i.e. outside the scope of this tool.</p>
116
+
117
+ <h3>Which browsers does it work with?</h3>
118
+ <p>It's been tested with IE 6, Firefox 1.5 &amp; 2, and Safari 2.0.4.
119
+ Look at <a href="tests/prettify_test.html">the test page</a> to see if it
120
+ works in your browser.</p>
121
+
122
+ <h3>What's changed?</h3>
123
+ <p>See the <a href="CHANGES.html">change log</a></p>
124
+
125
+ <h3>Why doesn't Prettyprinting of strings work on WordPress?</h3>
126
+ <p>Apparently wordpress does "smart quoting" which changes close quotes.
127
+ This causes end quotes to not match up with open quotes.
128
+ <p>This breaks prettifying as well as copying and pasting of code samples.
129
+ See
130
+ <a href="http://wordpress.org/support/topic/125038"
131
+ >WordPress's help center</a> for info on how to stop smart quoting of code
132
+ snippets.</p>
133
+
134
+ <h3 id="linenums">How do I put line numbers in my code?</h3>
135
+ <p>You can use the <code>linenums</code> class to turn on line
136
+ numbering. If your code doesn't start at line number 1, you can
137
+ add a colon and a line number to the end of that class as in
138
+ <code>linenums:52</code>.
139
+
140
+ <p>For example
141
+ <pre class="prettyprint">&lt;pre class="prettyprint linenums:<b>4</b>"
142
+ &gt;// This is line 4.
143
+ foo();
144
+ bar();
145
+ baz();
146
+ boo();
147
+ far();
148
+ faz();
149
+ &lt;pre&gt;</pre>
150
+ produces
151
+ <pre class="prettyprint linenums:4"
152
+ >// This is line 4.
153
+ foo();
154
+ bar();
155
+ baz();
156
+ boo();
157
+ far();
158
+ faz();
159
+ </pre>
160
+
161
+ <h3>How do I prevent a portion of markup from being marked as code?</h3>
162
+ <p>You can use the <code>nocode</code> class to identify a span of markup
163
+ that is not code.
164
+ <pre class="prettyprint">&lt;pre class=prettyprint&gt;
165
+ int x = foo(); /* This is a comment &lt;span class="nocode"&gt;This is not code&lt;/span&gt;
166
+ Continuation of comment */
167
+ int y = bar();
168
+ &lt;/pre&gt;</pre>
169
+ produces
170
+ <pre class="prettyprint">
171
+ int x = foo(); /* This is a comment <span class="nocode">This is not code</span>
172
+ Continuation of comment */
173
+ int y = bar();
174
+ </pre>
175
+
176
+ <p>For a more complete example see the issue22
177
+ <a href="tests/prettify_test.html#issue22">testcase</a>.</p>
178
+
179
+ <h3>I get an error message "a is not a function" or "opt_whenDone is not a function"</h3>
180
+ <p>If you are calling <code>prettyPrint</code> via an event handler, wrap it in a function.
181
+ Instead of doing
182
+ <blockquote>
183
+ <code class="prettyprint lang-js"
184
+ >addEventListener('load', prettyPrint, false);</code>
185
+ </blockquote>
186
+ wrap it in a closure like
187
+ <blockquote>
188
+ <code class="prettyprint lang-js"
189
+ >addEventListener('load', function (event) { prettyPrint() }, false);</code>
190
+ </blockquote>
191
+ so that the browser does not pass an event object to <code>prettyPrint</code> which
192
+ will confuse it.
193
+
194
+ <br><br><br>
195
+
196
+ <div class="footer">
197
+ <!-- Created: Tue Oct 3 17:51:56 PDT 2006 -->
198
+ <!-- hhmts start -->
199
+ Last modified: Wed Jul 19 13:56:00 PST 2010
200
+ <!-- hhmts end -->
201
+ </div>
202
+ </body>
203
+ </html>
@@ -0,0 +1,51 @@
1
+ // Copyright (C) 2009 Onno Hommes.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+
16
+ /**
17
+ * @fileoverview
18
+ * Registers a language handler for the AGC/AEA Assembly Language as described
19
+ * at http://virtualagc.googlecode.com
20
+ * <p>
21
+ * This file could be used by goodle code to allow syntax highlight for
22
+ * Virtual AGC SVN repository or if you don't want to commonize
23
+ * the header for the agc/aea html assembly listing.
24
+ *
25
+ * @author ohommes@alumni.cmu.edu
26
+ */
27
+
28
+ PR.registerLangHandler(
29
+ PR.createSimpleLexer(
30
+ [
31
+ // A line comment that starts with ;
32
+ [PR.PR_COMMENT, /^#[^\r\n]*/, null, '#'],
33
+ // Whitespace
34
+ [PR.PR_PLAIN, /^[\t\n\r \xA0]+/, null, '\t\n\r \xA0'],
35
+ // A double quoted, possibly multi-line, string.
36
+ [PR.PR_STRING, /^\"(?:[^\"\\]|\\[\s\S])*(?:\"|$)/, null, '"']
37
+ ],
38
+ [
39
+ [PR.PR_KEYWORD, /^(?:ADS|AD|AUG|BZF|BZMF|CAE|CAF|CA|CCS|COM|CS|DAS|DCA|DCOM|DCS|DDOUBL|DIM|DOUBLE|DTCB|DTCF|DV|DXCH|EDRUPT|EXTEND|INCR|INDEX|NDX|INHINT|LXCH|MASK|MSK|MP|MSU|NOOP|OVSK|QXCH|RAND|READ|RELINT|RESUME|RETURN|ROR|RXOR|SQUARE|SU|TCR|TCAA|OVSK|TCF|TC|TS|WAND|WOR|WRITE|XCH|XLQ|XXALQ|ZL|ZQ|ADD|ADZ|SUB|SUZ|MPY|MPR|MPZ|DVP|COM|ABS|CLA|CLZ|LDQ|STO|STQ|ALS|LLS|LRS|TRA|TSQ|TMI|TOV|AXT|TIX|DLY|INP|OUT)\s/,null],
40
+ [PR.PR_TYPE, /^(?:-?GENADR|=MINUS|2BCADR|VN|BOF|MM|-?2CADR|-?[1-6]DNADR|ADRES|BBCON|[SE]?BANK\=?|BLOCK|BNKSUM|E?CADR|COUNT\*?|2?DEC\*?|-?DNCHAN|-?DNPTR|EQUALS|ERASE|MEMORY|2?OCT|REMADR|SETLOC|SUBRO|ORG|BSS|BES|SYN|EQU|DEFINE|END)\s/,null],
41
+ // A single quote possibly followed by a word that optionally ends with
42
+ // = ! or ?.
43
+ [PR.PR_LITERAL,
44
+ /^\'(?:-*(?:\w|\\[\x21-\x7e])(?:[\w-]*|\\[\x21-\x7e])[=!?]?)?/],
45
+ // Any word including labels that optionally ends with = ! or ?.
46
+ [PR.PR_PLAIN,
47
+ /^-*(?:[!-z_]|\\[\x21-\x7e])(?:[\w-]*|\\[\x21-\x7e])[=!?]?/i],
48
+ // A printable non-space non-special character
49
+ [PR.PR_PUNCTUATION, /^[^\w\t\n\r \xA0()\"\\\';]+/]
50
+ ]),
51
+ ['apollo', 'agc', 'aea']);
@@ -0,0 +1,78 @@
1
+ // Copyright (C) 2009 Google Inc.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+
16
+
17
+ /**
18
+ * @fileoverview
19
+ * Registers a language handler for CSS.
20
+ *
21
+ *
22
+ * To use, include prettify.js and this file in your HTML page.
23
+ * Then put your code in an HTML tag like
24
+ * <pre class="prettyprint lang-css"></pre>
25
+ *
26
+ *
27
+ * http://www.w3.org/TR/CSS21/grammar.html Section G2 defines the lexical
28
+ * grammar. This scheme does not recognize keywords containing escapes.
29
+ *
30
+ * @author mikesamuel@gmail.com
31
+ */
32
+
33
+ PR.registerLangHandler(
34
+ PR.createSimpleLexer(
35
+ [
36
+ // The space production <s>
37
+ [PR.PR_PLAIN, /^[ \t\r\n\f]+/, null, ' \t\r\n\f']
38
+ ],
39
+ [
40
+ // Quoted strings. <string1> and <string2>
41
+ [PR.PR_STRING,
42
+ /^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/, null],
43
+ [PR.PR_STRING,
44
+ /^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/, null],
45
+ ['lang-css-str', /^url\(([^\)\"\']*)\)/i],
46
+ [PR.PR_KEYWORD,
47
+ /^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,
48
+ null],
49
+ // A property name -- an identifier followed by a colon.
50
+ ['lang-css-kw', /^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],
51
+ // A C style block comment. The <comment> production.
52
+ [PR.PR_COMMENT, /^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],
53
+ // Escaping text spans
54
+ [PR.PR_COMMENT, /^(?:<!--|-->)/],
55
+ // A number possibly containing a suffix.
56
+ [PR.PR_LITERAL, /^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],
57
+ // A hex color
58
+ [PR.PR_LITERAL, /^#(?:[0-9a-f]{3}){1,2}/i],
59
+ // An identifier
60
+ [PR.PR_PLAIN,
61
+ /^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],
62
+ // A run of punctuation
63
+ [PR.PR_PUNCTUATION, /^[^\s\w\'\"]+/]
64
+ ]),
65
+ ['css']);
66
+ PR.registerLangHandler(
67
+ PR.createSimpleLexer([],
68
+ [
69
+ [PR.PR_KEYWORD,
70
+ /^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]
71
+ ]),
72
+ ['css-kw']);
73
+ PR.registerLangHandler(
74
+ PR.createSimpleLexer([],
75
+ [
76
+ [PR.PR_STRING, /^[^\)\"\']+/]
77
+ ]),
78
+ ['css-str']);