code: function (streamer, token) {
  	var character = streamer.next(true),
  		attrs  = token.attrs,
  		events = token.events,
  		i, key, value;
  
  	while (character && character !== ']') {
  		if (character === '(') {
  			streamer.next(true);
  			key = parse_identifier(streamer);
  			character = streamer.next(true);
  
  			if (character !== ')') {
  				throw new SyntaxError("[JeefoTemplate]: Invalid syntax error.");
  			}
  
  			character = streamer.next(true);
  			if (character === '=') {
  				streamer.next(true);
  				value = parse_value(streamer);
  				character = streamer.next(true);
  			} else {
  				throw new SyntaxError("[JeefoTemplate]: Invalid syntax error, empty event.");
  			}
  
  			events.set(key, value);
  		} else {
  			key = dash_case(parse_identifier(streamer));
  
  			character = streamer.next(true);
  
  			if (character === '=') {
  				streamer.next(true);
  				value = parse_value(streamer);
  				character = streamer.next(true);
  			} else if (key === "class") {
  				throw new SyntaxError("[JeefoTemplate]: Expected class value.");
  			} else {
  				value = null;
  			}
  
  			if (key === "class") {
  				key   = token.class_list.list;
  				value = new ClassList(value.split(WHITESPACE_REGEX));
  
  				for (i = 0; i < key.length; ++i) {
  					value.add(key[i]);
  				}
  
  				token.class_list = value;
  			} else {
  				attrs.set(key, value);
  			}
  		}
  
  		while (character === ',') {
  			character = streamer.next(true);
  		}
  	}
  }
docs: /* globals /* exported ignore:end