Spell check not working


#1

I use markdown format for plain text files. Till couple of updates back, the spell-checker was working fine.
But recently it has stopped showing any mistakes.

I tried the step#3 mentioned in this discussion; but it didnt help.

Can anyone please point to how I can fix this. Thanks!

Note - I have included the following list of scopes in the spell-check config - source.gfm, text.tex.latex, text.plain


#2

Do you have the language-markdown package installed?


#3

Yes. Is the issue something related to that?


#4

Yes, the language-markdown package uses a different scope for Markdown files than the built-in language-gfm package. source.gfm is the scope for the built-in package. If you’re using language-markdown, you’ll need to update your spell-check scopes to include the one for that package.


#5

Correction - I dont have language-markdown; I have language-gfm. Got confused a bit. Excuse.

But after you suggesting this, I installed language-markdown, disabled language-gfm and included markdown language’s scope in spell check. Still no luck.

But thanks for your suggestions :slight_smile:

So, does this mean that I am only left with re-installation option to make the spell-check work?


#6

No, if it isn’t the language-markdown issue … then I suspect you may be running into this open Issue:


#7

I think this might be the issue. because, the default language in my linux system is en_IN (Indian english). But if this is the issue, then its surprising because this has been the setting right from the beginning and as I mentioned, the spell-check was working fine. Its only in the last few months, it has stopped working.

Phew! Anyways…thanks for your help :slight_smile: Probably, will reinstall the atom soon.


#8

Did a fresh OS install and atom install. Spell check not working still :frowning:


#9

I think I have an idea of why it stopped working. Before few months ago, spell-check was hard-coded to use the packaged en-US checking. A few months ago, there was a patch to the code to use the environment variables to figure out the language (LCLANG?). This means that it started using en-IN instead of en-US. However the Linux side of things doesn’t know how to find other dictionary besides en-US (that was one of the changes I’m working on at the moment) so it can’t find the dictionary to load it.

You could try the following:

  • Find the en-US.dic (might be a different case or underscore, sorry I’m not on my Linux machine right now) inside your Atom folder on $HOME (um, .atom?). Then find your en-IN dictionaries and copy them into the same directory.
  • I have a patched version as spell-check-test which is my proposed patch to spell-check. It should automatically search standard Linux paths and it picks up the environment variable also. You’ll have to disable spell-check to make that work.

#10

Ah, so that’s why I lost spellchecking as well!
FYI, I use Atom on a French Windows installation.
But I write Markdown texts mostly in English, so checking the environment to see what language to use is pretty useless: I should be able to choose a language on the fly for the current buffer, like I can do in my browser.

Some explanation how to add dictionaries (and where to get them) would be nice too.


#11

I have a patch for spell-check that is being reviewed. If that goes in, it will have what you are looking for. Now, it doesn’t do it for the “current” buffer, but it will let you change it on-the-fly from the settings screen.


#12

@dmoonfire - I searched my home folder for *.dic files and this is the result -

./.config/chromium/Dictionaries/en-US-2-4.bdic
./.config/enchant/en_IN.dic
./.config/enchant/en.dic

So I didnt find any in the .atom folder. After this, I did not clearly understand your suggestion - you want me to copy these two files (en and en_IN) into some folder of .atom?

In any case, if you have submitted the patch, then I can as well wait for it.

Thanks for pointing this out and also for rectifying it in the patch!


#13

Same problem with Turkish windows 10. As you said, if you add an environment variable LANG=en_US it just starts working for English spell checking.


#14

If you want to see the status for my patch, it is here: https://github.com/atom/spell-check/pull/120


#15

@dmoonfire - May I know when this fix would be available? Is it available in the 1.11?


#16

According to the merge, it’s going to be in v1.12.0 (which appears to be the current beta at http://atom.io/beta/).


#17

Will download the beta now. And thanks for solving this :slight_smile:


#18

@dmoonfire - Just came back to atom after a month or two not needing to write anything and I seem to be having the same problem. Installed the beta but still no luck in plain text. I’m using Windows and don’t have any other packages installed. I’ve tried locales on and off as I’m using a UK computer with USA language just in case but it didn’t make a difference. Any thoughts?


#19

Windows 10 or Windows 7?

For Windows 10, it should work if you install the regional settings.

For Windows 7, there is no built-in spell checking but also no well-known locations. I screwed up the ASAR parsing for the English-only fallback. Over on Issue 162, the “best” way of handling that is to download the Hunspell dictionary at https://sourceforge.net/projects/hunspell/files/Spelling%20dictionaries/en_US/, copy it into a well-known path (C:\Dictionaries or something like that), and then set the search path in Atom’s spell-check settings to that path. Then it seems to work.

For Red Hat, you just have to set the path to a different location. I have a patch for that, it hasn’t been merged though.


#20

@dmoonfire - worked straight away! Thank you very much!