diff --git a/src/linkify-matrix.js b/src/linkify-matrix.js index 4cfd7382e5..637b5869ef 100644 --- a/src/linkify-matrix.js +++ b/src/linkify-matrix.js @@ -35,7 +35,7 @@ function matrixLinkify(linkify) { }; ROOMALIAS.prototype = new MultiToken(); - const S_HASH = new linkify.parser.State(); + const S_HASH = S_START.jump(TT.POUND); const S_HASH_NAME = new linkify.parser.State(); const S_HASH_NAME_COLON = new linkify.parser.State(); const S_HASH_NAME_COLON_DOMAIN = new linkify.parser.State(); @@ -57,8 +57,6 @@ function matrixLinkify(linkify) { TT.LOCALHOST, ]; - S_START.on(TT.POUND, S_HASH); - S_HASH.on(roomname_tokens, S_HASH_NAME); S_HASH_NAME.on(roomname_tokens, S_HASH_NAME); S_HASH_NAME.on(TT.DOMAIN, S_HASH_NAME); @@ -84,7 +82,7 @@ function matrixLinkify(linkify) { }; USERID.prototype = new MultiToken(); - const S_AT = new linkify.parser.State(); + const S_AT = S_START.jump(TT.AT); const S_AT_NAME = new linkify.parser.State(); const S_AT_NAME_COLON = new linkify.parser.State(); const S_AT_NAME_COLON_DOMAIN = new linkify.parser.State(); @@ -104,8 +102,6 @@ function matrixLinkify(linkify) { TT.LOCALHOST, ]; - S_START.on(TT.AT, S_AT); - S_AT.on(username_tokens, S_AT_NAME); S_AT_NAME.on(username_tokens, S_AT_NAME); S_AT_NAME.on(TT.DOMAIN, S_AT_NAME); @@ -131,7 +127,7 @@ function matrixLinkify(linkify) { }; GROUPID.prototype = new MultiToken(); - const S_PLUS = new linkify.parser.State(); + const S_PLUS = S_START.jump(TT.PLUS); const S_PLUS_NAME = new linkify.parser.State(); const S_PLUS_NAME_COLON = new linkify.parser.State(); const S_PLUS_NAME_COLON_DOMAIN = new linkify.parser.State(); @@ -151,8 +147,6 @@ function matrixLinkify(linkify) { TT.LOCALHOST, ]; - S_START.on(TT.PLUS, S_PLUS); - S_PLUS.on(groupid_tokens, S_PLUS_NAME); S_PLUS_NAME.on(groupid_tokens, S_PLUS_NAME); S_PLUS_NAME.on(TT.DOMAIN, S_PLUS_NAME);