You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: token_consumers.go
    path of file: ./repos/corteza/server/pkg/ql
    
    the code of the file until where you have to start completion: package ql

import (
	"bytes"
	"strings"
)

type (
	TokenConsumerWS       struct{}
	TokenConsumerIdent    struct{}
	TokenConsumerOperator struct{}
	TokenConsumerComma    struct{}
	TokenConsumerString   struct{}
	TokenConsumerNumber   struct{}
	TokenConsumerGeneric  struct {
		token     tokenCode
		whitelist string
		maxLength int
	}
)

func in(ch
    
func (str TokenConsumerString) Consume(s RuneReader) Token {
	var buf bytes.Buffer
	var escaping = false
	var ch = s.read() // skip quite

	for {
		if ch = s.read(); ch == eof {
			break
		} else if !escaping && str.Test(ch) { // test for quote
			return Token{code: LSTRING, literal: buf.String()}
		} else {
			escaping = !escaping && ch == '\\'
			if !escaping {
				// Add char to buffer if not escaping
				_, _ = buf.WriteRune(ch)
			}
		}
	}

	// This string did not end properly (with an enclosing quote).
	return Token{code: ILLEGAL, literal: buf.String() + string(ch)}
}