Lines Matching refs:slang
211 static void find_keepcap_word(slang_T *slang, char_u *fword, char_u *kword);
214 static int stp_sal_score(suggest_T *stp, suginfo_T *su, slang_T *slang, char_u *badsound);
219 static int soundfold_find(slang_T *slang, char_u *word);
220 static int similar_chars(slang_T *slang, int c1, int c2);
221 …, char_u *goodword, int badlen, int score, int altscore, int had_bonus, slang_T *slang, int maxsf);
228 static int spell_edit_score(slang_T *slang, char_u *badword, char_u *goodword);
229 static int spell_edit_score_limit(slang_T *slang, char_u *badword, char_u *goodword, int limit);
230 static int spell_edit_score_limit_w(slang_T *slang, char_u *badword, char_u *goodword, int limit);
240 slang_T *slang, in can_be_compound() argument
247 ? slang->sl_compstartflags : slang->sl_compallflags, flag)) in can_be_compound()
253 if (slang->sl_comprules != NULL && sp->ts_complen > sp->ts_compsplit) in can_be_compound()
259 v = match_compoundrule(slang, compflags + sp->ts_compsplit); in can_be_compound()
272 slang_T *slang, in score_wordcount_adj() argument
282 hi = hash_find(&slang->sl_wordcount, word); in score_wordcount_adj()
1272 slang_T *slang = lp->lp_slang; in suggest_trie_walk() local
1294 byts = fbyts = slang->sl_sbyts; in suggest_trie_walk()
1295 idxs = fidxs = slang->sl_sidxs; in suggest_trie_walk()
1305 fbyts = slang->sl_fbyts; in suggest_trie_walk()
1306 fidxs = slang->sl_fidxs; in suggest_trie_walk()
1307 pbyts = slang->sl_pbyts; in suggest_trie_walk()
1308 pidxs = slang->sl_pidxs; in suggest_trie_walk()
1430 tword + sp->ts_splitoff, slang, FALSE); in suggest_trie_walk()
1458 if (slang->sl_nobreak) in suggest_trie_walk()
1471 newscore = score_wordcount_adj(slang, sp->ts_score, in suggest_trie_walk()
1491 < slang->sl_compminlen) in suggest_trie_walk()
1496 && slang->sl_compminlen > 0 in suggest_trie_walk()
1498 < slang->sl_compminlen) in suggest_trie_walk()
1509 &slang->sl_comppat)) in suggest_trie_walk()
1517 if (fword_ends && !can_compound(slang, p, in suggest_trie_walk()
1537 find_keepcap_word(slang, tword + sp->ts_splitoff, in suggest_trie_walk()
1571 if (slang->sl_compprog == NULL) in suggest_trie_walk()
1631 score = score_wordcount_adj(slang, in suggest_trie_walk()
1694 && !slang->sl_nocompoundsugs in suggest_trie_walk()
1695 && slang->sl_compprog != NULL in suggest_trie_walk()
1698 >= slang->sl_compminlen in suggest_trie_walk()
1700 || slang->sl_compminlen == 0 in suggest_trie_walk()
1702 >= slang->sl_compminlen) in suggest_trie_walk()
1703 && (slang->sl_compsylmax < MAXWLEN in suggest_trie_walk()
1705 < slang->sl_compmax) in suggest_trie_walk()
1706 && (can_be_compound(sp, slang, in suggest_trie_walk()
1717 if (slang->sl_nobreak && !slang->sl_nocompoundsugs) in suggest_trie_walk()
1750 && !can_compound(slang, p, in suggest_trie_walk()
1754 if (slang->sl_nosplitsugs) in suggest_trie_walk()
1760 newscore = score_wordcount_adj(slang, newscore, in suggest_trie_walk()
1978 && slang->sl_has_map in suggest_trie_walk()
1979 && similar_chars(slang, in suggest_trie_walk()
2024 && slang->sl_has_map in suggest_trie_walk()
2025 && similar_chars(slang, in suggest_trie_walk()
2544 sp->ts_curi = slang->sl_repsal_first[fword[sp->ts_fidx]]; in suggest_trie_walk()
2566 gap = &slang->sl_repsal; in suggest_trie_walk()
2619 gap = &slang->sl_repsal; in suggest_trie_walk()
2678 find_keepcap_word(slang_T *slang, char_u *fword, char_u *kword) in find_keepcap_word() argument
2697 char_u *byts = slang->sl_kbyts; // array with bytes of the words in find_keepcap_word()
2698 idx_T *idxs = slang->sl_kidxs; // array with indexes in find_keepcap_word()
2892 slang_T *slang = NULL; in score_combine() local
2901 slang = lp->lp_slang; in score_combine()
2902 spell_soundfold(slang, su->su_fbadword, TRUE, badsound); in score_combine()
2907 stp->st_altscore = stp_sal_score(stp, su, slang, badsound); in score_combine()
2919 if (slang == NULL) // Using "double" without sound folding. in score_combine()
2930 stp->st_altscore = spell_edit_score(slang, in score_combine()
2995 slang_T *slang, in stp_sal_score() argument
3025 spell_soundfold(slang, fword, TRUE, badsound2); in stp_sal_score()
3042 spell_soundfold(slang, pgood, FALSE, goodsound); in stp_sal_score()
3067 slang_T *slang; in suggest_try_soundalike_prep() local
3074 slang = lp->lp_slang; in suggest_try_soundalike_prep()
3075 if (slang->sl_sal.ga_len > 0 && slang->sl_sbyts != NULL) in suggest_try_soundalike_prep()
3077 hash_init(&slang->sl_sounddone); in suggest_try_soundalike_prep()
3091 slang_T *slang; in suggest_try_soundalike() local
3098 slang = lp->lp_slang; in suggest_try_soundalike()
3099 if (slang->sl_sal.ga_len > 0 && slang->sl_sbyts != NULL) in suggest_try_soundalike()
3102 spell_soundfold(slang, su->su_fbadword, TRUE, salword); in suggest_try_soundalike()
3126 slang_T *slang; in suggest_try_soundalike_finish() local
3135 slang = lp->lp_slang; in suggest_try_soundalike_finish()
3136 if (slang->sl_sal.ga_len > 0 && slang->sl_sbyts != NULL) in suggest_try_soundalike_finish()
3139 todo = (int)slang->sl_sounddone.ht_used; in suggest_try_soundalike_finish()
3140 for (hi = slang->sl_sounddone.ht_array; todo > 0; ++hi) in suggest_try_soundalike_finish()
3148 hash_clear(&slang->sl_sounddone); in suggest_try_soundalike_finish()
3149 hash_init(&slang->sl_sounddone); in suggest_try_soundalike_finish()
3165 slang_T *slang = lp->lp_slang; // language for sound folding in add_sound_suggest() local
3189 hi = hash_lookup(&slang->sl_sounddone, goodword, hash); in add_sound_suggest()
3197 hash_add_item(&slang->sl_sounddone, hi, sft->sft_word, hash); in add_sound_suggest()
3209 sfwordnr = soundfold_find(slang, goodword); in add_sound_suggest()
3217 nrline = ml_get_buf(slang->sl_sugbuf, (linenr_T)(sfwordnr + 1), FALSE); in add_sound_suggest()
3225 byts = slang->sl_fbyts; in add_sound_suggest()
3226 idxs = slang->sl_fidxs; in add_sound_suggest()
3278 find_keepcap_word(slang, theword, cword); in add_sound_suggest()
3300 score, 0, FALSE, slang, FALSE); in add_sound_suggest()
3333 goodscore += spell_edit_score(slang, su->su_badword, p); in add_sound_suggest()
3335 goodscore += spell_edit_score_limit(slang, su->su_badword, in add_sound_suggest()
3342 goodscore = score_wordcount_adj(slang, goodscore, p, FALSE); in add_sound_suggest()
3348 goodscore, score, TRUE, slang, TRUE); in add_sound_suggest()
3360 soundfold_find(slang_T *slang, char_u *word) in soundfold_find() argument
3371 byts = slang->sl_sbyts; in soundfold_find()
3372 idxs = slang->sl_sidxs; in soundfold_find()
3435 similar_chars(slang_T *slang, int c1, int c2) in similar_chars() argument
3444 hi = hash_find(&slang->sl_map_hash, buf); in similar_chars()
3451 m1 = slang->sl_map_array[c1]; in similar_chars()
3459 hi = hash_find(&slang->sl_map_hash, buf); in similar_chars()
3466 m2 = slang->sl_map_array[c2]; in similar_chars()
3484 slang_T *slang, // language for sound folding in add_suggestion() argument
3536 stp->st_slang = slang; in add_suggestion()
3584 stp->st_slang = slang; in add_suggestion()
3684 slang_T *slang = stp->st_slang; in rescore_one() local
3690 if (slang != NULL && slang->sl_sal.ga_len > 0 && !stp->st_had_bonus) in rescore_one()
3692 if (slang == su->su_sallang) in rescore_one()
3696 spell_soundfold(slang, su->su_fbadword, TRUE, sal_badword); in rescore_one()
3700 stp->st_altscore = stp_sal_score(stp, su, slang, p); in rescore_one()
4002 slang_T *slang, in spell_edit_score() argument
4068 if (slang != NULL in spell_edit_score()
4069 && slang->sl_has_map in spell_edit_score()
4070 && similar_chars(slang, gc, bc)) in spell_edit_score()
4127 slang_T *slang, in spell_edit_score_limit() argument
4145 return spell_edit_score_limit_w(slang, badword, goodword, limit); in spell_edit_score_limit()
4260 if (slang != NULL in spell_edit_score_limit()
4261 && slang->sl_has_map in spell_edit_score_limit()
4262 && similar_chars(slang, gc, bc)) in spell_edit_score_limit()
4302 slang_T *slang, in spell_edit_score_limit_w() argument
4445 if (slang != NULL in spell_edit_score_limit_w()
4446 && slang->sl_has_map in spell_edit_score_limit_w()
4447 && similar_chars(slang, gc, bc)) in spell_edit_score_limit_w()