@@ -21,7 +21,11 @@ export class ItemGroup {
2121 usedItems ( usedItemSet : Set < SudachiSynonyms > , { allowAlphabet, allows } : { allowAlphabet : boolean , allows : string [ ] } ) : SudachiSynonyms [ ] {
2222 // sort by used
2323 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 <-> オペレーションシステム
2529 return false ;
2630 }
2731 if ( allows . includes ( item . midashi ) ) {
@@ -32,12 +36,29 @@ export class ItemGroup {
3236 }
3337}
3438
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+ } ;
3555export type IndexType = { keyItemGroupMap : Map < Midashi , ItemGroup [ ] > ; SudachiSynonymsItemGroup : Map < SudachiSynonyms , ItemGroup > ; } ;
3656let _ret : IndexType | null = null ;
3757export const createIndex = async ( ) : Promise < IndexType > => {
3858 if ( _ret ) {
3959 return Promise . resolve ( _ret ) ;
4060 }
61+ assertInstallationSudachiSynonymsDictionary ( ) ;
4162 const keyItemGroupMap : Map < Midashi , ItemGroup [ ] > = new Map ( ) ;
4263 const SudachiSynonymsItemGroup : Map < SudachiSynonyms , ItemGroup > = new Map ( ) ;
4364 const SynonymsDictionary = await fetchDictionary ( ) ;
0 commit comments