Components/PS.Util.CommentHelp/Public/Get-PSUtilCommentHelpInfo.ps1
|
function Get-PSUtilCommentHelpInfo { [CmdletBinding()] Param( [Parameter( Mandatory, ValueFromPipeline )] [System.Management.Automation.Language.FunctionDefinitionAst] $FuntionDefinitionAst ) PROCESS { $predicate = { param($astObject) $astObject.GetType().Name -like 'FunctionDefinitionAst' } $commentHelp = $FuntionDefinitionAst.GetHelpContent() $commentHelpType = if ($commentHelp) { $errors = $null $ast = [System.Management.Automation.Language.Parser]::ParseInput($FuntionDefinitionAst.Extent.Text, [ref]$null, [ref]$errors) $result = $ast.FindAll($predicate, $false) if ($result.GetHelpContent()) { 'Internal' } else { 'External' } } else { "None" } [PSCustomObject]@{ FunctionName = $FuntionDefinitionAst.Name CommentHelpType = $commentHelpType CommentHelp = $commentHelp } } } |