diff options
author | xengineering <mail2xengineering@protonmail.com> | 2021-05-27 10:51:44 +0200 |
---|---|---|
committer | xengineering <mail2xengineering@protonmail.com> | 2021-05-27 10:55:19 +0200 |
commit | 4d9bd20ea82d483923b8f2d4e59500b378d224c9 (patch) | |
tree | 6a535dbc6d6b1cf5d6736d4cc97238d983d16264 | |
parent | 5bf517d5692541dfa1f4fc506c51e0fb7b8a76b4 (diff) | |
download | stlscope-0.2.0.tar stlscope-0.2.0.tar.zst stlscope-0.2.0.zip |
Update CLI Interface0.2.0
-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) } |