From b69f7450aa4506b5da85ca972941046bad22197b Mon Sep 17 00:00:00 2001 From: nightwing Date: Sat, 2 Aug 2014 01:02:52 +0400 Subject: [PATCH] fix autoclosing of p tag --- lib/ace/mode/folding/xml.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/ace/mode/folding/xml.js b/lib/ace/mode/folding/xml.js index 93c40572..68d13423 100644 --- a/lib/ace/mode/folding/xml.js +++ b/lib/ace/mode/folding/xml.js @@ -39,8 +39,12 @@ var TokenIterator = require("../../token_iterator").TokenIterator; var FoldMode = exports.FoldMode = function(voidElements, optionalEndTags) { BaseFoldMode.call(this); - // TODO folding support for optional end tags - this.voidElements = oop.mixin(voidElements || {}, optionalEndTags || {}); + this.voidElements = voidElements || {}; + this.optionalEndTags = {}; + oop.mixin({}, this.voidElements); + if (optionalEndTags) + oop.mixin(this.optionalEndTags, optionalEndTags); + }; oop.inherits(FoldMode, BaseFoldMode); @@ -189,10 +193,10 @@ function is(token, type) { if (!tag || top.tagName == tag.tagName) { return stack.pop(); } - else if (this.voidElements.hasOwnProperty(tag.tagName)) { + else if (this.optionalEndTags.hasOwnProperty(tag.tagName)) { return; } - else if (this.voidElements.hasOwnProperty(top.tagName)) { + else if (this.optionalEndTags.hasOwnProperty(top.tagName)) { stack.pop(); continue; } else {