@doujinreviewers/textlint-rule-for-creation 0.0.1 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of @doujinreviewers/textlint-rule-for-creation might be problematic. Click here for more details.
- package/README.md +9 -6
- package/lib/dict/arrow.js +7 -0
- package/lib/dict/arrow.js.map +1 -0
- package/lib/dict/dictAA.js +30 -0
- package/lib/dict/dictAA.js.map +1 -0
- package/lib/dict/dict_miss.js +30 -0
- package/lib/dict/dict_miss.js.map +1 -0
- package/lib/dict/gozidatuzi.js +56 -0
- package/lib/dict/gozidatuzi.js.map +1 -0
- package/lib/dict/miss.js +30 -0
- package/lib/dict/miss.js.map +1 -0
- package/lib/dict/retasu.js +14 -0
- package/lib/dict/retasu.js.map +1 -0
- package/lib/dict/saire.js +37 -0
- package/lib/dict/saire.js.map +1 -0
- package/lib/dict/sanuki.js +15 -0
- package/lib/dict/sanuki.js.map +1 -0
- package/lib/dict/zyosi.js +29 -0
- package/lib/dict/zyosi.js.map +1 -0
- package/lib/enhanced-engine.js +57 -0
- package/lib/enhanced-engine.js.map +1 -0
- package/lib/modified-engine.js +27 -0
- package/lib/modified-engine.js.map +1 -0
- package/lib/textlint-rule-for-creation.js +51 -16
- package/lib/textlint-rule-for-creation.js.map +1 -1
- package/package.json +1 -1
- package/src/dict/arrow.js +79 -0
- package/src/dict/gozidatuzi.js +68 -0
- package/src/dict/retasu.js +16 -0
- package/src/dict/saire.js +46 -0
- package/src/dict/sanuki.js +17 -0
- package/src/dict/zyosi.js +35 -0
- package/src/enhanced-engine.js +39 -0
- package/src/textlint-rule-for-creation.js +45 -29
- package/src/dict/dict.js +0 -55
- package/src/dict/dict2.js +0 -32
package/README.md
CHANGED
@@ -13,13 +13,13 @@
|
|
13
13
|
|
14
14
|
例えば、文章の形式、スタイル、文体、文の冗長さ、二重否定、二重助詞、表記ゆれ、送り仮名のゆれ、記号や三点リーダーの使い方など
|
15
15
|
|
16
|
-
-
|
16
|
+
- ら抜き言葉、い抜き言葉
|
17
17
|
|
18
18
|
これで喋るキャラがいるかもしれないし、作品の雰囲気に必要かもしれない
|
19
19
|
|
20
20
|
## インストール
|
21
21
|
|
22
|
-
npm install textlint-rule-for-creation
|
22
|
+
npm install @doujinreviewers/textlint-rule-for-creation
|
23
23
|
|
24
24
|
## 使い方
|
25
25
|
|
@@ -28,7 +28,7 @@
|
|
28
28
|
```json
|
29
29
|
{
|
30
30
|
"rules": {
|
31
|
-
"for-creation": true
|
31
|
+
"@doujinreviewers/textlint-rule-for-creation": true
|
32
32
|
}
|
33
33
|
}
|
34
34
|
```
|
@@ -36,7 +36,7 @@
|
|
36
36
|
コマンドラインで使う
|
37
37
|
|
38
38
|
```
|
39
|
-
textlint --rule for-creation README.md
|
39
|
+
textlint --rule @doujinreviewers/textlint-rule-for-creation README.md
|
40
40
|
```
|
41
41
|
|
42
42
|
### Build
|
@@ -72,5 +72,8 @@ MIT
|
|
72
72
|
[textlint 12リリース、ブラウザで動くtextlint editorをベータリリース](https://efcl.info/2021/05/27/textlint-12-editor/)
|
73
73
|
|
74
74
|
### ルール
|
75
|
-
[]()
|
76
|
-
|
75
|
+
[textlint-rule-ja-no-abusage](https://github.com/textlint-ja/textlint-rule-ja-no-abusage)
|
76
|
+
|
77
|
+
[textlint-rule-no-insert-re](https://github.com/textlint-ja/textlint-rule-no-insert-re)
|
78
|
+
|
79
|
+
[textlint-rule-no-insert-dropping-sa](https://github.com/textlint-ja/textlint-rule-no-insert-dropping-sa)
|
@@ -0,0 +1,7 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
module.exports = {
|
4
|
+
"jidousi_tadousi": ["開け", "あけ"],
|
5
|
+
"zyosi": ["こそは", "こそを", "からが", "からは", "をこそ", "とやら", "やらが", "までも", "までもが", "ばかりか", "ばかりが", "ばかりは", "ばかりを", "ばっかりか", "ばっかりが", "ばっかりは", "ばっかりを", "などばかり", "などばっかり", "などが", "なども", "などは", "などを", "とかが", "とかも", "とかは", "とかを", "とかばかり", "とかばっかり", "にも", "ばかりに", "にだって", "とかだって", "などだって", "にも", "のかも", "にかも", "とが", "とも", "とは", "さえも", "にさえ", "とさえ", "すらも", "にすら", "とすら", "だけが", "だけを", "ほども", "ほどを", "でも", "てでも", "たりも", "たりが", "たりは", "たりさえ", "たりすら", "たりなど", "ながらも", "つつも", "なりが", "なりを", "になんて", "もなんて", "ばかりなんて", "ばっかりなんて", "だけを", "だけが", "だけは", "だけかも", "だけかも"]
|
6
|
+
};
|
7
|
+
//# sourceMappingURL=arrow.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../src/dict/arrow.js"],"names":["module","exports"],"mappings":";;AAAAA,MAAM,CAACC,OAAP,GAAiB;AACf,qBAAmB,CACjB,IADiB,EAEjB,IAFiB,CADJ;AAKf,WAAS,CACP,KADO,EAEP,KAFO,EAGP,KAHO,EAIP,KAJO,EAKP,KALO,EAMP,KANO,EAOP,KAPO,EAQP,KARO,EASP,MATO,EAUP,MAVO,EAWP,MAXO,EAYP,MAZO,EAaP,MAbO,EAcP,OAdO,EAeP,OAfO,EAgBP,OAhBO,EAiBP,OAjBO,EAkBP,OAlBO,EAmBP,QAnBO,EAoBP,KApBO,EAqBP,KArBO,EAsBP,KAtBO,EAuBP,KAvBO,EAwBP,KAxBO,EAyBP,KAzBO,EA0BP,KA1BO,EA2BP,KA3BO,EA4BP,OA5BO,EA6BP,QA7BO,EA8BP,IA9BO,EA+BP,MA/BO,EAgCP,MAhCO,EAiCP,OAjCO,EAkCP,OAlCO,EAmCP,IAnCO,EAoCP,KApCO,EAqCP,KArCO,EAsCP,IAtCO,EAuCP,IAvCO,EAwCP,IAxCO,EAyCP,KAzCO,EA0CP,KA1CO,EA2CP,KA3CO,EA4CP,KA5CO,EA6CP,KA7CO,EA8CP,KA9CO,EA+CP,KA/CO,EAgDP,KAhDO,EAiDP,KAjDO,EAkDP,KAlDO,EAmDP,IAnDO,EAoDP,KApDO,EAqDP,KArDO,EAsDP,KAtDO,EAuDP,KAvDO,EAwDP,MAxDO,EAyDP,MAzDO,EA0DP,MA1DO,EA2DP,MA3DO,EA4DP,KA5DO,EA6DP,KA7DO,EA8DP,KA9DO,EA+DP,MA/DO,EAgEP,MAhEO,EAiEP,QAjEO,EAkEP,SAlEO,EAmEP,KAnEO,EAoEP,KApEO,EAqEP,KArEO,EAsEP,MAtEO,EAuEP,MAvEO;AALM,CAAjB","sourcesContent":["module.exports = {\n \"jidousi_tadousi\": [\n \"開け\",\n \"あけ\",\n ],\n \"zyosi\": [\n \"こそは\",\n \"こそを\",\n \"からが\",\n \"からは\",\n \"をこそ\",\n \"とやら\",\n \"やらが\",\n \"までも\",\n \"までもが\",\n \"ばかりか\",\n \"ばかりが\",\n \"ばかりは\",\n \"ばかりを\",\n \"ばっかりか\",\n \"ばっかりが\",\n \"ばっかりは\",\n \"ばっかりを\",\n \"などばかり\",\n \"などばっかり\",\n \"などが\",\n \"なども\",\n \"などは\",\n \"などを\",\n \"とかが\",\n \"とかも\",\n \"とかは\",\n \"とかを\",\n \"とかばかり\",\n \"とかばっかり\",\n \"にも\",\n \"ばかりに\",\n \"にだって\",\n \"とかだって\",\n \"などだって\",\n \"にも\",\n \"のかも\",\n \"にかも\",\n \"とが\",\n \"とも\",\n \"とは\",\n \"さえも\",\n \"にさえ\",\n \"とさえ\",\n \"すらも\",\n \"にすら\",\n \"とすら\",\n \"だけが\",\n \"だけを\",\n \"ほども\",\n \"ほどを\",\n \"でも\",\n \"てでも\",\n \"たりも\",\n \"たりが\",\n \"たりは\",\n \"たりさえ\",\n \"たりすら\",\n \"たりなど\",\n \"ながらも\",\n \"つつも\",\n \"なりが\",\n \"なりを\",\n \"になんて\",\n \"もなんて\",\n \"ばかりなんて\",\n \"ばっかりなんて\",\n \"だけを\",\n \"だけが\",\n \"だけは\",\n \"だけかも\",\n \"だけかも\",\n ]\n};"],"file":"arrow.js"}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
module.exports = [{
|
4
|
+
"message": "\"適用\"の誤用である可能性があります。適応 => 適用",
|
5
|
+
"expected": "を適用",
|
6
|
+
"tokens": [{
|
7
|
+
"surface_form": "を",
|
8
|
+
"pos": "助詞",
|
9
|
+
"pos_detail_1": "格助詞",
|
10
|
+
"pos_detail_2": "一般",
|
11
|
+
"pos_detail_3": "*",
|
12
|
+
"conjugated_type": "*",
|
13
|
+
"conjugated_form": "*",
|
14
|
+
"basic_form": "を",
|
15
|
+
"reading": "ヲ",
|
16
|
+
"pronunciation": "ヲ"
|
17
|
+
}, {
|
18
|
+
"surface_form": "適応",
|
19
|
+
"pos": "名詞",
|
20
|
+
"pos_detail_1": "サ変接続",
|
21
|
+
"pos_detail_2": "*",
|
22
|
+
"pos_detail_3": "*",
|
23
|
+
"conjugated_type": "*",
|
24
|
+
"conjugated_form": "*",
|
25
|
+
"basic_form": "適応",
|
26
|
+
"reading": "テキオウ",
|
27
|
+
"pronunciation": "テキオー"
|
28
|
+
}]
|
29
|
+
}];
|
30
|
+
//# sourceMappingURL=dictAA.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../src/dict/dictAA.js"],"names":["module","exports"],"mappings":";;AAAAA,MAAM,CAACC,OAAP,GAAiB,CACf;AACI,aAAW,+BADf;AAEI,cAAY,KAFhB;AAGI,YAAU,CACR;AACE,oBAAgB,GADlB;AAEE,WAAO,IAFT;AAGE,oBAAgB,KAHlB;AAIE,oBAAgB,IAJlB;AAKE,oBAAgB,GALlB;AAME,uBAAmB,GANrB;AAOE,uBAAmB,GAPrB;AAQE,kBAAc,GARhB;AASE,eAAW,GATb;AAUE,qBAAiB;AAVnB,GADQ,EAaR;AACE,oBAAgB,IADlB;AAEE,WAAO,IAFT;AAGE,oBAAgB,MAHlB;AAIE,oBAAgB,GAJlB;AAKE,oBAAgB,GALlB;AAME,uBAAmB,GANrB;AAOE,uBAAmB,GAPrB;AAQE,kBAAc,IARhB;AASE,eAAW,MATb;AAUE,qBAAiB;AAVnB,GAbQ;AAHd,CADe,CAAjB","sourcesContent":["module.exports = [\n {\n \"message\": \"\\\"適用\\\"の誤用である可能性があります。適応 => 適用\",\n \"expected\": \"を適用\",\n \"tokens\": [\n {\n \"surface_form\": \"を\",\n \"pos\": \"助詞\",\n \"pos_detail_1\": \"格助詞\",\n \"pos_detail_2\": \"一般\",\n \"pos_detail_3\": \"*\",\n \"conjugated_type\": \"*\",\n \"conjugated_form\": \"*\",\n \"basic_form\": \"を\",\n \"reading\": \"ヲ\",\n \"pronunciation\": \"ヲ\"\n },\n {\n \"surface_form\": \"適応\",\n \"pos\": \"名詞\",\n \"pos_detail_1\": \"サ変接続\",\n \"pos_detail_2\": \"*\",\n \"pos_detail_3\": \"*\",\n \"conjugated_type\": \"*\",\n \"conjugated_form\": \"*\",\n \"basic_form\": \"適応\",\n \"reading\": \"テキオウ\",\n \"pronunciation\": \"テキオー\"\n }\n ]\n },\n];"],"file":"dictAA.js"}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
module.exports = [{
|
4
|
+
"message": "\"適用\"の誤用である可能性があります。適応 => 適用",
|
5
|
+
"expected": "を適用",
|
6
|
+
"tokens": [{
|
7
|
+
"surface_form": "を",
|
8
|
+
"pos": "助詞",
|
9
|
+
"pos_detail_1": "格助詞",
|
10
|
+
"pos_detail_2": "一般",
|
11
|
+
"pos_detail_3": "*",
|
12
|
+
"conjugated_type": "*",
|
13
|
+
"conjugated_form": "*",
|
14
|
+
"basic_form": "を",
|
15
|
+
"reading": "ヲ",
|
16
|
+
"pronunciation": "ヲ"
|
17
|
+
}, {
|
18
|
+
"surface_form": "適応",
|
19
|
+
"pos": "名詞",
|
20
|
+
"pos_detail_1": "サ変接続",
|
21
|
+
"pos_detail_2": "*",
|
22
|
+
"pos_detail_3": "*",
|
23
|
+
"conjugated_type": "*",
|
24
|
+
"conjugated_form": "*",
|
25
|
+
"basic_form": "適応",
|
26
|
+
"reading": "テキオウ",
|
27
|
+
"pronunciation": "テキオー"
|
28
|
+
}]
|
29
|
+
}];
|
30
|
+
//# sourceMappingURL=dict_miss.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../src/dict/dict_miss.js"],"names":["module","exports"],"mappings":";;AAAAA,MAAM,CAACC,OAAP,GAAiB,CACf;AACE,aAAW,+BADb;AAEE,cAAY,KAFd;AAGE,YAAU,CACR;AACE,oBAAgB,GADlB;AAEE,WAAO,IAFT;AAGE,oBAAgB,KAHlB;AAIE,oBAAgB,IAJlB;AAKE,oBAAgB,GALlB;AAME,uBAAmB,GANrB;AAOE,uBAAmB,GAPrB;AAQE,kBAAc,GARhB;AASE,eAAW,GATb;AAUE,qBAAiB;AAVnB,GADQ,EAaR;AACE,oBAAgB,IADlB;AAEE,WAAO,IAFT;AAGE,oBAAgB,MAHlB;AAIE,oBAAgB,GAJlB;AAKE,oBAAgB,GALlB;AAME,uBAAmB,GANrB;AAOE,uBAAmB,GAPrB;AAQE,kBAAc,IARhB;AASE,eAAW,MATb;AAUE,qBAAiB;AAVnB,GAbQ;AAHZ,CADe,CAAjB","sourcesContent":["module.exports = [\n {\n \"message\": \"\\\"適用\\\"の誤用である可能性があります。適応 => 適用\",\n \"expected\": \"を適用\",\n \"tokens\": [\n {\n \"surface_form\": \"を\",\n \"pos\": \"助詞\",\n \"pos_detail_1\": \"格助詞\",\n \"pos_detail_2\": \"一般\",\n \"pos_detail_3\": \"*\",\n \"conjugated_type\": \"*\",\n \"conjugated_form\": \"*\",\n \"basic_form\": \"を\",\n \"reading\": \"ヲ\",\n \"pronunciation\": \"ヲ\"\n },\n {\n \"surface_form\": \"適応\",\n \"pos\": \"名詞\",\n \"pos_detail_1\": \"サ変接続\",\n \"pos_detail_2\": \"*\",\n \"pos_detail_3\": \"*\",\n \"conjugated_type\": \"*\",\n \"conjugated_form\": \"*\",\n \"basic_form\": \"適応\",\n \"reading\": \"テキオウ\",\n \"pronunciation\": \"テキオー\"\n }\n ]\n },\n];"],"file":"dict_miss.js"}
|
@@ -0,0 +1,56 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
module.exports = [{
|
4
|
+
"message": "\"適用\"の誤用である可能性があります。適応 => 適用",
|
5
|
+
"expected": "を適用",
|
6
|
+
"tokens": [{
|
7
|
+
"surface_form": "を",
|
8
|
+
"pos": "助詞",
|
9
|
+
"pos_detail_1": "格助詞",
|
10
|
+
"pos_detail_2": "一般",
|
11
|
+
"pos_detail_3": "*",
|
12
|
+
"conjugated_type": "*",
|
13
|
+
"conjugated_form": "*",
|
14
|
+
"basic_form": "を",
|
15
|
+
"reading": "ヲ",
|
16
|
+
"pronunciation": "ヲ"
|
17
|
+
}, {
|
18
|
+
"surface_form": "適応",
|
19
|
+
"pos": "名詞",
|
20
|
+
"pos_detail_1": "サ変接続",
|
21
|
+
"pos_detail_2": "*",
|
22
|
+
"pos_detail_3": "*",
|
23
|
+
"conjugated_type": "*",
|
24
|
+
"conjugated_form": "*",
|
25
|
+
"basic_form": "適応",
|
26
|
+
"reading": "テキオウ",
|
27
|
+
"pronunciation": "テキオー"
|
28
|
+
}]
|
29
|
+
}, {
|
30
|
+
"message": "動詞の連用形+辛い(つらい)の場合は、「ずらい」ではなく「づらい」が適切です。",
|
31
|
+
"expected": "$1づらい",
|
32
|
+
"tokens": [{
|
33
|
+
"pos": "動詞",
|
34
|
+
"pos_detail_1": "自立",
|
35
|
+
"conjugated_form": "連用形",
|
36
|
+
"_capture": "$1"
|
37
|
+
}, {
|
38
|
+
"surface_form": "ず"
|
39
|
+
}, {
|
40
|
+
"surface_form": "らい"
|
41
|
+
}]
|
42
|
+
}, {
|
43
|
+
"message": "動詞の連用形+辛い(つらい)の場合は、「ずらい」ではなく「づらい」が適切です。",
|
44
|
+
"expected": "$1づらい",
|
45
|
+
"tokens": [{
|
46
|
+
"pos": "動詞",
|
47
|
+
"pos_detail_1": "自立",
|
48
|
+
"conjugated_form": "連用形",
|
49
|
+
"_capture": "$1"
|
50
|
+
}, {
|
51
|
+
"surface_form": "ずら"
|
52
|
+
}, {
|
53
|
+
"surface_form": "い"
|
54
|
+
}]
|
55
|
+
}];
|
56
|
+
//# sourceMappingURL=gozidatuzi.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../src/dict/gozidatuzi.js"],"names":["module","exports"],"mappings":";;AAAAA,MAAM,CAACC,OAAP,GAAiB,CACf;AACE,aAAW,+BADb;AAEE,cAAY,KAFd;AAGE,YAAU,CACR;AACE,oBAAgB,GADlB;AAEE,WAAO,IAFT;AAGE,oBAAgB,KAHlB;AAIE,oBAAgB,IAJlB;AAKE,oBAAgB,GALlB;AAME,uBAAmB,GANrB;AAOE,uBAAmB,GAPrB;AAQE,kBAAc,GARhB;AASE,eAAW,GATb;AAUE,qBAAiB;AAVnB,GADQ,EAaR;AACE,oBAAgB,IADlB;AAEE,WAAO,IAFT;AAGE,oBAAgB,MAHlB;AAIE,oBAAgB,GAJlB;AAKE,oBAAgB,GALlB;AAME,uBAAmB,GANrB;AAOE,uBAAmB,GAPrB;AAQE,kBAAc,IARhB;AASE,eAAW,MATb;AAUE,qBAAiB;AAVnB,GAbQ;AAHZ,CADe,EA+Bf;AACE,aAAW,yCADb;AAEE,cAAY,OAFd;AAGE,YAAU,CACR;AACE,WAAO,IADT;AAEE,oBAAgB,IAFlB;AAGE,uBAAmB,KAHrB;AAIE,gBAAY;AAJd,GADQ,EAOR;AACE,oBAAgB;AADlB,GAPQ,EAUR;AACE,oBAAgB;AADlB,GAVQ;AAHZ,CA/Be,EAiDf;AACE,aAAW,yCADb;AAEE,cAAY,OAFd;AAGE,YAAU,CACR;AACE,WAAO,IADT;AAEE,oBAAgB,IAFlB;AAGE,uBAAmB,KAHrB;AAIE,gBAAY;AAJd,GADQ,EAOR;AACE,oBAAgB;AADlB,GAPQ,EAUR;AACE,oBAAgB;AADlB,GAVQ;AAHZ,CAjDe,CAAjB","sourcesContent":["module.exports = [\n {\n \"message\": \"\\\"適用\\\"の誤用である可能性があります。適応 => 適用\",\n \"expected\": \"を適用\",\n \"tokens\": [\n {\n \"surface_form\": \"を\",\n \"pos\": \"助詞\",\n \"pos_detail_1\": \"格助詞\",\n \"pos_detail_2\": \"一般\",\n \"pos_detail_3\": \"*\",\n \"conjugated_type\": \"*\",\n \"conjugated_form\": \"*\",\n \"basic_form\": \"を\",\n \"reading\": \"ヲ\",\n \"pronunciation\": \"ヲ\"\n },\n {\n \"surface_form\": \"適応\",\n \"pos\": \"名詞\",\n \"pos_detail_1\": \"サ変接続\",\n \"pos_detail_2\": \"*\",\n \"pos_detail_3\": \"*\",\n \"conjugated_type\": \"*\",\n \"conjugated_form\": \"*\",\n \"basic_form\": \"適応\",\n \"reading\": \"テキオウ\",\n \"pronunciation\": \"テキオー\"\n }\n ]\n },\n {\n \"message\": \"動詞の連用形+辛い(つらい)の場合は、「ずらい」ではなく「づらい」が適切です。\",\n \"expected\": \"$1づらい\",\n \"tokens\": [\n {\n \"pos\": \"動詞\",\n \"pos_detail_1\": \"自立\",\n \"conjugated_form\": \"連用形\",\n \"_capture\": \"$1\"\n },\n {\n \"surface_form\": \"ず\",\n },\n {\n \"surface_form\": \"らい\",\n }\n ]\n },\n {\n \"message\": \"動詞の連用形+辛い(つらい)の場合は、「ずらい」ではなく「づらい」が適切です。\",\n \"expected\": \"$1づらい\",\n \"tokens\": [\n {\n \"pos\": \"動詞\",\n \"pos_detail_1\": \"自立\",\n \"conjugated_form\": \"連用形\",\n \"_capture\": \"$1\"\n },\n {\n \"surface_form\": \"ずら\",\n },\n {\n \"surface_form\": \"い\",\n }\n ]\n }\n];"],"file":"gozidatuzi.js"}
|
package/lib/dict/miss.js
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
module.exports = [{
|
4
|
+
"message": "\"適用\"の誤用である可能性があります。適応 => 適用",
|
5
|
+
"expected": "を適用",
|
6
|
+
"tokens": [{
|
7
|
+
"surface_form": "を",
|
8
|
+
"pos": "助詞",
|
9
|
+
"pos_detail_1": "格助詞",
|
10
|
+
"pos_detail_2": "一般",
|
11
|
+
"pos_detail_3": "*",
|
12
|
+
"conjugated_type": "*",
|
13
|
+
"conjugated_form": "*",
|
14
|
+
"basic_form": "を",
|
15
|
+
"reading": "ヲ",
|
16
|
+
"pronunciation": "ヲ"
|
17
|
+
}, {
|
18
|
+
"surface_form": "適応",
|
19
|
+
"pos": "名詞",
|
20
|
+
"pos_detail_1": "サ変接続",
|
21
|
+
"pos_detail_2": "*",
|
22
|
+
"pos_detail_3": "*",
|
23
|
+
"conjugated_type": "*",
|
24
|
+
"conjugated_form": "*",
|
25
|
+
"basic_form": "適応",
|
26
|
+
"reading": "テキオウ",
|
27
|
+
"pronunciation": "テキオー"
|
28
|
+
}]
|
29
|
+
}];
|
30
|
+
//# sourceMappingURL=miss.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../src/dict/miss.js"],"names":["module","exports"],"mappings":";;AAAAA,MAAM,CAACC,OAAP,GAAiB,CACf;AACE,aAAW,+BADb;AAEE,cAAY,KAFd;AAGE,YAAU,CACR;AACE,oBAAgB,GADlB;AAEE,WAAO,IAFT;AAGE,oBAAgB,KAHlB;AAIE,oBAAgB,IAJlB;AAKE,oBAAgB,GALlB;AAME,uBAAmB,GANrB;AAOE,uBAAmB,GAPrB;AAQE,kBAAc,GARhB;AASE,eAAW,GATb;AAUE,qBAAiB;AAVnB,GADQ,EAaR;AACE,oBAAgB,IADlB;AAEE,WAAO,IAFT;AAGE,oBAAgB,MAHlB;AAIE,oBAAgB,GAJlB;AAKE,oBAAgB,GALlB;AAME,uBAAmB,GANrB;AAOE,uBAAmB,GAPrB;AAQE,kBAAc,IARhB;AASE,eAAW,MATb;AAUE,qBAAiB;AAVnB,GAbQ;AAHZ,CADe,CAAjB","sourcesContent":["module.exports = [\n {\n \"message\": \"\\\"適用\\\"の誤用である可能性があります。適応 => 適用\",\n \"expected\": \"を適用\",\n \"tokens\": [\n {\n \"surface_form\": \"を\",\n \"pos\": \"助詞\",\n \"pos_detail_1\": \"格助詞\",\n \"pos_detail_2\": \"一般\",\n \"pos_detail_3\": \"*\",\n \"conjugated_type\": \"*\",\n \"conjugated_form\": \"*\",\n \"basic_form\": \"を\",\n \"reading\": \"ヲ\",\n \"pronunciation\": \"ヲ\"\n },\n {\n \"surface_form\": \"適応\",\n \"pos\": \"名詞\",\n \"pos_detail_1\": \"サ変接続\",\n \"pos_detail_2\": \"*\",\n \"pos_detail_3\": \"*\",\n \"conjugated_type\": \"*\",\n \"conjugated_form\": \"*\",\n \"basic_form\": \"適応\",\n \"reading\": \"テキオウ\",\n \"pronunciation\": \"テキオー\"\n }\n ]\n },\n];"],"file":"miss.js"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../src/dict/retasu.js"],"names":["module","exports"],"mappings":";;AAAAA,MAAM,CAACC,OAAP,GAAiB,CACf;AACE,aAAW,gBADb;AAEE,YAAU,CACR;AACE,WAAO,IADT;AAEE,uBAAmB;AAFrB,GADQ,EAKR;AACE,WAAO,IADT;AAEE,oBAAgB,IAFlB;AAGE,kBAAc;AAHhB,GALQ;AAFZ,CADe,CAAjB","sourcesContent":["module.exports = [\n {\n \"message\": \"れ足す言葉の可能性があります\",\n \"tokens\": [\n {\n \"pos\": \"動詞\",\n \"conjugated_type\": \"一段\",\n },\n {\n \"pos\": \"動詞\",\n \"pos_detail_1\": \"接尾\",\n \"basic_form\": \"れる\",\n }\n ]\n },\n];"],"file":"retasu.js"}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
module.exports = [{
|
4
|
+
"message": "不要な「さ」が挿入されています。",
|
5
|
+
"expected": "$2$3",
|
6
|
+
"tokens": [{
|
7
|
+
"conjugated_form": "ガル接続",
|
8
|
+
"basic_form": ["辛い", "美味しい", "寒い"],
|
9
|
+
"_capture": "$2"
|
10
|
+
}, {
|
11
|
+
"surface_form": "さ",
|
12
|
+
"_index": true
|
13
|
+
}, {
|
14
|
+
"basic_form": "そう",
|
15
|
+
"pos_detail_1": ["接尾", "助詞類接続"],
|
16
|
+
"_capture": "$3"
|
17
|
+
}]
|
18
|
+
}, {
|
19
|
+
"message": "不要な「さ」が挿入されています。",
|
20
|
+
"expected": "$1$2$3",
|
21
|
+
"tokens": [{
|
22
|
+
"pos": "動詞",
|
23
|
+
"_capture": "$1"
|
24
|
+
}, {
|
25
|
+
"surface_form": "た",
|
26
|
+
"pos": "助動詞",
|
27
|
+
"_capture": "$2"
|
28
|
+
}, {
|
29
|
+
"surface_form": "さ",
|
30
|
+
"_index": true
|
31
|
+
}, {
|
32
|
+
"basic_form": "そう",
|
33
|
+
"pos_detail_1": ["接尾", "助詞類接続"],
|
34
|
+
"_capture": "$3"
|
35
|
+
}]
|
36
|
+
}];
|
37
|
+
//# sourceMappingURL=saire.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../src/dict/saire.js"],"names":["module","exports"],"mappings":";;AAAAA,MAAM,CAACC,OAAP,GAAiB,CACf;AACE,aAAW,kBADb;AAEE,cAAY,MAFd;AAGE,YAAU,CACR;AACE,uBAAmB,MADrB;AAEE,kBAAc,CAAC,IAAD,EAAO,MAAP,EAAe,IAAf,CAFhB;AAGE,gBAAY;AAHd,GADQ,EAMR;AACE,oBAAgB,GADlB;AAEE,cAAU;AAFZ,GANQ,EAUR;AACE,kBAAc,IADhB;AAEE,oBAAgB,CAAC,IAAD,EAAO,OAAP,CAFlB;AAGE,gBAAY;AAHd,GAVQ;AAHZ,CADe,EAqBf;AACE,aAAW,kBADb;AAEE,cAAY,QAFd;AAGE,YAAU,CACR;AACE,WAAO,IADT;AAEE,gBAAY;AAFd,GADQ,EAKR;AACE,oBAAgB,GADlB;AAEE,WAAO,KAFT;AAGE,gBAAY;AAHd,GALQ,EAUR;AACE,oBAAgB,GADlB;AAEE,cAAU;AAFZ,GAVQ,EAcR;AACE,kBAAc,IADhB;AAEE,oBAAgB,CAAC,IAAD,EAAO,OAAP,CAFlB;AAGE,gBAAY;AAHd,GAdQ;AAHZ,CArBe,CAAjB","sourcesContent":["module.exports = [\n {\n \"message\": \"不要な「さ」が挿入されています。\",\n \"expected\": \"$2$3\",\n \"tokens\": [\n {\n \"conjugated_form\": \"ガル接続\",\n \"basic_form\": [\"辛い\", \"美味しい\", \"寒い\"],\n \"_capture\": \"$2\"\n },\n {\n \"surface_form\": \"さ\",\n \"_index\": true\n },\n {\n \"basic_form\": \"そう\",\n \"pos_detail_1\": [\"接尾\", \"助詞類接続\"],\n \"_capture\": \"$3\"\n }\n ]\n },\n {\n \"message\": \"不要な「さ」が挿入されています。\",\n \"expected\": \"$1$2$3\",\n \"tokens\": [\n {\n \"pos\": \"動詞\",\n \"_capture\": \"$1\"\n },\n {\n \"surface_form\": \"た\",\n \"pos\": \"助動詞\",\n \"_capture\": \"$2\"\n },\n {\n \"surface_form\": \"さ\",\n \"_index\": true\n },\n {\n \"basic_form\": \"そう\",\n \"pos_detail_1\": [\"接尾\", \"助詞類接続\"],\n \"_capture\": \"$3\"\n }\n ]\n },\n];"],"file":"saire.js"}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
module.exports = [{
|
4
|
+
"message": "「さ」が抜けています。",
|
5
|
+
"expected": "$1さ$2",
|
6
|
+
"tokens": [{
|
7
|
+
"basic_form": ["良い", "無", "無い"],
|
8
|
+
"_capture": "$1"
|
9
|
+
}, {
|
10
|
+
"surface_form": "そう",
|
11
|
+
"pos_detail_1": ["接尾", "助詞類接続"],
|
12
|
+
"_capture": "$2"
|
13
|
+
}]
|
14
|
+
}];
|
15
|
+
//# sourceMappingURL=sanuki.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../src/dict/sanuki.js"],"names":["module","exports"],"mappings":";;AAAAA,MAAM,CAACC,OAAP,GAAiB,CACf;AACE,aAAW,aADb;AAEE,cAAY,OAFd;AAGE,YAAU,CACR;AACE,kBAAc,CAAC,IAAD,EAAO,GAAP,EAAY,IAAZ,CADhB;AAEE,gBAAY;AAFd,GADQ,EAKR;AACE,oBAAgB,IADlB;AAEE,oBAAgB,CAAC,IAAD,EAAO,OAAP,CAFlB;AAGE,gBAAY;AAHd,GALQ;AAHZ,CADe,CAAjB","sourcesContent":["module.exports = [\n {\n \"message\": \"「さ」が抜けています。\",\n \"expected\": \"$1さ$2\",\n \"tokens\": [\n {\n \"basic_form\": [\"良い\", \"無\", \"無い\"],\n \"_capture\": \"$1\"\n },\n {\n \"surface_form\": \"そう\",\n \"pos_detail_1\": [\"接尾\", \"助詞類接続\"],\n \"_capture\": \"$2\"\n }\n ]\n },\n];"],"file":"sanuki.js"}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
module.exports = [{
|
4
|
+
"message": "助詞の連続",
|
5
|
+
"tokens": [{
|
6
|
+
"pos": "助詞"
|
7
|
+
}, {
|
8
|
+
"pos": "助詞",
|
9
|
+
"pos_detail_2": ["一般", "*"] //引用や連語ならスルー
|
10
|
+
|
11
|
+
}]
|
12
|
+
}, {
|
13
|
+
"message": '接続助詞と接続詞の連続',
|
14
|
+
"tokens": [{
|
15
|
+
"pos": "助詞",
|
16
|
+
"pos_detail_1": "接続助詞"
|
17
|
+
}, {
|
18
|
+
"pos": "接続詞"
|
19
|
+
}]
|
20
|
+
}, {
|
21
|
+
"message": '接続助詞と助動詞の連続',
|
22
|
+
"tokens": [{
|
23
|
+
"pos": "助詞",
|
24
|
+
"pos_detail_1": "接続助詞"
|
25
|
+
}, {
|
26
|
+
"pos": "助動詞"
|
27
|
+
}]
|
28
|
+
}];
|
29
|
+
//# sourceMappingURL=zyosi.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../src/dict/zyosi.js"],"names":["module","exports"],"mappings":";;AAAAA,MAAM,CAACC,OAAP,GAAiB,CACf;AACE,aAAW,OADb;AAEE,YAAU,CACR;AACE,WAAO;AADT,GADQ,EAGN;AACA,WAAO,IADP;AAEA,oBAAgB,CAAC,IAAD,EAAO,GAAP,CAFhB,CAE2B;;AAF3B,GAHM;AAFZ,CADe,EAYf;AACE,aAAW,aADb;AAEE,YAAU,CACR;AACE,WAAO,IADT;AAEE,oBAAgB;AAFlB,GADQ,EAIN;AACA,WAAO;AADP,GAJM;AAFZ,CAZe,EAuBf;AACE,aAAW,aADb;AAEE,YAAU,CACR;AACE,WAAO,IADT;AAEE,oBAAgB;AAFlB,GADQ,EAIN;AACA,WAAO;AADP,GAJM;AAFZ,CAvBe,CAAjB","sourcesContent":["module.exports = [\n {\n \"message\": \"助詞の連続\",\n \"tokens\": [\n {\n \"pos\": \"助詞\",\n },{\n \"pos\": \"助詞\",\n \"pos_detail_2\": [\"一般\", \"*\"]//引用や連語ならスルー\n }\n ]\n },\n {\n \"message\": '接続助詞と接続詞の連続',\n \"tokens\": [\n {\n \"pos\": \"助詞\",\n \"pos_detail_1\": \"接続助詞\",\n },{\n \"pos\": \"接続詞\",\n }\n ]\n },\n {\n \"message\": '接続助詞と助動詞の連続',\n \"tokens\": [\n {\n \"pos\": \"助詞\",\n \"pos_detail_1\": \"接続助詞\",\n },{\n \"pos\": \"助動詞\",\n }\n ]\n },\n];"],"file":"zyosi.js"}
|
@@ -0,0 +1,57 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = void 0;
|
7
|
+
|
8
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
9
|
+
|
10
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
11
|
+
|
12
|
+
var arrow = require('./dict/arrow');
|
13
|
+
|
14
|
+
class EnhancedEngine {
|
15
|
+
constructor() {}
|
16
|
+
|
17
|
+
checkRetasu(tokenizer, text) {
|
18
|
+
return _asyncToGenerator(function* () {
|
19
|
+
if (/れ$/.test(text)) {
|
20
|
+
text += "る";
|
21
|
+
}
|
22
|
+
|
23
|
+
var tokens = yield tokenizer(text);
|
24
|
+
var meirei = yield tokenizer(tokens[0].surface_form + "。");
|
25
|
+
|
26
|
+
if (meirei[0].conjugated_form == "命令e" || /五段/.test(meirei[0].conjugated_type)) {
|
27
|
+
// 「れる」を抜いても命令形で意味が通じるか、最初の文字が五段活用動詞になると多分れ足す言葉
|
28
|
+
if (!arrow.jidousi_tadousi.includes(meirei[0].surface_form)) {
|
29
|
+
// 許可リストにもない
|
30
|
+
return true;
|
31
|
+
}
|
32
|
+
}
|
33
|
+
|
34
|
+
return false;
|
35
|
+
})();
|
36
|
+
}
|
37
|
+
|
38
|
+
checkZyosi(tokenizer, text) {
|
39
|
+
return _asyncToGenerator(function* () {
|
40
|
+
var tokens = yield tokenizer(text);
|
41
|
+
|
42
|
+
if (!/終助詞/.test(tokens[1].pos_detail_1) && !(tokens[0].surface_form == "のみ" && /格助詞/.test(tokens[1].pos_detail_1)) && !/連体化/.test(tokens[1].pos_detail_1)) {
|
43
|
+
if (!arrow.zyosi.includes(tokens[0].surface_form + tokens[1].surface_form)) {
|
44
|
+
return true;
|
45
|
+
}
|
46
|
+
}
|
47
|
+
|
48
|
+
return false;
|
49
|
+
})();
|
50
|
+
}
|
51
|
+
|
52
|
+
}
|
53
|
+
|
54
|
+
var _default = new EnhancedEngine();
|
55
|
+
|
56
|
+
exports.default = _default;
|
57
|
+
//# sourceMappingURL=enhanced-engine.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../src/enhanced-engine.js"],"names":["arrow","require","EnhancedEngine","constructor","checkRetasu","tokenizer","text","test","tokens","meirei","surface_form","conjugated_form","conjugated_type","jidousi_tadousi","includes","checkZyosi","pos_detail_1","zyosi"],"mappings":";;;;;;;;;;;AAAA,IAAMA,KAAK,GAAGC,OAAO,CAAC,cAAD,CAArB;;AAEA,MAAMC,cAAN,CAAqB;AAEnBC,EAAAA,WAAW,GAAG,CACb;;AAEKC,EAAAA,WAAW,CAACC,SAAD,EAAYC,IAAZ,EAAiB;AAAA;AAChC,UAAG,KAAKC,IAAL,CAAUD,IAAV,CAAH,EAAmB;AACjBA,QAAAA,IAAI,IAAI,GAAR;AACD;;AACD,UAAIE,MAAM,SAASH,SAAS,CAACC,IAAD,CAA5B;AACA,UAAIG,MAAM,SAASJ,SAAS,CAACG,MAAM,CAAC,CAAD,CAAN,CAAUE,YAAV,GAAyB,GAA1B,CAA5B;;AACA,UAAGD,MAAM,CAAC,CAAD,CAAN,CAAUE,eAAV,IAA6B,KAA7B,IAAsC,KAAKJ,IAAL,CAAUE,MAAM,CAAC,CAAD,CAAN,CAAUG,eAApB,CAAzC,EAA8E;AAC5E;AACA,YAAG,CAACZ,KAAK,CAACa,eAAN,CAAsBC,QAAtB,CAA+BL,MAAM,CAAC,CAAD,CAAN,CAAUC,YAAzC,CAAJ,EAA2D;AACzD;AACA,iBAAO,IAAP;AACD;AACF;;AACD,aAAO,KAAP;AAbgC;AAcjC;;AAEKK,EAAAA,UAAU,CAACV,SAAD,EAAYC,IAAZ,EAAiB;AAAA;AAC/B,UAAIE,MAAM,SAASH,SAAS,CAACC,IAAD,CAA5B;;AACA,UAAG,CAAC,MAAMC,IAAN,CAAWC,MAAM,CAAC,CAAD,CAAN,CAAUQ,YAArB,CAAD,IACE,EAAER,MAAM,CAAC,CAAD,CAAN,CAAUE,YAAV,IAA0B,IAA1B,IAAkC,MAAMH,IAAN,CAAWC,MAAM,CAAC,CAAD,CAAN,CAAUQ,YAArB,CAApC,CADF,IAEE,CAAC,MAAMT,IAAN,CAAWC,MAAM,CAAC,CAAD,CAAN,CAAUQ,YAArB,CAFN,EAGG;AACD,YAAG,CAAChB,KAAK,CAACiB,KAAN,CAAYH,QAAZ,CAAqBN,MAAM,CAAC,CAAD,CAAN,CAAUE,YAAV,GAAyBF,MAAM,CAAC,CAAD,CAAN,CAAUE,YAAxD,CAAJ,EAA0E;AACxE,iBAAO,IAAP;AACD;AACF;;AACD,aAAO,KAAP;AAV+B;AAWhC;;AAhCkB;;eAoCN,IAAIR,cAAJ,E","sourcesContent":["const arrow = require('./dict/arrow');\n\nclass EnhancedEngine {\n\n constructor() {\n }\n\n async checkRetasu(tokenizer, text){\n if(/れ$/.test(text)){\n text += \"る\";\n }\n let tokens = await tokenizer(text);\n let meirei = await tokenizer(tokens[0].surface_form + \"。\");\n if(meirei[0].conjugated_form == \"命令e\" || /五段/.test(meirei[0].conjugated_type)){\n // 「れる」を抜いても命令形で意味が通じるか、最初の文字が五段活用動詞になると多分れ足す言葉\n if(!arrow.jidousi_tadousi.includes(meirei[0].surface_form)){\n // 許可リストにもない\n return true;\n }\n }\n return false;\n }\n\n async checkZyosi(tokenizer, text){\n let tokens = await tokenizer(text);\n if(!/終助詞/.test(tokens[1].pos_detail_1)\n && !(tokens[0].surface_form == \"のみ\" && /格助詞/.test(tokens[1].pos_detail_1))\n && !/連体化/.test(tokens[1].pos_detail_1)\n ){\n if(!arrow.zyosi.includes(tokens[0].surface_form + tokens[1].surface_form)){\n return true;\n }\n }\n return false;\n }\n\n}\n\nexport default new EnhancedEngine();"],"file":"enhanced-engine.js"}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = void 0;
|
7
|
+
|
8
|
+
var Romanizer = require('js-hira-kata-romanize');
|
9
|
+
|
10
|
+
class ModifiedEngine {
|
11
|
+
constructor() {
|
12
|
+
this.romanizer = new Romanizer({
|
13
|
+
chouon: Romanizer.CHOUON_CIRCUMFLEX,
|
14
|
+
upper: Romanizer.UPPER_NONE
|
15
|
+
});
|
16
|
+
}
|
17
|
+
|
18
|
+
romanize(hiraganaOrKatakana) {
|
19
|
+
return this.romanizer.romanize(hiraganaOrKatakana);
|
20
|
+
}
|
21
|
+
|
22
|
+
}
|
23
|
+
|
24
|
+
var _default = new ModifiedEngine();
|
25
|
+
|
26
|
+
exports.default = _default;
|
27
|
+
//# sourceMappingURL=modified-engine.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../src/modified-engine.js"],"names":["Romanizer","require","ModifiedEngine","constructor","romanizer","chouon","CHOUON_CIRCUMFLEX","upper","UPPER_NONE","romanize","hiraganaOrKatakana"],"mappings":";;;;;;;AAAA,IAAMA,SAAS,GAAGC,OAAO,CAAC,uBAAD,CAAzB;;AAEA,MAAMC,cAAN,CAAqB;AAEnBC,EAAAA,WAAW,GAAG;AACZ,SAAKC,SAAL,GAAiB,IAAIJ,SAAJ,CAAc;AAC7BK,MAAAA,MAAM,EAAEL,SAAS,CAACM,iBADW;AAE7BC,MAAAA,KAAK,EAAEP,SAAS,CAACQ;AAFY,KAAd,CAAjB;AAID;;AAEDC,EAAAA,QAAQ,CAACC,kBAAD,EAAoB;AAC1B,WAAO,KAAKN,SAAL,CAAeK,QAAf,CAAwBC,kBAAxB,CAAP;AACD;;AAXkB;;eAcN,IAAIR,cAAJ,E","sourcesContent":["const Romanizer = require('js-hira-kata-romanize');\n\nclass ModifiedEngine {\n\n constructor() {\n this.romanizer = new Romanizer({\n chouon: Romanizer.CHOUON_CIRCUMFLEX,\n upper: Romanizer.UPPER_NONE\n });\n }\n\n romanize(hiraganaOrKatakana){\n return this.romanizer.romanize(hiraganaOrKatakana);\n }\n}\n\nexport default new ModifiedEngine();"],"file":"modified-engine.js"}
|
@@ -9,13 +9,27 @@ var _morphemeMatchTextlint = require("morpheme-match-textlint");
|
|
9
9
|
|
10
10
|
var _kuromojin = require("kuromojin");
|
11
11
|
|
12
|
+
var _enhancedEngine = _interopRequireDefault(require("./enhanced-engine"));
|
13
|
+
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
15
|
+
|
16
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
17
|
+
|
18
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
19
|
+
|
12
20
|
var loadDictionaries = () => {
|
13
21
|
// unavoidable
|
14
|
-
var dict1 = require('./dict/
|
22
|
+
var dict1 = require('./dict/zyosi');
|
23
|
+
|
24
|
+
var dict2 = require('./dict/gozidatuzi');
|
25
|
+
|
26
|
+
var dict3 = require('./dict/retasu');
|
15
27
|
|
16
|
-
var
|
28
|
+
var dict4 = require('./dict/sanuki');
|
17
29
|
|
18
|
-
|
30
|
+
var dict5 = require('./dict/saire');
|
31
|
+
|
32
|
+
return dict1.concat(dict2, dict3, dict4, dict5);
|
19
33
|
};
|
20
34
|
|
21
35
|
var reporter = context => {
|
@@ -30,23 +44,44 @@ var reporter = context => {
|
|
30
44
|
tokenize: _kuromojin.tokenize,
|
31
45
|
dictionaries: loadDictionaries()
|
32
46
|
});
|
47
|
+
var engine = _enhancedEngine.default;
|
33
48
|
return {
|
34
49
|
[Syntax.Str](node) {
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
50
|
+
return new Promise( /*#__PURE__*/function () {
|
51
|
+
var _ref = _asyncToGenerator(function* (resolve, reject) {
|
52
|
+
var text = getSource(node);
|
53
|
+
var results = yield matchAll(text);
|
54
|
+
|
55
|
+
for (var result of results) {
|
56
|
+
if (result.message == "れ足す言葉の可能性があります") {
|
57
|
+
if (!(yield engine.checkRetasu(_kuromojin.tokenize, text.slice(result.range[0], result.range[1])))) {
|
58
|
+
continue;
|
59
|
+
}
|
60
|
+
} else if (result.message == "助詞の連続") {
|
61
|
+
if (!(yield engine.checkZyosi(_kuromojin.tokenize, text.slice(result.range[0])))) {
|
62
|
+
continue;
|
63
|
+
}
|
64
|
+
}
|
65
|
+
|
66
|
+
if (result.expected) {
|
67
|
+
report(node, new RuleError(result.message, {
|
68
|
+
index: result.index,
|
69
|
+
fix: fixer.replaceTextRange(result.range, result.expected)
|
70
|
+
}));
|
71
|
+
} else {
|
72
|
+
report(node, new RuleError(result.message, {
|
73
|
+
index: result.index
|
74
|
+
}));
|
75
|
+
}
|
47
76
|
}
|
77
|
+
|
78
|
+
resolve();
|
48
79
|
});
|
49
|
-
|
80
|
+
|
81
|
+
return function (_x, _x2) {
|
82
|
+
return _ref.apply(this, arguments);
|
83
|
+
};
|
84
|
+
}());
|
50
85
|
}
|
51
86
|
|
52
87
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../src/textlint-rule-for-creation.js"],"names":["loadDictionaries","dict1","require","dict2","concat","reporter","context","Syntax","RuleError","fixer","report","getSource","matchAll","tokenize","dictionaries","Str","node","
|
1
|
+
{"version":3,"sources":["../src/textlint-rule-for-creation.js"],"names":["loadDictionaries","dict1","require","dict2","dict3","dict4","dict5","concat","reporter","context","Syntax","RuleError","fixer","report","getSource","matchAll","tokenize","dictionaries","engine","EnhancedEngine","Str","node","Promise","resolve","reject","text","results","result","message","checkRetasu","slice","range","checkZyosi","expected","index","fix","replaceTextRange","linter"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,gBAAgB,GAAG,MAAM;AAC7B;AACA,MAAIC,KAAK,GAAGC,OAAO,CAAC,cAAD,CAAnB;;AACA,MAAIC,KAAK,GAAGD,OAAO,CAAC,mBAAD,CAAnB;;AACA,MAAIE,KAAK,GAAGF,OAAO,CAAC,eAAD,CAAnB;;AACA,MAAIG,KAAK,GAAGH,OAAO,CAAC,eAAD,CAAnB;;AACA,MAAII,KAAK,GAAGJ,OAAO,CAAC,cAAD,CAAnB;;AACA,SAAOD,KAAK,CAACM,MAAN,CAAaJ,KAAb,EAAoBC,KAApB,EAA2BC,KAA3B,EAAkCC,KAAlC,CAAP;AACD,CARD;;AAUA,IAAME,QAAQ,GAAIC,OAAD,IAAa;AAC5B,MAAM;AAAEC,IAAAA,MAAF;AAAUC,IAAAA,SAAV;AAAqBC,IAAAA,KAArB;AAA4BC,IAAAA,MAA5B;AAAoCC,IAAAA;AAApC,MAAkDL,OAAxD;AACA,MAAMM,QAAQ,GAAG,kDAAsB;AACrCC,IAAAA,QAAQ,EAAEA,mBAD2B;AAErCC,IAAAA,YAAY,EAAEjB,gBAAgB;AAFO,GAAtB,CAAjB;AAIA,MAAMkB,MAAM,GAAGC,uBAAf;AACA,SAAO;AACL,KAACT,MAAM,CAACU,GAAR,EAAaC,IAAb,EAAmB;AACjB,aAAO,IAAIC,OAAJ;AAAA,qCAAY,WAAOC,OAAP,EAAgBC,MAAhB,EAA2B;AAC5C,cAAMC,IAAI,GAAGX,SAAS,CAACO,IAAD,CAAtB;AACA,cAAIK,OAAO,SAASX,QAAQ,CAACU,IAAD,CAA5B;;AACA,eAAK,IAAME,MAAX,IAAqBD,OAArB,EAA8B;AAC5B,gBAAGC,MAAM,CAACC,OAAP,IAAkB,gBAArB,EAAsC;AACpC,kBAAG,QAAQV,MAAM,CAACW,WAAP,CAAmBb,mBAAnB,EAA6BS,IAAI,CAACK,KAAL,CAAWH,MAAM,CAACI,KAAP,CAAa,CAAb,CAAX,EAA2BJ,MAAM,CAACI,KAAP,CAAa,CAAb,CAA3B,CAA7B,CAAR,CAAH,EAAsF;AACpF;AACD;AACF,aAJD,MAIM,IAAGJ,MAAM,CAACC,OAAP,IAAkB,OAArB,EAA6B;AACjC,kBAAG,QAAQV,MAAM,CAACc,UAAP,CAAkBhB,mBAAlB,EAA4BS,IAAI,CAACK,KAAL,CAAWH,MAAM,CAACI,KAAP,CAAa,CAAb,CAAX,CAA5B,CAAR,CAAH,EAAqE;AACnE;AACD;AACF;;AACD,gBAAIJ,MAAM,CAACM,QAAX,EAAqB;AACnBpB,cAAAA,MAAM,CAACQ,IAAD,EAAO,IAAIV,SAAJ,CAAcgB,MAAM,CAACC,OAArB,EAA8B;AACzCM,gBAAAA,KAAK,EAAEP,MAAM,CAACO,KAD2B;AAEzCC,gBAAAA,GAAG,EAAEvB,KAAK,CAACwB,gBAAN,CAAuBT,MAAM,CAACI,KAA9B,EAAqCJ,MAAM,CAACM,QAA5C;AAFoC,eAA9B,CAAP,CAAN;AAID,aALD,MAKO;AACLpB,cAAAA,MAAM,CAACQ,IAAD,EAAO,IAAIV,SAAJ,CAAcgB,MAAM,CAACC,OAArB,EAA8B;AACzCM,gBAAAA,KAAK,EAAEP,MAAM,CAACO;AAD2B,eAA9B,CAAP,CAAN;AAGD;AACF;;AACDX,UAAAA,OAAO;AACR,SAzBM;;AAAA;AAAA;AAAA;AAAA,UAAP;AA0BD;;AA5BI,GAAP;AA8BD,CArCD;;eAuCe;AACbc,EAAAA,MAAM,EAAE7B,QADK;AAEbI,EAAAA,KAAK,EAAEJ;AAFM,C","sourcesContent":["import { createTextlintMatcher } from \"morpheme-match-textlint\";\nimport { tokenize } from \"kuromojin\";\nimport EnhancedEngine from \"./enhanced-engine\";\n\nconst loadDictionaries = () => {\n // unavoidable\n let dict1 = require('./dict/zyosi');\n let dict2 = require('./dict/gozidatuzi');\n let dict3 = require('./dict/retasu');\n let dict4 = require('./dict/sanuki');\n let dict5 = require('./dict/saire');\n return dict1.concat(dict2, dict3, dict4, dict5);\n}\n\nconst reporter = (context) => {\n const { Syntax, RuleError, fixer, report, getSource } = context;\n const matchAll = createTextlintMatcher({\n tokenize: tokenize,\n dictionaries: loadDictionaries()\n });\n const engine = EnhancedEngine\n return {\n [Syntax.Str](node) {\n return new Promise(async (resolve, reject) => {\n const text = getSource(node);\n let results = await matchAll(text);\n for (const result of results) {\n if(result.message == \"れ足す言葉の可能性があります\"){\n if(!(await engine.checkRetasu(tokenize, text.slice(result.range[0],result.range[1])))){\n continue;\n }\n }else if(result.message == \"助詞の連続\"){\n if(!(await engine.checkZyosi(tokenize, text.slice(result.range[0])))){\n continue;\n }\n }\n if (result.expected) {\n report(node, new RuleError(result.message, {\n index: result.index,\n fix: fixer.replaceTextRange(result.range, result.expected)\n }));\n } else {\n report(node, new RuleError(result.message, {\n index: result.index\n }));\n }\n }\n resolve();\n });\n }\n };\n};\n\nexport default {\n linter: reporter,\n fixer: reporter\n};"],"file":"textlint-rule-for-creation.js"}
|
package/package.json
CHANGED
@@ -0,0 +1,79 @@
|
|
1
|
+
module.exports = {
|
2
|
+
"jidousi_tadousi": [
|
3
|
+
"開け",
|
4
|
+
"あけ",
|
5
|
+
],
|
6
|
+
"zyosi": [
|
7
|
+
"こそは",
|
8
|
+
"こそを",
|
9
|
+
"からが",
|
10
|
+
"からは",
|
11
|
+
"をこそ",
|
12
|
+
"とやら",
|
13
|
+
"やらが",
|
14
|
+
"までも",
|
15
|
+
"までもが",
|
16
|
+
"ばかりか",
|
17
|
+
"ばかりが",
|
18
|
+
"ばかりは",
|
19
|
+
"ばかりを",
|
20
|
+
"ばっかりか",
|
21
|
+
"ばっかりが",
|
22
|
+
"ばっかりは",
|
23
|
+
"ばっかりを",
|
24
|
+
"などばかり",
|
25
|
+
"などばっかり",
|
26
|
+
"などが",
|
27
|
+
"なども",
|
28
|
+
"などは",
|
29
|
+
"などを",
|
30
|
+
"とかが",
|
31
|
+
"とかも",
|
32
|
+
"とかは",
|
33
|
+
"とかを",
|
34
|
+
"とかばかり",
|
35
|
+
"とかばっかり",
|
36
|
+
"にも",
|
37
|
+
"ばかりに",
|
38
|
+
"にだって",
|
39
|
+
"とかだって",
|
40
|
+
"などだって",
|
41
|
+
"にも",
|
42
|
+
"のかも",
|
43
|
+
"にかも",
|
44
|
+
"とが",
|
45
|
+
"とも",
|
46
|
+
"とは",
|
47
|
+
"さえも",
|
48
|
+
"にさえ",
|
49
|
+
"とさえ",
|
50
|
+
"すらも",
|
51
|
+
"にすら",
|
52
|
+
"とすら",
|
53
|
+
"だけが",
|
54
|
+
"だけを",
|
55
|
+
"ほども",
|
56
|
+
"ほどを",
|
57
|
+
"でも",
|
58
|
+
"てでも",
|
59
|
+
"たりも",
|
60
|
+
"たりが",
|
61
|
+
"たりは",
|
62
|
+
"たりさえ",
|
63
|
+
"たりすら",
|
64
|
+
"たりなど",
|
65
|
+
"ながらも",
|
66
|
+
"つつも",
|
67
|
+
"なりが",
|
68
|
+
"なりを",
|
69
|
+
"になんて",
|
70
|
+
"もなんて",
|
71
|
+
"ばかりなんて",
|
72
|
+
"ばっかりなんて",
|
73
|
+
"だけを",
|
74
|
+
"だけが",
|
75
|
+
"だけは",
|
76
|
+
"だけかも",
|
77
|
+
"だけかも",
|
78
|
+
]
|
79
|
+
};
|
@@ -0,0 +1,68 @@
|
|
1
|
+
module.exports = [
|
2
|
+
{
|
3
|
+
"message": "\"適用\"の誤用である可能性があります。適応 => 適用",
|
4
|
+
"expected": "を適用",
|
5
|
+
"tokens": [
|
6
|
+
{
|
7
|
+
"surface_form": "を",
|
8
|
+
"pos": "助詞",
|
9
|
+
"pos_detail_1": "格助詞",
|
10
|
+
"pos_detail_2": "一般",
|
11
|
+
"pos_detail_3": "*",
|
12
|
+
"conjugated_type": "*",
|
13
|
+
"conjugated_form": "*",
|
14
|
+
"basic_form": "を",
|
15
|
+
"reading": "ヲ",
|
16
|
+
"pronunciation": "ヲ"
|
17
|
+
},
|
18
|
+
{
|
19
|
+
"surface_form": "適応",
|
20
|
+
"pos": "名詞",
|
21
|
+
"pos_detail_1": "サ変接続",
|
22
|
+
"pos_detail_2": "*",
|
23
|
+
"pos_detail_3": "*",
|
24
|
+
"conjugated_type": "*",
|
25
|
+
"conjugated_form": "*",
|
26
|
+
"basic_form": "適応",
|
27
|
+
"reading": "テキオウ",
|
28
|
+
"pronunciation": "テキオー"
|
29
|
+
}
|
30
|
+
]
|
31
|
+
},
|
32
|
+
{
|
33
|
+
"message": "動詞の連用形+辛い(つらい)の場合は、「ずらい」ではなく「づらい」が適切です。",
|
34
|
+
"expected": "$1づらい",
|
35
|
+
"tokens": [
|
36
|
+
{
|
37
|
+
"pos": "動詞",
|
38
|
+
"pos_detail_1": "自立",
|
39
|
+
"conjugated_form": "連用形",
|
40
|
+
"_capture": "$1"
|
41
|
+
},
|
42
|
+
{
|
43
|
+
"surface_form": "ず",
|
44
|
+
},
|
45
|
+
{
|
46
|
+
"surface_form": "らい",
|
47
|
+
}
|
48
|
+
]
|
49
|
+
},
|
50
|
+
{
|
51
|
+
"message": "動詞の連用形+辛い(つらい)の場合は、「ずらい」ではなく「づらい」が適切です。",
|
52
|
+
"expected": "$1づらい",
|
53
|
+
"tokens": [
|
54
|
+
{
|
55
|
+
"pos": "動詞",
|
56
|
+
"pos_detail_1": "自立",
|
57
|
+
"conjugated_form": "連用形",
|
58
|
+
"_capture": "$1"
|
59
|
+
},
|
60
|
+
{
|
61
|
+
"surface_form": "ずら",
|
62
|
+
},
|
63
|
+
{
|
64
|
+
"surface_form": "い",
|
65
|
+
}
|
66
|
+
]
|
67
|
+
}
|
68
|
+
];
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module.exports = [
|
2
|
+
{
|
3
|
+
"message": "不要な「さ」が挿入されています。",
|
4
|
+
"expected": "$2$3",
|
5
|
+
"tokens": [
|
6
|
+
{
|
7
|
+
"conjugated_form": "ガル接続",
|
8
|
+
"basic_form": ["辛い", "美味しい", "寒い"],
|
9
|
+
"_capture": "$2"
|
10
|
+
},
|
11
|
+
{
|
12
|
+
"surface_form": "さ",
|
13
|
+
"_index": true
|
14
|
+
},
|
15
|
+
{
|
16
|
+
"basic_form": "そう",
|
17
|
+
"pos_detail_1": ["接尾", "助詞類接続"],
|
18
|
+
"_capture": "$3"
|
19
|
+
}
|
20
|
+
]
|
21
|
+
},
|
22
|
+
{
|
23
|
+
"message": "不要な「さ」が挿入されています。",
|
24
|
+
"expected": "$1$2$3",
|
25
|
+
"tokens": [
|
26
|
+
{
|
27
|
+
"pos": "動詞",
|
28
|
+
"_capture": "$1"
|
29
|
+
},
|
30
|
+
{
|
31
|
+
"surface_form": "た",
|
32
|
+
"pos": "助動詞",
|
33
|
+
"_capture": "$2"
|
34
|
+
},
|
35
|
+
{
|
36
|
+
"surface_form": "さ",
|
37
|
+
"_index": true
|
38
|
+
},
|
39
|
+
{
|
40
|
+
"basic_form": "そう",
|
41
|
+
"pos_detail_1": ["接尾", "助詞類接続"],
|
42
|
+
"_capture": "$3"
|
43
|
+
}
|
44
|
+
]
|
45
|
+
},
|
46
|
+
];
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module.exports = [
|
2
|
+
{
|
3
|
+
"message": "「さ」が抜けています。",
|
4
|
+
"expected": "$1さ$2",
|
5
|
+
"tokens": [
|
6
|
+
{
|
7
|
+
"basic_form": ["良い", "無", "無い"],
|
8
|
+
"_capture": "$1"
|
9
|
+
},
|
10
|
+
{
|
11
|
+
"surface_form": "そう",
|
12
|
+
"pos_detail_1": ["接尾", "助詞類接続"],
|
13
|
+
"_capture": "$2"
|
14
|
+
}
|
15
|
+
]
|
16
|
+
},
|
17
|
+
];
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module.exports = [
|
2
|
+
{
|
3
|
+
"message": "助詞の連続",
|
4
|
+
"tokens": [
|
5
|
+
{
|
6
|
+
"pos": "助詞",
|
7
|
+
},{
|
8
|
+
"pos": "助詞",
|
9
|
+
"pos_detail_2": ["一般", "*"]//引用や連語ならスルー
|
10
|
+
}
|
11
|
+
]
|
12
|
+
},
|
13
|
+
{
|
14
|
+
"message": '接続助詞と接続詞の連続',
|
15
|
+
"tokens": [
|
16
|
+
{
|
17
|
+
"pos": "助詞",
|
18
|
+
"pos_detail_1": "接続助詞",
|
19
|
+
},{
|
20
|
+
"pos": "接続詞",
|
21
|
+
}
|
22
|
+
]
|
23
|
+
},
|
24
|
+
{
|
25
|
+
"message": '接続助詞と助動詞の連続',
|
26
|
+
"tokens": [
|
27
|
+
{
|
28
|
+
"pos": "助詞",
|
29
|
+
"pos_detail_1": "接続助詞",
|
30
|
+
},{
|
31
|
+
"pos": "助動詞",
|
32
|
+
}
|
33
|
+
]
|
34
|
+
},
|
35
|
+
];
|
@@ -0,0 +1,39 @@
|
|
1
|
+
const arrow = require('./dict/arrow');
|
2
|
+
|
3
|
+
class EnhancedEngine {
|
4
|
+
|
5
|
+
constructor() {
|
6
|
+
}
|
7
|
+
|
8
|
+
async checkRetasu(tokenizer, text){
|
9
|
+
if(/れ$/.test(text)){
|
10
|
+
text += "る";
|
11
|
+
}
|
12
|
+
let tokens = await tokenizer(text);
|
13
|
+
let meirei = await tokenizer(tokens[0].surface_form + "。");
|
14
|
+
if(meirei[0].conjugated_form == "命令e" || /五段/.test(meirei[0].conjugated_type)){
|
15
|
+
// 「れる」を抜いても命令形で意味が通じるか、最初の文字が五段活用動詞になると多分れ足す言葉
|
16
|
+
if(!arrow.jidousi_tadousi.includes(meirei[0].surface_form)){
|
17
|
+
// 許可リストにもない
|
18
|
+
return true;
|
19
|
+
}
|
20
|
+
}
|
21
|
+
return false;
|
22
|
+
}
|
23
|
+
|
24
|
+
async checkZyosi(tokenizer, text){
|
25
|
+
let tokens = await tokenizer(text);
|
26
|
+
if(!/終助詞/.test(tokens[1].pos_detail_1)
|
27
|
+
&& !(tokens[0].surface_form == "のみ" && /格助詞/.test(tokens[1].pos_detail_1))
|
28
|
+
&& !/連体化/.test(tokens[1].pos_detail_1)
|
29
|
+
){
|
30
|
+
if(!arrow.zyosi.includes(tokens[0].surface_form + tokens[1].surface_form)){
|
31
|
+
return true;
|
32
|
+
}
|
33
|
+
}
|
34
|
+
return false;
|
35
|
+
}
|
36
|
+
|
37
|
+
}
|
38
|
+
|
39
|
+
export default new EnhancedEngine();
|
@@ -1,41 +1,57 @@
|
|
1
1
|
import { createTextlintMatcher } from "morpheme-match-textlint";
|
2
2
|
import { tokenize } from "kuromojin";
|
3
|
+
import EnhancedEngine from "./enhanced-engine";
|
3
4
|
|
4
5
|
const loadDictionaries = () => {
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
6
|
+
// unavoidable
|
7
|
+
let dict1 = require('./dict/zyosi');
|
8
|
+
let dict2 = require('./dict/gozidatuzi');
|
9
|
+
let dict3 = require('./dict/retasu');
|
10
|
+
let dict4 = require('./dict/sanuki');
|
11
|
+
let dict5 = require('./dict/saire');
|
12
|
+
return dict1.concat(dict2, dict3, dict4, dict5);
|
9
13
|
}
|
10
14
|
|
11
15
|
const reporter = (context) => {
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
16
|
+
const { Syntax, RuleError, fixer, report, getSource } = context;
|
17
|
+
const matchAll = createTextlintMatcher({
|
18
|
+
tokenize: tokenize,
|
19
|
+
dictionaries: loadDictionaries()
|
20
|
+
});
|
21
|
+
const engine = EnhancedEngine
|
22
|
+
return {
|
23
|
+
[Syntax.Str](node) {
|
24
|
+
return new Promise(async (resolve, reject) => {
|
25
|
+
const text = getSource(node);
|
26
|
+
let results = await matchAll(text);
|
27
|
+
for (const result of results) {
|
28
|
+
if(result.message == "れ足す言葉の可能性があります"){
|
29
|
+
if(!(await engine.checkRetasu(tokenize, text.slice(result.range[0],result.range[1])))){
|
30
|
+
continue;
|
31
|
+
}
|
32
|
+
}else if(result.message == "助詞の連続"){
|
33
|
+
if(!(await engine.checkZyosi(tokenize, text.slice(result.range[0])))){
|
34
|
+
continue;
|
35
|
+
}
|
36
|
+
}
|
37
|
+
if (result.expected) {
|
38
|
+
report(node, new RuleError(result.message, {
|
39
|
+
index: result.index,
|
40
|
+
fix: fixer.replaceTextRange(result.range, result.expected)
|
41
|
+
}));
|
42
|
+
} else {
|
43
|
+
report(node, new RuleError(result.message, {
|
44
|
+
index: result.index
|
45
|
+
}));
|
46
|
+
}
|
34
47
|
}
|
35
|
-
|
48
|
+
resolve();
|
49
|
+
});
|
50
|
+
}
|
51
|
+
};
|
36
52
|
};
|
37
53
|
|
38
54
|
export default {
|
39
|
-
|
40
|
-
|
55
|
+
linter: reporter,
|
56
|
+
fixer: reporter
|
41
57
|
};
|
package/src/dict/dict.js
DELETED
@@ -1,55 +0,0 @@
|
|
1
|
-
module.exports = [
|
2
|
-
{
|
3
|
-
message: `"することが可能$1"は冗長な表現です。"することが可能"を省き簡潔な表現にすると文章が明瞭になります。`,
|
4
|
-
tokens: [
|
5
|
-
{
|
6
|
-
"surface_form": "する",
|
7
|
-
"pos": "動詞",
|
8
|
-
"pos_detail_1": "自立",
|
9
|
-
"pos_detail_2": "*",
|
10
|
-
"pos_detail_3": "*",
|
11
|
-
"conjugated_type": "サ変・スル",
|
12
|
-
"conjugated_form": "基本形",
|
13
|
-
"basic_form": "する",
|
14
|
-
"reading": "スル",
|
15
|
-
"pronunciation": "スル"
|
16
|
-
}, {
|
17
|
-
"surface_form": "こと",
|
18
|
-
"pos": "名詞",
|
19
|
-
"pos_detail_1": "非自立",
|
20
|
-
"pos_detail_2": "一般",
|
21
|
-
"pos_detail_3": "*",
|
22
|
-
"conjugated_type": "*",
|
23
|
-
"conjugated_form": "*",
|
24
|
-
"basic_form": "こと",
|
25
|
-
"reading": "コト",
|
26
|
-
"pronunciation": "コト"
|
27
|
-
}, {
|
28
|
-
"surface_form": "が",
|
29
|
-
"pos": "助詞",
|
30
|
-
"pos_detail_1": "格助詞",
|
31
|
-
"pos_detail_2": "一般",
|
32
|
-
"pos_detail_3": "*",
|
33
|
-
"conjugated_type": "*",
|
34
|
-
"conjugated_form": "*",
|
35
|
-
"basic_form": "が",
|
36
|
-
"reading": "ガ",
|
37
|
-
"pronunciation": "ガ"
|
38
|
-
}, {
|
39
|
-
"surface_form": "可能",
|
40
|
-
"pos": "名詞",
|
41
|
-
"pos_detail_1": "形容動詞語幹",
|
42
|
-
"pos_detail_2": "*",
|
43
|
-
"pos_detail_3": "*",
|
44
|
-
"conjugated_type": "*",
|
45
|
-
"conjugated_form": "*",
|
46
|
-
"basic_form": "可能",
|
47
|
-
"reading": "カノウ",
|
48
|
-
"pronunciation": "カノー"
|
49
|
-
}, {
|
50
|
-
"pos": "助動詞",
|
51
|
-
"_capture": "$1"
|
52
|
-
}
|
53
|
-
]
|
54
|
-
},
|
55
|
-
];
|
package/src/dict/dict2.js
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
module.exports = [
|
2
|
-
{
|
3
|
-
"message": "\"適用\"の誤用である可能性があります。適応 => 適用",
|
4
|
-
"expected": "を適用",
|
5
|
-
"tokens": [
|
6
|
-
{
|
7
|
-
"surface_form": "を",
|
8
|
-
"pos": "助詞",
|
9
|
-
"pos_detail_1": "格助詞",
|
10
|
-
"pos_detail_2": "一般",
|
11
|
-
"pos_detail_3": "*",
|
12
|
-
"conjugated_type": "*",
|
13
|
-
"conjugated_form": "*",
|
14
|
-
"basic_form": "を",
|
15
|
-
"reading": "ヲ",
|
16
|
-
"pronunciation": "ヲ"
|
17
|
-
},
|
18
|
-
{
|
19
|
-
"surface_form": "適応",
|
20
|
-
"pos": "名詞",
|
21
|
-
"pos_detail_1": "サ変接続",
|
22
|
-
"pos_detail_2": "*",
|
23
|
-
"pos_detail_3": "*",
|
24
|
-
"conjugated_type": "*",
|
25
|
-
"conjugated_form": "*",
|
26
|
-
"basic_form": "適応",
|
27
|
-
"reading": "テキオウ",
|
28
|
-
"pronunciation": "テキオー"
|
29
|
-
}
|
30
|
-
]
|
31
|
-
},
|
32
|
-
];
|