github.com/joomcode/cue@v0.4.4-0.20221111115225-539fe3512047/cue/format/testdata/expressions.input (about) 1 package expressions 2 3 { 4 a: 1 // comment 5 aaa: 22 // comment 6 7 "": 3 8 9 b: 3 10 11 c: b: a: 4 12 c?: bb?: aaa?: 5 13 c: b: [Name=string]: a: int 14 let alias = 3.14 15 "g\("en")"?: 4 16 17 let alias2 = foo // with comment 18 let aaalias = foo 19 b: bar 20 21 bottom: _|_ 22 23 a: 24 b: 25 c: 2 26 27 a: bbbb: c: 3 28 a: b: 3 29 a: bb: cc: 3 30 31 empty: {} 32 emptyNewLine: { 33 34 } 35 someObject: { 36 a: 8 37 aa: 9 38 aaa: 10 39 } 40 41 #someDefinition: { 42 embedding 43 44 field: 2 45 } 46 47 #openDef: { 48 a: int 49 ... 50 } 51 52 attrs: { 53 a: 8 @go(A) // comment 54 aa: 8 @go(A) // comment 55 bb: 9 56 bbb: 10 @go(Bbb) @xml(,attr) // comment 57 bbbb: 100 @go(Bbbb) @xml(,attr) // comment 58 } 59 60 foo: bar: string @go(-) 61 62 e: 1+2*3 63 e: 1*2*3 // error 64 e: >=2 & <=3 65 e: >2 & <=(3 + 4) 66 ex: >2 & <=(3 + 4*5) 67 e: >2 & <=3 & <=4 68 e: 1 + 2 + 3 // error 69 70 e: s[1+2] 71 e: s[1:2] 72 e: s[1+2:2+4] 73 e: s[2] 74 e: s[2*3] 75 e: s[1+2*3] 76 77 e: a | 78 b| 79 c 80 81 e: 82 a| 83 b| c | 84 d 85 86 e: f(3+4+5) 87 e: f(3*4*5) 88 e: f(3+4*5) 89 90 e: f(3 + 4 div 5) 91 92 e: 3<4&&5>4 93 e: a || b && c || d 94 95 e: a + +b * 3 96 e: -a - -b 97 98 e: b + c 99 e: b*c + d 100 e: a*b + c 101 e: a - b - c 102 e: a - (b - c) 103 e: a - b*c 104 e: a - (b * c) 105 e: a * b / c 106 e: a div b + 5 107 e: a / b 108 e: x[a|b] 109 e: x[a /b] 110 e: a & b 111 e: a + +b 112 e: a - -b 113 e: a div - b 114 e: x[a*-b] 115 e: x[a + +b] 116 e: len(longVariableName) * 2 117 118 e: "\(a)" 119 e: 'aa \(aaa) aa' 120 e: "aa \(aaa)" 121 122 e: [1, 2 123 ] 124 e: [1, 2] 125 e: [1, 2, 3, 4, 126 5, 6, 7, 8] 127 e: [1, 2, 3, 4, 128 5, 6, 7, 8 // maybe force additional comma 129 ] 130 e: [...] 131 e: [ 132 ...] 133 e: [... 134 ] 135 e: [1, 2, ...] 136 e: [1, 2, 137 ...] 138 e: [...int] 139 e: [...int,] 140 e: [...int | float] 141 e: [ for x in someObject if x > 9 { 142 x 143 }] 144 e: [ for x in someObject if x > 9 {x}] 145 e: [ 146 for x in someObject 147 if x > 9 {x}] 148 e: [ 149 for x in someObject 150 if x > 9 151 {x}] 152 153 e: [ 154 if x > 1 {}, 155 if x > 1 {}, 156 for x in src {}, 157 ] 158 159 for k, v in someObject { 160 "\(k)": v 161 } 162 for k, v in someObject { 163 "\(k)": v 164 } 165 166 e: { 167 for k, v in someObject 168 if k > "a" { 169 "\(k)":v 170 } 171 } 172 173 e: { for k, v in someObject if k > "a" {"\(k)":v} } 174 e: { for k, v in someObject if k > "a" { 175 "\(k)":v }} 176 177 e: { 178 for k, v in someObject 179 let x = v 180 if k > "a" { 181 "\(k)":x}} 182 183 if a | 184 b { 185 c: d 186 } 187 188 e: [{ 189 a: 1, b: 2, 190 }] 191 192 e: [{ 193 a: 1, b: 2, 194 }, 195 ] 196 197 e: [{ 198 a: 1, b: 2, 199 }, { 200 c: 1, d: 2, 201 }] 202 203 e: [{ 204 a: 1, b: 2, 205 }, 206 3, 207 4, 208 ] 209 210 e: e.f(1, 2) 211 212 e: ((3 + 4)) 213 214 // field before list 215 f: 3 216 a: [1, 2 // add comma 217 ] 218 219 foo : bar 220 221 a: "foo-bar": 3 222 b: a."foo-bar" 223 c: a. "foo-bar" . b 224 d: a. 225 "foo-bar" 226 e: a. 227 "foo-bar". 228 b 229 f: 2 230 }