mirror of
https://github.com/storytold/wordcraft.git
synced 2026-10-24 10:27:44 -06:00
* #1694: -ically adverbs are no longer flagged as misspelled English spelling accepts "-ally" adverbs built on an "-ic" adjective in the word list (specific → specifically, scientific → scientifically), as Word does. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * #1694: only -ic adjectives take -ally Review (FredApps): the "-ally" → stem rule applied to every known word, so "desktopally" was accepted. The rule is now "-ically" → "-ic" (specifically → specific); other words don't take "-ally". Test: non_ic_words_do_not_take_ally (desktop, house, final, green). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P8veLveuUsJJm6UEcQPEuW --------- Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: Brandon Thomas <echelon@gmail.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
Brandon Thomas
parent
7f4b649f6f
commit
d4a3292834
+24
-1
@@ -315,7 +315,7 @@ fn known_core(w: &str) -> bool {
|
||||
return true;
|
||||
}
|
||||
// Inflections.
|
||||
let stems: [(&str, &[&str]); 12] = [
|
||||
let stems: [(&str, &[&str]); 13] = [
|
||||
("'s", &[""]),
|
||||
("s", &[""]),
|
||||
("es", &["", "e"]),
|
||||
@@ -325,6 +325,8 @@ fn known_core(w: &str) -> bool {
|
||||
("ing", &["", "e"]),
|
||||
("ly", &["", "le"]),
|
||||
("ily", &["y"]),
|
||||
// specifically → specific (#1694): only -ic adjectives, so "desktopally" stays wrong.
|
||||
("ically", &["ic"]),
|
||||
("er", &["", "e"]),
|
||||
("est", &["", "e"]),
|
||||
("ness", &[""]),
|
||||
@@ -924,6 +926,27 @@ mod tests {
|
||||
assert!(suggest("Wrold", 3).contains(&"World".to_string()));
|
||||
}
|
||||
|
||||
/// #1694: `-ically` adverbs come from their `-ic` adjective (specific → specifically).
|
||||
#[test]
|
||||
fn ically_adverbs_are_known() {
|
||||
for w in ["specifically", "scientifically", "automatically", "dramatically", "Specifically"] {
|
||||
assert!(is_correct(w), "{w}");
|
||||
}
|
||||
for w in ["specificaly", "specifcally", "zzzically"] {
|
||||
assert!(!is_correct(w), "{w}");
|
||||
}
|
||||
}
|
||||
|
||||
/// #1694 review: only `-ic` adjectives take `-ally`; other known words (dictionary or
|
||||
/// supplement) don't.
|
||||
#[test]
|
||||
fn non_ic_words_do_not_take_ally() {
|
||||
for (base, wrong) in [("desktop", "desktopally"), ("house", "houseally"), ("final", "finalally"), ("green", "greenally")] {
|
||||
assert!(is_correct(base), "{base}");
|
||||
assert!(!is_correct(wrong), "{wrong}");
|
||||
}
|
||||
}
|
||||
|
||||
/// #520: common modern words (and their inflections) are known; misspellings still flagged.
|
||||
#[test]
|
||||
fn common_modern_words() {
|
||||
|
||||
Reference in New Issue
Block a user