pugjs/pug

Alternative syntax for `&attributes`

Open

#1.744 geöffnet am 20. Nov. 2014

Auf GitHub ansehen
 (7 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)JavaScript (21.509 Stars) (1.955 Forks)batch import
Good First Issue

Beschreibung

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.

Contributor Guide