Skip to content

Commit

Permalink
feat: add support for windows
Browse files Browse the repository at this point in the history
Closes #5
  • Loading branch information
MrMarble committed Feb 14, 2024
1 parent 88ab954 commit 3921093
Show file tree
Hide file tree
Showing 3 changed files with 70 additions and 0 deletions.
8 changes: 8 additions & 0 deletions .goreleaser.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ builds:
- linux
- darwin
- freebsd
- windows
goarch:
- amd64
- arm64
Expand All @@ -32,6 +33,13 @@ builds:
goarch: "386"
- goos: freebsd
goarch: arm64
- goos: windows
goarch: arm64
- goos: windows
goarch: "arm"
- goos: windows
goarch: "386"

flags:
- -trimpath
ldflags: -s -w -X main.version={{.Version}} -X main.commit={{.ShortCommit}} -X main.date={{.CommitDate}}
Expand Down
2 changes: 2 additions & 0 deletions cmd/termsvg/main.go
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
//go:build !windows

package main

import (
Expand Down
60 changes: 60 additions & 0 deletions cmd/termsvg/main_windows.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
//go:build windows

package main

import (
"fmt"
"os"

"github.com/alecthomas/kong"
"github.com/mrmarble/termsvg/cmd/termsvg/export"
"github.com/mrmarble/termsvg/cmd/termsvg/play"
"github.com/rs/zerolog"
"github.com/rs/zerolog/log"
)

type Context struct {
Debug bool
}

type VersionFlag string

var (
// Populated by goreleaser during build
version = "master"
commit = "?"
date = ""
)

func init() {
zerolog.SetGlobalLevel(zerolog.InfoLevel)

log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr, PartsExclude: []string{"time"}})
}

func (v VersionFlag) Decode(_ *kong.DecodeContext) error { return nil }
func (v VersionFlag) IsBool() bool { return true }
func (v VersionFlag) BeforeApply(app *kong.Kong) error {
fmt.Printf("termsvg has version %s built from %s on %s\n", version, commit, date)
app.Exit(0)

return nil
}

func main() {
var cli struct {
Debug bool `help:"Enable debug mode."`
Version VersionFlag `name:"version" help:"Print version information and quit"`

Play play.Cmd `cmd:"" help:"Play a recording."`
Export export.Cmd `cmd:"" help:"Export asciicast."`
}

ctx := kong.Parse(&cli,
kong.Name("termsvg"),
kong.Description("A cli tool for recording terminal sessions"),
kong.UsageOnError())
// Call the Run() method of the selected parsed command.
err := ctx.Run(&Context{Debug: cli.Debug})
ctx.FatalIfErrorf(err)
}

0 comments on commit 3921093

Please sign in to comment.