code: func scanWithName(input string, name string) *Lexer {
  	result := &Lexer{
  		input:  input,
  		name:   name,
  		tokens: make(chan Token),
  		line:   1,
  	}
  
  	go result.run()
  
  	return result
  }
docs: // scanWithName scans given input, with a name used for testing
  //
  // Tokens can then be fetched sequentially thanks to NextToken() function on returned lexer.