diff options
| -rw-r--r-- | Makefile | 4 | ||||
| -rw-r--r-- | README.md | 6 | ||||
| -rw-r--r-- | main.go | 22 | 
3 files changed, 22 insertions, 10 deletions
| @@ -10,11 +10,11 @@ clean:  	rm -rf build  debug: -	go run ./... -file data/L.stl +	go run ./... data/L.stl  install: all  	mkdir -p $(PREFIX)/bin  	install -m 755 build/stlscope $(PREFIX)/bin -.PHONY: all clean debug install release +.PHONY: all clean debug install @@ -7,12 +7,14 @@ This little program will allow you to view STL files from your terminal. It uses  ## Usage -Please use the help page to view current usage: +It could not be simpler:  ``` -$ stlscope -h +$ stlscope myfile.stl  ``` +Have a look at `stlscope -h` to learn about further options. +  ## Development Milestones  Done (most recent first): @@ -6,16 +6,25 @@ import (  	"runtime"  	"log"  	"flag" +	"io/ioutil"  ) +type cliArgs struct { +	filePath string +	debugOutput bool +} +  func main() { -	// read command line arguments -	var stlFilePath string -	parseFlags(&stlFilePath) +	// read command line arguments and mute log if necessary +	var args cliArgs +	args.read() +	if !args.debugOutput { +		log.SetOutput(ioutil.Discard) +	}  	// parse STL file -	stl, err := ReadBinaryStlFile(stlFilePath) +	stl, err := ReadBinaryStlFile(args.filePath)  	if err != nil {  		log.Fatal(err)  	} @@ -40,7 +49,8 @@ func main() {  	}  } -func parseFlags(stlFilePath *string) { -	flag.StringVar(stlFilePath, "file", "myfile.stl", "path to the binary STL file") +func (args *cliArgs) read() { +	flag.BoolVar(&args.debugOutput, "debug", false, "enable to print log output")  	flag.Parse() +	args.filePath = flag.Arg(0)  } | 
