gofimports/internal/imports/formatter_option.go

43 lines
887 B
Go
Raw Normal View History

2022-11-24 17:14:47 +00:00
package imports
import "strings"
2022-11-24 17:14:47 +00:00
type FormatterOptionFn func(*Formatter)
2022-11-24 17:21:59 +00:00
func FormatterWithList(isList bool) FormatterOptionFn {
return func(ft *Formatter) {
ft.isList = isList
2022-11-24 17:14:47 +00:00
}
}
2022-11-24 17:21:59 +00:00
func FormatterWithWrite(isWrite bool) FormatterOptionFn {
return func(ft *Formatter) {
ft.isWrite = isWrite
2022-11-24 17:14:47 +00:00
}
}
2022-11-24 17:21:59 +00:00
func FormatterWithDiff(isDiff bool) FormatterOptionFn {
return func(ft *Formatter) {
ft.isDiff = isDiff
}
}
func FormatterWithVerbose(isVerbose bool) FormatterOptionFn {
return func(ft *Formatter) {
ft.isVerbose = isVerbose
}
}
func FormatterWithCompanyPrefix(companyPrefix string) FormatterOptionFn {
return func(ft *Formatter) {
ft.companyPrefixes = make(map[string]struct{})
for _, prefix := range strings.Split(companyPrefix, ",") {
prefix = strings.TrimSpace(prefix)
if prefix == "" {
continue
}
ft.companyPrefixes[prefix] = struct{}{}
}
2022-11-24 17:14:47 +00:00
}
}