code: function extractText(abbr) {
  		if (!~abbr.indexOf('{'))
  			return null;
  		
  		/** @type StringStream */
  		var stream = stringStream.create(abbr);
  		while (!stream.eol()) {
  			switch (stream.peek()) {
  				case '[':
  				case '(':
  					stream.skipToPair(stream.peek(), pairs[stream.peek()]); break;
  					
  				case '{':
  					stream.start = stream.pos;
  					stream.skipToPair('{', '}');
  					return {
  						element: abbr.substring(0, stream.start),
  						text: stripped(stream.current())
  					};
  					
  				default:
  					stream.next();
  			}
  		}
  	}
docs: Extract text data from abbreviation: if <code>a{hello}</code> abbreviation
  is passed, returns object <code>{element: 'a', text: 'hello'}</code>.
  If nothing found, returns <code>null</code>
  @param {String} abbr