From f3e3cbe3b23f99ea297aaf128ea320f4ea9d5bfb Mon Sep 17 00:00:00 2001 From: Guo Xiang Tan Date: Wed, 26 Aug 2015 16:02:42 +0800 Subject: [PATCH 1/2] FIX: Trigger autocomplete when bounded by non-word characters. --- app/assets/javascripts/discourse/lib/autocomplete.js.es6 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/discourse/lib/autocomplete.js.es6 b/app/assets/javascripts/discourse/lib/autocomplete.js.es6 index aeca46186ee..7750475c3ba 100644 --- a/app/assets/javascripts/discourse/lib/autocomplete.js.es6 +++ b/app/assets/javascripts/discourse/lib/autocomplete.js.es6 @@ -277,7 +277,7 @@ export default function(options) { if (options.key && e.which === options.key.charCodeAt(0)) { caretPosition = Discourse.Utilities.caretPosition(me[0]); var prevChar = me.val().charAt(caretPosition - 1); - if (!prevChar || /\s/.test(prevChar)) { + if (!prevChar || /\W/.test(prevChar)) { completeStart = completeEnd = caretPosition; updateAutoComplete(options.dataSource("")); } @@ -331,7 +331,7 @@ export default function(options) { stopFound = prev === options.key; if (stopFound) { prev = me[0].value[c - 1]; - if (!prev || /\s/.test(prev)) { + if (!prev || /\W/.test(prev)) { completeStart = c; caretPosition = completeEnd = initial; term = me[0].value.substring(c + 1, initial); From a376bc09015d3286f87f24b4a70c73d85d5b2f1d Mon Sep 17 00:00:00 2001 From: Guo Xiang Tan Date: Wed, 26 Aug 2015 16:27:54 +0800 Subject: [PATCH 2/2] FIX: Allow emoji to be bounded by non-word characters in preview. --- app/assets/javascripts/discourse/lib/emoji/emoji.js.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/assets/javascripts/discourse/lib/emoji/emoji.js.erb b/app/assets/javascripts/discourse/lib/emoji/emoji.js.erb index ef7856a7486..12cb1711ba8 100644 --- a/app/assets/javascripts/discourse/lib/emoji/emoji.js.erb +++ b/app/assets/javascripts/discourse/lib/emoji/emoji.js.erb @@ -113,7 +113,7 @@ function checkPrev(prev) { var lastToken = prev[prev.length-1]; if (lastToken && lastToken.charAt) { var lastChar = lastToken.charAt(lastToken.length-1); - if (!/\s/.test(lastChar)) return false; + if (!/\W/.test(lastChar)) return false; } } return true;