From a4ce7371ca132f52a446f29ef4d9d5adc61278da Mon Sep 17 00:00:00 2001
From: George Goldberg <george@gberg.me>
Date: Tue, 8 Aug 2017 09:58:28 +0100
Subject: Revert "PLT-6609: Don't highlight #hashtag.dot when searching for
 #hashtag (#7109)" (#7147)

This reverts commit f4638aecec2933f20efb4b95c2e0a90c22b47b43.
---
 webapp/utils/text_formatting.jsx | 27 +++++----------------------
 1 file changed, 5 insertions(+), 22 deletions(-)

(limited to 'webapp/utils/text_formatting.jsx')

diff --git a/webapp/utils/text_formatting.jsx b/webapp/utils/text_formatting.jsx
index 4602a31b2..33cc3242c 100644
--- a/webapp/utils/text_formatting.jsx
+++ b/webapp/utils/text_formatting.jsx
@@ -400,10 +400,7 @@ function convertSearchTermToRegex(term) {
         pattern = '\\b()(' + escapeRegex(term) + ')\\b';
     }
 
-    return {
-        pattern: new RegExp(pattern, 'gi'),
-        term
-    };
+    return new RegExp(pattern, 'gi');
 }
 
 export function highlightSearchTerms(text, tokens, searchPatterns) {
@@ -429,21 +426,7 @@ export function highlightSearchTerms(text, tokens, searchPatterns) {
         // highlight existing tokens matching search terms
         var newTokens = new Map();
         for (const [alias, token] of tokens) {
-            if (pattern.pattern.test(token.originalText)) {
-                // If it's a Hashtag, skip it unless the search term is an exact match.
-                let originalText = token.originalText;
-                if (originalText.startsWith('#')) {
-                    originalText = originalText.substr(1);
-                }
-                let term = pattern.term;
-                if (term.startsWith('#')) {
-                    term = term.substr(1);
-                }
-
-                if (alias.startsWith('$MM_HASHTAG') && originalText !== term) {
-                    continue;
-                }
-
+            if (pattern.test(token.originalText)) {
                 const index = tokens.size + newTokens.size;
                 const newAlias = `$MM_SEARCHTERM${index}`;
 
@@ -455,10 +438,10 @@ export function highlightSearchTerms(text, tokens, searchPatterns) {
                 output = output.replace(alias, newAlias);
             }
 
-            // The pattern regexes are global, so calling pattern.pattern.test() above alters their
+            // The pattern regexes are global, so calling pattern.test() above alters their
             // state. Reset lastIndex to 0 between calls to test() to ensure it returns the
             // same result every time it is called with the same value of token.originalText.
-            pattern.pattern.lastIndex = 0;
+            pattern.lastIndex = 0;
         }
 
         // the new tokens are stashed in a separate map since we can't add objects to a map during iteration
@@ -466,7 +449,7 @@ export function highlightSearchTerms(text, tokens, searchPatterns) {
             tokens.set(newToken[0], newToken[1]);
         }
 
-        output = output.replace(pattern.pattern, replaceSearchTermWithToken);
+        output = output.replace(pattern, replaceSearchTermWithToken);
     }
 
     return output;
-- 
cgit v1.2.3-1-g7c22

