diff --git a/syntaxes/html.json b/syntaxes/html.json
index 9e64ff9c..604d12f0 100644
--- a/syntaxes/html.json
+++ b/syntaxes/html.json
@@ -236,7 +236,7 @@
}
},
"tag-aurelia-attribute-with-invoke-attribute": {
- "match": "[^=](([a-zA-Z0-9:-]+)(\\.)(trigger|delegate|call))",
+ "match": "(?=\\s)[^=](([a-zA-Z0-9:-]+)(\\.)(trigger|delegate|call))",
"captures": {
"2": {
"name": "entity.other.attribute-name.html"
diff --git a/test/syntax.html/invoke.test.ts b/test/syntax.html/invoke.test.ts
index 350b31bd..aadea2be 100644
--- a/test/syntax.html/invoke.test.ts
+++ b/test/syntax.html/invoke.test.ts
@@ -45,4 +45,19 @@ suite('The Aurelia HTML syntax invoke attributes', () => {
});
+ test('must not tokenize invokes in attribute body with scope "invoke.attribute.html.au"', () => {
+
+ // arrange
+ let scope = 'meta.tag.inline.any.html';
+
+ // act
+ let lineToken = tokenizeLine('');
+
+ // assert
+ let token = getTokenOnCharRange(lineToken, 6, 29);
+ assert.equal(hasScope(token.scopes, scope), true);
+
+ });
+
+
});