1
1
mirror of https://github.com/wader/fq.git synced 2024-11-21 23:04:07 +03:00

cli: Add go version to version string

This commit is contained in:
Mattias Wadman 2024-08-20 13:30:40 +02:00
parent 5766566663
commit 550bcc27ff
5 changed files with 17 additions and 13 deletions

View File

@ -118,8 +118,9 @@ func (cr *CaseRun) getEnvInt(name string) int {
func (cr *CaseRun) Platform() interp.Platform { func (cr *CaseRun) Platform() interp.Platform {
return interp.Platform{ return interp.Platform{
OS: "testos", OS: "testos",
Arch: "testarch", Arch: "testarch",
GoVersion: "testgo_version",
} }
} }

View File

@ -81,8 +81,9 @@ func newStandardOS() *stdOS {
func (stdOS) Platform() interp.Platform { func (stdOS) Platform() interp.Platform {
return interp.Platform{ return interp.Platform{
OS: runtime.GOOS, OS: runtime.GOOS,
Arch: runtime.GOARCH, Arch: runtime.GOARCH,
GoVersion: runtime.Version(),
} }
} }

View File

@ -168,7 +168,7 @@ def _main:
) )
) )
); );
( . as {$version, $os, $arch, $args, args: [$arg0]} ( . as {$version, $os, $arch, $go_version, $args, args: [$arg0]}
# make sure we don't unintentionally use . to make things clearer # make sure we don't unintentionally use . to make things clearer
| null | null
| ( try _args_parse($args[1:]; _opt_cli_opts) | ( try _args_parse($args[1:]; _opt_cli_opts)
@ -203,7 +203,7 @@ def _main:
| println | println
) )
elif $opts.show_version then elif $opts.show_version then
"\($version) (\($os) \($arch))" | println "\($version) (\($os) \($arch) \($go_version))" | println
elif elif
( $opts.filenames == [null] and ( $opts.filenames == [null] and
$opts.null_input == false and $opts.null_input == false and

View File

@ -131,8 +131,9 @@ type Output interface {
} }
type Platform struct { type Platform struct {
OS string OS string
Arch string Arch string
GoVersion string
} }
type CompleteFn func(line string, pos int) (newLine []string, shared int) type CompleteFn func(line string, pos int) (newLine []string, shared int)
@ -380,10 +381,11 @@ func (i *Interp) Main(ctx context.Context, output Output, versionStr string) err
platform := i.OS.Platform() platform := i.OS.Platform()
input := map[string]any{ input := map[string]any{
"args": args, "args": args,
"version": versionStr, "version": versionStr,
"os": platform.OS, "os": platform.OS,
"arch": platform.Arch, "arch": platform.Arch,
"go_version": platform.GoVersion,
} }
iter, err := i.EvalFunc(ctx, input, "_main", nil, EvalOpts{output: output}) iter, err := i.EvalFunc(ctx, input, "_main", nil, EvalOpts{output: output})

View File

@ -1,2 +1,2 @@
$ fq -v $ fq -v
testversion (testos testarch) testversion (testos testarch testgo_version)