@@ -517,7 +517,7 @@ type Ident struct {
517
517
func (i * Ident ) Pos () Pos { return i .NamePos }
518
518
519
519
// LambdaExpr node represents lambda.
520
- // vimlparsr : LAMBDA .rlist .left
520
+ // vimlparser : LAMBDA .rlist .left
521
521
// { Params -> Expr }
522
522
type LambdaExpr struct {
523
523
Lcurlybrace Pos // position of "{"
@@ -528,14 +528,25 @@ type LambdaExpr struct {
528
528
func (i * LambdaExpr ) Pos () Pos { return i .Lcurlybrace }
529
529
530
530
// ParenExpr node represents a parenthesized expression.
531
- // vimlparsr : PARENEXPR .value
531
+ // vimlparser : PARENEXPR .value
532
532
type ParenExpr struct {
533
533
Lparen Pos // position of "("
534
534
X Expr // parenthesized expression
535
535
}
536
536
537
537
func (i * ParenExpr ) Pos () Pos { return i .Lparen }
538
538
539
+ // HeredocExpr node represents a heredoc expression.
540
+ // vimlparser: HEREDOC .rlist .op .body
541
+ type HeredocExpr struct {
542
+ OpPos Pos // position of "=<<"
543
+ Flags []Expr // modifiers [trim]; or nil
544
+ EndMarker string // {endmarker}
545
+ Body []Expr // body
546
+ }
547
+
548
+ func (i * HeredocExpr ) Pos () Pos { return i .OpPos }
549
+
539
550
// stmtNode() ensures that only ExComamnd and Comment nodes can be assigned to
540
551
// an Statement.
541
552
//
@@ -588,3 +599,4 @@ func (*CurlyNameExpr) exprNode() {}
588
599
func (* Ident ) exprNode () {}
589
600
func (* LambdaExpr ) exprNode () {}
590
601
func (* ParenExpr ) exprNode () {}
602
+ func (* HeredocExpr ) exprNode () {}
0 commit comments