package main import ( "flag" "fmt" "os" "git.schreifuchs.ch/schreifuchs/pat/pkg/cat" "git.schreifuchs.ch/schreifuchs/pat/pkg/clip" "git.schreifuchs.ch/schreifuchs/pat/pkg/ignore" ) const DELEMITTER = "-(%s)--------------------------------------------------------------------------\n" func main() { ignorePath := flag.String("i", "", "set path to gitignore, if no gitignore parent dirs will be searched") hiddenFiles := flag.Bool("h", false, "show hidden files") flag.Parse() cats, err := cat.Path(flag.Args()...) if err != nil { fmt.Println(err.Error()) os.Exit(1) } if *ignorePath != "" { i, err := ignore.FindGitignore(*ignorePath) if err != nil { fmt.Printf("can't get gitignore: %v", err) os.Exit(1) } cats = cats.Ignored(i) } if *hiddenFiles == false { cats = cats.Ignored(ignore.Filesystem{}) } out := cats.ToString(DELEMITTER) fmt.Print(out) if err = clip.Copy(out); err != nil { fmt.Println(err.Error()) os.Exit(1) } }