MegaBites-AI/Windows-powershell
0372
1// Copyright (c) Microsoft Corporation.2// Licensed under the MIT License.3 4namespace System.Management.Automation5{6 /// <summary>7 /// Class HelpFileHelpInfo keeps track of help information to be returned by8 /// command help provider.9 /// </summary>10 internal sealed class SyntaxHelpInfo : BaseCommandHelpInfo11 {12 /// <summary>13 /// Constructor for SyntaxHelpInfo.14 /// </summary>15 private SyntaxHelpInfo(string name, string text, HelpCategory category)16 : base(category)17 {18 FullHelp = PSObject.AsPSObject(text);19 Name = name;20 Synopsis = text;21 }22 23 /// <summary>24 /// Name for the help info.25 /// </summary>26 /// <value>Name for the help info</value>27 internal override string Name { get; } = string.Empty;28 29 /// <summary>30 /// Synopsis for the help info.31 /// </summary>32 /// <value>Synopsis for the help info</value>33 internal override string Synopsis { get; } = string.Empty;34 35 /// <summary>36 /// Full help object for this help info.37 /// </summary>38 /// <value>Full help object for this help info</value>39 internal override PSObject FullHelp { get; }40 41 /// <summary>42 /// Get help info based on name, text and filename.43 /// </summary>44 /// <param name="name">Help topic name.</param>45 /// <param name="text">Help text.</param>46 /// <param name="category">Help category.</param>47 /// <returns>SyntaxHelpInfo object created based on information provided.</returns>48 internal static SyntaxHelpInfo GetHelpInfo(string name, string text, HelpCategory category)49 {50 if (string.IsNullOrEmpty(name))51 return null;52 53 SyntaxHelpInfo syntaxHelpInfo = new SyntaxHelpInfo(name, text, category);54 55 if (string.IsNullOrEmpty(syntaxHelpInfo.Name))56 return null;57 58 syntaxHelpInfo.AddCommonHelpProperties();59 60 return syntaxHelpInfo;61 }62 }63}64 