| -- in.cue -- |
| import mystrings "strings" |
| |
| p1: [X=string]: name: X |
| |
| d1: "foo\(bar)": int |
| bar: "bar" |
| |
| // XXX: reference not resolving. |
| d2: C="foo\(bar)": { |
| name: "xx" |
| foo: C.name |
| } |
| |
| c1: mystrings.Contains("aa", "a") |
| |
| s1: """ |
| multi |
| \(bar) |
| line |
| """ |
| |
| l1: [3, ...int] |
| l2: [...int] |
| l3: [] |
| l4: [1, 2] |
| |
| n1: 1.0 |
| n10: 10 |
| |
| // Ignored comment. |
| |
| // t is true |
| t: true |
| |
| // Dangling comment. |
| |
| e1: <n1 |
| e2: >n1 & <n10 |
| e3: l4[2] |
| e4: l4[2:3] |
| e5: e1 + e2 - e3 |
| e6: !t |
| e7: !t || !false |
| e8?: !false |
| |
| m1: { |
| // this is a pattern constraint |
| {[string]: int} |
| // foo is an optional field |
| foo?: 3 |
| |
| // Dangling comment. |
| |
| // bar is a field |
| bar: 4 |
| |
| // a comment too many. |
| |
| ... |
| } |
| |
| if true { |
| x: int |
| } |
| |
| y1: { |
| src: [1, 2, 3] |
| for i, v in src for j, w in src if i < j { |
| "foo\(i)": v |
| "bar\(j)": w |
| } |
| |
| for i, v in src { |
| "foo\(i)": v |
| } |
| |
| } |
| |
| -- out/definition -- |
| import mystrings "strings" |
| |
| p1: { |
| [X=string]: { |
| name: X |
| } |
| } |
| d1: { |
| "foo\(bar)": int |
| } |
| bar: "bar" |
| d2: { |
| "foo\(bar)": { |
| name: "xx" |
| foo: X.name |
| } |
| } |
| c1: mystrings.Contains("aa", "a") |
| s1: """ |
| multi |
| \(bar) |
| line |
| """ |
| l1: [3, ...int] |
| l2: [...int] |
| l3: [] |
| l4: [1, 2] |
| n1: 1.0 |
| n10: 10 |
| t: true |
| e1: <n1 |
| e2: >n1 & <n10 |
| e3: l4[2] |
| e4: l4[2:3] |
| e5: e1 + e2 - e3 |
| e6: !t |
| e7: !t || !false |
| e8?: !false |
| m1: { |
| { |
| [string]: int |
| } |
| |
| // foo is an optional field |
| foo?: 3 |
| |
| // bar is a field |
| bar: 4 |
| ... |
| } |
| if true { |
| x: int |
| } |
| y1: { |
| src: [1, 2, 3] |
| for i, v in src for j, w in src if i < j { |
| "foo\(i)": v |
| "bar\(j)": w |
| } |
| for i, v in src { |
| "foo\(i)": v |
| } |
| } |
| -- out/doc -- |
| [] |
| [p1] |
| [d1] |
| [d1 foobar] |
| [bar] |
| [d2] |
| - XXX: reference not resolving. |
| |
| [d2 foobar] |
| [d2 foobar name] |
| [d2 foobar foo] |
| [c1] |
| [s1] |
| [l1] |
| [l1 0] |
| [l2] |
| [l3] |
| [l4] |
| [l4 0] |
| [l4 1] |
| [n1] |
| [n10] |
| [t] |
| - t is true |
| |
| [e1] |
| [e2] |
| [e3] |
| [e4] |
| [e5] |
| [e6] |
| [e7] |
| [m1] |
| [m1 bar] |
| - bar is a field |
| |
| [y1] |
| [y1 src] |
| [y1 src 0] |
| [y1 src 1] |
| [y1 src 2] |
| [y1 foo0] |
| [y1 bar1] |
| [y1 bar2] |
| [y1 foo1] |
| [y1 foo2] |
| [x] |
| -- out/value -- |
| == Simplified |
| _|_ // e3: undefined field 2 |
| == Raw |
| _|_ // e3: undefined field 2 |
| == Final |
| _|_ // e3: undefined field 2 |
| == All |
| _|_ // e3: undefined field 2 |