diff --git a/autotests/folding/test.properties.fold b/autotests/folding/test.properties.fold new file mode 100644 --- /dev/null +++ b/autotests/folding/test.properties.fold @@ -0,0 +1,63 @@ +# Java Properties Sample File + +# This is a commment +! This is also a comment + # comment + ! comment + +# keys and values can be separated by '=', ':' or by a series of spaces: + +key = value +key : value +key value + +# spaces, '=', or ':' can be used in the key by escaping them with a backslash: + +key\:continued = value +key\=continued = value +key\ continued = value + +# the key starts with the first non blank character on the line: + + key = value + +# there can be an arbitrary amount of spaces between the key, the value, and the ':' or '=', if present: + +key=value +key = value + +key:value +key : value + +key value +key value + +# values can be continued on another line by escaping the line end character with a backslash: + +key = value \ + value continued + +# This works also over more than one line: + +key = value\ + value continued 1\ + value continued 2\ + value continued 3 + +# But if the line ends with an even number of backslashes, the value is not continued: + +key = value\\ +newkey = value + +key = value\\\\ +newkey = value + +# both key and value can be ommitted, in which case either the key or the value or both equal the empty string: + +key = +key += value + += +: + diff --git a/autotests/html/test.properties.html b/autotests/html/test.properties.html new file mode 100644 --- /dev/null +++ b/autotests/html/test.properties.html @@ -0,0 +1,70 @@ + + + +test.properties + +
+# Java Properties Sample File
+
+# This is a commment
+! This is also a comment
+     # comment
+     ! comment
+
+# keys and values can be separated by '=', ':' or by a series of spaces:
+
+key = value
+key : value
+key value
+
+# spaces, '=', or ':' can be used in the key by escaping them with a backslash:
+
+key\:continued = value
+key\=continued = value
+key\ continued = value
+
+# the key starts with the first non blank character on the line:
+
+    key = value
+    
+# there can be an arbitrary amount of spaces between the key, the value, and the ':' or '=', if present:
+
+key=value
+key     =      value
+
+key:value
+key     :      value
+
+key value
+key                  value
+
+# values can be continued on another line by escaping the line end character with a backslash:
+
+key = value \
+  value continued
+  
+# This works also over more than one line:
+
+key = value\
+  value continued 1\
+  value continued 2\
+  value continued 3
+  
+# But if the line ends with an even number of backslashes, the value is not continued:
+
+key = value\\
+newkey = value
+
+key = value\\\\
+newkey = value
+
+# both key and value can be ommitted, in which case either the key or the value or both equal the empty string:
+
+key =
+key
+= value
+
+=
+:
+
+
diff --git a/autotests/input/test.properties b/autotests/input/test.properties new file mode 100644 --- /dev/null +++ b/autotests/input/test.properties @@ -0,0 +1,63 @@ +# Java Properties Sample File + +# This is a commment +! This is also a comment + # comment + ! comment + +# keys and values can be separated by '=', ':' or by a series of spaces: + +key = value +key : value +key value + +# spaces, '=', or ':' can be used in the key by escaping them with a backslash: + +key\:continued = value +key\=continued = value +key\ continued = value + +# the key starts with the first non blank character on the line: + + key = value + +# there can be an arbitrary amount of spaces between the key, the value, and the ':' or '=', if present: + +key=value +key = value + +key:value +key : value + +key value +key value + +# values can be continued on another line by escaping the line end character with a backslash: + +key = value \ + value continued + +# This works also over more than one line: + +key = value\ + value continued 1\ + value continued 2\ + value continued 3 + +# But if the line ends with an even number of backslashes, the value is not continued: + +key = value\\ +newkey = value + +key = value\\\\ +newkey = value + +# both key and value can be ommitted, in which case either the key or the value or both equal the empty string: + +key = +key += value + += +: + diff --git a/autotests/reference/test.properties.ref b/autotests/reference/test.properties.ref new file mode 100644 --- /dev/null +++ b/autotests/reference/test.properties.ref @@ -0,0 +1,63 @@ +# Java Properties Sample File
+
+# This is a commment
+! This is also a comment
+ # comment
+ ! comment
+
+# keys and values can be separated by '=', ':' or by a series of spaces:
+
+key = value
+key : value
+key value
+
+# spaces, '=', or ':' can be used in the key by escaping them with a backslash:
+
+key\:continued = value
+key\=continued = value
+key\ continued = value
+
+# the key starts with the first non blank character on the line:
+
+ key = value
+
+# there can be an arbitrary amount of spaces between the key, the value, and the ':' or '=', if present:
+
+key=value
+key = value
+
+key:value
+key : value
+
+key value
+key value
+
+# values can be continued on another line by escaping the line end character with a backslash:
+
+key = value \
+ value continued
+
+# This works also over more than one line:
+
+key = value\
+ value continued 1\
+ value continued 2\
+ value continued 3
+
+# But if the line ends with an even number of backslashes, the value is not continued:
+
+key = value\\
+newkey = value
+
+key = value\\\\
+newkey = value
+
+# both key and value can be ommitted, in which case either the key or the value or both equal the empty string:
+
+key =
+key
+= value
+
+=
+:
+
diff --git a/data/syntax/java-properties.xml b/data/syntax/java-properties.xml new file mode 100644 --- /dev/null +++ b/data/syntax/java-properties.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +