diff --git a/Cargo.lock b/Cargo.lock index 5c5a2c4b..c66e6bbb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -814,7 +814,7 @@ dependencies = [ [[package]] name = "harper-brill" -version = "0.47.0" +version = "0.48.0" dependencies = [ "harper-pos-utils", "lazy_static", @@ -844,7 +844,7 @@ dependencies = [ [[package]] name = "harper-comments" -version = "0.47.0" +version = "0.48.0" dependencies = [ "harper-core", "harper-html", @@ -878,7 +878,7 @@ dependencies = [ [[package]] name = "harper-core" -version = "0.47.0" +version = "0.48.0" dependencies = [ "ammonia", "bitflags 2.9.1", @@ -915,7 +915,7 @@ dependencies = [ [[package]] name = "harper-html" -version = "0.47.0" +version = "0.48.0" dependencies = [ "harper-core", "harper-tree-sitter", @@ -926,7 +926,7 @@ dependencies = [ [[package]] name = "harper-literate-haskell" -version = "0.47.0" +version = "0.48.0" dependencies = [ "harper-comments", "harper-core", @@ -937,7 +937,7 @@ dependencies = [ [[package]] name = "harper-ls" -version = "0.47.0" +version = "0.48.0" dependencies = [ "anyhow", "clap", @@ -965,7 +965,7 @@ dependencies = [ [[package]] name = "harper-pos-utils" -version = "0.47.0" +version = "0.48.0" dependencies = [ "hashbrown 0.15.4", "is-macro", @@ -979,7 +979,7 @@ dependencies = [ [[package]] name = "harper-stats" -version = "0.47.0" +version = "0.48.0" dependencies = [ "chrono", "harper-core", @@ -990,7 +990,7 @@ dependencies = [ [[package]] name = "harper-tree-sitter" -version = "0.47.0" +version = "0.48.0" dependencies = [ "harper-core", "tree-sitter", @@ -1009,7 +1009,7 @@ dependencies = [ [[package]] name = "harper-typst" -version = "0.47.0" +version = "0.48.0" dependencies = [ "harper-core", "itertools 0.14.0", diff --git a/harper-brill/Cargo.toml b/harper-brill/Cargo.toml index b5f74e3f..c2a2f496 100644 --- a/harper-brill/Cargo.toml +++ b/harper-brill/Cargo.toml @@ -1,13 +1,13 @@ [package] name = "harper-brill" -version = "0.47.0" +version = "0.48.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.47.0" } +harper-pos-utils = { path = "../harper-pos-utils/", version = "0.48.0" } lazy_static = "1.5.0" rs-conllu = "0.3.0" serde = "1.0.219" diff --git a/harper-cli/Cargo.toml b/harper-cli/Cargo.toml index ccb6ba9c..6c9596c2 100644 --- a/harper-cli/Cargo.toml +++ b/harper-cli/Cargo.toml @@ -9,13 +9,13 @@ repository = "https://github.com/automattic/harper" anyhow = "1.0.98" ariadne = "0.4.1" clap = { version = "4.5.40", features = ["derive", "string"] } -harper-stats = { path = "../harper-stats", version = "0.47.0" } +harper-stats = { path = "../harper-stats", version = "0.48.0" } dirs = "6.0.0" -harper-literate-haskell = { path = "../harper-literate-haskell", version = "0.47.0" } -harper-core = { path = "../harper-core", version = "0.47.0" } -harper-pos-utils = { path = "../harper-pos-utils", version = "0.47.0", features = ["training", "threaded"] } -harper-comments = { path = "../harper-comments", version = "0.47.0" } -harper-typst = { path = "../harper-typst", version = "0.47.0" } +harper-literate-haskell = { path = "../harper-literate-haskell", version = "0.48.0" } +harper-core = { path = "../harper-core", version = "0.48.0" } +harper-pos-utils = { path = "../harper-pos-utils", version = "0.48.0", features = ["training", "threaded"] } +harper-comments = { path = "../harper-comments", version = "0.48.0" } +harper-typst = { path = "../harper-typst", version = "0.48.0" } hashbrown = "0.15.4" serde = { version = "1.0.219", features = ["derive"] } serde_json = "1.0.140" diff --git a/harper-comments/Cargo.toml b/harper-comments/Cargo.toml index 834a5916..f7e07dc9 100644 --- a/harper-comments/Cargo.toml +++ b/harper-comments/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "harper-comments" -version = "0.47.0" +version = "0.48.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.47.0" } -harper-html = { path = "../harper-html", version = "0.47.0" } -harper-tree-sitter = { path = "../harper-tree-sitter", version = "0.47.0" } +harper-core = { path = "../harper-core", version = "0.48.0" } +harper-html = { path = "../harper-html", version = "0.48.0" } +harper-tree-sitter = { path = "../harper-tree-sitter", version = "0.48.0" } itertools = "0.14.0" tree-sitter = "0.25.6" tree-sitter-bash = "0.25.0" diff --git a/harper-core/Cargo.toml b/harper-core/Cargo.toml index a9deb7a4..84ad364d 100644 --- a/harper-core/Cargo.toml +++ b/harper-core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "harper-core" -version = "0.47.0" +version = "0.48.0" edition = "2024" description = "The language checker for developers." license = "Apache-2.0" @@ -31,7 +31,7 @@ foldhash = "0.1.5" strum_macros = "0.27.1" strum = "0.27.1" ammonia = "4.1.0" -harper-brill = { path = "../harper-brill", version = "0.47.0" } +harper-brill = { path = "../harper-brill", version = "0.48.0" } bitflags = { version = "2.9.1", features = ["serde"] } [dev-dependencies] diff --git a/harper-html/Cargo.toml b/harper-html/Cargo.toml index a309c9c5..625e824d 100644 --- a/harper-html/Cargo.toml +++ b/harper-html/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "harper-html" -version = "0.47.0" +version = "0.48.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.47.0" } -harper-tree-sitter = { path = "../harper-tree-sitter", version = "0.47.0" } +harper-core = { path = "../harper-core", version = "0.48.0" } +harper-tree-sitter = { path = "../harper-tree-sitter", version = "0.48.0" } tree-sitter-html = "0.23.2" tree-sitter = "0.25.6" diff --git a/harper-literate-haskell/Cargo.toml b/harper-literate-haskell/Cargo.toml index b9fa6beb..e468a04e 100644 --- a/harper-literate-haskell/Cargo.toml +++ b/harper-literate-haskell/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "harper-literate-haskell" -version = "0.47.0" +version = "0.48.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.47.0" } -harper-tree-sitter = { path = "../harper-tree-sitter", version = "0.47.0" } -harper-comments = { path = "../harper-comments", version = "0.47.0" } +harper-core = { path = "../harper-core", version = "0.48.0" } +harper-tree-sitter = { path = "../harper-tree-sitter", version = "0.48.0" } +harper-comments = { path = "../harper-comments", version = "0.48.0" } itertools = "0.14.0" paste = "1.0.14" diff --git a/harper-ls/Cargo.toml b/harper-ls/Cargo.toml index 0bda613d..a145dd7b 100644 --- a/harper-ls/Cargo.toml +++ b/harper-ls/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "harper-ls" -version = "0.47.0" +version = "0.48.0" edition = "2024" description = "The language checker for developers." license = "Apache-2.0" @@ -8,12 +8,12 @@ readme = "README.md" repository = "https://github.com/automattic/harper" [dependencies] -harper-stats = { path = "../harper-stats", version = "0.47.0" } -harper-literate-haskell = { path = "../harper-literate-haskell", version = "0.47.0" } -harper-core = { path = "../harper-core", version = "0.47.0", features = ["concurrent"] } -harper-comments = { path = "../harper-comments", version = "0.47.0" } -harper-typst = { path = "../harper-typst", version = "0.47.0" } -harper-html = { path = "../harper-html", version = "0.47.0" } +harper-stats = { path = "../harper-stats", version = "0.48.0" } +harper-literate-haskell = { path = "../harper-literate-haskell", version = "0.48.0" } +harper-core = { path = "../harper-core", version = "0.48.0", features = ["concurrent"] } +harper-comments = { path = "../harper-comments", version = "0.48.0" } +harper-typst = { path = "../harper-typst", version = "0.48.0" } +harper-html = { path = "../harper-html", version = "0.48.0" } tower-lsp-server = "0.22.0" tokio = { version = "1.45.1", features = ["fs", "rt", "rt-multi-thread", "macros", "io-std", "io-util", "net"] } clap = { version = "4.5.40", features = ["derive"] } diff --git a/harper-pos-utils/Cargo.toml b/harper-pos-utils/Cargo.toml index c39d5a1a..14623ef3 100644 --- a/harper-pos-utils/Cargo.toml +++ b/harper-pos-utils/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "harper-pos-utils" -version = "0.47.0" +version = "0.48.0" edition = "2024" description = "The language checker for developers." license = "Apache-2.0" diff --git a/harper-stats/Cargo.toml b/harper-stats/Cargo.toml index 46a8f0b1..4038da6d 100644 --- a/harper-stats/Cargo.toml +++ b/harper-stats/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "harper-stats" -version = "0.47.0" +version = "0.48.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.217", features = ["derive"] } -harper-core = { path = "../harper-core", version = "0.47.0", features = ["concurrent"] } +harper-core = { path = "../harper-core", version = "0.48.0", features = ["concurrent"] } uuid = { version = "1.17.0", features = ["serde", "v4"] } serde_json = "1.0.140" chrono = "0.4.41" diff --git a/harper-tree-sitter/Cargo.toml b/harper-tree-sitter/Cargo.toml index c46c39fd..50db7bc0 100644 --- a/harper-tree-sitter/Cargo.toml +++ b/harper-tree-sitter/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "harper-tree-sitter" -version = "0.47.0" +version = "0.48.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.47.0" } +harper-core = { path = "../harper-core", version = "0.48.0" } tree-sitter = "0.25.6" diff --git a/harper-typst/Cargo.toml b/harper-typst/Cargo.toml index 29e0994a..4ba13d29 100644 --- a/harper-typst/Cargo.toml +++ b/harper-typst/Cargo.toml @@ -1,13 +1,13 @@ [package] name = "harper-typst" -version = "0.47.0" +version = "0.48.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.47.0" } +harper-core = { path = "../harper-core", version = "0.48.0" } typst-syntax = { version = "0.13.1" } ordered-float = { version = "5.0.0", features = ["serde"] } itertools = "0.14.0" diff --git a/harper-wasm/Cargo.toml b/harper-wasm/Cargo.toml index 82545f12..fe013bcf 100644 --- a/harper-wasm/Cargo.toml +++ b/harper-wasm/Cargo.toml @@ -13,9 +13,9 @@ 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.47.0", features = ["concurrent"] } +harper-core = { path = "../harper-core", version = "0.48.0", features = ["concurrent"] } once_cell = "1.21.3" serde-wasm-bindgen = "0.6.5" serde_json = "1.0.140" serde = { version = "1.0.219", features = ["derive"] } -harper-stats = { path = "../harper-stats", version = "0.47.0", features = ["js"] } +harper-stats = { path = "../harper-stats", version = "0.48.0", features = ["js"] } diff --git a/packages/chrome-plugin/package.json b/packages/chrome-plugin/package.json index d7ded055..3631d3d3 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.47.0", + "version": "0.48.0", "author": "no one", "description": "A private grammar checker for 21st Century English", "type": "module", diff --git a/packages/harper.js/package.json b/packages/harper.js/package.json index fd3977ca..e6a3a07d 100644 --- a/packages/harper.js/package.json +++ b/packages/harper.js/package.json @@ -1,6 +1,6 @@ { "name": "harper.js", - "version": "0.47.0", + "version": "0.48.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 abf3033c..e44419e2 100644 --- a/packages/obsidian-plugin/package.json +++ b/packages/obsidian-plugin/package.json @@ -1,7 +1,7 @@ { "name": "obsidian-plugin", "private": true, - "version": "0.47.0", + "version": "0.48.0", "main": "main.js", "devDependencies": { "@rollup/plugin-node-resolve": "^16.0.0", diff --git a/packages/vscode-plugin/package.json b/packages/vscode-plugin/package.json index a3ef6f3d..28d5695a 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.47.0", + "version": "0.48.0", "private": true, "author": "Elijah Potter", "publisher": "elijah-potter", @@ -388,12 +388,6 @@ "default": true, "description": "Changes `bed rap` to the proper idiom `bad rap`." }, - "harper.linters.BaitedBreath": { - "scope": "resource", - "type": "boolean", - "default": true, - "description": "Ensures `bated breath` is written correctly, as `baited breath` is incorrect." - }, "harper.linters.BanTogether": { "scope": "resource", "type": "boolean", @@ -430,6 +424,12 @@ "default": true, "description": "Corrects the misspelling `bee there` to the proper phrase `been there`." }, + "harper.linters.Beforehand": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "`Beforehand` functions as a fixed adverb meaning ‘in advance’; writing it as two words or with a hyphen is nonstandard and can jar readers." + }, "harper.linters.BestRegards": { "scope": "resource", "type": "boolean", @@ -670,6 +670,12 @@ "default": true, "description": "Looks for incorrect spacing inside the closed compound `devops`." }, + "harper.linters.DiscourseMarkers": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Flags sentences that begin with a discourse marker but omit the required following comma." + }, "harper.linters.Discuss": { "scope": "resource", "type": "boolean", @@ -778,6 +784,18 @@ "default": true, "description": "Provides a stronger word choice by replacing `very good` with `excellent` for clarity and emphasis." }, + "harper.linters.ExpandArgument": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Expands the abbreviation `arg` to the full word `argument` for clarity." + }, + "harper.linters.ExpandArguments": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Expands the abbreviation `args` to the full word `arguments` for clarity." + }, "harper.linters.ExpandBecause": { "scope": "resource", "type": "boolean", @@ -1882,6 +1900,12 @@ "default": true, "description": "Checks for the correct official name of the capital of Benin." }, + "harper.linters.PossessiveNoun": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Use an apostrophe and `s` to form a noun’s possessive." + }, "harper.linters.PossessiveYour": { "scope": "resource", "type": "boolean", @@ -1948,6 +1972,12 @@ "default": true, "description": "Looks for incorrect spacing inside the closed compound `regardless`." }, + "harper.linters.Regionalisms": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Regionalisms" + }, "harper.linters.RepeatedWords": { "scope": "resource", "type": "boolean", @@ -2475,6 +2505,12 @@ "type": "boolean", "default": true, "description": "Corrects `worse ever` to `worst ever` for proper comparative usage." + }, + "harper.linters.WroughtIron": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "`Wrought iron` is low-carbon, malleable iron used for decorative work; variants like `rod iron` or `rot iron` are phonetic misspellings that may confuse readers." } } }