TerminalBlocks.format.ps1xml

<Configuration>
  <ViewDefinitions>
    <View>
      <Name>Block</Name>
      <ViewSelectedBy>
        <TypeName>PoshCode.TerminalBlocks.Block</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Width>5</Width>
            <Label>Index</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Width>10</Width>
            <Label>Background</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Width>10</Width>
            <Label>Foreground</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Content</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>ToString</Label>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <ScriptBlock>
                    $Prompt.IndexOf($_)
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  if ($null -eq $_.BackgroundColor) {
                    "Automatic"
                  } elseif ($_.BackgroundColor.TerminalColor -eq "Default") {
                    "Default"
                  } else {
                    $_.BackgroundColor.ToVtEscapeSequence($true) + " $([char]27)[0m " + $_.BackgroundColor.ToString()
                  }
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  if ($null -eq $_.ForegroundColor) {
                    "Automatic"
                  } elseif ($_.ForegroundColor.TerminalColor -eq "Default") {
                    "Default"
                  } else {
                    $_.ForegroundColor.ToVtEscapeSequence($true) + " $([char]27)[0m " + $_.ForegroundColor.ToString()
                  }
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                    if ($_.Content -is [ScriptBlock]) {
                      $_.ToPSMetadata() + "$([char]27)[0m"
                    } else {
                      [System.Management.Automation.LanguagePrimitives]::ConvertTo($_.Content, [string]).Trim() + "$([char]27)[0m"
                    }
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                    $_.ToString() + "$([char]27)[0m"
                </ScriptBlock>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>Defaults</Name>
      <ViewSelectedBy>
        <TypeName>PoshCode.TerminalBlocks.Defaults</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Width>16</Width>
            <Label>DefaultSeparator</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Width>11</Width>
            <Label>DefaultCaps</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Width>29</Width>
            <Label>FirstAutomaticBackgroundColor</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Width>26</Width>
            <Label>AutomaticBackgroundHueStep</Label>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>DefaultSeparator</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  $_.DefaultCaps.Left + "`e[7m...`e[0m" + $_.DefaultCaps.Right
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  if ($null -eq $_.FirstAutomaticBackgroundColor) {
                    "None"
                  } else {
                    -join @(
                      $_.FirstAutomaticBackgroundColor.ToVtEscapeSequence($true)
                      " "
                      $_.FirstAutomaticBackgroundColor.ToString()
                      " $([char]27)[0m"
                    )
                  }
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  if ($null -eq $_.FirstAutomaticBackgroundColor) {
                    ""
                  } else {
                    -join @(
                      $_.AutomaticBackgroundHueStep
                      ": "
                      foreach($color in [PoshCode.Pansies.Gradient]::GetRainbow($_.FirstAutomaticBackgroundColor, 10, $_.AutomaticBackgroundHueStep, 0, 0)) {
                        $color.ToVtEscapeSequence($true)
                        " $([char]27)[0m "
                      }
                    )
                  }
                </ScriptBlock>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
  </ViewDefinitions>
</Configuration>