Fixes two bugs in how padding was calculated in PrintTable. Firstly we remove all ANSI escape codes from the string before measuring how wide it is. Secondly we measure glyph count (using rivo/uniseg) not byte or rune count of the string. Together these fix the padding/alignment issues I saw when using PrintTable with plan output. They also slightly change the layout of "pulumi stack", for example the below is printed with current master and has 6 characters of space for padding between SecurityGroup and web-secgrp: ``` Current stack resources (4): TYPE NAME pulumi:pulumi:Stack aws-cs-webserver-test ├─ aws:ec2/securityGroup:SecurityGroup web-secgrp ├─ aws:ec2/instance:Instance web-server-www └─ pulumi:providers:aws default_4_25_0 ``` While printed with this commit you only get 2 characters of space for padding (which is correct, the column gap is set to " "): ``` Current stack resources (4): TYPE NAME pulumi:pulumi:Stack aws-cs-webserver-test ├─ aws:ec2/securityGroup:SecurityGroup web-secgrp ├─ aws:ec2/instance:Instance web-server-www └─ pulumi:providers:aws default_4_25_0 ```
148 lines
7.4 KiB
Modula-2
148 lines
7.4 KiB
Modula-2
module github.com/pulumi/pulumi/tests
|
|
|
|
go 1.17
|
|
|
|
replace (
|
|
github.com/Sirupsen/logrus => github.com/sirupsen/logrus v1.5.0
|
|
github.com/pulumi/pulumi/pkg/v3 => ../pkg
|
|
github.com/pulumi/pulumi/sdk/v3 => ../sdk
|
|
)
|
|
|
|
require (
|
|
github.com/blang/semver v3.5.1+incompatible
|
|
github.com/golang/protobuf v1.5.2
|
|
github.com/mattn/go-runewidth v0.0.9 // indirect
|
|
github.com/pulumi/pulumi/pkg/v3 v3.3.0
|
|
github.com/pulumi/pulumi/sdk/v3 v3.17.0
|
|
github.com/stretchr/testify v1.7.0
|
|
google.golang.org/grpc v1.37.0
|
|
sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0
|
|
)
|
|
|
|
require (
|
|
cloud.google.com/go v0.81.0 // indirect
|
|
cloud.google.com/go/logging v1.0.0 // indirect
|
|
cloud.google.com/go/storage v1.15.0 // indirect
|
|
github.com/Azure/azure-pipeline-go v0.2.3 // indirect
|
|
github.com/Azure/azure-sdk-for-go v54.0.0+incompatible // indirect
|
|
github.com/Azure/azure-storage-blob-go v0.13.0 // indirect
|
|
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 // indirect
|
|
github.com/Azure/go-autorest v14.2.0+incompatible // indirect
|
|
github.com/Azure/go-autorest/autorest v0.11.18 // indirect
|
|
github.com/Azure/go-autorest/autorest/adal v0.9.13 // indirect
|
|
github.com/Azure/go-autorest/autorest/azure/auth v0.5.7 // indirect
|
|
github.com/Azure/go-autorest/autorest/azure/cli v0.4.2 // indirect
|
|
github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect
|
|
github.com/Azure/go-autorest/autorest/to v0.4.0 // indirect
|
|
github.com/Azure/go-autorest/autorest/validation v0.3.1 // indirect
|
|
github.com/Azure/go-autorest/logger v0.2.1 // indirect
|
|
github.com/Azure/go-autorest/tracing v0.6.0 // indirect
|
|
github.com/agext/levenshtein v1.2.1 // indirect
|
|
github.com/apparentlymart/go-textseg v1.0.0 // indirect
|
|
github.com/aws/aws-sdk-go v1.38.35 // indirect
|
|
github.com/cheggaaa/pb v1.0.18 // indirect
|
|
github.com/davecgh/go-spew v1.1.1 // indirect
|
|
github.com/dimchansky/utfbom v1.1.1 // indirect
|
|
github.com/djherbis/times v1.2.0 // indirect
|
|
github.com/docker/docker v1.4.2-0.20200319182547-c7ad2b866182 // indirect
|
|
github.com/dustin/go-humanize v1.0.0 // indirect
|
|
github.com/emirpasic/gods v1.12.0 // indirect
|
|
github.com/form3tech-oss/jwt-go v3.2.2+incompatible // indirect
|
|
github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 // indirect
|
|
github.com/gofrs/flock v0.7.1 // indirect
|
|
github.com/gofrs/uuid v3.3.0+incompatible // indirect
|
|
github.com/gogo/protobuf v1.3.1 // indirect
|
|
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b // indirect
|
|
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
|
github.com/golang/snappy v0.0.3 // indirect
|
|
github.com/google/go-cmp v0.5.5 // indirect
|
|
github.com/google/go-querystring v1.0.0 // indirect
|
|
github.com/google/uuid v1.2.0 // indirect
|
|
github.com/google/wire v0.5.0 // indirect
|
|
github.com/googleapis/gax-go/v2 v2.0.5 // indirect
|
|
github.com/gorilla/mux v1.7.4 // indirect
|
|
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
|
|
github.com/hashicorp/errwrap v1.1.0 // indirect
|
|
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
|
|
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
|
github.com/hashicorp/go-retryablehttp v0.7.0 // indirect
|
|
github.com/hashicorp/go-rootcerts v1.0.2 // indirect
|
|
github.com/hashicorp/go-sockaddr v1.0.2 // indirect
|
|
github.com/hashicorp/hcl v1.0.0 // indirect
|
|
github.com/hashicorp/hcl/v2 v2.3.0 // indirect
|
|
github.com/hashicorp/vault/api v1.1.0 // indirect
|
|
github.com/hashicorp/vault/sdk v0.2.0 // indirect
|
|
github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd // indirect
|
|
github.com/inconshreveable/mousetrap v1.0.0 // indirect
|
|
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
|
github.com/jmespath/go-jmespath v0.4.0 // indirect
|
|
github.com/json-iterator/go v1.1.9 // indirect
|
|
github.com/jstemmer/go-junit-report v0.9.1 // indirect
|
|
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
|
|
github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd // indirect
|
|
github.com/konsorten/go-windows-terminal-sequences v1.0.1 // indirect
|
|
github.com/mattn/go-colorable v0.1.6 // indirect
|
|
github.com/mattn/go-ieproxy v0.0.1 // indirect
|
|
github.com/mattn/go-isatty v0.0.12 // indirect
|
|
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect
|
|
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
|
github.com/mitchellh/go-ps v1.0.0 // indirect
|
|
github.com/mitchellh/go-wordwrap v1.0.0 // indirect
|
|
github.com/mitchellh/mapstructure v1.4.1 // indirect
|
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
|
github.com/modern-go/reflect2 v1.0.1 // indirect
|
|
github.com/opentracing/basictracer-go v1.0.0 // indirect
|
|
github.com/opentracing/opentracing-go v1.1.0 // indirect
|
|
github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 // indirect
|
|
github.com/pierrec/lz4 v2.6.0+incompatible // indirect
|
|
github.com/pkg/errors v0.9.1 // indirect
|
|
github.com/pmezard/go-difflib v1.0.0 // indirect
|
|
github.com/rivo/uniseg v0.2.0 // indirect
|
|
github.com/rjeczalik/notify v0.9.2 // indirect
|
|
github.com/ryanuber/go-glob v1.0.0 // indirect
|
|
github.com/sabhiram/go-gitignore v0.0.0-20180611051255-d3107576ba94 // indirect
|
|
github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 // indirect
|
|
github.com/sergi/go-diff v1.1.0 // indirect
|
|
github.com/sirupsen/logrus v1.4.2 // indirect
|
|
github.com/spf13/cast v1.3.1 // indirect
|
|
github.com/spf13/cobra v1.0.0 // indirect
|
|
github.com/spf13/pflag v1.0.3 // indirect
|
|
github.com/src-d/gcfg v1.4.0 // indirect
|
|
github.com/texttheater/golang-levenshtein v0.0.0-20191208221605-eb6844b05fc6 // indirect
|
|
github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect
|
|
github.com/uber/jaeger-client-go v2.22.1+incompatible // indirect
|
|
github.com/uber/jaeger-lib v2.2.0+incompatible // indirect
|
|
github.com/xanzy/ssh-agent v0.2.1 // indirect
|
|
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect
|
|
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
|
|
github.com/xeipuuv/gojsonschema v1.2.0 // indirect
|
|
github.com/zclconf/go-cty v1.3.1 // indirect
|
|
go.opencensus.io v0.23.0 // indirect
|
|
go.uber.org/atomic v1.7.0 // indirect
|
|
gocloud.dev v0.23.0 // indirect
|
|
gocloud.dev/secrets/hashivault v0.23.0 // indirect
|
|
golang.org/x/crypto v0.0.0-20210506145944-38f3c27a63bf // indirect
|
|
golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5 // indirect
|
|
golang.org/x/mod v0.4.2 // indirect
|
|
golang.org/x/net v0.0.0-20210505214959-0714010a04ed // indirect
|
|
golang.org/x/oauth2 v0.0.0-20210427180440-81ed05c6b58c // indirect
|
|
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect
|
|
golang.org/x/sys v0.0.0-20210817190340-bfb29a6856f2 // indirect
|
|
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 // indirect
|
|
golang.org/x/text v0.3.6 // indirect
|
|
golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba // indirect
|
|
golang.org/x/tools v0.1.0 // indirect
|
|
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
|
|
google.golang.org/api v0.46.0 // indirect
|
|
google.golang.org/appengine v1.6.7 // indirect
|
|
google.golang.org/genproto v0.0.0-20210506142907-4a47615972c2 // indirect
|
|
google.golang.org/protobuf v1.26.0 // indirect
|
|
gopkg.in/AlecAivazis/survey.v1 v1.8.9-0.20200217094205-6773bdf39b7f // indirect
|
|
gopkg.in/square/go-jose.v2 v2.5.1 // indirect
|
|
gopkg.in/src-d/go-billy.v4 v4.3.2 // indirect
|
|
gopkg.in/src-d/go-git.v4 v4.13.1 // indirect
|
|
gopkg.in/warnings.v0 v0.1.2 // indirect
|
|
gopkg.in/yaml.v2 v2.2.8 // indirect
|
|
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c // indirect
|
|
)
|