move a few things away in to-be-integrated/
[myslice.git] / to-be-integrated / third-party / codemirror-3.15 / addon / lint / coffeescript-lint.js
diff --git a/to-be-integrated/third-party/codemirror-3.15/addon/lint/coffeescript-lint.js b/to-be-integrated/third-party/codemirror-3.15/addon/lint/coffeescript-lint.js
new file mode 100644 (file)
index 0000000..75f8db6
--- /dev/null
@@ -0,0 +1,25 @@
+// Depends on coffeelint.js from http://www.coffeelint.org/js/coffeelint.js
+
+CodeMirror.registerHelper("lint", "coffeescript", function(text) {
+  var found = [];
+  var parseError = function(err) {
+    var loc = err.lineNumber;
+    found.push({from: CodeMirror.Pos(loc-1, 0),
+                to: CodeMirror.Pos(loc, 0),
+                severity: err.level,
+                message: err.message});
+  };
+  try {
+    var res = coffeelint.lint(text);
+    for(var i = 0; i < res.length; i++) {
+      parseError(res[i]);
+    }
+  } catch(e) {
+    found.push({from: CodeMirror.Pos(e.location.first_line, 0),
+                to: CodeMirror.Pos(e.location.last_line, e.location.last_column),
+                severity: 'error',
+                message: e.message});
+  }
+  return found;
+});
+CodeMirror.coffeeValidator = CodeMirror.lint.coffeescript; // deprecated