diff --git a/SPEC.md b/SPEC.md index fbec179..0405823 100644 --- a/SPEC.md +++ b/SPEC.md @@ -905,7 +905,7 @@ unicode-space := See Table (All White_Space unicode characters which are not `ne single-line-comment := '//' ^newline* (newline | eof) multi-line-comment := '/*' commented-block commented-block := '*/' | (multi-line-comment | '*' | '/' | [^*/]+) commented-block -slashdash := '/-' line-space* +slashdash := '/-' (node-space | line-space)* // Whitespace ws := unicode-space | multi-line-comment diff --git a/tests/test_cases/expected_kdl/slashdash_escline_before_arg_type.kdl b/tests/test_cases/expected_kdl/slashdash_escline_before_arg_type.kdl new file mode 100644 index 0000000..2e98005 --- /dev/null +++ b/tests/test_cases/expected_kdl/slashdash_escline_before_arg_type.kdl @@ -0,0 +1 @@ +node arg2 diff --git a/tests/test_cases/expected_kdl/slashdash_escline_before_children.kdl b/tests/test_cases/expected_kdl/slashdash_escline_before_children.kdl new file mode 100644 index 0000000..dd5fe2e --- /dev/null +++ b/tests/test_cases/expected_kdl/slashdash_escline_before_children.kdl @@ -0,0 +1 @@ +node arg1 diff --git a/tests/test_cases/expected_kdl/slashdash_escline_before_node.kdl b/tests/test_cases/expected_kdl/slashdash_escline_before_node.kdl new file mode 100644 index 0000000..6810417 --- /dev/null +++ b/tests/test_cases/expected_kdl/slashdash_escline_before_node.kdl @@ -0,0 +1 @@ +node2 diff --git a/tests/test_cases/input/slashdash_in_prop_fail.kdl b/tests/test_cases/input/slashdash_after_prop_key_fail.kdl similarity index 100% rename from tests/test_cases/input/slashdash_in_prop_fail.kdl rename to tests/test_cases/input/slashdash_after_prop_key_fail.kdl diff --git a/tests/test_cases/input/slashdash_before_children_end_fail.kdl b/tests/test_cases/input/slashdash_before_children_end_fail.kdl new file mode 100644 index 0000000..83b97ae --- /dev/null +++ b/tests/test_cases/input/slashdash_before_children_end_fail.kdl @@ -0,0 +1,4 @@ +node { + child1 + /- +} diff --git a/tests/test_cases/input/slashdash_before_eof_fail.kdl b/tests/test_cases/input/slashdash_before_eof_fail.kdl new file mode 100644 index 0000000..694173f --- /dev/null +++ b/tests/test_cases/input/slashdash_before_eof_fail.kdl @@ -0,0 +1 @@ +node foo /- diff --git a/tests/test_cases/input/slashdash_before_prop_value_fail.kdl b/tests/test_cases/input/slashdash_before_prop_value_fail.kdl new file mode 100644 index 0000000..de727dc --- /dev/null +++ b/tests/test_cases/input/slashdash_before_prop_value_fail.kdl @@ -0,0 +1 @@ +node key = /-val etc diff --git a/tests/test_cases/input/slashdash_escline_before_arg_type.kdl b/tests/test_cases/input/slashdash_escline_before_arg_type.kdl new file mode 100644 index 0000000..93231ec --- /dev/null +++ b/tests/test_cases/input/slashdash_escline_before_arg_type.kdl @@ -0,0 +1,2 @@ +node /-\ +(ty)arg1 arg2 diff --git a/tests/test_cases/input/slashdash_escline_before_children.kdl b/tests/test_cases/input/slashdash_escline_before_children.kdl new file mode 100644 index 0000000..40a97ee --- /dev/null +++ b/tests/test_cases/input/slashdash_escline_before_children.kdl @@ -0,0 +1,3 @@ +node arg1 /-\ +{ +} diff --git a/tests/test_cases/input/slashdash_escline_before_node.kdl b/tests/test_cases/input/slashdash_escline_before_node.kdl new file mode 100644 index 0000000..f7f7937 --- /dev/null +++ b/tests/test_cases/input/slashdash_escline_before_node.kdl @@ -0,0 +1,3 @@ +/-\ +node1 +node2 diff --git a/tests/test_cases/input/slashdash_inside_arg_type_fail.kdl b/tests/test_cases/input/slashdash_inside_arg_type_fail.kdl new file mode 100644 index 0000000..649bcca --- /dev/null +++ b/tests/test_cases/input/slashdash_inside_arg_type_fail.kdl @@ -0,0 +1 @@ +node (/-bad)nope diff --git a/tests/test_cases/input/slashdash_inside_node_type_fail.kdl b/tests/test_cases/input/slashdash_inside_node_type_fail.kdl new file mode 100644 index 0000000..3ed584c --- /dev/null +++ b/tests/test_cases/input/slashdash_inside_node_type_fail.kdl @@ -0,0 +1 @@ +(/-ty)node