From 54ff41c736ef5753028d4c4fce110fbb5ff217de Mon Sep 17 00:00:00 2001 From: Josh Johnson Date: Sat, 15 Sep 2018 22:39:27 -0400 Subject: [PATCH] Expose Initial Indent Level --- src/formatting/formatters/v2-xml-formatter.ts | 4 ++-- src/formatting/xml-formatting-options.ts | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/formatting/formatters/v2-xml-formatter.ts b/src/formatting/formatters/v2-xml-formatter.ts index 1a91e43..a22feac 100644 --- a/src/formatting/formatters/v2-xml-formatter.ts +++ b/src/formatting/formatters/v2-xml-formatter.ts @@ -29,7 +29,7 @@ export class V2XmlFormatter implements XmlFormatter { let output = ""; - let indentLevel = 0; + let indentLevel = options.initialIndentLevel; let attributeQuote = ""; let lineBreakSpree = false; let lastWordCharacter: string | undefined; @@ -194,7 +194,7 @@ export class V2XmlFormatter implements XmlFormatter { && cc === "/" && pc !== " " && options.enforcePrettySelfClosingTagOnFormat) { - output += " /"; + output += " /"; } // exiting StartTag or StartTag.StartTagName, entering Text diff --git a/src/formatting/xml-formatting-options.ts b/src/formatting/xml-formatting-options.ts index 06782a1..818d6e3 100644 --- a/src/formatting/xml-formatting-options.ts +++ b/src/formatting/xml-formatting-options.ts @@ -10,6 +10,7 @@ export interface XmlFormattingOptions { removeCommentsOnMinify: boolean; splitAttributesOnFormat: boolean; splitXmlnsOnFormat: boolean; + initialIndentLevel: number; } export class XmlFormattingOptionsFactory { @@ -20,7 +21,8 @@ export class XmlFormattingOptionsFactory { newLine: (document.eol === EndOfLine.CRLF) ? "\r\n" : "\n", removeCommentsOnMinify: Configuration.removeCommentsOnMinify(document.uri), splitAttributesOnFormat: Configuration.splitAttributesOnFormat(document.uri), - splitXmlnsOnFormat: Configuration.splitXmlnsOnFormat(document.uri) + splitXmlnsOnFormat: Configuration.splitXmlnsOnFormat(document.uri), + initialIndentLevel: 0 }; } }