this.getRowParseMode = function()

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;
  };