source: branches/2.2/plugins/LocalFilesEditor/codemirror/mode/javascript/index.html @ 10310

Last change on this file since 10310 was 10310, checked in by patdenice, 13 years ago

merge r10307 from trunk to branch 2.2
feature:2262
Replace editarea by Codemirror:
http://codemirror.net

File size: 2.5 KB
Line 
1<!doctype html>
2<html>
3  <head>
4    <title>CodeMirror 2: JavaScript mode</title>
5    <link rel="stylesheet" href="../../lib/codemirror.css">
6    <script src="../../lib/codemirror.js"></script>
7    <script src="javascript.js"></script>
8    <link rel="stylesheet" href="javascript.css">
9    <link rel="stylesheet" href="../../css/docs.css">
10    <style type="text/css">.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>
11  </head>
12  <body>
13    <h1>CodeMirror 2: JavaScript mode</h1>
14
15<div><textarea id="code" name="code">
16// Demo code (the actual new parser character stream implementation)
17
18function StringStream(string) {
19  this.pos = 0;
20  this.string = string;
21}
22
23StringStream.prototype = {
24  done: function() {return this.pos >= this.string.length;},
25  peek: function() {return this.string.charAt(this.pos);},
26  next: function() {
27    if (this.pos &lt; this.string.length)
28      return this.string.charAt(this.pos++);
29  },
30  eat: function(match) {
31    var ch = this.string.charAt(this.pos);
32    if (typeof match == "string") var ok = ch == match;
33    else var ok = ch &amp;&amp; match.test ? match.test(ch) : match(ch);
34    if (ok) {this.pos++; return ch;}
35  },
36  eatWhile: function(match) {
37    var start = this.pos;
38    while (this.eat(match));
39    if (this.pos > start) return this.string.slice(start, this.pos);
40  },
41  backUp: function(n) {this.pos -= n;},
42  column: function() {return this.pos;},
43  eatSpace: function() {
44    var start = this.pos;
45    while (/\s/.test(this.string.charAt(this.pos))) this.pos++;
46    return this.pos - start;
47  },
48  match: function(pattern, consume, caseInsensitive) {
49    if (typeof pattern == "string") {
50      function cased(str) {return caseInsensitive ? str.toLowerCase() : str;}
51      if (cased(this.string).indexOf(cased(pattern), this.pos) == this.pos) {
52        if (consume !== false) this.pos += str.length;
53        return true;
54      }
55    }
56    else {
57      var match = this.string.slice(this.pos).match(pattern);
58      if (match &amp;&amp; consume !== false) this.pos += match[0].length;
59      return match;
60    }
61  }
62};
63</textarea></div>
64
65    <script>
66      var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
67        lineNumbers: true,
68        matchBrackets: true
69      });
70    </script>
71
72    <p>JavaScript mode supports a single configuration
73    option, <code>json</code>, which will set the mode to expect JSON
74    data rather than a JavaScript program.</p>
75
76    <p><strong>MIME types defined:</strong> <code>text/javascript</code>, <code>application/json</code>.</p>
77  </body>
78</html>
Note: See TracBrowser for help on using the repository browser.