TreeStore.format.ps1xml

<?xml version="1.0" encoding="utf-8"?>
<Configuration>
  <Controls>
    <Control>
      <Name>PSParentPathGroupingFormat</Name>
      <CustomControl>
        <CustomEntries>
          <CustomEntry>
            <CustomItem>
              <Frame>
                <LeftIndent>4</LeftIndent>
                <CustomItem>
                  <ExpressionBinding>
                      <ScriptBlock>"$($_.ItemType) in: "</ScriptBlock>
                  </ExpressionBinding>
                  <ExpressionBinding>
                      <ScriptBlock>$drv = $_.PSDRIVE; $_.PSPARENTPATH -replace ".*#" -replace "^.[^\\/]*","${drv}:"</ScriptBlock>
                  </ExpressionBinding>
                  <NewLine/>
                </CustomItem>
              </Frame>
            </CustomItem>
          </CustomEntry>
        </CustomEntries>
      </CustomControl>
    </Control>
  </Controls>
   
  <ViewDefinitions>
    <View>
      <!--
      entity
        tag
          property
      -->
      <Name>EntityFormatted</Name>
      <ViewSelectedBy>
        <TypeName>TreeStore.PsModule.PathNodes.EntityNode+Item</TypeName>
      </ViewSelectedBy>
      <CustomControl>
        <CustomEntries>
          <CustomEntry>
            <CustomItem>
              <ExpressionBinding>
                <ScriptBlock>
                  $_.ToFormattedString()
                </ScriptBlock>
              </ExpressionBinding>
            </CustomItem>
          </CustomEntry>
        </CustomEntries>
      </CustomControl>
    </View>
    <!--
    tag
      property
    -->
    <View>
      <Name>AssignedTagFormatted</Name>
      <ViewSelectedBy>
        <TypeName>TreeStore.PsModule.PathNodes.AssignedTagNode+Item</TypeName>
      </ViewSelectedBy>
      <CustomControl>
        <CustomEntries>
          <CustomEntry>
            <CustomItem>
              <ExpressionBinding>
                <ScriptBlock>
                  $_.ToFormattedString()
                </ScriptBlock>
              </ExpressionBinding>
            </CustomItem>
          </CustomEntry>
        </CustomEntries>
      </CustomControl>
    </View>
 
    <!--
    Formatting in /Tags: Table
    -->
    <View>
      <Name>children</Name>
      <ViewSelectedBy>
        <TypeName>TreeStore.PsModule.PathNodes.TagNode+Item</TypeName>
        <TypeName>TreeStore.PsModule.PathNodes.FacetPropertyNode+Item</TypeName>
      </ViewSelectedBy>
      <GroupBy>
        <PropertyName>PSParentPath</PropertyName>
        <CustomControlName>PSParentPathGroupingFormat</CustomControlName>
      </GroupBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Name</Label>
            <Width>30</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>ItemType</Label>
            <Width>21</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>ItemType</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
     
    <View>
      <Name>children</Name>
      <ViewSelectedBy>
        <TypeName>TreeStore.PsModule.PathNodes.FacetPropertyNode+Item</TypeName>
      </ViewSelectedBy>
      <GroupBy>
        <PropertyName>PSParentPath</PropertyName>
      </GroupBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Name</Label>
            <Width>50</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>ItemType</Label>
            <Width>21</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <Wrap />
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>ItemType</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
 
    <!--
    Formatting in /Tags: List
    -->
    <View>
      <Name>children</Name>
      <ViewSelectedBy>
        <TypeName>TreeStore.PsModule.PathNodes.TagNode+Item</TypeName>
      </ViewSelectedBy>
      <GroupBy>
        <PropertyName>PSParentPath</PropertyName>
      </GroupBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem>
                <PropertyName>Name</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>ItemType</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
          <ListEntry>
            <EntrySelectedBy>
              <TypeName>TreeStore.PsModule.PathNodes.FacetPropertyNode+Item</TypeName>
            </EntrySelectedBy>
            <ListItems>
              <ListItem>
                <PropertyName>Name</PropertyName>
              </ListItem>
              <ListItem>
                <Label>ItemType</Label>
                <PropertyName>ItemType</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>
 
    <!--
    Formatting in the Tags dir: Wide
    -->
    <View>
      <Name>children</Name>
      <ViewSelectedBy>
        <TypeName>TreeStore.PsModule.PathNodes.TagNode+Item</TypeName>
      </ViewSelectedBy>
      <GroupBy>
        <PropertyName>PSParentPath</PropertyName>
      </GroupBy>
      <WideControl>
        <WideEntries>
          <WideEntry>
            <WideItem>
              <PropertyName>Name</PropertyName>
            </WideItem>
          </WideEntry>
          <WideEntry>
            <EntrySelectedBy>
              <TypeName>TreeStore.PsModule.PathNodes.TagNode+Item</TypeName>
            </EntrySelectedBy>
            <WideItem>
              <PropertyName>Name</PropertyName>
            </WideItem>
          </WideEntry>
        </WideEntries>
      </WideControl>
    </View>
   
    <!--
      Formatting i /Entities
    -->
    <View>
      <Name>children</Name>
      <ViewSelectedBy>
        <TypeName>TreeStore.PsModule.PathNodes.CategoryNode+Item</TypeName>
        <TypeName>TreeStore.PsModule.PathNodes.EntityNode+Item</TypeName>
        <TypeName>TreeStore.PsModule.PathNodes.AssignedTagNode+Item</TypeName>
      </ViewSelectedBy>
      <GroupBy>
        <PropertyName>PSParentPath</PropertyName>
        <CustomControlName>PSParentPathGroupingFormat</CustomControlName>
      </GroupBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Name</Label>
            <Width>30</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>ItemType</Label>
            <Width>21</Width>
            <Alignment>Left</Alignment>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>ItemType</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
  </ViewDefinitions>
 
</Configuration>