@@ -21,7 +21,11 @@ export class ItemGroup {
21
21
usedItems ( usedItemSet : Set < SudachiSynonyms > , { allowAlphabet, allows } : { allowAlphabet : boolean , allows : string [ ] } ) : SudachiSynonyms [ ] {
22
22
// sort by used
23
23
return Array . from ( usedItemSet . values ( ) ) . filter ( item => {
24
- if ( allowAlphabet && item . hyoukiYure === "アルファベット表記" ) {
24
+ if ( allowAlphabet && ( item . hyoukiYure === "アルファベット表記" || item . ryakusyou === "略語・略称/アルファベット" ) ) {
25
+ // アルファベット表記
26
+ // blog <-> ブログ
27
+ // 略語・略称/アルファベット
28
+ // OS <-> オペレーションシステム
25
29
return false ;
26
30
}
27
31
if ( allows . includes ( item . midashi ) ) {
@@ -32,12 +36,29 @@ export class ItemGroup {
32
36
}
33
37
}
34
38
39
+ /**
40
+ * インストールのチェック
41
+ */
42
+ const assertInstallationSudachiSynonymsDictionary = ( ) => {
43
+ try {
44
+ require ( "sudachi-synonyms-dictionary" ) ;
45
+ } catch ( error ) {
46
+ throw new Error ( `sudachi-synonyms-dictionaryがインストールされていません。
47
+ ルールとは別にsudachi-synonyms-dictionaryをインストールしてください。
48
+
49
+ $ npm install sudachi-synonyms-dictionary
50
+
51
+
52
+ ` )
53
+ }
54
+ } ;
35
55
export type IndexType = { keyItemGroupMap : Map < Midashi , ItemGroup [ ] > ; SudachiSynonymsItemGroup : Map < SudachiSynonyms , ItemGroup > ; } ;
36
56
let _ret : IndexType | null = null ;
37
57
export const createIndex = async ( ) : Promise < IndexType > => {
38
58
if ( _ret ) {
39
59
return Promise . resolve ( _ret ) ;
40
60
}
61
+ assertInstallationSudachiSynonymsDictionary ( ) ;
41
62
const keyItemGroupMap : Map < Midashi , ItemGroup [ ] > = new Map ( ) ;
42
63
const SudachiSynonymsItemGroup : Map < SudachiSynonyms , ItemGroup > = new Map ( ) ;
43
64
const SynonymsDictionary = await fetchDictionary ( ) ;
0 commit comments