// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: https://codemirror.net/LICENSE // Depends on jsonlint.js from https://github.com/zaach/jsonlint // declare global: jsonlint ;(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', 'json', function (text) { var found = [] if (!window.jsonlint) { if (window.console) { window.console.error('Error: window.jsonlint not defined, CodeMirror JSON linting cannot run.') } return found } // for jsonlint's web dist jsonlint is exported as an object with a single property parser, of which parseError // is a subproperty var jsonlint = window.jsonlint.parser || window.jsonlint jsonlint.parseError = function (str, hash) { var loc = hash.loc found.push({ from: CodeMirror.Pos(loc.first_line - 1, loc.first_column), to: CodeMirror.Pos(loc.last_line - 1, loc.last_column), message: str }) } try { jsonlint.parse(text) } catch (e) {} return found }) })