code: function(context) {
  				var evaluate = function(rules, createRule) {
  					var i;
  					rules = rules || [];
  					for (i = 0; i < rules.length; i++) {
  						if (typeof(rules[i]) === "function") {
  							if (rules[i](context)) {
  								return defaultHandleToken("named-ident")(context);
  							}
  						} else if (createRule && createRule(rules[i])(context.tokens)) {
  							return defaultHandleToken("named-ident")(context);
  						}
  					}
  
  					return false;
  				};
  
  				return evaluate(context.language.namedIdentRules.custom)
  					|| evaluate(context.language.namedIdentRules.follows, function(ruleData) { return createProceduralRule(context.index - 1, -1, ruleData, context.language.caseInsensitive); })
  					|| evaluate(context.language.namedIdentRules.precedes, function(ruleData) { return createProceduralRule(context.index + 1, 1, ruleData, context.language.caseInsensitive); })
  					|| evaluate(context.language.namedIdentRules.between, function(ruleData) { return createBetweenRule(context.index, ruleData.opener, ruleData.closer, context.language.caseInsensitive); })
  					|| defaultHandleToken("ident")(context);
  			}
docs: this handles the named ident mayhem