code: func lex(name, input string) *lexer {
  	l := &lexer{
  		name:  name,
  		input: input,
  		items: make(chan item),
  		state: lexText,
  	}
  	go l.run()
  	return l
  }
docs: // lex creates a new scanner for the input string.