From 98adb55c645293cf1cc001accb03510b326cf2cc Mon Sep 17 00:00:00 2001 From: Ika Date: Thu, 8 Nov 2018 22:41:56 +0800 Subject: [PATCH 1/2] test: add tests --- tests/markdown_splitCjkText/__snapshots__/jsfmt.spec.js.snap | 4 ++++ tests/markdown_splitCjkText/chinese-japanese.md | 2 ++ 2 files changed, 6 insertions(+) diff --git a/tests/markdown_splitCjkText/__snapshots__/jsfmt.spec.js.snap b/tests/markdown_splitCjkText/__snapshots__/jsfmt.spec.js.snap index 73f580378df0..7a358efd598d 100644 --- a/tests/markdown_splitCjkText/__snapshots__/jsfmt.spec.js.snap +++ b/tests/markdown_splitCjkText/__snapshots__/jsfmt.spec.js.snap @@ -6,6 +6,8 @@ exports[`chinese-japanese.md - markdown-verify 1`] = ` 全  形 空白全  形 空白全  形 空白全  形 空白全  形 空白全  形 空白全  形 空白 空白全形空白全形空白全形空白 空白全形空白全形空白全形空白 空白全形空白全形空白全形空白 空白全形空白全形空白全形空白 + +何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 這是一段很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長 很長的段落 @@ -16,6 +18,8 @@ exports[`chinese-japanese.md - markdown-verify 1`] = ` 空白全形空白全形空白全形空白 空白全形空白全形空白全形空白 空白全形空白全形空白 全形空白 空白全形空白全形空白全形空白 +何でも薄暗いじめじめした所でニャ ー ニャ ー 泣いていた事だけは記憶している。 + `; exports[`korean.md - markdown-verify 1`] = ` diff --git a/tests/markdown_splitCjkText/chinese-japanese.md b/tests/markdown_splitCjkText/chinese-japanese.md index 1183fe9e52ff..a88925416ff4 100644 --- a/tests/markdown_splitCjkText/chinese-japanese.md +++ b/tests/markdown_splitCjkText/chinese-japanese.md @@ -3,3 +3,5 @@ 全  形 空白全  形 空白全  形 空白全  形 空白全  形 空白全  形 空白全  形 空白 空白全形空白全形空白全形空白 空白全形空白全形空白全形空白 空白全形空白全形空白全形空白 空白全形空白全形空白全形空白 + +何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。 From a5763477e5853169956262fea21a65e445e67a38 Mon Sep 17 00:00:00 2001 From: Ika Date: Thu, 8 Nov 2018 22:42:48 +0800 Subject: [PATCH 2/2] fix(markdown): identify CJK correctly --- src/language-markdown/constants.evaluate.js | 19 +++++++++++++++++-- .../__snapshots__/jsfmt.spec.js.snap | 2 +- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/language-markdown/constants.evaluate.js b/src/language-markdown/constants.evaluate.js index b341820aa61b..946a4d16e039 100644 --- a/src/language-markdown/constants.evaluate.js +++ b/src/language-markdown/constants.evaluate.js @@ -4,8 +4,23 @@ const cjkRegex = require("cjk-regex"); const regexpUtil = require("regexp-util"); const unicodeRegex = require("unicode-regex"); -const cjkPattern = cjkRegex().toString(); -const kPattern = unicodeRegex({ Script: ["Hangul"] }).toString(); +const cjkPattern = cjkRegex() + .union( + unicodeRegex({ + Script_Extensions: ["Han", "Katakana", "Hiragana", "Hangul", "Bopomofo"], + General_Category: [ + "Other_Letter", + "Letter_Number", + "Other_Symbol", + "Modifier_Letter" + ] + }) + ) + .toString(); + +const kPattern = unicodeRegex({ Script: ["Hangul"] }) + .union(unicodeRegex({ Script_Extensions: ["Hangul"] })) + .toString(); // http://spec.commonmark.org/0.25/#ascii-punctuation-character const asciiPunctuationCharset = /* prettier-ignore */ regexpUtil.charset( diff --git a/tests/markdown_splitCjkText/__snapshots__/jsfmt.spec.js.snap b/tests/markdown_splitCjkText/__snapshots__/jsfmt.spec.js.snap index 7a358efd598d..dcd91714daf2 100644 --- a/tests/markdown_splitCjkText/__snapshots__/jsfmt.spec.js.snap +++ b/tests/markdown_splitCjkText/__snapshots__/jsfmt.spec.js.snap @@ -18,7 +18,7 @@ exports[`chinese-japanese.md - markdown-verify 1`] = ` 空白全形空白全形空白全形空白 空白全形空白全形空白全形空白 空白全形空白全形空白 全形空白 空白全形空白全形空白全形空白 -何でも薄暗いじめじめした所でニャ ー ニャ ー 泣いていた事だけは記憶している。 +何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。 `;