summaryrefslogtreecommitdiff
path: root/public/vendor/codemirror/mode/dart
diff options
context:
space:
mode:
Diffstat (limited to 'public/vendor/codemirror/mode/dart')
-rwxr-xr-xpublic/vendor/codemirror/mode/dart/dart.js50
-rwxr-xr-xpublic/vendor/codemirror/mode/dart/index.html71
2 files changed, 121 insertions, 0 deletions
diff --git a/public/vendor/codemirror/mode/dart/dart.js b/public/vendor/codemirror/mode/dart/dart.js
new file mode 100755
index 00000000..a49e218c
--- /dev/null
+++ b/public/vendor/codemirror/mode/dart/dart.js
@@ -0,0 +1,50 @@
+// CodeMirror, copyright (c) by Marijn Haverbeke and others
+// Distributed under an MIT license: http://codemirror.net/LICENSE
+
+(function(mod) {
+ if (typeof exports == "object" && typeof module == "object") // CommonJS
+ mod(require("../../lib/codemirror"), require("../clike/clike"));
+ else if (typeof define == "function" && define.amd) // AMD
+ define(["../../lib/codemirror", "../clike/clike"], mod);
+ else // Plain browser env
+ mod(CodeMirror);
+})(function(CodeMirror) {
+ "use strict";
+
+ var keywords = ("this super static final const abstract class extends external factory " +
+ "implements get native operator set typedef with enum throw rethrow " +
+ "assert break case continue default in return new deferred async await " +
+ "try catch finally do else for if switch while import library export " +
+ "part of show hide is").split(" ");
+ var blockKeywords = "try catch finally do else for if switch while".split(" ");
+ var atoms = "true false null".split(" ");
+ var builtins = "void bool num int double dynamic var String".split(" ");
+
+ function set(words) {
+ var obj = {};
+ for (var i = 0; i < words.length; ++i) obj[words[i]] = true;
+ return obj;
+ }
+
+ CodeMirror.defineMIME("application/dart", {
+ name: "clike",
+ keywords: set(keywords),
+ multiLineStrings: true,
+ blockKeywords: set(blockKeywords),
+ builtin: set(builtins),
+ atoms: set(atoms),
+ hooks: {
+ "@": function(stream) {
+ stream.eatWhile(/[\w\$_]/);
+ return "meta";
+ }
+ }
+ });
+
+ CodeMirror.registerHelper("hintWords", "application/dart", keywords.concat(atoms).concat(builtins));
+
+ // This is needed to make loading through meta.js work.
+ CodeMirror.defineMode("dart", function(conf) {
+ return CodeMirror.getMode(conf, "application/dart");
+ }, "clike");
+});
diff --git a/public/vendor/codemirror/mode/dart/index.html b/public/vendor/codemirror/mode/dart/index.html
new file mode 100755
index 00000000..e79da5a8
--- /dev/null
+++ b/public/vendor/codemirror/mode/dart/index.html
@@ -0,0 +1,71 @@
+<!doctype html>
+
+<title>CodeMirror: Dart mode</title>
+<meta charset="utf-8"/>
+<link rel=stylesheet href="../../doc/docs.css">
+<link rel="stylesheet" href="../../lib/codemirror.css">
+<script src="../../lib/codemirror.js"></script>
+<script src="../clike/clike.js"></script>
+<script src="dart.js"></script>
+<style>.CodeMirror {border: 1px solid #dee;}</style>
+<div id=nav>
+ <a href="http://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png"></a>
+
+ <ul>
+ <li><a href="../../index.html">Home</a>
+ <li><a href="../../doc/manual.html">Manual</a>
+ <li><a href="https://github.com/codemirror/codemirror">Code</a>
+ </ul>
+ <ul>
+ <li><a href="../index.html">Language modes</a>
+ <li><a class=active href="#">Dart</a>
+ </ul>
+</div>
+
+<article>
+<h2>Dart mode</h2>
+<form>
+<textarea id="code" name="code">
+import 'dart:math' show Random;
+
+void main() {
+ print(new Die(n: 12).roll());
+}
+
+// Define a class.
+class Die {
+ // Define a class variable.
+ static Random shaker = new Random();
+
+ // Define instance variables.
+ int sides, value;
+
+ // Define a method using shorthand syntax.
+ String toString() => '$value';
+
+ // Define a constructor.
+ Die({int n: 6}) {
+ if (4 <= n && n <= 20) {
+ sides = n;
+ } else {
+ // Support for errors and exceptions.
+ throw new ArgumentError(/* */);
+ }
+ }
+
+ // Define an instance method.
+ int roll() {
+ return value = shaker.nextInt(sides) + 1;
+ }
+}
+</textarea>
+</form>
+
+<script>
+ var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
+ lineNumbers: true,
+ mode: "application/dart"
+ });
+</script>
+
+</article>