@@ -2,6 +2,7 @@ package main
22
33import (
44 "encoding/csv"
5+ "errors"
56 "fmt"
67 "os"
78 "strings"
@@ -19,8 +20,18 @@ func ConvertAll(args *Args) error {
1920 if err != nil {
2021 return err
2122 }
22- // print markdown
23- fmt .Println (md )
23+ if args .OutputFile == "" {
24+ fmt .Println (md )
25+ } else {
26+ _ , err := os .Stat (args .OutputFile )
27+ if errors .Is (err , os .ErrNotExist ) || args .ForceOverwrite {
28+ os .WriteFile (args .OutputFile , []byte (md ), 0644 )
29+ } else {
30+ fmt .Printf (
31+ "skip writing output, file exists: %s\n " , args .OutputFile ,
32+ )
33+ }
34+ }
2435 }
2536 return nil
2637}
@@ -74,9 +85,7 @@ func ArrayToMd(records [][]string, args *Args) (string, error) {
7485 md := []string {}
7586 md = append (md , rows [0 ]) // header
7687 md = append (md , horiz ) // horizontal devider
77- for _ , v := range rows [1 :] {
78- md = append (md , v )
79- }
88+ md = append (md , rows [1 :]... )
8089
8190 return strings .Join (md , "\n " ), nil
8291}
@@ -99,7 +108,7 @@ func padCells(records [][]string, colSizes []int) ([][]string, error) {
99108 fmt .Println (v )
100109 fmt .Println (colSizes [j ])
101110 fmt .Println (utf8 .RuneCountInString (v ))
102- return nil , fmt .Errorf ("Internal error: column size is bigger than max. " )
111+ return nil , fmt .Errorf ("internal error: column size is bigger than max" )
103112 }
104113 }
105114 }
0 commit comments