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  }