pulumi/pkg/backend
Pat Gavlin 1e45aa6ddc [cli] Reflow the interactive display as needed.
The interactive display currently has the unfortunate property that as
the width of the tree table grows, more and more content is lost off of
the right side of the screen. These changes add support for reflowing
the contents of the table as needed. Content is reflowed when the width
of the first N-1 columns of the N-column wide table exceed the width of
the terminal. We do not include the last column in the measurement
because the width of its contents vary wildly, whereas the width of the
other columns is essentially constant (or only increases).

When the terminal is wide enough, each node is layed out into a single
row of the form:

    op | indent + type | name | status | info

If the terminal is too narrow for the content of the first four columns,
each node is layed out into multiple rows:

    op | indent + type | status
       | name
       | info

Concrete examples are given below.

Wide display
------------

     Type                      Name                  Status            Info
     pulumi:pulumi:Stack       aws-ts-webserver-dev
     ├─ aws:ec2:SecurityGroup  web-secgrp
 +-  └─ aws:ec2:Instance       web-server-www        replaced (0.01s)  [diff: ~userData]

Outputs:
  ~ publicHostName: "ec2-34-211-56-110.us-west-2.compute.amazonaws.com" => undefined
  ~ publicIp      : "34.211.56.110" => undefined

Resources:
    +-1 replaced
    2 unchanged

Duration: 12s

Narrow display
--------------

     Type                      Status
     pulumi:pulumi:Stack
     aws-ts-webserver-dev
     ├─ aws:ec2:SecurityGroup
     │  web-secgrp
 +-  └─ aws:ec2:Instance       replaced (0.01s)
        web-server-www
        [diff: ~userData]

Outputs:
  ~ publicHostName: "ec2-34-211-56-110.us-west-2.compute.amazonaws.com" => undefined
  ~ publicIp      : "34.211.56.110" => undefined

Resources:
    +-1 replaced
    2 unchanged

Duration: 12s
2023-03-15 09:42:47 -07:00
..
display [cli] Reflow the interactive display as needed. 2023-03-15 09:42:47 -07:00
filestate filestate: Plumb context through constructor 2023-03-13 13:24:32 -07:00
httpstate pkg: Dedupe "open in browser" library 2023-03-10 10:57:33 -07:00
state [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
apply.go all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
backend.go Set the current project as ambient context on backends. 2023-03-03 20:32:42 +00:00
backend_test.go all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
doc.go Document Go packages (#6009) 2021-01-11 11:07:59 -07:00
errors.go Add a link to docs for the 409 Conflict error message (#3207) 2019-09-10 13:25:08 -07:00
mock.go Set the current project as ambient context on backends. 2023-03-03 20:32:42 +00:00
policypack.go [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
query.go all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
snapshot.go pkg/backend: Prefer contract.Assertf over Assert 2023-02-21 15:13:16 -08:00
snapshot_test.go all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
stack.go all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
updates.go all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
watch.go all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00