diff --git a/Cargo.lock b/Cargo.lock index 2f13e09a..dee37239 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2658,7 +2658,7 @@ dependencies = [ [[package]] name = "harper-brill" -version = "0.72.0" +version = "0.73.0" dependencies = [ "harper-pos-utils", "lazy_static", @@ -2691,7 +2691,7 @@ dependencies = [ [[package]] name = "harper-comments" -version = "0.72.0" +version = "0.73.0" dependencies = [ "harper-core", "harper-html", @@ -2725,7 +2725,7 @@ dependencies = [ [[package]] name = "harper-core" -version = "0.72.0" +version = "0.73.0" dependencies = [ "ammonia", "bitflags 2.10.0", @@ -2763,7 +2763,7 @@ dependencies = [ [[package]] name = "harper-html" -version = "0.72.0" +version = "0.73.0" dependencies = [ "harper-core", "harper-tree-sitter", @@ -2774,7 +2774,7 @@ dependencies = [ [[package]] name = "harper-ink" -version = "0.72.0" +version = "0.73.0" dependencies = [ "harper-core", "harper-tree-sitter", @@ -2785,7 +2785,7 @@ dependencies = [ [[package]] name = "harper-jjdescription" -version = "0.72.0" +version = "0.73.0" dependencies = [ "harper-core", "harper-tree-sitter", @@ -2796,7 +2796,7 @@ dependencies = [ [[package]] name = "harper-literate-haskell" -version = "0.72.0" +version = "0.73.0" dependencies = [ "harper-comments", "harper-core", @@ -2807,7 +2807,7 @@ dependencies = [ [[package]] name = "harper-ls" -version = "0.72.0" +version = "0.73.0" dependencies = [ "anyhow", "clap", @@ -2838,7 +2838,7 @@ dependencies = [ [[package]] name = "harper-pos-utils" -version = "0.72.0" +version = "0.73.0" dependencies = [ "burn", "burn-ndarray", @@ -2856,7 +2856,7 @@ dependencies = [ [[package]] name = "harper-python" -version = "0.72.0" +version = "0.73.0" dependencies = [ "harper-core", "harper-tree-sitter", @@ -2867,7 +2867,7 @@ dependencies = [ [[package]] name = "harper-stats" -version = "0.72.0" +version = "0.73.0" dependencies = [ "chrono", "harper-core", @@ -2878,7 +2878,7 @@ dependencies = [ [[package]] name = "harper-tree-sitter" -version = "0.72.0" +version = "0.73.0" dependencies = [ "harper-core", "tree-sitter", @@ -2897,7 +2897,7 @@ dependencies = [ [[package]] name = "harper-typst" -version = "0.72.0" +version = "0.73.0" dependencies = [ "harper-core", "itertools 0.14.0", diff --git a/harper-brill/Cargo.toml b/harper-brill/Cargo.toml index 8fa4600c..e767993a 100644 --- a/harper-brill/Cargo.toml +++ b/harper-brill/Cargo.toml @@ -1,13 +1,13 @@ [package] name = "harper-brill" -version = "0.72.0" +version = "0.73.0" edition = "2024" description = "The language checker for developers." license = "Apache-2.0" repository = "https://github.com/automattic/harper" [dependencies] -harper-pos-utils = { path = "../harper-pos-utils/", version = "0.72.0" } +harper-pos-utils = { path = "../harper-pos-utils/", version = "0.73.0" } lazy_static = "1.5.0" serde_json = "1.0.145" diff --git a/harper-cli/Cargo.toml b/harper-cli/Cargo.toml index 3d4b9db0..4057c802 100644 --- a/harper-cli/Cargo.toml +++ b/harper-cli/Cargo.toml @@ -9,20 +9,20 @@ repository = "https://github.com/automattic/harper" anyhow = "1.0.100" ariadne = "0.4.1" clap = { version = "4.5.51", features = ["derive", "std", "string"], default-features = false } -harper-stats = { path = "../harper-stats", version = "0.72.0" } +harper-stats = { path = "../harper-stats", version = "0.73.0" } dirs = "6.0.0" -harper-literate-haskell = { path = "../harper-literate-haskell", version = "0.72.0" } -harper-python = { path = "../harper-python", version = "0.72.0" } -harper-core = { path = "../harper-core", version = "0.72.0" } -harper-pos-utils = { path = "../harper-pos-utils", version = "0.72.0", features = [] } -harper-comments = { path = "../harper-comments", version = "0.72.0" } -harper-typst = { path = "../harper-typst", version = "0.72.0" } +harper-literate-haskell = { path = "../harper-literate-haskell", version = "0.73.0" } +harper-python = { path = "../harper-python", version = "0.73.0" } +harper-core = { path = "../harper-core", version = "0.73.0" } +harper-pos-utils = { path = "../harper-pos-utils", version = "0.73.0", features = [] } +harper-comments = { path = "../harper-comments", version = "0.73.0" } +harper-typst = { path = "../harper-typst", version = "0.73.0" } hashbrown = "0.16.0" serde = { version = "1.0.228", features = ["derive"] } serde_json = "1.0.145" strum = "0.27.2" strum_macros = "0.27.2" -harper-ink = { version = "0.72.0", path = "../harper-ink" } +harper-ink = { version = "0.73.0", path = "../harper-ink" } either = "1.15.0" [features] diff --git a/harper-comments/Cargo.toml b/harper-comments/Cargo.toml index 26687b73..a23c2500 100644 --- a/harper-comments/Cargo.toml +++ b/harper-comments/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "harper-comments" -version = "0.72.0" +version = "0.73.0" edition = "2024" description = "The language checker for developers." license = "Apache-2.0" @@ -8,9 +8,9 @@ readme = "README.md" repository = "https://github.com/automattic/harper" [dependencies] -harper-core = { path = "../harper-core", version = "0.72.0" } -harper-html = { path = "../harper-html", version = "0.72.0" } -harper-tree-sitter = { path = "../harper-tree-sitter", version = "0.72.0" } +harper-core = { path = "../harper-core", version = "0.73.0" } +harper-html = { path = "../harper-html", version = "0.73.0" } +harper-tree-sitter = { path = "../harper-tree-sitter", version = "0.73.0" } itertools = "0.14.0" tree-sitter = "0.25.10" tree-sitter-bash = "0.25.0" diff --git a/harper-core/Cargo.toml b/harper-core/Cargo.toml index 35efe143..c32660f0 100644 --- a/harper-core/Cargo.toml +++ b/harper-core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "harper-core" -version = "0.72.0" +version = "0.73.0" edition = "2024" description = "The language checker for developers." license = "Apache-2.0" @@ -31,7 +31,7 @@ foldhash = "0.2.0" strum_macros = "0.27.2" strum = "0.27.2" ammonia = "4.1.2" -harper-brill = { path = "../harper-brill", version = "0.72.0" } +harper-brill = { path = "../harper-brill", version = "0.73.0" } bitflags = { version = "2.10.0", features = ["serde"] } trie-rs = "0.4.2" diff --git a/harper-html/Cargo.toml b/harper-html/Cargo.toml index 1332370e..f549b77a 100644 --- a/harper-html/Cargo.toml +++ b/harper-html/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "harper-html" -version = "0.72.0" +version = "0.73.0" edition = "2024" description = "The language checker for developers." license = "Apache-2.0" repository = "https://github.com/automattic/harper" [dependencies] -harper-core = { path = "../harper-core", version = "0.72.0" } -harper-tree-sitter = { path = "../harper-tree-sitter", version = "0.72.0" } +harper-core = { path = "../harper-core", version = "0.73.0" } +harper-tree-sitter = { path = "../harper-tree-sitter", version = "0.73.0" } tree-sitter-html = "0.23.2" tree-sitter = "0.25.10" diff --git a/harper-ink/Cargo.toml b/harper-ink/Cargo.toml index 3b70817c..9395259f 100644 --- a/harper-ink/Cargo.toml +++ b/harper-ink/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "harper-ink" -version = "0.72.0" +version = "0.73.0" edition = "2024" description = "The language checker for developers." license = "Apache-2.0" repository = "https://github.com/automattic/harper" [dependencies] -harper-core = { path = "../harper-core", version = "0.72.0" } -harper-tree-sitter = { path = "../harper-tree-sitter", version = "0.72.0" } +harper-core = { path = "../harper-core", version = "0.73.0" } +harper-tree-sitter = { path = "../harper-tree-sitter", version = "0.73.0" } tree-sitter-ink-lbz = "0.0.1" tree-sitter = "0.25.10" diff --git a/harper-jjdescription/Cargo.toml b/harper-jjdescription/Cargo.toml index 703fb637..b0eb6edf 100644 --- a/harper-jjdescription/Cargo.toml +++ b/harper-jjdescription/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "harper-jjdescription" -version = "0.72.0" +version = "0.73.0" edition = "2024" description = "The language checker for developers." license = "Apache-2.0" repository = "https://github.com/automattic/harper" [dependencies] -harper-core = { path = "../harper-core", version = "0.72.0" } -harper-tree-sitter = { path = "../harper-tree-sitter", version = "0.72.0" } +harper-core = { path = "../harper-core", version = "0.73.0" } +harper-tree-sitter = { path = "../harper-tree-sitter", version = "0.73.0" } tree-sitter-jjdescription = "0.0.1" tree-sitter = "0.25.10" diff --git a/harper-literate-haskell/Cargo.toml b/harper-literate-haskell/Cargo.toml index b929ba6a..2578853b 100644 --- a/harper-literate-haskell/Cargo.toml +++ b/harper-literate-haskell/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "harper-literate-haskell" -version = "0.72.0" +version = "0.73.0" edition = "2024" description = "The language checker for developers." license = "Apache-2.0" repository = "https://github.com/automattic/harper" [dependencies] -harper-core = { path = "../harper-core", version = "0.72.0" } -harper-tree-sitter = { path = "../harper-tree-sitter", version = "0.72.0" } -harper-comments = { path = "../harper-comments", version = "0.72.0" } +harper-core = { path = "../harper-core", version = "0.73.0" } +harper-tree-sitter = { path = "../harper-tree-sitter", version = "0.73.0" } +harper-comments = { path = "../harper-comments", version = "0.73.0" } itertools = "0.14.0" paste = "1.0.14" diff --git a/harper-ls/Cargo.toml b/harper-ls/Cargo.toml index 8c949a06..92824fa9 100644 --- a/harper-ls/Cargo.toml +++ b/harper-ls/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "harper-ls" -version = "0.72.0" +version = "0.73.0" edition = "2024" description = "The language checker for developers." license = "Apache-2.0" @@ -8,14 +8,14 @@ readme = "README.md" repository = "https://github.com/automattic/harper" [dependencies] -harper-stats = { path = "../harper-stats", version = "0.72.0" } -harper-literate-haskell = { path = "../harper-literate-haskell", version = "0.72.0" } -harper-core = { path = "../harper-core", version = "0.72.0", features = ["concurrent"] } -harper-comments = { path = "../harper-comments", version = "0.72.0" } -harper-jjdescription = { path = "../harper-jjdescription", version = "0.72.0" } -harper-typst = { path = "../harper-typst", version = "0.72.0" } -harper-html = { path = "../harper-html", version = "0.72.0" } -harper-python = { path = "../harper-python", version = "0.72.0" } +harper-stats = { path = "../harper-stats", version = "0.73.0" } +harper-literate-haskell = { path = "../harper-literate-haskell", version = "0.73.0" } +harper-core = { path = "../harper-core", version = "0.73.0", features = ["concurrent"] } +harper-comments = { path = "../harper-comments", version = "0.73.0" } +harper-jjdescription = { path = "../harper-jjdescription", version = "0.73.0" } +harper-typst = { path = "../harper-typst", version = "0.73.0" } +harper-html = { path = "../harper-html", version = "0.73.0" } +harper-python = { path = "../harper-python", version = "0.73.0" } tower-lsp-server = "0.22.1" tokio = { version = "1.48.0", default-features = false, features = ["fs", "io-std", "io-util", "macros", "net", "rt-multi-thread", "sync"] } clap = { version = "4.5.51", default-features = false, features = ["derive", "std"] } @@ -32,7 +32,7 @@ futures = "0.3.31" serde = { version = "1.0.228", features = ["derive"] } indexmap = { version = "2.12.0", features = ["serde"] } globset = "0.4.18" -harper-ink = { version = "0.72.0", path = "../harper-ink" } +harper-ink = { version = "0.73.0", path = "../harper-ink" } [features] default = [] diff --git a/harper-pos-utils/Cargo.toml b/harper-pos-utils/Cargo.toml index 394492b9..5b31c8fc 100644 --- a/harper-pos-utils/Cargo.toml +++ b/harper-pos-utils/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "harper-pos-utils" -version = "0.72.0" +version = "0.73.0" edition = "2024" description = "The language checker for developers." license = "Apache-2.0" diff --git a/harper-python/Cargo.toml b/harper-python/Cargo.toml index 35ea7019..23470bf8 100644 --- a/harper-python/Cargo.toml +++ b/harper-python/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "harper-python" -version = "0.72.0" +version = "0.73.0" edition = "2024" description = "The language checker for developers." license = "Apache-2.0" repository = "https://github.com/automattic/harper" [dependencies] -harper-core = { path = "../harper-core", version = "0.72.0" } -harper-tree-sitter = { path = "../harper-tree-sitter", version = "0.72.0" } +harper-core = { path = "../harper-core", version = "0.73.0" } +harper-tree-sitter = { path = "../harper-tree-sitter", version = "0.73.0" } tree-sitter-python = "0.25.0" tree-sitter = "0.25.10" diff --git a/harper-stats/Cargo.toml b/harper-stats/Cargo.toml index 16fc86b1..117efd65 100644 --- a/harper-stats/Cargo.toml +++ b/harper-stats/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "harper-stats" -version = "0.72.0" +version = "0.73.0" edition = "2021" description = "The language checker for developers." license = "Apache-2.0" @@ -9,7 +9,7 @@ repository = "https://github.com/automattic/harper" [dependencies] serde = { version = "1.0.228", features = ["derive"] } -harper-core = { path = "../harper-core", version = "0.72.0", features = ["concurrent"] } +harper-core = { path = "../harper-core", version = "0.73.0", features = ["concurrent"] } uuid = { version = "1.18.1", features = ["serde", "v4"] } serde_json = "1.0.145" chrono = "0.4.42" diff --git a/harper-tree-sitter/Cargo.toml b/harper-tree-sitter/Cargo.toml index e6b47f64..a344f948 100644 --- a/harper-tree-sitter/Cargo.toml +++ b/harper-tree-sitter/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "harper-tree-sitter" -version = "0.72.0" +version = "0.73.0" edition = "2024" description = "The language checker for developers." license = "Apache-2.0" repository = "https://github.com/automattic/harper" [dependencies] -harper-core = { path = "../harper-core", version = "0.72.0" } +harper-core = { path = "../harper-core", version = "0.73.0" } tree-sitter = "0.25.10" diff --git a/harper-typst/Cargo.toml b/harper-typst/Cargo.toml index 69583a3e..c4c418ec 100644 --- a/harper-typst/Cargo.toml +++ b/harper-typst/Cargo.toml @@ -1,13 +1,13 @@ [package] name = "harper-typst" -version = "0.72.0" +version = "0.73.0" edition = "2024" description = "The language checker for developers." license = "Apache-2.0" repository = "https://github.com/automattic/harper" [dependencies] -harper-core = { path = "../harper-core", version = "0.72.0" } +harper-core = { path = "../harper-core", version = "0.73.0" } typst-syntax = { version = "0.13.1" } ordered-float = { version = "5.1.0", features = ["serde"] } itertools = "0.14.0" diff --git a/harper-wasm/Cargo.toml b/harper-wasm/Cargo.toml index beb8b146..35db429f 100644 --- a/harper-wasm/Cargo.toml +++ b/harper-wasm/Cargo.toml @@ -13,10 +13,10 @@ console_error_panic_hook = "0.1.7" tracing = "0.1.41" tracing-wasm = "0.2.1" wasm-bindgen = "0.2.97" -harper-core = { path = "../harper-core", version = "0.72.0", features = ["concurrent"] } +harper-core = { path = "../harper-core", version = "0.73.0", features = ["concurrent"] } once_cell = "1.21.3" serde-wasm-bindgen = "0.6.5" serde_json = "1.0.145" serde = { version = "1.0.228", features = ["derive"] } getrandom = { version = "0.3.4", default-features = false, features = ["wasm_js"] } -harper-stats = { path = "../harper-stats", version = "0.72.0", features = ["js"] } +harper-stats = { path = "../harper-stats", version = "0.73.0", features = ["js"] } diff --git a/packages/chrome-plugin/package.json b/packages/chrome-plugin/package.json index 4d9562d1..1c92ccda 100644 --- a/packages/chrome-plugin/package.json +++ b/packages/chrome-plugin/package.json @@ -1,7 +1,7 @@ { "name": "chrome-plugin", "displayName": "chrome-plugin", - "version": "0.72.0", + "version": "0.73.0", "author": "no one", "description": "The private grammar checker for 21st Century English", "type": "module", diff --git a/packages/harper.js/package.json b/packages/harper.js/package.json index 2974ed77..a8039994 100644 --- a/packages/harper.js/package.json +++ b/packages/harper.js/package.json @@ -1,6 +1,6 @@ { "name": "harper.js", - "version": "0.72.0", + "version": "0.73.0", "license": "Apache-2.0", "author": "Elijah Potter", "description": "The grammar checker that respects your privacy.", diff --git a/packages/obsidian-plugin/package.json b/packages/obsidian-plugin/package.json index 50be2e7b..07edb599 100644 --- a/packages/obsidian-plugin/package.json +++ b/packages/obsidian-plugin/package.json @@ -1,7 +1,7 @@ { "name": "obsidian-plugin", "private": true, - "version": "0.72.0", + "version": "0.73.0", "main": "main.js", "devDependencies": { "@playwright/test": "^1.52.0", diff --git a/packages/vscode-plugin/package.json b/packages/vscode-plugin/package.json index 15445298..2496203e 100644 --- a/packages/vscode-plugin/package.json +++ b/packages/vscode-plugin/package.json @@ -2,7 +2,7 @@ "name": "harper", "displayName": "Harper - Grammar / Spell Checking", "description": "The grammar checker for developers", - "version": "0.72.0", + "version": "0.73.0", "private": true, "author": "Elijah Potter", "publisher": "elijah-potter", @@ -261,7 +261,7 @@ "scope": "resource", "type": "boolean", "default": true, - "description": "When referring to the various products of amazon.com, make sure to treat them as a proper noun." + "description": "When referring to the various products of Amazon.com, make sure to treat them as a proper noun." }, "harper.linters.Americas": { "scope": "resource", @@ -297,7 +297,7 @@ "scope": "resource", "type": "boolean", "default": true, - "description": "Fixes the typo in `and the like`." + "description": "Corrects mistakes in `and the like` and `or the like`." }, "harper.linters.AnotherAn": { "scope": "resource", @@ -977,6 +977,12 @@ "default": true, "description": "Fixes the misinterpretation of `expatriate`, ensuring the correct term is used for individuals residing abroad." }, + "harper.linters.ExplainLikeImFive": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Expands an initialism." + }, "harper.linters.ExplanationMark": { "scope": "resource", "type": "boolean", @@ -1079,6 +1085,12 @@ "default": true, "description": "Corrects the archaic or mistaken `fro` to `for` when followed by a noun." }, + "harper.linters.ForWhatItsWorth": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Expands an initialism." + }, "harper.linters.ForYourInformation": { "scope": "resource", "type": "boolean", @@ -1133,6 +1145,12 @@ "default": true, "description": "If referring to the period of economic prosperity, the correct term is `Gilded Age`." }, + "harper.linters.GoSoFarAsTo": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Flags 'go so far to' when it should be 'go so far as to' to express going beyond expectations" + }, "harper.linters.GoingTo": { "scope": "resource", "type": "boolean", @@ -1217,6 +1235,12 @@ "default": true, "description": "When referring to holidays, make sure to treat them as a proper noun." }, + "harper.linters.HolyWar": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Corrects misspellings of `holy war`." + }, "harper.linters.HomeInOn": { "scope": "resource", "type": "boolean", @@ -1289,6 +1313,30 @@ "default": true, "description": "Corrects `I does` to `I do`." }, + "harper.linters.IDontKnow": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Expands an initialism." + }, + "harper.linters.IfIRecallCorrectly": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Expands an initialism." + }, + "harper.linters.IfWouldve": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Corrects `if I would've done` etc. to `if I had done` etc." + }, + "harper.linters.IfYouKnowYouKnow": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Expands an initialism." + }, "harper.linters.InAWhile": { "scope": "resource", "type": "boolean", @@ -1301,12 +1349,24 @@ "default": true, "description": "Corrects ungrammatical `in anyway` to `in any way`." }, + "harper.linters.InCaseYouMissedIt": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Expands an initialism." + }, "harper.linters.InDetail": { "scope": "resource", "type": "boolean", "default": true, "description": "Corrects unidiomatic plural `in details` to `in detail`." }, + "harper.linters.InLieuOf": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Corrects the misspelling `in lue of` to `in lieu of`." + }, "harper.linters.InMyHumbleOpinion": { "scope": "resource", "type": "boolean", @@ -1343,6 +1403,12 @@ "default": true, "description": "Corrects `in one foul swoop` to `in one fell swoop`, preserving the phrase’s original meaning of sudden and complete action." }, + "harper.linters.InRealLife": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Expands an initialism." + }, "harper.linters.InThe": { "scope": "resource", "type": "boolean", @@ -1775,6 +1841,12 @@ "default": true, "description": "Changes `ned help` to the correct `need help`." }, + "harper.linters.NeedToNoun": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Flags `need to` when it is immediately followed by a noun, which usually means the infinitive verb is missing." + }, "harper.linters.NerveRacking": { "scope": "resource", "type": "boolean", @@ -2057,6 +2129,12 @@ "default": true, "description": "Detects incorrect usage of `peak` or `peek` when the intended word is `pique`, as in the phrase `you've peaked my interest`." }, + "harper.linters.PleaseTakeALook": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Expands an initialism." + }, "harper.linters.PocketCastsNames": { "scope": "resource", "type": "boolean", @@ -2153,6 +2231,12 @@ "default": true, "description": "Detects missing `of` after the quantifier “a couple” when it precedes a plural noun" }, + "harper.linters.QuantifierNumeralConflict": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Detects quantifier-numeral conflicts" + }, "harper.linters.QuiteMany": { "scope": "resource", "type": "boolean", @@ -2199,7 +2283,7 @@ "scope": "resource", "type": "boolean", "default": true, - "description": "Flags redundant use of 'if' or 'correctly' with 'IIRC', since 'IIRC' already stands for 'if I recall correctly'." + "description": "Flags redundant use of 'if' or 'correctly' with `IIRC`, since `IIRC` already stands for 'if I recall correctly'." }, "harper.linters.RedundantSuperlatives": { "scope": "resource", @@ -2207,6 +2291,12 @@ "default": true, "description": "Simplifies redundant double positives like `most optimal` to the base form." }, + "harper.linters.RedundantThat": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "There is rarely a situation where `that that` cannot be condensed into a single token." + }, "harper.linters.Regardless": { "scope": "resource", "type": "boolean", @@ -2315,6 +2405,12 @@ "default": true, "description": "Detects the use of 'since' with a duration instead of a point in time." }, + "harper.linters.SingleBe": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Removes adjacent duplicate inflections of `be`, including contracted forms followed by another `be` verb." + }, "harper.linters.SneakingSuspicion": { "scope": "resource", "type": "boolean", @@ -2537,6 +2633,12 @@ "default": true, "description": "Looks for incorrect spacing inside the closed compound `thereupon`." }, + "harper.linters.ThesesThese": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Corrects the common misspelling of `these` as `theses`." + }, "harper.linters.ThingThink": { "scope": "resource", "type": "boolean",