IssueRaiser

Offline spell checker for VSCode

Hello (first time contributing here) There are few offline spell checkers among VSCode extensions, but they are based on seriously faulty JavaScript implementations of [Hunspell](http://hunspell.github.io/) spell checker. [Hunspell](http://hunspell.github.io/) is nowadays probably the most widespread standard for spell check layer. It is used on MacOS, Linux and in some software (e.g. LibreOffice) on Windows. It is also used by both Atom and Sublime Text. There is an enormous collection of polished dictionaries for Hunspell. There exists some JavaScript implementations that refer to Hunspell's name but in fact they do not implement critical functionality - lexical parser. I have verified these three: [hunspell-spellchecker](https://github.com/GitbookIO/hunspell-spellchecker) [Typo.js](https://github.com/cfinke/Typo.js) [nspell](https://github.com/wooorm/nspell) All three work more or less following a simple idea of loading the dictionary into memory (into a associative table, a.k.a. dictionary, object to be precise). They use the Hunspell's affixes (.aff file) to create ALL variants of the words found in the dictionary (.dic file) and then store them in the memory. When checking spelling dictionary is simply asked whether the word exist or not. Simple, but it has these implications: 1. Loading takes a lot of time; 2. It takes a lot of memory too; 3. Memory consumption causes them to crash under dictionaries with more expanded affix system (two out of three mentioned, th

Posted by bartosz-antosik on Feb 9, 2017, 9:25 AM

Tags

Related issues

Raise real-world problems, find people facing the same issue, and discuss solutions.4,500 issues0 comments

reliability (SaaS)

Offline spell checker for VSCode

bartosz-antosikFeb 9, 2017, 9:25 AM

Hello (first time contributing here) There are few offline spell checkers among VSCode extensions, but they are based on seriously faulty JavaScript implementations of [Hunspell](http://hunspell.github.io/) spell checker. [Hunspell](http://hunspell.github.io/) is nowadays probably the most widespread standard for spell check layer. It is used on MacOS, Linux and in some software (e.g. LibreOffice) on Windows. It is also used by both Atom and Sublime Text. There is an enormous collection of polished dictionaries for Hunspell. There exists some JavaScript implementations that refer to Hunspell's name but in fact they do not implement critical functionality - lexical parser. I have verified these three: [hunspell-spellchecker](https://github.com/GitbookIO/hunspell-spellchecker) [Typo.js](https://github.com/cfinke/Typo.js) [nspell](https://github.com/wooorm/nspell) All three work more or less following a simple idea of loading the dictionary into memory (into a associative table, a.k.a. dictionary, object to be precise). They use the Hunspell's affixes (.aff file) to create ALL variants of the words found in the dictionary (.dic file) and then store them in the memory. When checking spelling dictionary is simply asked whether the word exist or not. Simple, but it has these implications: 1. Loading takes a lot of time; 2. It takes a lot of memory too; 3. Memory consumption causes them to crash under dictionaries with more expanded affix system (two out of three mentioned, th

Comments (0)

No comments yet. Start the discussion.

Comment on this issue