@@ -10,32 +10,31 @@ package cli
1010import (
1111 "fmt"
1212 "strings"
13- )
1413
15- import (
1614 "github.com/pkg/errors"
1715 "github.com/spf13/pflag"
1816 "github.com/spf13/viper"
1917)
2018
2119const (
22- FlagInputURI string = "input-uri"
23- FlagInputCompression string = "input-compression"
24- FlagInputFormat string = "input-format"
25- FlagInputHeader string = "input-header"
26- FlagInputLimit string = "input-limit"
27- FlagInputComment string = "input-comment"
28- FlagInputLazyQuotes string = "input-lazy-quotes"
29- FlagInputTrim string = "input-trim"
30- FlagInputReaderBufferSize string = "input-reader-buffer-size"
31- FlagInputSkipLines string = "input-skip-lines"
32- FlagInputLineSeparator string = "input-line-separator"
33- FlagInputDropCR string = "input-drop-cr"
34- FlagInputEscapePrefix string = "input-escape-prefix"
35- FlagInputUnescapeColon string = "input-unescape-colon"
36- FlagInputUnescapeEqual string = "input-unescape-equal"
37- FlagInputUnescapeSpace string = "input-unescape-space"
38- FlagInputUnescapeNewLine string = "input-unescape-new-line"
20+ FlagInputURI string = "input-uri"
21+ FlagInputCompression string = "input-compression"
22+ FlagInputFormat string = "input-format"
23+ FlagInputHeader string = "input-header"
24+ FlagInputLimit string = "input-limit"
25+ FlagInputComment string = "input-comment"
26+ FlagInputLazyQuotes string = "input-lazy-quotes"
27+ FlagInputTrim string = "input-trim"
28+ FlagInputReaderBufferSize string = "input-reader-buffer-size"
29+ FlagInputSkipLines string = "input-skip-lines"
30+ FlagInputLineSeparator string = "input-line-separator"
31+ FlagInputKeyValueSeparator string = "input-key-value-separator"
32+ FlagInputDropCR string = "input-drop-cr"
33+ FlagInputEscapePrefix string = "input-escape-prefix"
34+ FlagInputUnescapeColon string = "input-unescape-colon"
35+ FlagInputUnescapeEqual string = "input-unescape-equal"
36+ FlagInputUnescapeSpace string = "input-unescape-space"
37+ FlagInputUnescapeNewLine string = "input-unescape-new-line"
3938
4039 DefaultSkipLines int = 0
4140 DefaultInputLimit int = - 1
@@ -72,6 +71,7 @@ func InitInputFlags(flag *pflag.FlagSet, formats []string) {
7271 flag .IntP (FlagInputLimit , "l" , DefaultInputLimit , "The input limit" )
7372 flag .BoolP (FlagInputTrim , "t" , false , "trim input lines" )
7473 flag .String (FlagInputLineSeparator , "\n " , "override line separator. Used with properties and JSONL formats." )
74+ flag .String (FlagInputKeyValueSeparator , "" , "override key-value separator. not used." )
7575 flag .Bool (FlagInputDropCR , false , "drop carriage return characters that immediately precede new line characters" )
7676 flag .String (FlagInputEscapePrefix , "" , "override escape prefix. Used with properties format." )
7777 flag .Bool (FlagInputUnescapeColon , false , "Unescape colon characters in input. Used with properties format." )
@@ -92,6 +92,9 @@ func CheckInput(v *viper.Viper, formats []string) error {
9292 if ls := v .GetString (FlagInputLineSeparator ); len (ls ) != 1 {
9393 return ErrMissingLineSeparator
9494 }
95+ if ls := v .GetString (FlagInputKeyValueSeparator ); len (ls ) != 1 {
96+ return ErrMissingKeyValueSeparator
97+ }
9598 if len (v .GetString (FlagInputEscapePrefix )) == 0 {
9699 if v .GetBool (FlagInputUnescapeColon ) {
97100 return errors .Wrap (ErrMissingEscapePrefix , "unescaping colon requires an escape prefix" )
0 commit comments