From bc2a17bb27a62a611e87dfa1a3bb3f2d1eed135c Mon Sep 17 00:00:00 2001 From: Ruben Bimberg <ruben.bimberg@mni.thm.de> Date: Wed, 4 Aug 2021 11:21:07 +0200 Subject: [PATCH] Fix incorrect error display for ascii emojis [Merge Request: !120] --- src/app/utils/create-comment-keywords.ts | 4 +++- src/app/utils/grammar-checker.ts | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/app/utils/create-comment-keywords.ts b/src/app/utils/create-comment-keywords.ts index 27f6c888e..ab65318b4 100644 --- a/src/app/utils/create-comment-keywords.ts +++ b/src/app/utils/create-comment-keywords.ts @@ -24,15 +24,17 @@ export class CreateCommentKeywords { ); } - static cleaningFunction(text: string): string { + static cleaningFunction(text: string, removeAsciiNamedEmojis = false): string { // eslint-disable-next-line max-len const regexEmoji = new RegExp('\uD918\uDD28|\ufe0f|\u200D|\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff]', 'g'); const regexKatex = new RegExp('\\$[^$\\n ]+\\$|\\$\\$[^$\\n ]+\\$\\$', 'g'); const regexMarkdown = new RegExp('(?:__|[*#])|\\[(.+?)]\\((.+?)\\)', 'g'); const regexBlank = new RegExp('[\\s]{2,}', 'gu'); + const regexAsciiNamedEmojis = new RegExp(':([a-z0-9_]+):', 'g'); text = text.replace(regexKatex, ''); text = text.replace(regexEmoji, ''); text = text.replace(regexMarkdown, ''); + text = text.replace(regexAsciiNamedEmojis, removeAsciiNamedEmojis ? '' : '$1'); text = text.replace(regexBlank, ' '); return text; } diff --git a/src/app/utils/grammar-checker.ts b/src/app/utils/grammar-checker.ts index 9e40714c8..598d18357 100644 --- a/src/app/utils/grammar-checker.ts +++ b/src/app/utils/grammar-checker.ts @@ -56,7 +56,7 @@ export class GrammarChecker { this.isSpellchecking = true; this.hasSpellcheckConfidence = true; const unfilteredText = commentBody.innerText; - const text = CreateCommentKeywords.cleaningFunction(commentBody.innerText); + const text = CreateCommentKeywords.cleaningFunction(commentBody.innerText, true); this.checkSpellings(text).subscribe((wordsCheck) => { if (!this.checkLanguageConfidence(wordsCheck)) { this.hasSpellcheckConfidence = false; -- GitLab