<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vis-spellcheck/spellcheck.lua, branch syntax_aware_debug</title>
<subtitle>spellchecking plugin for the vis editor</subtitle>
<link rel='alternate' type='text/html' href='https://git.muhq.space/vis-spellcheck/'/>
<entry>
<title>new syntax aware algorithm with debugging</title>
<updated>2020-08-26T12:38:40+00:00</updated>
<author>
<name>Florian Fischer</name>
<email>florian.fl.fischer@fau.de</email>
</author>
<published>2020-08-26T12:38:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.muhq.space/vis-spellcheck/commit/?id=9313e8cbf42ad609061ba09658da174085357fe4'/>
<id>9313e8cbf42ad609061ba09658da174085357fe4</id>
<content type='text'>
This is just for archiving the debugging code
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is just for archiving the debugging code
</pre>
</div>
</content>
</entry>
<entry>
<title>extent get_typo() to handle string inputs</title>
<updated>2020-08-26T12:30:51+00:00</updated>
<author>
<name>Florian Fischer</name>
<email>florian.fl.fischer@fau.de</email>
</author>
<published>2020-08-26T12:30:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.muhq.space/vis-spellcheck/commit/?id=6619dd4570be1b00f5611138ce32fda414e69ba7'/>
<id>6619dd4570be1b00f5611138ce32fda414e69ba7</id>
<content type='text'>
This allows us to be independent of a vis.window and only use
the text passed to lexer.lex for our spellchecking.
This is helpfull when the active window is for example the command
prompt but the original source file still gets lexed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows us to be independent of a vis.window and only use
the text passed to lexer.lex for our spellchecking.
This is helpfull when the active window is for example the command
prompt but the original source file still gets lexed.
</pre>
</div>
</content>
</entry>
<entry>
<title>separate supress_output into redirects for stdout and stderr</title>
<updated>2020-08-26T12:28:10+00:00</updated>
<author>
<name>Florian Fischer</name>
<email>florian.fl.fischer@fau.de</email>
</author>
<published>2020-08-26T12:28:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.muhq.space/vis-spellcheck/commit/?id=b90ae91b24a214fb603f90855a3247138e8c9422'/>
<id>b90ae91b24a214fb603f90855a3247138e8c9422</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>extract generic spellchecking functionality from the full viewport function</title>
<updated>2020-08-25T23:42:55+00:00</updated>
<author>
<name>Florian Fischer</name>
<email>florian.fl.fischer@fau.de</email>
</author>
<published>2020-08-25T23:27:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.muhq.space/vis-spellcheck/commit/?id=8093caf55ba0df77fe297f682c2a327fba8ccb28'/>
<id>8093caf55ba0df77fe297f682c2a327fba8ccb28</id>
<content type='text'>
Add get_typos(range) to retrieve a string of misspelled word in a specific file range
by calling the spellchecker's list command. It return nil or a string with each
misspell followed by a newline.

Introduce typo_iter(text, typos, ignored) to iterate over all not ignored
typos and their positions in text. It returns an statefull iterator function
closure. Which will return the next typo and ist start and finish in the text,
starting by 1.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add get_typos(range) to retrieve a string of misspelled word in a specific file range
by calling the spellchecker's list command. It return nil or a string with each
misspell followed by a newline.

Introduce typo_iter(text, typos, ignored) to iterate over all not ignored
typos and their positions in text. It returns an statefull iterator function
closure. Which will return the next typo and ist start and finish in the text,
starting by 1.
</pre>
</div>
</content>
</entry>
<entry>
<title>introduce new syntax aware spellchecking mechanism</title>
<updated>2020-08-25T13:55:27+00:00</updated>
<author>
<name>Florian Fischer</name>
<email>florian.fl.fischer@fau.de</email>
</author>
<published>2020-08-25T13:55:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.muhq.space/vis-spellcheck/commit/?id=85a97a1aab13dc9acb19715e8bc58c6f8c3bcd51'/>
<id>85a97a1aab13dc9acb19715e8bc58c6f8c3bcd51</id>
<content type='text'>
Fallback to the old mechanism if no lexer is active.

Algorithm:
1. Wrap the active lexer's lex function and save it original value to restore it
2. Obtain the original token stream
3. Filter the tokens for visibility and if we want to spellcheck them (lexers.COMMENT and lexers.STRING by default)
4. Spellcheck the selected token. This is why this is unusably slow we shell out to our spellchecker for each token to check.
5. Split up the selected token into its correct and misspelled parts
6. Insert the correct parts unmodified and the misspelled ones as lexers.ERROR tokens into the token stream

Drawbacks:
1. It is unusably slow for now
2. The problem to decide which tokens should be spellchecked still remains.
   A lexer using different token names than we expect will prevent our spellchecking

TODO:
1. Introduce a way to disable syntax aware spellchecking and always use
   the old check full viewport approach
2. Speedup the syntax aware spellchecking (Maybe by splitting it into two iterations:
   First collect all toens to spellcheck and shell out once to spellcheck them all
   Second build up the token stream using the typo information we got)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fallback to the old mechanism if no lexer is active.

Algorithm:
1. Wrap the active lexer's lex function and save it original value to restore it
2. Obtain the original token stream
3. Filter the tokens for visibility and if we want to spellcheck them (lexers.COMMENT and lexers.STRING by default)
4. Spellcheck the selected token. This is why this is unusably slow we shell out to our spellchecker for each token to check.
5. Split up the selected token into its correct and misspelled parts
6. Insert the correct parts unmodified and the misspelled ones as lexers.ERROR tokens into the token stream

Drawbacks:
1. It is unusably slow for now
2. The problem to decide which tokens should be spellchecked still remains.
   A lexer using different token names than we expect will prevent our spellchecking

TODO:
1. Introduce a way to disable syntax aware spellchecking and always use
   the old check full viewport approach
2. Speedup the syntax aware spellchecking (Maybe by splitting it into two iterations:
   First collect all toens to spellcheck and shell out once to spellcheck them all
   Second build up the token stream using the typo information we got)
</pre>
</div>
</content>
</entry>
<entry>
<title>fix start index for string.find</title>
<updated>2020-08-25T13:33:07+00:00</updated>
<author>
<name>Florian Fischer</name>
<email>florian.fl.fischer@fau.de</email>
</author>
<published>2020-08-25T13:23:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.muhq.space/vis-spellcheck/commit/?id=766c09d335568c0c82aa2391ff1fea85e45af95f'/>
<id>766c09d335568c0c82aa2391ff1fea85e45af95f</id>
<content type='text'>
Lua indexing starts at 1 not 0.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Lua indexing starts at 1 not 0.
</pre>
</div>
</content>
</entry>
<entry>
<title>make the style of typo highlights configurable</title>
<updated>2020-08-25T13:31:04+00:00</updated>
<author>
<name>Florian Fischer</name>
<email>florian.fl.fischer@fau.de</email>
</author>
<published>2020-08-25T13:31:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.muhq.space/vis-spellcheck/commit/?id=9fdc3215ffb07a89c053062bf1dc29f5c046db2d'/>
<id>9fdc3215ffb07a89c053062bf1dc29f5c046db2d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>toggle spellchecking on &lt;F7&gt; thanks to @leorosa</title>
<updated>2020-04-28T15:59:09+00:00</updated>
<author>
<name>Florian Fischer</name>
<email>florian.fl.fischer@fau.de</email>
</author>
<published>2020-04-28T15:59:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.muhq.space/vis-spellcheck/commit/?id=8cc0d0f3e1b30ae59c2b6d4a297318865e07c883'/>
<id>8cc0d0f3e1b30ae59c2b6d4a297318865e07c883</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>don't ignore the first typo</title>
<updated>2020-04-28T08:08:44+00:00</updated>
<author>
<name>Florian Fischer</name>
<email>florian.fl.fischer@fau.de</email>
</author>
<published>2020-04-28T08:08:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.muhq.space/vis-spellcheck/commit/?id=fb4e9cc708b48e9b169138a3d64abf1cbe8882d2'/>
<id>fb4e9cc708b48e9b169138a3d64abf1cbe8882d2</id>
<content type='text'>
The list commands used to retrieve all typos don't print a header line.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The list commands used to retrieve all typos don't print a header line.
</pre>
</div>
</content>
</entry>
<entry>
<title>make sure typos is always a string</title>
<updated>2020-04-28T08:06:26+00:00</updated>
<author>
<name>Florian Fischer</name>
<email>florian.fl.fischer@fau.de</email>
</author>
<published>2020-04-28T08:06:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.muhq.space/vis-spellcheck/commit/?id=a254660268d07ddaedc1ca2db2b5448a04a68c0c'/>
<id>a254660268d07ddaedc1ca2db2b5448a04a68c0c</id>
<content type='text'>
vis:pipe apparently returns nil when the executed command does not
write to stdout.
fixes #1.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
vis:pipe apparently returns nil when the executed command does not
write to stdout.
fixes #1.
</pre>
</div>
</content>
</entry>
</feed>
