123456789101112131415161718192021222324252627282930313233343536373839404142 |
- // CodeMirror, copyright (c) by Marijn Haverbeke and others
- // Distributed under an MIT license: https://codemirror.net/LICENSE
- // Depends on coffeelint.js from http://www.coffeelint.org/js/coffeelint.js
- // declare global: coffeelint
- ;(function (mod) {
- if (typeof exports == 'object' && typeof module == 'object')
- // CommonJS
- mod(require('../../lib/codemirror'))
- else if (typeof define == 'function' && define.amd)
- // AMD
- define(['../../lib/codemirror'], mod)
- // Plain browser env
- else mod(CodeMirror)
- })(function (CodeMirror) {
- 'use strict'
- CodeMirror.registerHelper('lint', 'coffeescript', function (text) {
- var found = []
- if (!window.coffeelint) {
- if (window.console) {
- window.console.error('Error: window.coffeelint not defined, CodeMirror CoffeeScript linting cannot run.')
- }
- return 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
- })
- })
|