PowerCode.Git.Format.ps1xml

<?xml version="1.0" encoding="utf-8"?>
<Configuration>
  <ViewDefinitions>
    <!-- Default table view for GitCommitInfo -->
    <View>
      <Name>GitCommitInfo-Default</Name>
      <ViewSelectedBy>
        <TypeName>PowerCode.Git.Abstractions.Models.GitCommitInfo</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Commit</Label>
            <Width>9</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Author</Label>
            <Width>20</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Date</Label>
            <Width>20</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Message</Label>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>ShortSha</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>AuthorName</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>$_.AuthorDate.ToString('yyyy-MM-dd HH:mm')</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>MessageShort</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- Detailed list view for GitCommitInfo -->
    <View>
      <Name>GitCommitInfo-Detailed</Name>
      <ViewSelectedBy>
        <TypeName>PowerCode.Git.Abstractions.Models.GitCommitInfo</TypeName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem>
                <Label>Commit</Label>
                <PropertyName>Sha</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Author</Label>
                <ScriptBlock>"$($_.AuthorName) &lt;$($_.AuthorEmail)&gt;"</ScriptBlock>
              </ListItem>
              <ListItem>
                <Label>AuthorDate</Label>
                <PropertyName>AuthorDate</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Committer</Label>
                <ScriptBlock>"$($_.CommitterName) &lt;$($_.CommitterEmail)&gt;"</ScriptBlock>
              </ListItem>
              <ListItem>
                <Label>CommitDate</Label>
                <PropertyName>CommitDate</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Parents</Label>
                <ScriptBlock>$_.ParentShas -join ', '</ScriptBlock>
              </ListItem>
              <ListItem>
                <Label>Message</Label>
                <PropertyName>Message</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>

    <!-- Default table view for GitStatusResult -->
    <View>
      <Name>GitStatusResult-Default</Name>
      <ViewSelectedBy>
        <TypeName>PowerCode.Git.Abstractions.Models.GitStatusResult</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Branch</Label>
            <Width>25</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Staged</Label>
            <Width>8</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Modified</Label>
            <Width>10</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Untracked</Label>
            <Width>10</Width>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>CurrentBranch</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>StagedCount</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>ModifiedCount</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>UntrackedCount</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- Detailed list view for GitStatusResult -->
    <View>
      <Name>GitStatusResult-Detailed</Name>
      <ViewSelectedBy>
        <TypeName>PowerCode.Git.Abstractions.Models.GitStatusResult</TypeName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem>
                <Label>RepositoryPath</Label>
                <PropertyName>RepositoryPath</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Branch</Label>
                <PropertyName>CurrentBranch</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Staged</Label>
                <PropertyName>StagedCount</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Modified</Label>
                <PropertyName>ModifiedCount</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Untracked</Label>
                <PropertyName>UntrackedCount</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Entries</Label>
                <ScriptBlock>($_.Entries | ForEach-Object { "$($_.StagingState): $($_.Status) $($_.FilePath)" }) -join '; '</ScriptBlock>
              </ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>

    <!-- Default table view for GitStatusEntry -->
    <View>
      <Name>GitStatusEntry-Default</Name>
      <ViewSelectedBy>
        <TypeName>PowerCode.Git.Abstractions.Models.GitStatusEntry</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>State</Label>
            <Width>10</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Status</Label>
            <Width>12</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Path</Label>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>StagingState</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Status</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>FilePath</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- Default table view for GitDiffEntry -->
    <View>
      <Name>GitDiffEntry-Default</Name>
      <ViewSelectedBy>
        <TypeName>PowerCode.Git.Abstractions.Models.GitDiffEntry</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Status</Label>
            <Width>10</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Path</Label>
            <Width>40</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Added</Label>
            <Width>7</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Deleted</Label>
            <Width>7</Width>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Status</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>NewPath</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>LinesAdded</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>LinesDeleted</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- Detailed list view for GitDiffEntry -->
    <View>
      <Name>GitDiffEntry-Detailed</Name>
      <ViewSelectedBy>
        <TypeName>PowerCode.Git.Abstractions.Models.GitDiffEntry</TypeName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem>
                <Label>Status</Label>
                <PropertyName>Status</PropertyName>
              </ListItem>
              <ListItem>
                <Label>OldPath</Label>
                <PropertyName>OldPath</PropertyName>
              </ListItem>
              <ListItem>
                <Label>NewPath</Label>
                <PropertyName>NewPath</PropertyName>
              </ListItem>
              <ListItem>
                <Label>LinesAdded</Label>
                <PropertyName>LinesAdded</PropertyName>
              </ListItem>
              <ListItem>
                <Label>LinesDeleted</Label>
                <PropertyName>LinesDeleted</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Patch</Label>
                <PropertyName>Patch</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>

    <!-- Default table view for GitBranchInfo -->
    <View>
      <Name>GitBranchInfo-Default</Name>
      <ViewSelectedBy>
        <TypeName>PowerCode.Git.Abstractions.Models.GitBranchInfo</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Name</Label>
            <Width>30</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Commit</Label>
            <Width>9</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Remote</Label>
            <Width>8</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Tracking</Label>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <ScriptBlock>if ($_.IsHead) { '* ' + $_.Name } else { ' ' + $_.Name }</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>TipShortSha</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>IsRemote</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>TrackedBranchName</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- Detailed list view for GitBranchInfo -->
    <View>
      <Name>GitBranchInfo-Detailed</Name>
      <ViewSelectedBy>
        <TypeName>PowerCode.Git.Abstractions.Models.GitBranchInfo</TypeName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem>
                <Label>Name</Label>
                <PropertyName>Name</PropertyName>
              </ListItem>
              <ListItem>
                <Label>IsHead</Label>
                <PropertyName>IsHead</PropertyName>
              </ListItem>
              <ListItem>
                <Label>IsRemote</Label>
                <PropertyName>IsRemote</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Commit</Label>
                <PropertyName>TipSha</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Tracking</Label>
                <PropertyName>TrackedBranchName</PropertyName>
              </ListItem>
              <ListItem>
                <Label>AheadBy</Label>
                <PropertyName>AheadBy</PropertyName>
              </ListItem>
              <ListItem>
                <Label>BehindBy</Label>
                <PropertyName>BehindBy</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>

    <!-- Default table view for GitTagInfo -->
    <View>
      <Name>GitTagInfo-Default</Name>
      <ViewSelectedBy>
        <TypeName>PowerCode.Git.Abstractions.Models.GitTagInfo</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Name</Label>
            <Width>25</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Commit</Label>
            <Width>9</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Annotated</Label>
            <Width>10</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Date</Label>
            <Width>20</Width>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>ShortSha</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>IsAnnotated</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>if ($_.TagDate) { $_.TagDate.ToString('yyyy-MM-dd HH:mm') } else { '' }</ScriptBlock>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- Detailed list view for GitTagInfo -->
    <View>
      <Name>GitTagInfo-Detailed</Name>
      <ViewSelectedBy>
        <TypeName>PowerCode.Git.Abstractions.Models.GitTagInfo</TypeName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem>
                <Label>Name</Label>
                <PropertyName>Name</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Commit</Label>
                <PropertyName>Sha</PropertyName>
              </ListItem>
              <ListItem>
                <Label>IsAnnotated</Label>
                <PropertyName>IsAnnotated</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Tagger</Label>
                <ScriptBlock>if ($_.TaggerName) { "$($_.TaggerName) &lt;$($_.TaggerEmail)&gt;" } else { '' }</ScriptBlock>
              </ListItem>
              <ListItem>
                <Label>TagDate</Label>
                <PropertyName>TagDate</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Message</Label>
                <PropertyName>Message</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>
  </ViewDefinitions>
</Configuration>