Repository: Automattic/harper (2026-03-18T23:05:55Z)

Issue:
Flag mixing up "flaunt" and "flout"
**"Flaunt"** means to show off / be ostentatious. **"Flout"** means to openly ignore rules.

This doesn't seem to be common on GitHub but on the wider internet "flaunt" is a very common mistake where "flout" is obviously meant. (The reverse is nowhere near as common.)

- He **flaunted** US bankruptcy laws for personal gain.
- It's got a Kirk-esque captain who **flaunts** the rules in favour of 'getting her done' and who is fiercely loyal to his people.
- That's what deranged scientists **flaunting** the laws of God and Man are for
- While a lot of users have genuine trouble writing questions up in English, some seem to **flaunt** the basic rules of punctuation and grammar.


Discussion:

Patch:
diff --git a/harper-core/src/linting/phrase_set_corrections/mod.rs b/harper-core/src/linting/phrase_set_corrections/mod.rs
index d9727a1a63..a626300db1 100644
--- a/harper-core/src/linting/phrase_set_corrections/mod.rs
+++ b/harper-core/src/linting/phrase_set_corrections/mod.rs
@@ -232,6 +232,30 @@ pub fn lint_group() -> LintGroup {
             // ConfusedPair??
             LintKind::WordChoice
         ),
+        "FlauntForFlout" => (
+            &[
+                ("flaunt the rules", "flout the rules"),
+                ("flaunts the rules", "flouts the rules"),
+                ("flaunted the rules", "flouted the rules"),
+                ("flaunting the rules", "flouting the rules"),
+                ("flaunt the law", "flout the law"),
+                ("flaunts the law", "flouts the law"),
+                ("flaunted the law", "flouted the law"),
+                ("flaunting the law", "flouting the law"),
+                ("flaunt the regulations", "flout the regulations"),
+                ("flaunt authority", "flout authority"),
+                ("flaunts authority", "flouts authority"),
+                ("flaunted authority", "flouted authority"),
+                ("flaunting authority", "flouting authority"),
+                ("flaunt convention", "flout convention"),
+                ("flaunts convention", "flouts convention"),
+                ("flaunted convention", "flouted convention"),
+                ("flaunting convention", "flouting convention"),
+            ],
+            "`Flaunt` means to show off. Use `flout` when you mean to openly disregard rules or conventions.",
+            "Corrects `flaunt` to `flout` when used with rule-like nouns.",
+            LintKind::WordChoice
+        ),
         "FoamAtTheMouth" => (
             &[
                 ("foam out the mouth", "foam at the mouth"),


Test patch:
diff --git a/harper-core/src/linting/phrase_set_corrections/tests.rs b/harper-core/src/linting/phrase_set_corrections/tests.rs
index 9734ddfd09..acda03f672 100644
--- a/harper-core/src/linting/phrase_set_corrections/tests.rs
+++ b/harper-core/src/linting/phrase_set_corrections/tests.rs
@@ -644,6 +644,40 @@ fn correct_to_an_extend() {
     );
 }
 
+// FlauntForFlout
+
+#[test]
+fn corrects_flaunt_the_rules() {
+    assert_suggestion_result(
+        "Some users flaunt the rules of punctuation.",
+        lint_group(),
+        "Some users flout the rules of punctuation.",
+    );
+}
+
+#[test]
+fn corrects_flaunted_the_law() {
+    assert_suggestion_result(
+        "He flaunted the law for personal gain.",
+        lint_group(),
+        "He flouted the law for personal gain.",
+    );
+}
+
+#[test]
+fn corrects_flaunting_authority() {
+    assert_suggestion_result(
+        "She was flaunting authority at every turn.",
+        lint_group(),
+        "She was flouting authority at every turn.",
+    );
+}
+
+#[test]
+fn allows_flaunt_wealth() {
+    assert_no_lints("He likes to flaunt his wealth.", lint_group());
+}
+
 // FoamAtTheMouth
 
 #[test]