your-tools / skyspell

Fast and handy spell checker for the command line
BSD 3-Clause "New" or "Revised" License
7 stars 1 forks source link

skyspell

A fast and handy spell checker for the command line.

Features

Installation

You will need:

Then run:

$ cargo install skyspell

and make sure skyspell is in your PATH.

Checking setup

Run skyspell suggest helllo, and check that the word hello is suggested.

skyspell in action

Usually, you will run skyspell check to start an interactive session, where you tell skyspell how to handle all the errors it finds in your project files:

$ skyspell check
LICENSE:9:2 Redistributions
What to do?
a : Add word to global ignore list
e : Add word to ignore list for this extension
p : Add word to ignore list for the current project
f : Add word to ignore list for the current file
x : Skip this error
q : Quit
> : g
=> Added 'Redistributions' to the global ignore list

foo.rs:32:2 fn
What to do?
a : Add word to global ignore list
e : Add word to ignore list for this extension
p : Add word to ignore list for the current project
f : Add word to ignore list for the current file
x : Skip this error
q : Quit
> : e
=> Added 'fn' to the ignore list for '.rs' files

Note that by default, skyspell will try to read every file in the project. To prevent skyspell from trying to read certain file, create a skyspell-ignore.toml file at the root of your project containing something like this:

patterns = [
   "Cargo.lock",
   "logo.png ",
]

Ignore rules will be automatically added to either:

That way you can share your ignore rules with other users, or back them up anyway you like.

Comparison with scspell

I've borrowed heavily from scspell - both for the implementation and the command line behavior.

Note that scspell does not depend on Enchant and so can not check Languages other than English, and also cannot offer suggestions for spell errors.

But it's implementation is simpler and does not require to install a spell provider.

On the other hand, scspell can apply replacements in a file automatically, a feature skyspell does not have.

Local development

To build faster and run the tests faster, you can use