Skip to content

Commit b879797

Browse files
StartAutomatingStartAutomating
authored andcommitted
feat: MarkX.YamlHeader ( Fixes #32, Fixes #33 )
1 parent 92822ad commit b879797

1 file changed

Lines changed: 36 additions & 0 deletions

File tree

MarkX.types.ps1xml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@
1919
<Name>DB</Name>
2020
<ReferencedMemberName>DataSet</ReferencedMemberName>
2121
</AliasProperty>
22+
<AliasProperty>
23+
<Name>Header</Name>
24+
<ReferencedMemberName>YamlHeader</ReferencedMemberName>
25+
</AliasProperty>
2226
<AliasProperty>
2327
<Name>Heading</Name>
2428
<ReferencedMemberName>Headings</ReferencedMemberName>
@@ -606,6 +610,38 @@ $this.Input = $Markdown
606610
return $this.'#XMl'
607611
</GetScriptBlock>
608612
</ScriptProperty>
613+
<ScriptProperty>
614+
<Name>YamlHeader</Name>
615+
<GetScriptBlock>
616+
return $this.'#YamlHeader'
617+
</GetScriptBlock>
618+
<SetScriptBlock>
619+
param($header)
620+
621+
if ($header -is [string]) {
622+
$this | Add-Member NoteProperty '#YamlHeader' $header -Force
623+
return
624+
}
625+
626+
$convertToYaml = $ExecutionContext.SessionState.InvokeCommand.GetCommand('ConvertTo-Yaml', 'Alias,Cmdlet,Function')
627+
if (-not $convertToYaml) {
628+
Write-Warning "Cannot set yaml header without converter"
629+
return
630+
}
631+
632+
$convertParameters = @{}
633+
if ($convertToYaml.Parameters['Depth']) {
634+
$convertParameters['Depth'] = $FormatEnumerationLimit
635+
}
636+
$toYaml = $header | &amp; $convertToYaml @convertParameters
637+
if ($toYaml -is [string]) {
638+
$this | Add-Member NoteProperty '#YamlHeader' $toYaml -Force
639+
}
640+
641+
642+
643+
</SetScriptBlock>
644+
</ScriptProperty>
609645
<NoteProperty>
610646
<Name>DefaultDisplay</Name>
611647
<Value>Markdown

0 commit comments

Comments
 (0)