Issue #46
This commit is contained in:
Josh Johnson 2016-03-15 14:45:18 -04:00
commit 668fa5894b
2 changed files with 9 additions and 4 deletions

View File

@ -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"

View File

@ -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++) {
// <!
if (parts[i].search(/<!/) > -1) {
@ -62,7 +62,7 @@ export class XmlFormatter {
// <elm></elm>
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 {
}
// <elm />
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];
}
// <?xml ... ?>
else if (parts[i].search(/<\?/) > -1) {
output += this._getIndent(level, parts[i]);