pugjs/pug

Alternative syntax for `&attributes`

Open

#1744 aperta il 20 nov 2014

Vedi su GitHub
 (7 commenti) (0 reazioni) (0 assegnatari)JavaScript (1955 fork)batch import
Good First Issue

Metriche repository

Star
 (21.509 star)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

I tend to use the &attributes syntax quite often, and think it is kind of verbose. The & token does not seem to be used for anything else right now, so would not it be possible to use an alternative syntax such as

h1.foo(data-a="b")&({'data-b': 'c'})

A small change to the lexer should be sufficient. Modifying attributesBlock as follow works and passes all the tests.

  attributesBlock: function () {
    var captures;
    if (captures = (/^&attributes/.exec(this.input) || /^&/.exec(this.input))) {
      this.consume(captures[0].length);
      var args = this.bracketExpression();
      this.consume(args.end + 1);
      return this.tok('&attributes', args.src);
    }
  }

If you have any interest in this proposition, I'm up for testing this feature and sending a PR.

Thanks.

Guida contributor