#
#    S P Y C
#      a simple php yaml class
#
# authors: [vlad andersen (vlad.andersen@gmail.com), chris wanstrath (chris@ozmm.org)]
# websites: [http://www.yaml.org, http://spyc.sourceforge.net/]
# license: [MIT License, http://www.opensource.org/licenses/mit-license.php]
# copyright: (c) 2005-2006 Chris Wanstrath, 2006-2014 Vlad Andersen
#
# spyc.yaml - A file containing the YAML that Spyc understands.

---

# Mappings - with proper types
String: Anyone's name, really.
Int: 13
BadHex: f0xf3
Hex: 0xf3
True: true
False: false
Zero: 0
Null: NULL
NotNull: 'null'
NotTrue: 'y'
NotBoolTrue: 'true'
NotInt: '5'
Float: 5.34
Negative: -90
SmallFloat: 0.7
NewLine: \n
QuotedNewLine: "\n"

# A sequence
- PHP Class
- Basic YAML Loader
- Very Basic YAML Dumper

# A sequence of a sequence
-
  - YAML is so easy to learn.
  - Your config files will never be the same.

# Sequence of mappings
-
  cpu: 1.5ghz
  ram: 1 gig
  os : os x 10.4.1

# Mapped sequence
domains:
  - yaml.org
  - php.net

# A sequence like this.
- program: Adium
  platform: OS X
  type: Chat Client

# A folded block as a mapped value
no time: >
  There isn't any time
  for your tricks!

  Do you understand?

# A literal block as a mapped value
some time: |
  There is nothing but time
  for your tricks.

# Crazy combinations
databases:
  - name: spartan
    notes:
      - Needs to be backed up
      - Needs to be normalized
    type: mysql

# You can be a bit tricky
"if: you'd": like

# Inline sequences
- [One, Two, Three, Four]

# Nested Inline Sequences
- [One, [Two, And, Three], Four, Five]

# Nested Nested Inline Sequences
- [This, [Is, Getting, [Ridiculous, Guys]], Seriously, [Show, Mercy]]

# Inline mappings
- {name: chris, age: young, brand: lucky strike}

# Nested inline mappings
- {name: mark, age: older than chris, brand: [marlboro, lucky strike]}

# References -- they're shaky, but functional
dynamic languages: &DLANGS
  - Perl
  - Python
  - PHP
  - Ruby
compiled languages: &CLANGS
  - C/C++
  - Java
all languages:
  - *DLANGS
  - *CLANGS

# Added in .2.2: Escaped quotes
- you know, this shouldn't work.  but it does.
- 'that''s my value.'
- 'again, that\'s my value.'
- "here's to \"quotes\", boss."

# added in .2.3
- {name: "Foo, Bar's", age: 20}

# Added in .2.4: bug [ 1418193 ] Quote Values in Nested Arrays
- [a, ['1', "2"], b]

# Add in .5.2: Quoted new line values.
- "First line\nSecond line\nThird line"

# Added in .2.4: malformed YAML
all
  javascripts:     [dom1.js, dom.js]

# Added in .2
1040: Ooo, a numeric key! # And working comments? Wow! Colons in comments: a menace (0.3).

hash_1: Hash #and a comment
hash_2: "Hash #and a comment"
"hash#3": "Hash (#) can appear in key too"

float_test: 1.0
float_test_with_quotes: '1.0'
float_inverse_test: 001

a_really_large_number: 115792089237316195423570985008687907853269984665640564039457584007913129639936 # 2^256

int array: [ 1, 2, 3 ]

array on several lines:
  [ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9,
    10, 11, 12, 13, 14, 15, 16, 17, 18, 19 ]

morelesskey: "<value>"

array_of_zero: [0]
sophisticated_array_of_zero: {rx: {tx: [0]} }

switches:
  - { row: 0, col: 0, func: {tx: [0, 1]} }

empty_sequence: [ ]
empty_hash: { }

special_characters: "[{]]{{]]"

asterisks: "*"

empty_key:
  :
    key: value

trailing_colon: "foo:"

multiline_items:
  - type: SomeItem
    values: [blah, blah, blah,
      blah]
    ints: [2, 54, 12,
      2143]

many_lines: |
  A quick
  fox


  jumped
  over





  a lazy



  dog


werte:
  1: nummer 1
  0: Stunde 0

noindent_records:
- record1: value1
- record2: value2

"a:1": [1000]
"a:2":
  - 2000
a:3: [3000]

complex_unquoted_key:
  a:b:''test': value

array with commas:
  ["0","1"]

invoice: ["Something", "", '', "Something else"]
quotes: ['Something', "Nothing", 'Anything', "Thing"]

# [Endloop]
endloop: |
  Does this line in the end indeed make Spyc go to an infinite loop?
