Ejemplo n.º 1
0
    this.onUpdate = function() {
        var value = this.doc.getValue();
        value = value.replace(/^#!.*\n/, "\n");
        
//        var start = new Date();
        var parser = require("ace/narcissus/jsparse");
        try {
            parser.parse(value);
        } catch(e) {
//            console.log("narcissus")
//            console.log(e);
            this.sender.emit("narcissus", {
                row: e.lineno-1,
                column: null, // TODO convert e.cursor
                text: e.message,
                type: "error"
            });
            return;
        } finally {
//            console.log("parse time: " + (new Date() - start));
        }
        
//        var start = new Date();
//        console.log("jslint")
        lint(value, {undef: false, onevar: false, passfail: false});
        this.sender.emit("jslint", lint.errors);        
//        console.log("lint time: " + (new Date() - start));
    }
Ejemplo n.º 2
0
handler.analyze = function(doc) {
    var value = doc.getValue();
    value = value.replace(/^(#!.*\n)/, "//$1");

    var markers = [];
    try {
        parser.parse(value);
    }
    catch (e) {
        var chunks = e.message.split(":");
        var message = chunks.pop().trim();
        var lineNumber = parseInt(chunks.pop().trim(), 10) - 1;
        markers = [{
            pos: {
                sl: lineNumber,
                el: lineNumber
            },
            message: message,
            type: "error"
        }];
        return markers;
    }
    finally {}
    if (this.isFeatureEnabled("jshint")) {
        lint(value, {
            undef: false,
            onevar: false,
            passfail: false
        });
        lint.errors.forEach(function(warning) {
            if (!warning)
                return;
            markers.push({
                pos: {
                    sl: warning.line-1,
                    sc: warning.column-1
                },
                type: 'warning',
                message: warning.reason
            });
        });
    }
    return markers;
};
Ejemplo n.º 3
0
 this.onUpdate = function() {
     var value = this.doc.getValue();
     value = value.replace(/^#!.*\n/, "\n");
     
     var parser = require("ace/narcissus/jsparse");
     try {
         parser.parse(value);
     } catch(e) {
         var chunks = e.message.split(":")
         var message = chunks.pop().trim();
         var lineNumber = parseInt(chunks.pop().trim()) - 1;
         this.sender.emit("narcissus", {
             row: lineNumber,
             column: null, // TODO convert e.cursor
             text: message,
             type: "error"
         });
         return;
     }
     lint(value, {undef: false, onevar: false, passfail: false});
     this.sender.emit("jslint", lint.errors);        
 }