aboutsummaryrefslogtreecommitdiff
path: root/spellcheck.lua
Commit message (Collapse)AuthorAgeFilesLines
* Set/find default_lang from a single string.matchNomarian2025-10-091-4/+4
|
* Shut up luacheckNomarian2025-10-091-0/+2
|
* remove unused parameter and replace tabs with spacesFlorian Fischer2025-07-121-6/+6
|
* Don't crash if vis.win has not been initialized yet.Matěj Cepl2025-07-121-5/+5
|
* feat: automatically enable spellchecking through local settingMatěj Cepl2025-03-101-0/+8
| | | | | | | | | When the local setting spellcheck.spelling_autoenable is set to true and spelling is available (via `spelling_language` setting in .editorconfig), vis will automatically enable spellchecker without any additional user action. References: https://github.com/editorconfig/specification/pull/41
* Makes :spell and :spell+ avaibleTopoetry2025-03-091-0/+14
|
* do not break if lua-lpeg and thus the lexers table is absentFlorian Fischer2024-05-241-5/+14
|
* improve languauge in commentsFlorian Fischer2024-05-101-4/+4
|
* always use the empty string to reset the cached dataFlorian Fischer2024-05-101-1/+1
|
* cleanup wrong return values in key mappingFlorian Fischer2024-05-101-5/+5
|
* return early if viewport is not availableFlorian Fischer2024-05-101-0/+1
|
* cleanup some old vis API usageRandy Palamar2024-04-261-11/+4
| | | | | The vis lexer hasn't used redrawtime for a while and it has been removed from the API.
* support new viewport table for vis >= v0.9Florian Fischer2024-04-251-1/+2
|
* Turn on highlighting when suggestions keybinding Ctrl-W W is pressedRivera Calzadillas2024-02-121-0/+3
|
* use spelling_language in spelllang optionFlorian Fischer2023-11-271-1/+1
| | | | Fixes: f1c220802abcbb10a139ef99c98c803c10ca74e5
* Rename 'spell_language' to 'spelling_language'Frank Seifferth2023-09-251-2/+2
| | | Following discussions on the editorconfig standard, I just renamed this property in the vis-editorconfig plugin (see https://github.com/seifferth/vis-editorconfig/commit/d99ec6bb31b042bf0b6111c20d622f64636d2ed6). In order to keep the naming somewhat consistent, I also updated the internal variable name that stores the spelling_language specified in editorconfig files. This commit updates the spellcheck plugin to use the updated variable name.
* don't return anything in WIN_HIGHLIGHT eventRandy Palamar2023-09-141-7/+0
| | | | | Returning true prevents a user from defining a WIN_HIGHLIGHT event in addition to spellchecking.
* Merge pull request #10 from rnpnr/add-wordsfischerling2023-04-201-1/+29
|\ | | | | add keybind to add word to user dictionary
| * ignore newly added word to prevent it from being highlightedFlorian Fischer2023-04-201-2/+13
| |
| * add keybind to add word to user dictionaryRandy Palamar2023-04-191-0/+17
| |
* | consider the environment variable VIS_SPELLLANG as defaultFlorian Fischer2023-04-171-1/+1
|/ | | | | | | | | | | | | If the variable VIS_SPELLLANG is not set the variable LANG is considered next. Passing the spellchecking language via the environment can be useful when starting vis from different contexts. My use case is different mail addresses in mutt. On one address I mostly communicate in English and on another I communicate in German. Passing the context specific language vis the environment safes setting the spellchecking language for each email I write.
* fix typo detection at file startFlorian Fischer2023-03-021-18/+19
| | | | | | | | | | | | | | | | | | | | | If a file starts with a typo our pattern [%A]typo[%A] can not find it. However if the same typo appears a second type in the text our pattern happily finds the second occurence skipping the first and all typos in between. In the text typo1 Correct text typo2 ... typo1 our pattern will match the second occurence of 'typo1' skipping 'typo2'. Since we update our search index 'typo2' will never be found and vis-spellcheck will show the user an information prompt. Fix this behaviour by adding a special case for the first typo which may start the text.
* Sanitize LANG environment variableIsmael Luceno2023-02-201-3/+2
|
* make formatFlorian Fischer2021-12-281-2/+3
|
* Add 'spelllang' command to print the current valueFrank Seifferth2021-10-071-0/+6
| | | | | To me, this seems pretty useful for debugging purposes. It might also be of general interest to the curious user.
* Use 'vis.win.file.spell_language' rather than 'spellcheck.lang'Frank Seifferth2021-10-071-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | There is some discussion on the editorconfig side about whether a 'spell_language' key could be added (cf. https://github.com/editorconfig/editorconfig/issues/315, https://github.com/seifferth/vis-editorconfig/pull/8). This key would specify the natural language a file is written in and it would then be up to the editor or plugin doing the spellchecking to respect that setting and behave accordingly. Since it is out of the scope of the vis-editorconfig plugin to implement spellchecking, and since I would like the vis-editorconfig plugin to work both with and without vis-spellcheck, I suggest to use 'vis.win.file.spell_language' to store the document language. With commit 0ee415c in the vis-editorconfig repo (https://github.com/seifferth/vis-editorconfig), this value is already set to the appropriate value. This commit adjusts the spellchecking plugin to use the same global value. I did some testing that suggests it should work. There might still be some hickups if 'vis.win.file' does not exist. This is a non-issue for editorconfig, since editorconfig only works if 'vis.win.file.path' exists (which configuration is used depends on the path). The Readme would also need some adjustment.
* add warning if spellcheck is loaded but no supported spellchecker is installedFlorian Fischer2021-04-281-0/+1
|
* fix off-by-one highlighting in non-syntax aware modeFlorian Fischer2021-03-251-1/+1
|
* make typo_style_id configurableFlorian Fischer2021-03-251-2/+3
|
* ignore two luacheck shadowing warningsFlorian Fischer2021-03-201-2/+2
|
* make formatFlorian Fischer2021-03-201-352/+371
|
* check if "LANG" environment variable exists before indexing itRandy Palamar2021-03-081-1/+5
|
* fix most warnings reported by luacheckFlorian Fischer2021-02-171-18/+18
| | | | | | * Remove unused variables * Remove unused assginments * Fix one actual bug (typo in variable name)
* don't try to use empty correctionsFlorian Fischer2021-02-171-0/+4
|
* fix ignoring of words for the syntax aware lex-closure approachFlorian Fischer2021-01-071-0/+11
| | | | | | | Because the lexer.lex wrapper function is a closure it saves the state of the ignored word table in the closure. Therefore to see the effect of ignoring words we must rebuild the wrapper closure.
* Fix arrows in vis-menu by using vis:pipe()Georgi Kirilov2020-12-201-6/+4
|
* Merge branch 'syntax_aware' into masteroriginFlorian Fischer2020-09-171-27/+255
|\
| * escape magic characters in typosFlorian Fischer2020-08-281-1/+26
| | | | | | | | | | If the typo itself contains magic pattern characters we can't reliable find it in the text.
| * don't stop iterating over typos when an empty one is encounteredFlorian Fischer2020-08-281-2/+2
| | | | | | | | | | | | An iterator in lua stops if it returns nil. This change will get a new typo from the unfiltered_iterator if we encounter an empty one instead of returning nil.
| * ignore empty typosFlorian Fischer2020-08-281-1/+1
| | | | | | | | | | apparently in the typo list produced by aspell there is a blank line which messes with our search for typos.
| * reset last_data when enabling spellcheck to enforce new highlightingFlorian Fischer2020-08-281-0/+2
| |
| * return early if we can't get the typos from our external spellcheckerFlorian Fischer2020-08-281-0/+6
| |
| * Don't fail if the first and only typo is at the end of the text.Florian Fischer2020-08-281-7/+7
| | | | | | | | | | | | | | Before this change we assumed that when we are at the beginning of the text (index == 1) and don't find the typo is must be the beginning of the text but it can also be the end of the text. We now also check the end if the beginning was not what we were lookig for.
| * force a redraw for syntax aware highlighting when spelllang changesFlorian Fischer2020-08-281-6/+7
| |
| * add vis.lexers.DEFAULT to the tokens we spellcheckFlorian Fischer2020-08-271-2/+2
| | | | | | | | | | This activates spellchecking for most "text focused" languages like latex or markdown.
| * don't loop infinitely if a typo spans multiple tokensFlorian Fischer2020-08-271-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This happens because the "default" token gets emitted for each not matched char resulting in lots of small "default" tokens. This markdown: > typu will result in the token stream {"default", 2, "default", 3, "default", 4, "default", 5} and a typo stream with a single entry spanning all of the tokens {{"typu", 1, 5}}. Not checking if the typo is longer then the current token leads to an infinite loop where the typo is always inserted in the new token stream without advancing the token stream.
| * special case typos at the beginning of text as wellFlorian Fischer2020-08-271-7/+20
| |
| * fix highlighting of typos at the end of the textFlorian Fischer2020-08-271-0/+7
| | | | | | | | | | | | | | Our pattern [%A]<typo>[%A] does not match typos at the end or start of the text because there is no leading / trailing non letter character. So if we dind't find the typo with our normal pattern it must be either the start or the end of the text. If not raise a warning that this must be a bug.
| * add the option 'disable_syntax_awareness' to always check the full viewportFlorian Fischer2020-08-261-1/+2
| |
| * remove all the unsound viewport code and cache the full token_stream instead ↵Florian Fischer2020-08-261-29/+9
| | | | | | | | | | | | of typos This should make our spellchecking independent of the current window.