Add usage info to gobetween
This commit is contained in:
@@ -11,6 +11,19 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func printUsage() {
|
||||||
|
fmt.Fprintf(os.Stderr, "Usage: %s [options] <range specification> [file]\n", os.Args[0])
|
||||||
|
fmt.Fprintln(os.Stderr, "Options:")
|
||||||
|
flag.PrintDefaults()
|
||||||
|
fmt.Fprintln(os.Stderr, "\nRange specification examples:")
|
||||||
|
fmt.Fprintln(os.Stderr, "10,20 Reads lines 10 to 20 from the input")
|
||||||
|
fmt.Fprintln(os.Stderr, "15:+5 Reads 5 lines starting from line 15")
|
||||||
|
fmt.Fprintln(os.Stderr, "3 Reads from line 3 to the end of the file")
|
||||||
|
fmt.Fprintln(os.Stderr, "+2 Reads the first 2 lines")
|
||||||
|
fmt.Fprintln(os.Stderr, "Please ensure you input valid range specifications and file paths.")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
func parseArgs(args []string) (int, int, string, error) {
|
func parseArgs(args []string) (int, int, string, error) {
|
||||||
var filename string
|
var filename string
|
||||||
var start, length, end int
|
var start, length, end int
|
||||||
@@ -66,7 +79,7 @@ func parseArgs(args []string) (int, int, string, error) {
|
|||||||
found = true
|
found = true
|
||||||
} else {
|
} else {
|
||||||
found = false
|
found = false
|
||||||
log.Fatal("No match found")
|
printUsage()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -92,6 +105,11 @@ func main() {
|
|||||||
flag.Parse()
|
flag.Parse()
|
||||||
args := flag.Args()
|
args := flag.Args()
|
||||||
|
|
||||||
|
if len(args) < 1 {
|
||||||
|
printUsage()
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
startIndex, endIndex, filename, err := parseArgs(args)
|
startIndex, endIndex, filename, err := parseArgs(args)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "Error parsing arguments: %v\n", err)
|
fmt.Fprintf(os.Stderr, "Error parsing arguments: %v\n", err)
|
||||||
|
|||||||
Reference in New Issue
Block a user