Visual Studio Natvis visualization
This commit is contained in:
parent
6b9c07e6ed
commit
db2222e4b6
82
contrib/natvis/pugixml.natvis
Normal file
82
contrib/natvis/pugixml.natvis
Normal file
@ -0,0 +1,82 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
|
||||
<Type Name="pugi::xml_node">
|
||||
<DisplayString Condition="_root">{_root}</DisplayString>
|
||||
<DisplayString Condition="!_root">none</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem Condition="_root">_root</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="pugi::xml_node_struct">
|
||||
<DisplayString Condition="(header & 0xf) == 0">null</DisplayString>
|
||||
<DisplayString Condition="(header & 0xf) == 1">document</DisplayString>
|
||||
<DisplayString Condition="(header & 0xf) == 2"><{name,sb}></DisplayString>
|
||||
<DisplayString Condition="(header & 0xf) == 3">{value,sb}</DisplayString>
|
||||
<DisplayString Condition="(header & 0xf) == 4"><![CDATA[{value,sb}]]></DisplayString>
|
||||
<DisplayString Condition="(header & 0xf) == 5"><--{value,sb}--></DisplayString>
|
||||
<DisplayString Condition="(header & 0xf) == 6"><?{name,sb}?></DisplayString>
|
||||
<DisplayString Condition="(header & 0xf) == 7"><?{name,sb}?></DisplayString>
|
||||
<DisplayString Condition="(header & 0xf) == 8"><!DOCTYPE {value,sb}></DisplayString>
|
||||
<Expand>
|
||||
<Item Name="value" Condition="value">value,na</Item>
|
||||
<Synthetic Name="attributes" Condition="first_attribute">
|
||||
<Expand>
|
||||
<CustomListItems>
|
||||
<Variable Name="curr" InitialValue="first_attribute" />
|
||||
|
||||
<Loop Condition="curr">
|
||||
<Item Name="{curr->name,sb}">curr,view(child)na</Item>
|
||||
<Exec>curr = curr->next_attribute</Exec>
|
||||
</Loop>
|
||||
</CustomListItems>
|
||||
</Expand>
|
||||
</Synthetic>
|
||||
<LinkedListItems>
|
||||
<HeadPointer>first_child</HeadPointer>
|
||||
<NextPointer>next_sibling</NextPointer>
|
||||
<ValueNode>this,na</ValueNode>
|
||||
</LinkedListItems>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="pugi::xml_attribute">
|
||||
<DisplayString Condition="_attr">{_attr}</DisplayString>
|
||||
<DisplayString Condition="!_attr">none</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem Condition="_attr">_attr</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="pugi::xml_attribute_struct">
|
||||
<DisplayString ExcludeView="child">{name,sb} = {value,sb}</DisplayString>
|
||||
<DisplayString>{value,sb}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="name">name,na</Item>
|
||||
<Item Name="value">value,na</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="pugi::xpath_node">
|
||||
<DisplayString Condition="_node._root && _attribute._attr">{_node,na} "{_attribute._attr->name,sb}"="{_attribute._attr->value,sb}"</DisplayString>
|
||||
<DisplayString Condition="_node._root">{_node,na}</DisplayString>
|
||||
<DisplayString Condition="_attribute._attr">{_attribute}</DisplayString>
|
||||
<DisplayString>empty</DisplayString>
|
||||
<Expand HideRawView="1">
|
||||
<ExpandedItem Condition="_node._root && !_attribute._attr">_node</ExpandedItem>
|
||||
<ExpandedItem Condition="!_node._root && _attribute._attr">_attribute</ExpandedItem>
|
||||
<Item Name="node" Condition="_node._root && _attribute._attr">_node,na</Item>
|
||||
<Item Name="attribute" Condition="_node._root && _attribute._attr">_attribute,na</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="pugi::xpath_node_set">
|
||||
<Expand>
|
||||
<Item Name="type">_type</Item>
|
||||
<ArrayItems>
|
||||
<Size>_end - _begin</Size>
|
||||
<ValuePointer>_begin</ValuePointer>
|
||||
</ArrayItems>
|
||||
</Expand>
|
||||
</Type>
|
||||
</AutoVisualizer>
|
||||
82
contrib/natvis/pugixml_wide.natvis
Normal file
82
contrib/natvis/pugixml_wide.natvis
Normal file
@ -0,0 +1,82 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
|
||||
<Type Name="pugi::xml_node">
|
||||
<DisplayString Condition="_root">{_root}</DisplayString>
|
||||
<DisplayString Condition="!_root">none</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem Condition="_root">_root</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="pugi::xml_node_struct">
|
||||
<DisplayString Condition="(header & 0xf) == 0">null</DisplayString>
|
||||
<DisplayString Condition="(header & 0xf) == 1">document</DisplayString>
|
||||
<DisplayString Condition="(header & 0xf) == 2"><{name,sub}></DisplayString>
|
||||
<DisplayString Condition="(header & 0xf) == 3">{value,sub}</DisplayString>
|
||||
<DisplayString Condition="(header & 0xf) == 4"><![CDATA[{value,sub}]]></DisplayString>
|
||||
<DisplayString Condition="(header & 0xf) == 5"><--{value,sub}--></DisplayString>
|
||||
<DisplayString Condition="(header & 0xf) == 6"><?{name,sub}?></DisplayString>
|
||||
<DisplayString Condition="(header & 0xf) == 7"><?{name,sub}?></DisplayString>
|
||||
<DisplayString Condition="(header & 0xf) == 8"><!DOCTYPE {value,sub}></DisplayString>
|
||||
<Expand>
|
||||
<Item Name="value" Condition="value">value,na</Item>
|
||||
<Synthetic Name="attributes" Condition="first_attribute">
|
||||
<Expand>
|
||||
<CustomListItems>
|
||||
<Variable Name="curr" InitialValue="first_attribute" />
|
||||
|
||||
<Loop Condition="curr">
|
||||
<Item Name="{curr->name,sub}">curr,view(child)na</Item>
|
||||
<Exec>curr = curr->next_attribute</Exec>
|
||||
</Loop>
|
||||
</CustomListItems>
|
||||
</Expand>
|
||||
</Synthetic>
|
||||
<LinkedListItems>
|
||||
<HeadPointer>first_child</HeadPointer>
|
||||
<NextPointer>next_sibling</NextPointer>
|
||||
<ValueNode>this,na</ValueNode>
|
||||
</LinkedListItems>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="pugi::xml_attribute">
|
||||
<DisplayString Condition="_attr">{_attr}</DisplayString>
|
||||
<DisplayString Condition="!_attr">none</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem Condition="_attr">_attr</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="pugi::xml_attribute_struct">
|
||||
<DisplayString ExcludeView="child">{name,sub} = {value,sub}</DisplayString>
|
||||
<DisplayString>{value,sub}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="name">name,na</Item>
|
||||
<Item Name="value">value,na</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="pugi::xpath_node">
|
||||
<DisplayString Condition="_node._root && _attribute._attr">{_node,na} "{_attribute._attr->name,sub}"="{_attribute._attr->value,sub}"</DisplayString>
|
||||
<DisplayString Condition="_node._root">{_node,na}</DisplayString>
|
||||
<DisplayString Condition="_attribute._attr">{_attribute}</DisplayString>
|
||||
<DisplayString>empty</DisplayString>
|
||||
<Expand HideRawView="1">
|
||||
<ExpandedItem Condition="_node._root && !_attribute._attr">_node</ExpandedItem>
|
||||
<ExpandedItem Condition="!_node._root && _attribute._attr">_attribute</ExpandedItem>
|
||||
<Item Name="node" Condition="_node._root && _attribute._attr">_node,na</Item>
|
||||
<Item Name="attribute" Condition="_node._root && _attribute._attr">_attribute,na</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="pugi::xpath_node_set">
|
||||
<Expand>
|
||||
<Item Name="type">_type</Item>
|
||||
<ArrayItems>
|
||||
<Size>_end - _begin</Size>
|
||||
<ValuePointer>_begin</ValuePointer>
|
||||
</ArrayItems>
|
||||
</Expand>
|
||||
</Type>
|
||||
</AutoVisualizer>
|
||||
Loading…
Reference in New Issue
Block a user