PowerCode.Git.Format.ps1xml
|
<?xml version="1.0" encoding="utf-8"?> <Configuration> <ViewDefinitions> <!-- Default table view for GitCommitInfo: colored like git log -oneline -decorate --> <View> <Name>GitCommitInfo-Default</Name> <ViewSelectedBy> <TypeName>PowerCode.Git.Abstractions.Models.GitCommitInfo</TypeName> </ViewSelectedBy> <TableControl> <AutoSize /> <TableHeaders> <TableColumnHeader> <Label>Commit</Label> </TableColumnHeader> <TableColumnHeader> <Label>Message</Label> </TableColumnHeader> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <TableColumnItem> <ScriptBlock>[PowerCode.Git.Formatting.GitLogFormatter]::FormatShortSha($_.ShortSha)</ScriptBlock> </TableColumnItem> <TableColumnItem> <ScriptBlock> $refs = [PowerCode.Git.Formatting.GitLogFormatter]::FormatDecorations($_.Decorations) if ($refs) { "$refs $($_.MessageShort)" } else { $_.MessageShort } </ScriptBlock> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <!-- Detailed table view for GitCommitInfo: Commit, Refs, Author, Date, Message --> <View> <Name>GitCommitInfo-Detailed</Name> <ViewSelectedBy> <TypeName>PowerCode.Git.Abstractions.Models.GitCommitInfo</TypeName> </ViewSelectedBy> <TableControl> <TableHeaders> <TableColumnHeader> <Label>Commit</Label> <Width>9</Width> </TableColumnHeader> <TableColumnHeader> <Label>Refs</Label> <Width>30</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> <ScriptBlock>[PowerCode.Git.Formatting.GitLogFormatter]::FormatShortSha($_.ShortSha)</ScriptBlock> </TableColumnItem> <TableColumnItem> <ScriptBlock>[PowerCode.Git.Formatting.GitLogFormatter]::FormatDecorations($_.Decorations)</ScriptBlock> </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> <!-- Full list view for GitCommitInfo --> <View> <Name>GitCommitInfo-Full</Name> <ViewSelectedBy> <TypeName>PowerCode.Git.Abstractions.Models.GitCommitInfo</TypeName> </ViewSelectedBy> <ListControl> <ListEntries> <ListEntry> <ListItems> <ListItem> <Label>Commit</Label> <ScriptBlock>[PowerCode.Git.Formatting.GitLogFormatter]::FormatFullSha($_.Sha)</ScriptBlock> </ListItem> <ListItem> <Label>Refs</Label> <ScriptBlock>[PowerCode.Git.Formatting.GitLogFormatter]::FormatDecorations($_.Decorations)</ScriptBlock> </ListItem> <ListItem> <Label>Author</Label> <ScriptBlock>"$($_.AuthorName) <$($_.AuthorEmail)>"</ScriptBlock> </ListItem> <ListItem> <Label>AuthorDate</Label> <PropertyName>AuthorDate</PropertyName> </ListItem> <ListItem> <Label>Committer</Label> <ScriptBlock>"$($_.CommitterName) <$($_.CommitterEmail)>"</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 — colored branch and counts --> <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> <ScriptBlock>[PowerCode.Git.Formatting.GitStatusFormatter]::FormatBranch($_.CurrentBranch)</ScriptBlock> </TableColumnItem> <TableColumnItem> <ScriptBlock>[PowerCode.Git.Formatting.GitStatusFormatter]::FormatStagedCount($_.StagedCount)</ScriptBlock> </TableColumnItem> <TableColumnItem> <ScriptBlock>[PowerCode.Git.Formatting.GitStatusFormatter]::FormatModifiedCount($_.ModifiedCount)</ScriptBlock> </TableColumnItem> <TableColumnItem> <ScriptBlock>[PowerCode.Git.Formatting.GitStatusFormatter]::FormatUntrackedCount($_.UntrackedCount)</ScriptBlock> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <!-- Detailed list view for GitStatusResult — grouped entries with section headers --> <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> <ScriptBlock>[PowerCode.Git.Formatting.GitStatusFormatter]::FormatBranch($_.CurrentBranch)</ScriptBlock> </ListItem> <ListItem> <Label>Staged</Label> <ScriptBlock>[PowerCode.Git.Formatting.GitStatusFormatter]::FormatStagedCount($_.StagedCount)</ScriptBlock> </ListItem> <ListItem> <Label>Modified</Label> <ScriptBlock>[PowerCode.Git.Formatting.GitStatusFormatter]::FormatModifiedCount($_.ModifiedCount)</ScriptBlock> </ListItem> <ListItem> <Label>Untracked</Label> <ScriptBlock>[PowerCode.Git.Formatting.GitStatusFormatter]::FormatUntrackedCount($_.UntrackedCount)</ScriptBlock> </ListItem> <ListItem> <Label>Entries</Label> <ScriptBlock>[PowerCode.Git.Formatting.GitStatusFormatter]::FormatEntries($_.Entries)</ScriptBlock> </ListItem> </ListItems> </ListEntry> </ListEntries> </ListControl> </View> <!-- Default table view for GitStatusEntry — colored status indicators --> <View> <Name>GitStatusEntry-Default</Name> <ViewSelectedBy> <TypeName>PowerCode.Git.Abstractions.Models.GitStatusEntry</TypeName> </ViewSelectedBy> <TableControl> <TableHeaders> <TableColumnHeader> <Label>Status</Label> <Width>4</Width> </TableColumnHeader> <TableColumnHeader> <Label>Path</Label> </TableColumnHeader> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <TableColumnItem> <ScriptBlock>[PowerCode.Git.Formatting.GitStatusFormatter]::FormatEntryStatus($_)</ScriptBlock> </TableColumnItem> <TableColumnItem> <PropertyName>FilePath</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <!-- Default table view for GitDiffEntry — colored status --> <View> <Name>GitDiffEntry-Default</Name> <ViewSelectedBy> <TypeName>PowerCode.Git.Abstractions.Models.GitDiffEntry</TypeName> </ViewSelectedBy> <TableControl> <AutoSize /> <TableHeaders> <TableColumnHeader> <Label>Status</Label> </TableColumnHeader> <TableColumnHeader> <Label>Added</Label> </TableColumnHeader> <TableColumnHeader> <Label>Deleted</Label> </TableColumnHeader> <TableColumnHeader> <Label>Path</Label> </TableColumnHeader> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <TableColumnItem> <ScriptBlock> switch ($_.Status.ToString()) { 'Added' { "`e[32m$($_.Status)`e[0m" } 'Deleted' { "`e[31m$($_.Status)`e[0m" } 'Modified' { "`e[33m$($_.Status)`e[0m" } 'Renamed' { "`e[36m$($_.Status)`e[0m" } default { $_.Status.ToString() } } </ScriptBlock> </TableColumnItem> <TableColumnItem> <ScriptBlock>if ($_.LinesAdded -gt 0) { "`e[32m+$($_.LinesAdded)`e[0m" } else { $_.LinesAdded }</ScriptBlock> </TableColumnItem> <TableColumnItem> <ScriptBlock>if ($_.LinesDeleted -gt 0) { "`e[31m-$($_.LinesDeleted)`e[0m" } else { $_.LinesDeleted }</ScriptBlock> </TableColumnItem> <TableColumnItem> <PropertyName>NewPath</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 — colored branch names --> <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>Tracking</Label> </TableColumnHeader> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <TableColumnItem> <ScriptBlock>[PowerCode.Git.Formatting.GitBranchFormatter]::FormatBranchName($_)</ScriptBlock> </TableColumnItem> <TableColumnItem> <ScriptBlock>[PowerCode.Git.Formatting.GitLogFormatter]::FormatShortSha($_.TipShortSha)</ScriptBlock> </TableColumnItem> <TableColumnItem> <ScriptBlock>[PowerCode.Git.Formatting.GitBranchFormatter]::FormatTracking($_)</ScriptBlock> </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> <ScriptBlock>[PowerCode.Git.Formatting.GitBranchFormatter]::FormatBranchName($_)</ScriptBlock> </ListItem> <ListItem> <Label>IsHead</Label> <PropertyName>IsHead</PropertyName> </ListItem> <ListItem> <Label>IsRemote</Label> <PropertyName>IsRemote</PropertyName> </ListItem> <ListItem> <Label>Commit</Label> <ScriptBlock>[PowerCode.Git.Formatting.GitLogFormatter]::FormatFullSha($_.TipSha)</ScriptBlock> </ListItem> <ListItem> <Label>Tracking</Label> <ScriptBlock>[PowerCode.Git.Formatting.GitBranchFormatter]::FormatTracking($_)</ScriptBlock> </ListItem> </ListItems> </ListEntry> </ListEntries> </ListControl> </View> <!-- Default table view for GitTagInfo — colored tag names --> <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> <ScriptBlock>"`e[1;33m$($_.Name)`e[0m"</ScriptBlock> </TableColumnItem> <TableColumnItem> <ScriptBlock>[PowerCode.Git.Formatting.GitLogFormatter]::FormatShortSha($_.ShortSha)</ScriptBlock> </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> <ScriptBlock>"`e[1;33m$($_.Name)`e[0m"</ScriptBlock> </ListItem> <ListItem> <Label>Commit</Label> <ScriptBlock>[PowerCode.Git.Formatting.GitLogFormatter]::FormatFullSha($_.Sha)</ScriptBlock> </ListItem> <ListItem> <Label>IsAnnotated</Label> <PropertyName>IsAnnotated</PropertyName> </ListItem> <ListItem> <Label>Tagger</Label> <ScriptBlock>if ($_.TaggerName) { "$($_.TaggerName) <$($_.TaggerEmail)>" } 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> |