orbitalquark / textadept-spellcheck

Spell checking module for Textadept.
MIT License
5 stars 0 forks source link

Marking of mispelled words fails #3

Open oOosys opened 10 months ago

oOosys commented 10 months ago

I have installed the module according to the description and there are appropriate Menu items there, but invoking checks fails to show any effect in spite of misspelled words in the comment area of the text.

What might be the reason? How can I track it down and fix it?

orbitalquark commented 10 months ago

What happens if you click on a misspelled word? Is there a popup shown? If so, the indicator is not set up properly for some reason. In the Lua command entry, enter require('spellcheck').INDIC_SPELLING. It should print a number less than or equal to 32.

Also in the Lua command entry, enter require('spellcheck').spellchecker. You should get something like ta_spell: 0x555d9e75aeb8, indicating that the spellchecker was correctly initialized.

oOosys commented 10 months ago

If I click on a word, misspelled or not it places the cursor/point there or with double click it becomes selected. In the Lua command entry I am getting 10 as effect of require('spellcheck').INDIC_SPELLING and ta_spell: 0x5616538ad4a8 as effect of require('spellcheck').spellchecker .

orbitalquark commented 10 months ago

Okay, so when you select Tools > Spelling > Mark Misspelled Words, your misspelled words are not marked? What happens when you switch the lexer to just Text?

oOosys commented 10 months ago

I have created new document with file extension .txt. There is marking of misspelled words with very thin dotted bottom line and explicit checking detects them and offers options raising a popup. Choosing "Ignore" has only temporary effect in the current buffer.

OK ... the spellchecker does not work with the Lua lexer. Probably because I have implemented all strings and comments as sub-categories to achieve different coloring of them. I suppose that the spellchecker considers the comments and strings which are now not highlighted by the main STRING and COMMENT hightlighting not as blocks where it needs to check spelling ...

I haven't yet implemented different highlighting of all the different strings and comment types (single, double, triple ###) in the Python lexer. Testing the spellchecker with Python files shows that it works OK.

In other words the issue is that sub-categories for different highlighting are skipped, but they shouldn't as they belong to the main category, right?

orbitalquark commented 9 months ago

Yeah, you'll want to add the names of those styles to spellcheck.spellcheckable_styles (e.g. spellcheck.spellcheckable_styles['comment_nested'] = true. I suppose the module could apply a prefix match, but some users may want to ignore subcategories of styles, so best to be explicit.

By design, "Ignore" is temporary, and "Add" adds the misspelling to your personal dictionary (~/.textadept/dictionaries/user.dic) so it will not be marked again as misspelled.