config-lsp/common/errors.go
2024-07-28 18:05:24 +02:00

49 lines
932 B
Go

package common
import (
"fmt"
"strings"
)
type ParserError interface{}
type OptionAlreadyExistsError struct {
Option string
FoundOnLine uint32
}
func (e OptionAlreadyExistsError) Error() string {
return fmt.Sprintf("Option %s already exists", e.Option)
}
type OptionUnknownError struct {
Option string
}
func (e OptionUnknownError) Error() string {
return fmt.Sprintf("Option '%s' does not exist", e.Option)
}
type MalformedLineError struct {
Line string
}
func (e MalformedLineError) Error() string {
return fmt.Sprintf("Malformed line: %s", e.Line)
}
type LineNotFoundError struct{}
func (e LineNotFoundError) Error() string {
return "Line not found"
}
type ValueNotInEnumError struct {
availableValues []string
providedValue string
}
func (e ValueNotInEnumError) Error() string {
return fmt.Sprint("'%s' is not valid. Select one from: %s", e.providedValue, strings.Join(e.availableValues, ","))
}