in public/src/sense_editor/row_parser.js [13:59]
this.getRowParseMode = function (row) {
if (row == null || typeof row == "undefined") {
row = editor.getCursorPosition().row;
}
var session = editor.getSession();
if (row >= session.getLength() || row < 0) {
return MODE.BETWEEN_REQUESTS;
}
var mode = session.getState(row);
if (!mode) {
return MODE.BETWEEN_REQUESTS;
} // shouldn't really happen
if (mode !== "start") {
return MODE.IN_REQUEST;
}
var line = (session.getLine(row) || "").trim();
if (!line || line[0] === '#') {
return MODE.BETWEEN_REQUESTS;
} // empty line or a comment waiting for a new req to start
if (line.indexOf("}", line.length - 1) >= 0) {
// check for a multi doc request (must start a new json doc immediately after this one end.
row++;
if (row < session.getLength()) {
line = (session.getLine(row) || "").trim();
if (line.indexOf("{") === 0) { // next line is another doc in a multi doc
return MODE.MULTI_DOC_CUR_DOC_END | MODE.IN_REQUEST;
}
}
return MODE.REQUEST_END | MODE.MULTI_DOC_CUR_DOC_END; // end of request
}
// check for single line requests
row++;
if (row >= session.getLength()) {
return MODE.REQUEST_START | MODE.REQUEST_END;
}
line = (session.getLine(row) || "").trim();
if (line.indexOf("{") !== 0) { // next line is another request
return MODE.REQUEST_START | MODE.REQUEST_END;
}
return MODE.REQUEST_START;
};