summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/gfm_auto_complete.js
diff options
context:
space:
mode:
authorJan Beckmann <king-jan1999@hotmail.de>2019-04-25 08:11:20 +0000
committerPhil Hughes <me@iamphill.com>2019-04-25 08:11:20 +0000
commit5848f2833ae40b73003be1e37dd379dd69c20fcc (patch)
tree95e971be8e45ca3d25f0a319919d789f1872e9a4 /app/assets/javascripts/gfm_auto_complete.js
parent3fe07ce7d1db0a2015eda25f6be1446a17462cb1 (diff)
downloadgitlab-ce-5848f2833ae40b73003be1e37dd379dd69c20fcc.tar.gz
Escape special characters in GFM auto complete highlighting
Fixes #60552
Diffstat (limited to 'app/assets/javascripts/gfm_auto_complete.js')
-rw-r--r--app/assets/javascripts/gfm_auto_complete.js10
1 files changed, 10 insertions, 0 deletions
diff --git a/app/assets/javascripts/gfm_auto_complete.js b/app/assets/javascripts/gfm_auto_complete.js
index f1e26cdfa21..f437954881c 100644
--- a/app/assets/javascripts/gfm_auto_complete.js
+++ b/app/assets/javascripts/gfm_auto_complete.js
@@ -477,6 +477,16 @@ class GfmAutoComplete {
}
return null;
},
+ highlighter(li, query) {
+ // override default behaviour to escape dot character
+ // see https://github.com/ichord/At.js/pull/576
+ if (!query) {
+ return li;
+ }
+ const escapedQuery = query.replace(/[.+]/, '\\$&');
+ const regexp = new RegExp(`>\\s*([^<]*?)(${escapedQuery})([^<]*)\\s*<`, 'ig');
+ return li.replace(regexp, (str, $1, $2, $3) => `> ${$1}<strong>${$2}</strong>${$3} <`);
+ },
};
}