code: function handleToken(tokens, name) {
  		var value = tokens[name];
  
  		var type = Prism.util.type(value);
  		switch (type) {
  			case 'RegExp':
  				var inside = {};
  				tokens[name] = {
  					pattern: value,
  					inside: inside
  				};
  				addInvisibles(inside);
  				break;
  
  			case 'Array':
  				for (var i = 0, l = value.length; i < l; i++) {
  					handleToken(value, i);
  				}
  				break;
  
  			default: // 'Object'
  				var inside = value.inside || (value.inside = {});
  				addInvisibles(inside);
  				break;
  		}
  	}
docs: Handles the recursive calling of `addInvisibles` for one token.
  
  @param {Object|Array} tokens The grammar or array which contains the token.
  @param {string|number} name The name or index of the token in `tokens`.