diff --git a/src/Microsoft.PowerShell.MarkdownRender/Microsoft.PowerShell.MarkdownRender.csproj b/src/Microsoft.PowerShell.MarkdownRender/Microsoft.PowerShell.MarkdownRender.csproj index c00c90b95..723dee057 100644 --- a/src/Microsoft.PowerShell.MarkdownRender/Microsoft.PowerShell.MarkdownRender.csproj +++ b/src/Microsoft.PowerShell.MarkdownRender/Microsoft.PowerShell.MarkdownRender.csproj @@ -8,7 +8,7 @@ - + diff --git a/src/Microsoft.PowerShell.MarkdownRender/VT100EscapeSequences.cs b/src/Microsoft.PowerShell.MarkdownRender/VT100EscapeSequences.cs index 8d3a28356..0e18d4834 100644 --- a/src/Microsoft.PowerShell.MarkdownRender/VT100EscapeSequences.cs +++ b/src/Microsoft.PowerShell.MarkdownRender/VT100EscapeSequences.cs @@ -9,6 +9,67 @@ using Markdig.Syntax; namespace Microsoft.PowerShell.MarkdownRender { + /// + /// Enum to name all the properties of MarkdownOptionInfo. + /// + public enum MarkdownOptionInfoProperty + { + /// + /// Property name Header1. + /// + Header1, + + /// + /// Property name Header2. + /// + Header2, + + /// + /// Property name Header3. + /// + Header3, + + /// + /// Property name Header4. + /// + Header4, + + /// + /// Property name Header5. + /// + Header5, + + /// + /// Property name Header6. + /// + Header6, + + /// + /// Property name Code. + /// + Code, + + /// + /// Property name Link. + /// + Link, + + /// + /// Property name Image. + /// + Image, + + /// + /// Property name EmphasisBold. + /// + EmphasisBold, + + /// + /// Property name EmphasisItalics. + /// + EmphasisItalics + } + /// /// Class to represent color preference options for various Markdown elements. /// @@ -78,43 +139,41 @@ namespace Microsoft.PowerShell.MarkdownRender /// /// Name of the property to get as escape sequence. /// Specified property name as escape sequence. - public string AsEscapeSequence(string propertyName) + public string AsEscapeSequence(MarkdownOptionInfoProperty propertyName) { - var propName = propertyName?.ToLower(); - - switch (propName) + switch (propertyName) { - case "header1": + case MarkdownOptionInfoProperty.Header1: return string.Concat(Esc, Header1, Header1, Esc, EndSequence); - case "header2": + case MarkdownOptionInfoProperty.Header2: return string.Concat(Esc, Header2, Header2, Esc, EndSequence); - case "header3": + case MarkdownOptionInfoProperty.Header3: return string.Concat(Esc, Header3, Header3, Esc, EndSequence); - case "header4": + case MarkdownOptionInfoProperty.Header4: return string.Concat(Esc, Header4, Header4, Esc, EndSequence); - case "header5": + case MarkdownOptionInfoProperty.Header5: return string.Concat(Esc, Header5, Header5, Esc, EndSequence); - case "header6": + case MarkdownOptionInfoProperty.Header6: return string.Concat(Esc, Header6, Header6, Esc, EndSequence); - case "code": + case MarkdownOptionInfoProperty.Code: return string.Concat(Esc, Code, Code, Esc, EndSequence); - case "link": + case MarkdownOptionInfoProperty.Link: return string.Concat(Esc, Link, Link, Esc, EndSequence); - case "image": + case MarkdownOptionInfoProperty.Image: return string.Concat(Esc, Image, Image, Esc, EndSequence); - case "emphasisbold": + case MarkdownOptionInfoProperty.EmphasisBold: return string.Concat(Esc, EmphasisBold, EmphasisBold, Esc, EndSequence); - case "emphasisitalics": + case MarkdownOptionInfoProperty.EmphasisItalics: return string.Concat(Esc, EmphasisItalics, EmphasisItalics, Esc, EndSequence); default: