<commit_before>define(function (require,exports, module) {
    const EditorPopupMarker=require("EditorPopupMarker");
    const root= require("root");
    const Range = root.ace.require('ace/range').Range;
    module.exports=ide=>{
        const interval=200;
        setTimeout(check,interval);
        let charge=0;
        async function check() {
            const inf=ide.getCurrentEditorInfo();
            if (inf) {
                const curVal=inf.editor.getValue();
                if (ide.lastVal!==curVal) {
                    ide.lastVal=curVal;
                    charge=0;
                } else {
                    charge+=interval;
                }
                if (charge>1000) {
                    charge=0;
                    if (inf.markers) {
                        for (let marker of inf.markers) marker.remove();
                    }
                    inf.markers=[];
                    //console.log("Parse");
                    try {
                        await ide.project.compiler.parse(inf.file, curVal);
                    }catch (e) {
                        if (typeof e.row==="number" && typeof e.col==="number") {
                            const range=new Range(e.row-1,e.col-1,e.row-1,e.col-0);
                            const marker=EditorPopupMarker.mark(inf.editor, range,"errorMarker",e.message);
                            inf.markers.push(marker);
                        }
                        //console.log("Mark!ERROR!",e);
                    }
                    //console.log("Parse Done");
                    //inf.lastParsed=curVal;
                }
            }
            setTimeout(check,interval);
        }
    };
});<commit_msg>Update RealtimeErrorMarker.js<commit_after>define(function (require,exports, module) {
    const EditorPopupMarker=require("EditorPopupMarker");
    const root= require("root");
    const Range = root.ace.require('ace/range').Range;
    module.exports=ide=>{
        const interval=200;
        setTimeout(check,interval);
        let charge=0;
        async function check() {
            const inf=ide.getCurrentEditorInfo();
            if (inf) {
                const curVal=inf.editor.getValue();
                if (inf.lastParsed===curVal) {
                    charge=0;
                } else if (ide.lastVal!==curVal) {
                    ide.lastVal=curVal;
                    charge=0;
                } else {
                    charge+=interval;
                }
                if (charge>1000) {
                    charge=0;
                    if (inf.markers) {
                        for (let marker of inf.markers) marker.remove();
                    }
                    inf.markers=[];
                    //console.log("Parse");
                    try {
                        await ide.project.compiler.parse(inf.file, curVal);
                    }catch (e) {
                        if (typeof e.row==="number" && typeof e.col==="number") {
                            const range=new Range(e.row-1,e.col-1,e.row-1,e.col-0);
                            const marker=EditorPopupMarker.mark(inf.editor, range,"errorMarker",e.message);
                            inf.markers.push(marker);
                        }
                        //console.log("Mark!ERROR!",e);
                    }
                    //console.log("Parse Done");
                    inf.lastParsed=curVal;
                }
            }
            setTimeout(check,interval);
        }
    };
});
{'fraction_non_alphanumeric': 0.12166761202495746, 'fraction_numerical': 0.008224617129892229, 'mean_word_length': 1.1401699029126213, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7371176', 'n_tokens_mistral': 924, 'n_tokens_neox': 875, 'n_words': 141}