blob: 49e7fbc04d94e84aedd2d686da358a2149adc6e0 [file] [log] [blame]
-- 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
== All
_|_ // e3: undefined field 2