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" +}