12345678910111213141516171819202122232425262728293031323334353637383940 |
- // 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
- })
- })
|