// Code generated by go generate; DO NOT EDIT.

package options

import "encoding"

var (
	_ Option                   = (*CompactOutput)(nil)
	_ encoding.TextUnmarshaler = (*CompactOutput)(nil)
	_ Option                   = (*NullInput)(nil)
	_ encoding.TextUnmarshaler = (*NullInput)(nil)
	_ Option                   = (*Slurp)(nil)
	_ encoding.TextUnmarshaler = (*Slurp)(nil)
	_ Option                   = (*RawOutput)(nil)
	_ encoding.TextUnmarshaler = (*RawOutput)(nil)
	_ Option                   = (*JoinOutput)(nil)
	_ encoding.TextUnmarshaler = (*JoinOutput)(nil)
	_ Option                   = (*ASCIIOutput)(nil)
	_ encoding.TextUnmarshaler = (*ASCIIOutput)(nil)
	_ Option                   = (*RawInput)(nil)
	_ encoding.TextUnmarshaler = (*RawInput)(nil)
	_ Option                   = (*Monochrome)(nil)
	_ encoding.TextUnmarshaler = (*Monochrome)(nil)
	_ Option                   = (*ForceColor)(nil)
	_ encoding.TextUnmarshaler = (*ForceColor)(nil)
	_ Option                   = (*SortKeys)(nil)
	_ encoding.TextUnmarshaler = (*SortKeys)(nil)
	_ Option                   = (*LibraryPaths)(nil)
	_ encoding.TextUnmarshaler = (*LibraryPaths)(nil)
	_ Option                   = (*HideInputPane)(nil)
	_ encoding.TextUnmarshaler = (*HideInputPane)(nil)
	_ Option                   = (*JQCommand)(nil)
	_ encoding.TextUnmarshaler = (*JQCommand)(nil)
	_ Option                   = (*HistoryFile)(nil)
	_ encoding.TextUnmarshaler = (*HistoryFile)(nil)
)

type (
	CompactOutput bool
	NullInput     bool
	Slurp         bool
	RawOutput     bool
	JoinOutput    bool
	ASCIIOutput   bool
	RawInput      bool
	Monochrome    bool
	ForceColor    bool
	SortKeys      bool
	LibraryPaths  []string
	HideInputPane bool
	JQCommand     string
	HistoryFile   string
)

type Options struct {
	CompactOutput CompactOutput
	NullInput     NullInput
	Slurp         Slurp
	RawOutput     RawOutput
	JoinOutput    JoinOutput
	ASCIIOutput   ASCIIOutput
	RawInput      RawInput
	Monochrome    Monochrome
	ForceColor    ForceColor
	SortKeys      SortKeys
	LibraryPaths  LibraryPaths
	HideInputPane HideInputPane
	JQCommand     JQCommand
	HistoryFile   HistoryFile
}

func (CompactOutput) String() string {
	return "Compact output"
}

func (CompactOutput) Flag() string {
	return "c"
}
func (option *CompactOutput) Set(value string) error {
	return setBoolOption(option, value)
}

func (option *CompactOutput) IsBoolFlag() bool {
	return true
}

func (option *CompactOutput) UnmarshalText(text []byte) error {
	return unmarshalTextValue(option, text)
}

func (NullInput) String() string {
	return "Use null input"
}

func (NullInput) Flag() string {
	return "n"
}
func (option *NullInput) Set(value string) error {
	return setBoolOption(option, value)
}

func (option *NullInput) IsBoolFlag() bool {
	return true
}

func (option *NullInput) UnmarshalText(text []byte) error {
	return unmarshalTextValue(option, text)
}

func (Slurp) String() string {
	return "Slurp input"
}

func (Slurp) Flag() string {
	return "s"
}
func (option *Slurp) Set(value string) error {
	return setBoolOption(option, value)
}

func (option *Slurp) IsBoolFlag() bool {
	return true
}

func (option *Slurp) UnmarshalText(text []byte) error {
	return unmarshalTextValue(option, text)
}

func (RawOutput) String() string {
	return "Raw output"
}

func (RawOutput) Flag() string {
	return "r"
}
func (option *RawOutput) Set(value string) error {
	return setBoolOption(option, value)
}

func (option *RawOutput) IsBoolFlag() bool {
	return true
}

func (option *RawOutput) UnmarshalText(text []byte) error {
	return unmarshalTextValue(option, text)
}

func (JoinOutput) String() string {
	return "Join output"
}

func (JoinOutput) Flag() string {
	return "j"
}
func (option *JoinOutput) Set(value string) error {
	return setBoolOption(option, value)
}

func (option *JoinOutput) IsBoolFlag() bool {
	return true
}

func (option *JoinOutput) UnmarshalText(text []byte) error {
	return unmarshalTextValue(option, text)
}

func (ASCIIOutput) String() string {
	return "ASCII output"
}

func (ASCIIOutput) Flag() string {
	return "a"
}
func (option *ASCIIOutput) Set(value string) error {
	return setBoolOption(option, value)
}

func (option *ASCIIOutput) IsBoolFlag() bool {
	return true
}

func (option *ASCIIOutput) UnmarshalText(text []byte) error {
	return unmarshalTextValue(option, text)
}

func (RawInput) String() string {
	return "Read raw strings"
}

func (RawInput) Flag() string {
	return "R"
}
func (option *RawInput) Set(value string) error {
	return setBoolOption(option, value)
}

func (option *RawInput) IsBoolFlag() bool {
	return true
}

func (option *RawInput) UnmarshalText(text []byte) error {
	return unmarshalTextValue(option, text)
}

func (Monochrome) String() string {
	return "Monochrome output"
}

func (Monochrome) Flag() string {
	return "M"
}
func (option *Monochrome) Set(value string) error {
	return setBoolOption(option, value)
}

func (option *Monochrome) IsBoolFlag() bool {
	return true
}

func (option *Monochrome) UnmarshalText(text []byte) error {
	return unmarshalTextValue(option, text)
}

func (ForceColor) String() string {
	return "Force color"
}

func (ForceColor) Flag() string {
	return "C"
}
func (option *ForceColor) Set(value string) error {
	return setBoolOption(option, value)
}

func (option *ForceColor) IsBoolFlag() bool {
	return true
}

func (option *ForceColor) UnmarshalText(text []byte) error {
	return unmarshalTextValue(option, text)
}

func (SortKeys) String() string {
	return "Sort keys"
}

func (SortKeys) Flag() string {
	return "S"
}
func (option *SortKeys) Set(value string) error {
	return setBoolOption(option, value)
}

func (option *SortKeys) IsBoolFlag() bool {
	return true
}

func (option *SortKeys) UnmarshalText(text []byte) error {
	return unmarshalTextValue(option, text)
}

func (LibraryPaths) String() string {
	return "Add path to library search path"
}

func (LibraryPaths) Flag() string {
	return "L"
}
func (option *LibraryPaths) Set(value string) error {
	*option = append(*option, value)
	return nil
}

func (option *LibraryPaths) UnmarshalText(text []byte) error {
	return unmarshalTextValue(option, text)
}

func (HideInputPane) String() string {
	return "Hide input (left) viewing pane"
}

func (HideInputPane) Flag() string {
	return "hide-input-pane"
}
func (option *HideInputPane) Set(value string) error {
	return setBoolOption(option, value)
}

func (option *HideInputPane) IsBoolFlag() bool {
	return true
}

func (option *HideInputPane) UnmarshalText(text []byte) error {
	return unmarshalTextValue(option, text)
}

func (JQCommand) String() string {
	return "name of or path to jq binary to use"
}

func (JQCommand) Flag() string {
	return "jqbin"
}
func (option *JQCommand) Set(value string) error {
	*option = JQCommand(value)
	return nil
}

func (option *JQCommand) UnmarshalText(text []byte) error {
	return unmarshalTextValue(option, text)
}

func (HistoryFile) String() string {
	return "set path to history file. Set to '' to disable history"
}

func (HistoryFile) Flag() string {
	return "H"
}
func (option *HistoryFile) Set(value string) error {
	*option = HistoryFile(value)
	return nil
}

func (option *HistoryFile) UnmarshalText(text []byte) error {
	return unmarshalTextValue(option, text)
}
