From 0f1637439f6825bc44be81fe90e7b37ba3ff5af7 Mon Sep 17 00:00:00 2001 From: Martyn Ranyard Date: Tue, 5 May 2026 21:41:41 +0200 Subject: [PATCH] validating input files exist --- internal/fileflag/go.mod | 3 +++ internal/fileflag/inputfileflag.go | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 internal/fileflag/go.mod create mode 100644 internal/fileflag/inputfileflag.go diff --git a/internal/fileflag/go.mod b/internal/fileflag/go.mod new file mode 100644 index 0000000..f9db92c --- /dev/null +++ b/internal/fileflag/go.mod @@ -0,0 +1,3 @@ +module internal/fileflag + +go 1.26.2 diff --git a/internal/fileflag/inputfileflag.go b/internal/fileflag/inputfileflag.go new file mode 100644 index 0000000..60d8b1b --- /dev/null +++ b/internal/fileflag/inputfileflag.go @@ -0,0 +1,22 @@ +package fileflag + +import "os" + +type InputFileFlag string + +func (file *InputFileFlag) String() string { + return string(*file) +} + +func (file *InputFileFlag) Set(v string) error { + _, err := os.OpenFile(v, os.O_RDONLY, 0o644) + if err != nil { + return err + } + *file = InputFileFlag(v) + return nil +} + +func (file *InputFileFlag) Type() string { + return "inputFileName" +}