tree-sitter-yaml/test/corpus/06_structures.txt

764 lines
16 KiB
Plaintext
Raw Normal View History

2024-03-31 14:35:41 -04:00
============================================================================||||
Indentation Spaces
============================================================================||||
# Leading comment line spaces are
# neither content nor indentation.
Not indented:
By one space: |
By four
spaces
Flow style: [ # Leading spaces
By two, # in flow style
Also by two, # are neither
Still by two # content nor
] # indentation.
----------------------------------------------------------------------------||||
(stream
(comment)
(comment)
(document
(block_node
(block_mapping
(block_mapping_pair
(flow_node
(plain_scalar
(string_scalar)))
(block_node
(block_mapping
(block_mapping_pair
(flow_node
(plain_scalar
(string_scalar)))
(block_node
(block_scalar)))
(block_mapping_pair
(flow_node
(plain_scalar
(string_scalar)))
(flow_node
(flow_sequence
(comment)
(flow_node
(plain_scalar
(string_scalar)))
(comment)
(flow_node
(plain_scalar
(string_scalar)))
(comment)
(flow_node
(plain_scalar
(string_scalar)))
(comment))))
(comment))))))))
============================================================================||||
Indentation Indicators
============================================================================||||
? a
: - b
- - c
- d
----------------------------------------------------------------------------||||
(stream
(document
(block_node
(block_mapping
(block_mapping_pair
(flow_node
(plain_scalar
(string_scalar)))
(block_node
(block_sequence
(block_sequence_item
(flow_node
(plain_scalar
(string_scalar))))
(block_sequence_item
(block_node
(block_sequence
(block_sequence_item
(flow_node
(plain_scalar
(string_scalar))))
(block_sequence_item
(flow_node
(plain_scalar
(string_scalar))))))))))))))
============================================================================||||
Separation Spaces
============================================================================||||
- foo: bar
- - baz
- baz
----------------------------------------------------------------------------||||
(stream
(document
(block_node
(block_sequence
(block_sequence_item
(block_node
(block_mapping
(block_mapping_pair
(flow_node
(plain_scalar
(string_scalar)))
(flow_node
(plain_scalar
(string_scalar)))))))
(block_sequence_item
(block_node
(block_sequence
(block_sequence_item
(flow_node
(plain_scalar
(string_scalar))))
(block_sequence_item
(flow_node
(plain_scalar
(string_scalar)))))))))))
============================================================================||||
Line Prefixes
============================================================================||||
plain: text
lines
quoted: "text
lines"
block: |
text
lines
----------------------------------------------------------------------------||||
(stream
(document
(block_node
(block_mapping
(block_mapping_pair
(flow_node
(plain_scalar
(string_scalar)))
(flow_node
(plain_scalar
(string_scalar))))
(block_mapping_pair
(flow_node
(plain_scalar
(string_scalar)))
(flow_node
(double_quote_scalar)))
(block_mapping_pair
(flow_node
(plain_scalar
(string_scalar)))
(block_node
(block_scalar)))))))
============================================================================||||
Empty Lines
============================================================================||||
Folding:
"Empty line
as a line feed"
Chomping: |
Clipped empty lines
----------------------------------------------------------------------------||||
(stream
(document
(block_node
(block_mapping
(block_mapping_pair
(flow_node
(plain_scalar
(string_scalar)))
(flow_node
(double_quote_scalar)))
(block_mapping_pair
(flow_node
(plain_scalar
(string_scalar)))
(block_node
(block_scalar)))))))
============================================================================||||
Line Folding
============================================================================||||
>-
trimmed
as
space
----------------------------------------------------------------------------||||
(stream
(document
(block_node
(block_scalar))))
============================================================================||||
Block Folding
============================================================================||||
>
foo
bar
baz
----------------------------------------------------------------------------||||
(stream
(document
(block_node
(block_scalar))))
============================================================================||||
Flow Folding
============================================================================||||
"
foo
bar
baz
"
----------------------------------------------------------------------------||||
(stream
(document
(flow_node
(double_quote_scalar))))
============================================================================||||
Separated Comment
============================================================================||||
key: # Comment
value
----------------------------------------------------------------------------||||
(stream
(document
(block_node
(block_mapping
(block_mapping_pair
(flow_node
(plain_scalar
(string_scalar)))
(comment)
(flow_node
(plain_scalar
(string_scalar))))))))
============================================================================||||
Comment Lines
============================================================================||||
# Comment
----------------------------------------------------------------------------||||
(stream
(comment))
============================================================================||||
Multi-Line Comments
============================================================================||||
key: # Comment
# lines
value
----------------------------------------------------------------------------||||
(stream
(document
(block_node
(block_mapping
(block_mapping_pair
(flow_node
(plain_scalar
(string_scalar)))
(comment)
(comment)
(flow_node
(plain_scalar
(string_scalar))))))))
============================================================================||||
Separation Spaces
============================================================================||||
{ first: Sammy, last: Sosa }:
# Statistics:
hr: # Home runs
65
avg: # Average
0.278
----------------------------------------------------------------------------||||
(stream
(document
(block_node
(block_mapping
(block_mapping_pair
(flow_node
(flow_mapping
(flow_pair
(flow_node
(plain_scalar
(string_scalar)))
(flow_node
(plain_scalar
(string_scalar))))
(flow_pair
(flow_node
(plain_scalar
(string_scalar)))
(flow_node
(plain_scalar
(string_scalar))))))
(comment)
(block_node
(block_mapping
(block_mapping_pair
(flow_node
(plain_scalar
(string_scalar)))
(comment)
(flow_node
(plain_scalar
(integer_scalar))))
(block_mapping_pair
(flow_node
(plain_scalar
(string_scalar)))
(comment)
(flow_node
(plain_scalar
(float_scalar)))))))))))
============================================================================||||
Reserved Directives
============================================================================||||
%FOO bar baz # Should be ignored
# with a warning.
--- "foo"
----------------------------------------------------------------------------||||
(stream
(document
(reserved_directive
(directive_name)
(directive_parameter)
(directive_parameter))
(comment)
(comment)
(flow_node
(double_quote_scalar))))
============================================================================||||
“YAML” directive
============================================================================||||
%YAML 1.3 # Attempt parsing
# with a warning
---
"foo"
----------------------------------------------------------------------------||||
(stream
(document
(yaml_directive
(yaml_version))
(comment)
(comment)
(flow_node
(double_quote_scalar))))
============================================================================||||
Invalid Repeated YAML directive
:error
============================================================================||||
%YAML 1.2
%YAML 1.1
foo
----------------------------------------------------------------------------||||
============================================================================||||
“TAG” directive
============================================================================||||
%TAG !yaml! tag:yaml.org,2002:
---
!yaml!str "foo"
----------------------------------------------------------------------------||||
(stream
(document
(tag_directive
(tag_handle)
(tag_prefix))
(flow_node
(tag)
(double_quote_scalar))))
============================================================================||||
Invalid Repeated TAG directive
:error
============================================================================||||
%TAG ! !foo
%TAG ! !foo
bar
----------------------------------------------------------------------------||||
============================================================================||||
Primary Tag Handle
============================================================================||||
# Private
!foo "bar"
...
# Global
%TAG ! tag:example.com,2000:app/
---
!foo "bar"
----------------------------------------------------------------------------||||
(stream
(comment)
(document
(flow_node
(tag)
(double_quote_scalar)))
(comment)
(document
(tag_directive
(tag_handle)
(tag_prefix))
(flow_node
(tag)
(double_quote_scalar))))
============================================================================||||
Secondary Tag Handle
============================================================================||||
%TAG !! tag:example.com,2000:app/
---
!!int 1 - 3 # Interval, not integer
----------------------------------------------------------------------------||||
(stream
(document
(tag_directive
(tag_handle)
(tag_prefix))
(flow_node
(tag)
(plain_scalar
(string_scalar))))
(comment))
============================================================================||||
Tag Handles
============================================================================||||
%TAG !e! tag:example.com,2000:app/
---
!e!foo "bar"
----------------------------------------------------------------------------||||
(stream
(document
(tag_directive
(tag_handle)
(tag_prefix))
(flow_node
(tag)
(double_quote_scalar))))
============================================================================||||
Local Tag Prefix
============================================================================||||
%TAG !m! !my-
--- # Bulb here
!m!light fluorescent
...
%TAG !m! !my-
--- # Color here
!m!light green
----------------------------------------------------------------------------||||
(stream
(document
(tag_directive
(tag_handle)
(tag_prefix))
(comment)
(flow_node
(tag)
(plain_scalar
(string_scalar))))
(document
(tag_directive
(tag_handle)
(tag_prefix))
(comment)
(flow_node
(tag)
(plain_scalar
(string_scalar)))))
============================================================================||||
Global Tag Prefix
============================================================================||||
%TAG !e! tag:example.com,2000:app/
---
- !e!foo "bar"
----------------------------------------------------------------------------||||
(stream
(document
(tag_directive
(tag_handle)
(tag_prefix))
(block_node
(block_sequence
(block_sequence_item
(flow_node
(tag)
(double_quote_scalar)))))))
============================================================================||||
Node Properties
============================================================================||||
!!str &a1 "foo":
!!str bar
&a2 baz : *a1
----------------------------------------------------------------------------||||
(stream
(document
(block_node
(block_mapping
(block_mapping_pair
(flow_node
(tag)
(anchor
(anchor_name))
(double_quote_scalar))
(flow_node
(tag)
(plain_scalar
(string_scalar))))
(block_mapping_pair
(flow_node
(anchor
(anchor_name))
(plain_scalar
(string_scalar)))
(flow_node
(alias
(alias_name))))))))
============================================================================||||
Verbatim Tags
============================================================================||||
!<tag:yaml.org,2002:str> foo :
!<!bar> baz
----------------------------------------------------------------------------||||
(stream
(document
(block_node
(block_mapping
(block_mapping_pair
(flow_node
(tag)
(plain_scalar
(string_scalar)))
(flow_node
(tag)
(plain_scalar
(string_scalar))))))))
============================================================================||||
Invalid Verbatim Tags
============================================================================||||
- !<!> foo
- !<$:?> bar
----------------------------------------------------------------------------||||
(stream
(document
(block_node
(block_sequence
(block_sequence_item
(flow_node
(tag)
(plain_scalar
(string_scalar))))
(block_sequence_item
(flow_node
(tag)
(plain_scalar
(string_scalar))))))))
============================================================================||||
Tag Shorthands
============================================================================||||
%TAG !e! tag:example.com,2000:app/
---
- !local foo
- !!str bar
- !e!tag%21 baz
----------------------------------------------------------------------------||||
(stream
(document
(tag_directive
(tag_handle)
(tag_prefix))
(block_node
(block_sequence
(block_sequence_item
(flow_node
(tag)
(plain_scalar
(string_scalar))))
(block_sequence_item
(flow_node
(tag)
(plain_scalar
(string_scalar))))
(block_sequence_item
(flow_node
(tag)
(plain_scalar
(string_scalar))))))))
============================================================================||||
Invalid Tag Shorthands
============================================================================||||
%TAG !e! tag:example,2000:app/
---
- !e! foo
- !h!bar baz
----------------------------------------------------------------------------||||
(ERROR
(tag_directive
(tag_handle)
(tag_prefix))
(block_sequence_item))
============================================================================||||
Non-Specific Tags
============================================================================||||
# Assuming conventional resolution:
- "12"
- 12
- ! 12
----------------------------------------------------------------------------||||
(stream
(comment)
(document
(block_node
(block_sequence
(block_sequence_item
(flow_node
(double_quote_scalar)))
(block_sequence_item
(flow_node
(plain_scalar
(integer_scalar))))
(block_sequence_item
(flow_node
(tag)
(plain_scalar
(integer_scalar))))))))
============================================================================||||
Node Anchors
============================================================================||||
First occurrence: &anchor Value
Second occurrence: *anchor
----------------------------------------------------------------------------||||
(stream
(document
(block_node
(block_mapping
(block_mapping_pair
(flow_node
(plain_scalar
(string_scalar)))
(flow_node
(anchor
(anchor_name))
(plain_scalar
(string_scalar))))
(block_mapping_pair
(flow_node
(plain_scalar
(string_scalar)))
(flow_node
(alias
(alias_name))))))))