java-properties: comments can start also with „!“ v_0
authorFrantišek Kučera <franta-hg@frantovo.cz>
Wed, 29 Sep 2021 19:16:33 +0200
branchv_0
changeset 36 b4fbf2772cfd
parent 35 930f17f16fd7
child 37 3dcb206894c7
java-properties: comments can start also with „!“
src/lib/BasicUnescapingProcessor.h
src/lib/JavaPropertiesDialect.h
--- a/src/lib/BasicUnescapingProcessor.h	Wed Sep 29 00:54:55 2021 +0200
+++ b/src/lib/BasicUnescapingProcessor.h	Wed Sep 29 19:16:33 2021 +0200
@@ -38,7 +38,7 @@
 			if (i + 1 < length && ch == ESC) {
 				ch = s[i + 1];
 				if (ch == 'n') put(result, '\n', i);
-				else if (ch == 'r') put(result, '\r', i);
+				else if (ch == 'r') put(result, '\r', i); // TODO: should be 0x0d, not 0x0a like \n
 				else if (ch == 't') put(result, '\t', i);
 				else if (ch == 's') put(result, ' ', i); // TODO: Reconsider what is „basic“ escaping and should be supported.
 				else if (ch == '"') put(result, ch, i); //        The delimiters (\n,]",') are already unescaped during the first stage in the INIReader while parsing (the delimiter relevant to given environment is unescaped, e.g. \" in "quoted" value).
--- a/src/lib/JavaPropertiesDialect.h	Wed Sep 29 00:54:55 2021 +0200
+++ b/src/lib/JavaPropertiesDialect.h	Wed Sep 29 19:16:33 2021 +0200
@@ -34,7 +34,7 @@
 		reader.setOption(option::AllowSections, "false");
 		reader.setOption(option::AllowSectionTags, "false");
 		reader.setOption(option::AllowSubKeys, "false");
-		reader.setOption(option::CommentSeparators, "#");
+		reader.setOption(option::CommentSeparators, "#!");
 		reader.setOption(option::KeyValueSeparators, "=");
 		reader.setOption(option::Quotes, "");
 		reader.setOption(option::AllowLineContinuationWithEscaping, "true");