diff --git a/src/ace/mode/Html.js b/src/ace/mode/Html.js
index cbac2e2f..26d6ce84 100644
--- a/src/ace/mode/Html.js
+++ b/src/ace/mode/Html.js
@@ -17,8 +17,9 @@ ace.inherits(ace.mode.Html, ace.mode.Text);
};
this.getNextLineIndent = function(state, line, tab) {
+ var self = this;
return this.$delegate("getNextLineIndent", arguments, function() {
- return "";
+ return self.$getIndent(line);
});
};
diff --git a/src/ace/mode/Xml.js b/src/ace/mode/Xml.js
index dbef442c..a1097edf 100644
--- a/src/ace/mode/Xml.js
+++ b/src/ace/mode/Xml.js
@@ -4,3 +4,11 @@ ace.mode.Xml = function() {
this.$tokenizer = new ace.Tokenizer(new ace.mode.XmlHighlightRules().getRules());
};
ace.inherits(ace.mode.Xml, ace.mode.Text);
+
+(function() {
+
+ this.getNextLineIndent = function(state, line, tab) {
+ return this.$getIndent(line);
+ };
+
+}).call(ace.mode.Xml.prototype);
\ No newline at end of file
diff --git a/src/test/ace/mode/HtmlTest.js b/src/test/ace/mode/HtmlTest.js
new file mode 100644
index 00000000..9b6041e9
--- /dev/null
+++ b/src/test/ace/mode/HtmlTest.js
@@ -0,0 +1,20 @@
+var HtmlTest = new TestCase("mode.HtmlTest", {
+
+ setUp : function() {
+ this.mode = new ace.mode.Html();
+ },
+
+ "test: toggle comment lines should not do anything" : function() {
+ var doc = new ace.Document([" abc", "cde", "fg"]);
+
+ var range = new ace.Range(0, 3, 1, 1);
+ var comment = this.mode.toggleCommentLines("start", doc, range);
+ assertEquals([" abc", "cde", "fg"].join("\n"), doc.toString());
+ },
+
+ "test: next line indent should be the same as the current line indent" : function() {
+ assertEquals(" ", this.mode.getNextLineIndent("start", " abc"));
+ assertEquals("", this.mode.getNextLineIndent("start", "abc"));
+ assertEquals("\t", this.mode.getNextLineIndent("start", "\tabc"));
+ }
+});
\ No newline at end of file
diff --git a/src/test/ace/mode/XmlTest.js b/src/test/ace/mode/XmlTest.js
index eccb727b..dc8143d3 100644
--- a/src/test/ace/mode/XmlTest.js
+++ b/src/test/ace/mode/XmlTest.js
@@ -19,5 +19,11 @@ var XmlTest = new TestCase("mode.XmlTest", {
var range = new ace.Range(0, 3, 1, 1);
var comment = this.mode.toggleCommentLines("start", doc, range);
assertEquals([" abc", "cde", "fg"].join("\n"), doc.toString());
+ },
+
+ "test: next line indent should be the same as the current line indent" : function() {
+ assertEquals(" ", this.mode.getNextLineIndent("start", " abc"));
+ assertEquals("", this.mode.getNextLineIndent("start", "abc"));
+ assertEquals("\t", this.mode.getNextLineIndent("start", "\tabc"));
}
});
\ No newline at end of file