rebar3_sheldon

A rebar plugin for spellchecking.

Build

$ rebar3 compile

Use

Add the plugin to your rebar config:

{project_plugins, [{rebar3_sheldon, "~> 0.1.0"}]}.

Then just call your plugin directly in an existing application:

$ rebar3 spellcheck
===> Fetching rebar3_sheldon
===> Compiling rebar3_sheldon
$ ./rebar3 spellcheck
===> spellcheck detect warning emits:[#{filename => "src/application.erl",
line => 2,
reason =>
#{bazinga => <<"Too bad Leonard">>,
misspelled_words =>
[#{candidates =>
["commit","commot",
"comdt","comet","compt",
"comte","comdt","comet",
"compt","comte","comm",
"comm.","comma","comme",
"commo","commy","scomm"],
line_number => 1,
word => "Commt"}]},
string => "Commt",type => string},
#{filename => "test/shot_SUITE.erl",
line => 1,
reason =>
#{bazinga =>
<<"I'm exceedingly smart. I graduated college at fourteen. While my brother was getting an STD, I was getting a Ph.D. Penicillin can't take this away.">>,
misspelled_words =>
[#{candidates =>
["speeling","speiling",
"spelding","spelling",
"sperling","spieling",
"apeling","pealing",
"peeling","pelting",
"perling","petling",
"sealing","seeling",
"selfing","seling",
"selling","setling",
"sapling","sipling",
"spiling","spaeing",
"spewing"],
line_number => 1,
word => "Speling"}]},
string => "Speling",type => string}]

Config

Example:

{spellcheck, [
{files, ["src/*.erl", "src/*/*.erl", "include/*.hrl"]},
{ignore, ["src/*_ignore.erl"]},
{ignore_regex, "[_@./#&+-=*]"},
{options, #{dummy => option}}
]}.