func WithNamedCallback(cb OnNamedParam) LexOption {
	return func(l *Lexer) {
		l.onNamed = cb
	}
}
WithNamedCallback sets the optional named parameter callback
package parse
import (
	"strings"
	"unicode"
	"unicode/utf8"
)
type SubstitutePosParam func() string
func defaultPosSubstitution() string {
	return "?"
}
type OnNamedParam func(name string)
func defaultNamedCallback(name string) {
}
const eof = -1
type Lexer struct {
	input        string
	pos          int
	start        int
	width        int
	onNamed      OnNamedParam
	onPositional SubstitutePosParam
	output       strings.Builder
}
type LexOption func(*Lexer)
func WithPositionalSubstitution(cb SubstitutePosParam) LexOption {
	return func(l *Lexer) {
		l.onPositional = cb
	}
}