anchor.diff:    rb_str_append(input_copy, rb_str_new2("\n%_FEATURE_END_%"));
     char *data = RSTRING_PTR(input_copy);
     size_t len = RSTRING_LEN(input_copy);
  -  
  -  if (count_char('\r', data) > (count_char('\n', data) / 2)) {
  -    lexer->eol = CRLF_FLAG;
  -  }
     
     if (len == 0) { 
       rb_raise(rb_eGherkinLexingError, "No content to lex.");
  
positive.code:   kw = ENCODED_STR_NEW(keyword_at, keyword_length);
    con = ENCODED_STR_NEW(at, length);
  
    VALUE split = unindent(con, start_col);
    
    name = rb_funcall(split, rb_intern("shift"), 0);
    desc = rb_ary_join(split, rb_str_new2( \
            eol == CRLF_FLAG ? CRLF : LF ));
  
    if( name == Qnil ) 
    {
  
negative.code: %% write data;
  
  static VALUE 
  unindent(VALUE con, int start_col)
  {
    // Gherkin will crash gracefully if the string representation of start_col pushes the pattern past 32 characters
  