node 12.10.x
nspell 2.1.2
I'm not sure if this is a bug or my misinterpretation of the documentation.
Adding extra dictionaries via
new nspell([{aff: mainaff_buff, dic: maindic_buff}, {dic: extradic_buff}]), or
nspell_instance.dictionary(<extradic_buff>), or
nspell_instance.dictionary(['some','new',words'].join('\n'));
appears to cause all inputs to be considered correct by .correct and .suggest
I do see that the nspell_instance object contains all of the words from both maindic and extradic as well as all of the affix information, but it does not seem to be used 😕
However, using .personal to add extra words does work as expected and testing with both maindic and the extra words produces correct .correct and .suggest outputs.
I'm not sure if I am missing something in the documentation or if this is an issue. I am using the dictionary-en package to load the main aff & dic, and the extra dictionaries are plain word lists in utf-8 loaded into a buffer.
Steps to reproduce:
A. baseline, single dictionary
const maindic = require('dictionary-en')
const nspell = new NSpell(maindic)
nspell.correct('ultrasonogram') // => false; OK b/c not in dictionary
nspell.correct('ultrasongram') // => false; OK
nspell.correct('feleing') // => false; 👍
nspell.suggest('ultrasonogram') // => [ ]; OK
nspell.suggest('ultrasongram') // => [ ]; OK
nspell.suggest('feleing') // => ['feeling', 'fleeing', ...]; 👍
B. add words via .dictionary (same behavior if it's another buffer passed in to constructor)
const maindic = require('dictionary-en')
const nspell = new NSpell(maindic)
nspell.dictionary(['ultrasonogram','ultrasonosurgery'].join('\n'))
nspell.correct('ultrasonogram') // => true
nspell.correct('ultrasongram') // => true; 👎
nspell.correct('feleing') // => true; 👎
nspell.suggest('ultrasonogram') // => []
nspell.suggest('ultrasongram') // => []
nspell.suggest('feleing') // => []
C. add words via .personal
const maindic = require('dictionary-en')
const nspell = new NSpell(maindic)
nspell.dictionary(['ultrasonogram','ultrasonosurgery'].join('\n'))
nspell.correct('ultrasonogram') // => true
nspell.correct('ultrasongram') // => false
nspell.correct('feleing') // => false
nspell.suggest('ultrasonogram') // => []
nspell.suggest('ultrasongram') // => ['ultrasonogram'] 👍
nspell.suggest('feleing') // => ['feeling', 'fleeing', ...] 👍
node 12.10.x
nspell 2.1.2
I'm not sure if this is a bug or my misinterpretation of the documentation.
Adding extra dictionaries via
new nspell([{aff: mainaff_buff, dic: maindic_buff}, {dic: extradic_buff}]), ornspell_instance.dictionary(<extradic_buff>), ornspell_instance.dictionary(['some','new',words'].join('\n'));appears to cause all inputs to be considered correct by
.correctand.suggestI do see that the
nspell_instanceobject contains all of the words from both maindic and extradic as well as all of the affix information, but it does not seem to be used 😕However, using
.personalto add extra words does work as expected and testing with both maindic and the extra words produces correct.correctand.suggestoutputs.I'm not sure if I am missing something in the documentation or if this is an issue. I am using the
dictionary-enpackage to load the main aff & dic, and the extra dictionaries are plain word lists in utf-8 loaded into a buffer.Steps to reproduce:
A. baseline, single dictionary
B. add words via .dictionary (same behavior if it's another buffer passed in to constructor)
C. add words via .personal