docs: function calculateTruePrefix(buffer, offset, escapeCharacter) {
  		var char = buffer.charAt(offset - 1);
  		switch (char) {
  			case '\n':
  				var escapedPrefix = "";
  				for (var i = offset - 1; i >= 0; i--) {
  					if (buffer.charAt(i) === '\n') {
  						if (buffer.charAt(i - 1) === escapeCharacter) {
  							i--;
  						} else if (buffer.charAt(i - 1) === '\r' && buffer.charAt(i - 2) === escapeCharacter) {
  							i = i -2;
  						} else {
  							break;
  						}
  					} else if (buffer.charAt(i) === ' ' || buffer.charAt(i) === '\t') {
  						break;
  					} else {
  						escapedPrefix = buffer.charAt(i).toUpperCase() + escapedPrefix;
  					}
  				}
  				
  				if (escapedPrefix !== "") {
  					return escapedPrefix;
  				}
  				break;
  			case '\r':
  			case ' ':
  			case '\t':
  				break;
  			default:
  				var truePrefix = char;
  				prefixCheck: for (i = offset - 2; i >= 0; i--) {
  					char = buffer.charAt(i);
  					switch (char) {
  						case '\r':
  						case '\n':
  						case ' ':
  						case '\t':
  							break prefixCheck;
  						default:
  							for (i = offset - 2; i >= 0; i--) {
  								truePrefix = char + truePrefix;
  							}
  							break;
  					}
  				}
  				return truePrefix;
  		}
  		return "";
  	}