From 2ba1ec3df0045a190d4d2e2bd6262936e26fb36a Mon Sep 17 00:00:00 2001 From: cellarspoon Date: Mon, 27 Dec 2021 03:55:42 +0100 Subject: [PATCH] fix: x-platform loop output See https://git.coopcloud.tech/coop-cloud/organising/issues/178. --- cli/app/ps.go | 6 +++++- go.mod | 1 + go.sum | 3 +++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/cli/app/ps.go b/cli/app/ps.go index 55ff4efb..91b4db2f 100644 --- a/cli/app/ps.go +++ b/cli/app/ps.go @@ -8,6 +8,8 @@ import ( "coopcloud.tech/abra/cli/internal" "coopcloud.tech/abra/pkg/autocomplete" "coopcloud.tech/abra/pkg/client" + stack "coopcloud.tech/abra/pkg/upstream/stack" + "github.com/buger/goterm" "github.com/docker/cli/cli/command/formatter" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/filters" @@ -30,9 +32,11 @@ var appPsCommand = &cli.Command{ return nil } - // TODO: how do we make this update in-place in an x-platform way? + goterm.Clear() for { + goterm.MoveCursor(1, 1) showPSOutput(c) + goterm.Flush() time.Sleep(2 * time.Second) } }, diff --git a/go.mod b/go.mod index 875bae21..b92c7f5e 100644 --- a/go.mod +++ b/go.mod @@ -27,6 +27,7 @@ require ( require ( coopcloud.tech/libcapsul v0.0.0-20211022074848-c35e78fe3f3e github.com/Microsoft/hcsshim v0.8.21 // indirect + github.com/buger/goterm v1.0.3 github.com/containerd/containerd v1.5.5 // indirect github.com/docker/docker-credential-helpers v0.6.4 // indirect github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 // indirect diff --git a/go.sum b/go.sum index 2fad2f7a..bc1fb915 100644 --- a/go.sum +++ b/go.sum @@ -110,6 +110,8 @@ github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnweb github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= github.com/bshuster-repo/logrus-logstash-hook v0.4.1/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk= +github.com/buger/goterm v1.0.3 h1:7V/HeAQHrzPk/U4BvyH2g9u+xbUW9nr4yRPyG59W4fM= +github.com/buger/goterm v1.0.3/go.mod h1:HiFWV3xnkolgrBV3mY8m0X0Pumt4zg4QhbdOzQtB8tE= github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= github.com/bugsnag/bugsnag-go v1.0.5-0.20150529004307-13fd6b8acda0 h1:s7+5BfS4WFJoVF9pnB8kBk03S7pZXRdKamnV0FOl5Sc= @@ -976,6 +978,7 @@ golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210331175145-43e1dd70ce54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=