Docker.PowerShell.CLI.formats.ps1xml

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
  <ViewDefinitions>
    <View>
      <Name>Docker.Network</Name>
      <ViewSelectedBy>
        <TypeName>Docker.Network</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader />
          <TableColumnHeader>
            <Label>Id</Label>
          </TableColumnHeader>
          <TableColumnHeader />
          <TableColumnHeader />
          <TableColumnHeader />
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>$_.Id.Substring(0, 12)</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Driver</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Scope</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Internal</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>Docker.ContainerNetworkConnection</Name>
      <ViewSelectedBy>
        <TypeName>Docker.ContainerNetworkConnection</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader />
          <TableColumnHeader />
          <TableColumnHeader />
          <TableColumnHeader />
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>ContainerName</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>NetworkName</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>MacAddress</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>IPAddress</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>Docker.Image</Name>
      <ViewSelectedBy>
        <TypeName>Docker.Image</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader />
          <TableColumnHeader />
          <TableColumnHeader>
            <Label>ID</Label>
          </TableColumnHeader>
          <TableColumnHeader />
          <TableColumnHeader />
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Tag</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                                    $_.ID.Substring(7, 12)
                                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Created</PropertyName>
                <FormatString>yyyy-MM-dd HH:mm:ss zzzz</FormatString>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Size</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>Docker.Container</Name>
      <ViewSelectedBy>
        <TypeName>Docker.Container</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>ID</Label>
          </TableColumnHeader>
          <TableColumnHeader />
          <TableColumnHeader>
            <Label>Command</Label>
          </TableColumnHeader>
          <TableColumnHeader />
          <TableColumnHeader>
            <Label>Status</Label>
          </TableColumnHeader>
          <TableColumnHeader />
          <TableColumnHeader />
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <!-- ID -->
              <TableColumnItem>
                <ScriptBlock>
                                    $_.ID.Substring(0, 12)
                                </ScriptBlock>
              </TableColumnItem>
              <!-- Image -->
              <TableColumnItem>
                <PropertyName>Image</PropertyName>
              </TableColumnItem>
              <!-- Command -->
              <TableColumnItem>
                <ScriptBlock>
                                    $CommandName = $_.Command
                                    if ($CommandName.Length -gt 20) {
                                        return $CommandName.Substring(0, 18) + '…"'
                                    }
                                    else {
                                        return $CommandName
                                    }
                                </ScriptBlock>
              </TableColumnItem>
              <!-- Created -->
              <TableColumnItem>
                <PropertyName>Created</PropertyName>
                <FormatString>yyyy-MM-dd HH:mm:ss zzzz</FormatString>
              </TableColumnItem>
              <!-- Status -->
              <TableColumnItem>
                <ScriptBlock>
                                    $Color = switch ($_.State) {
                                        'created' { $PSStyle.Foreground.BrightYellow }
                                        'dead' { $PSStyle.Foreground.Red }
                                        'exited' { $PSStyle.Foreground.BrightRed }
                                        'paused' { $PSStyle.Foreground.BrightYellow }
                                        'removing' { $PSStyle.Foreground.BrightBlack }
                                        'restarting' { $PSStyle.Foreground.BrightYellow }
                                        'running' { $PSStyle.Foreground.BrightCyan }
                                    }
                                    "$Color$($_.Status)$($PSStyle.Reset)"
                                </ScriptBlock>
              </TableColumnItem>
              <!-- Ports -->
              <TableColumnItem>
                <PropertyName>Ports</PropertyName>
              </TableColumnItem>
              <!-- Names -->
              <TableColumnItem>
                <PropertyName>Names</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>Docker.Context</Name>
      <ViewSelectedBy>
        <TypeName>Docker.Context</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Name</Label>
          </TableColumnHeader>
          <TableColumnHeader />
          <TableColumnHeader />
          <TableColumnHeader />
          <TableColumnHeader />
          <TableColumnHeader />
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <ScriptBlock>
                                    if (-not $_.Current) {
                                        return $_.Name
                                    }

                                    return "$($PSStyle.Foreground.BrightCyan)$($_.Name)$($PSStyle.Reset)"
                                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Type</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Description</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>DockerEndpoint</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>KubernetesEndpoint</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Orchestrator</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>Docker.RemoteImage</Name>
      <ViewSelectedBy>
        <TypeName>Docker.RemoteImage</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader />
          <TableColumnHeader />
          <TableColumnHeader />
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Attributes</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Description</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>Docker.DockerVersion</Name>
      <ViewSelectedBy>
        <TypeName>Docker.DockerVersion</TypeName>
      </ViewSelectedBy>
      <CustomControl>
        <CustomEntries>
          <CustomEntry>
            <CustomItem>
              <!-- Client (Header) -->
              <ExpressionBinding>
                <CustomControlName>PSStyle.Formatting.TableHeader</CustomControlName>
              </ExpressionBinding>
              <Text>Client:</Text>
              <ExpressionBinding>
                <CustomControlName>PSStyle.Reset</CustomControlName>
              </ExpressionBinding>
              <NewLine />
              <!-- Client (Value) -->
              <Frame>
                <LeftIndent>4</LeftIndent>
                <CustomItem>
                  <ExpressionBinding>
                    <CustomControlName>PSStyle.Formatting.TableHeader</CustomControlName>
                  </ExpressionBinding>
                  <Text>Version: </Text>
                  <ExpressionBinding>
                    <CustomControlName>PSStyle.Reset</CustomControlName>
                  </ExpressionBinding>
                  <ExpressionBinding>
                    <CustomControlName>ValueHighlight</CustomControlName>
                  </ExpressionBinding>
                  <ExpressionBinding>
                    <ScriptBlock>$_.Client.Version</ScriptBlock>
                  </ExpressionBinding>
                  <ExpressionBinding>
                    <CustomControlName>PSStyle.Reset</CustomControlName>
                  </ExpressionBinding>
                </CustomItem>
              </Frame>
              <NewLine />
              <!-- Server (Header) -->
              <ExpressionBinding>
                <CustomControlName>PSStyle.Formatting.TableHeader</CustomControlName>
              </ExpressionBinding>
              <Text>Server:</Text>
              <ExpressionBinding>
                <CustomControlName>PSStyle.Reset</CustomControlName>
              </ExpressionBinding>
              <NewLine />
              <!-- Server (Value) -->
              <Frame>
                <LeftIndent>4</LeftIndent>
                <CustomItem>
                  <ExpressionBinding>
                    <CustomControlName>PSStyle.Formatting.TableHeader</CustomControlName>
                  </ExpressionBinding>
                  <Text>Version: </Text>
                  <ExpressionBinding>
                    <CustomControlName>PSStyle.Reset</CustomControlName>
                  </ExpressionBinding>
                  <ExpressionBinding>
                    <CustomControlName>ValueHighlight</CustomControlName>
                  </ExpressionBinding>
                  <ExpressionBinding>
                    <ScriptBlock>$_.Server.Version</ScriptBlock>
                  </ExpressionBinding>
                  <ExpressionBinding>
                    <CustomControlName>PSStyle.Reset</CustomControlName>
                  </ExpressionBinding>
                </CustomItem>
              </Frame>
              <NewLine />
              <!-- Module (Header) -->
              <ExpressionBinding>
                <CustomControlName>PSStyle.Formatting.TableHeader</CustomControlName>
              </ExpressionBinding>
              <Text>Module:</Text>
              <ExpressionBinding>
                <CustomControlName>PSStyle.Reset</CustomControlName>
              </ExpressionBinding>
              <NewLine />
              <!-- Module (Value) -->
              <Frame>
                <LeftIndent>4</LeftIndent>
                <CustomItem>
                  <ExpressionBinding>
                    <CustomControlName>PSStyle.Formatting.TableHeader</CustomControlName>
                  </ExpressionBinding>
                  <Text>Version: </Text>
                  <ExpressionBinding>
                    <CustomControlName>PSStyle.Reset</CustomControlName>
                  </ExpressionBinding>
                  <ExpressionBinding>
                    <CustomControlName>ValueHighlight</CustomControlName>
                  </ExpressionBinding>
                  <ExpressionBinding>
                    <ScriptBlock>$_.Module.Version</ScriptBlock>
                  </ExpressionBinding>
                  <ExpressionBinding>
                    <CustomControlName>PSStyle.Reset</CustomControlName>
                  </ExpressionBinding>
                  <NewLine />
                  <ExpressionBinding>
                    <ItemSelectionCondition>
                      <ScriptBlock>$_.Module.Prerelease</ScriptBlock>
                    </ItemSelectionCondition>
                    <CustomControl>
                      <CustomEntries>
                        <CustomEntry>
                          <CustomItem>
                            <ExpressionBinding>
                              <CustomControlName>PSStyle.Formatting.TableHeader</CustomControlName>
                            </ExpressionBinding>
                            <Text>Prerelease: </Text>
                            <ExpressionBinding>
                              <ScriptBlock>$_.Module.Prerelease</ScriptBlock>
                            </ExpressionBinding>
                          </CustomItem>
                        </CustomEntry>
                      </CustomEntries>
                    </CustomControl>
                  </ExpressionBinding>
                </CustomItem>
              </Frame>
            </CustomItem>
          </CustomEntry>
        </CustomEntries>
      </CustomControl>
    </View>
  </ViewDefinitions>
  <SelectionSets />
  <Controls>
    <Control>
      <Name>PSStyle.Formatting.TableHeader</Name>
      <CustomControl>
        <CustomEntries>
          <CustomEntry>
            <CustomItem>
              <ExpressionBinding>
                <ScriptBlock>$PSStyle.Formatting.TableHeader</ScriptBlock>
              </ExpressionBinding>
            </CustomItem>
          </CustomEntry>
        </CustomEntries>
      </CustomControl>
    </Control>
    <Control>
      <Name>PSStyle.Reset</Name>
      <CustomControl>
        <CustomEntries>
          <CustomEntry>
            <CustomItem>
              <ExpressionBinding>
                <ScriptBlock>$PSStyle.Reset</ScriptBlock>
              </ExpressionBinding>
            </CustomItem>
          </CustomEntry>
        </CustomEntries>
      </CustomControl>
    </Control>
    <Control>
      <Name>ValueHighlight</Name>
      <CustomControl>
        <CustomEntries>
          <CustomEntry>
            <CustomItem>
              <ExpressionBinding>
                <ScriptBlock>$PSStyle.Foreground.Cyan</ScriptBlock>
              </ExpressionBinding>
            </CustomItem>
          </CustomEntry>
        </CustomEntries>
      </CustomControl>
    </Control>
  </Controls>
</Configuration>