diff --git a/package.json b/package.json
index cbb2401..5677b33 100644
--- a/package.json
+++ b/package.json
@@ -121,7 +121,7 @@
"onCommand:xmlTools.viewXmlTree"
],
"devDependencies": {
- "vscode": "TrueCommerce/vscode-extension-vscode#519e686",
+ "vscode": "^0.11.8",
"typescript": "^1.6.2",
"gulp": "^3.9.0",
"gulp-shell": "^0.5.1"
diff --git a/src/services/XmlFormatter.ts b/src/services/XmlFormatter.ts
index 85ad7a3..37b8eb3 100644
--- a/src/services/XmlFormatter.ts
+++ b/src/services/XmlFormatter.ts
@@ -40,7 +40,7 @@ export class XmlFormatter {
let inComment: boolean = false;
let level: number = 0;
let output: string = '';
-
+
for (let i = 0; i < parts.length; i++) {
// -1) {
@@ -62,7 +62,7 @@ export class XmlFormatter {
//
else if (/^<\w/.test(parts[i - 1]) && /^<\/\w/.test(parts[i])
&& /^<[\w:\-\.\,]+/.exec(parts[i - 1])[0] == /^<\/[\w:\-\.\,]+/.exec(parts[i])[0].replace('/', '')) {
-
+
output += parts[i];
if (!inComment) level--;
}
@@ -83,10 +83,15 @@ export class XmlFormatter {
}
//
- else if (parts[i].search(/\/>/) > -1) {
+ else if (parts[i].search(/\/>/) > -1 && (!this.splitNamespaces || parts[i].search(/xmlns\:/) == -1)) {
output = (!inComment) ? output += this._getIndent(level, parts[i]) : output += parts[i];
}
+ // xmlns />
+ else if (parts[i].search(/\/>/) > -1 && parts[i].search(/xmlns\:/) > -1 && this.splitNamespaces) {
+ output = (!inComment) ? output += this._getIndent(level--, parts[i]) : output += parts[i];
+ }
+
//
else if (parts[i].search(/<\?/) > -1) {
output += this._getIndent(level, parts[i]);