From 9f3a121abca1b2a40ceb9feb46489c8095a3f1cc Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 26 Jun 2018 23:36:01 +0100 Subject: [PATCH] optimize linkify-matrix by skipping an intermediary state Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/linkify-matrix.js | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) 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);