<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vis-lspc/init.lua, branch multiple_ls_per_file</title>
<subtitle>language server protocol client for the vis editor</subtitle>
<link rel='alternate' type='text/html' href='https://git.muhq.space/vis-lspc/'/>
<entry>
<title>call the new hooks</title>
<updated>2023-11-21T19:19:38+00:00</updated>
<author>
<name>Florian Fischer</name>
<email>florian.fischer@muhq.space</email>
</author>
<published>2023-11-21T19:12:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.muhq.space/vis-lspc/commit/?id=d230c502db193ee81da116386d1cdff5c5ac3e37'/>
<id>d230c502db193ee81da116386d1cdff5c5ac3e37</id>
<content type='text'>
The two new hooks allow to execute user code after certain events.
They are called with the language server table as first argument.

 * initialized_hook is called after the initialized notification
   was sent.
 * file_open_hook is called after sending a textDocument/didOpen
   notification.
successfully initialized and when a new file is opened by the editor.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The two new hooks allow to execute user code after certain events.
They are called with the language server table as first argument.

 * initialized_hook is called after the initialized notification
   was sent.
 * file_open_hook is called after sending a textDocument/didOpen
   notification.
successfully initialized and when a new file is opened by the editor.
</pre>
</div>
</content>
</entry>
<entry>
<title>include some of the ls_* methods in the language server's table</title>
<updated>2023-11-21T19:19:38+00:00</updated>
<author>
<name>Florian Fischer</name>
<email>florian.fischer@muhq.space</email>
</author>
<published>2023-11-21T19:08:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.muhq.space/vis-lspc/commit/?id=af541188335dda55594d0c7de92b823e181049de'/>
<id>af541188335dda55594d0c7de92b823e181049de</id>
<content type='text'>
Including methods in the language server table allows them to be used
outside of vis-lspc.

Additionally, I think this makes more sense to use them as methods
with the ls:method(...) syntax instead of calling them as ls_*(ls, ...).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Including methods in the language server table allows them to be used
outside of vis-lspc.

Additionally, I think this makes more sense to use them as methods
with the ls:method(...) syntax instead of calling them as ls_*(ls, ...).
</pre>
</div>
</content>
</entry>
<entry>
<title>support navigating in the merged diagnostics of multiple servers</title>
<updated>2023-11-21T19:19:36+00:00</updated>
<author>
<name>Florian Fischer</name>
<email>florian.fischer@muhq.space</email>
</author>
<published>2023-11-16T16:04:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.muhq.space/vis-lspc/commit/?id=391e0d3345910d1c51e39f7080f806c9f2170003'/>
<id>391e0d3345910d1c51e39f7080f806c9f2170003</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>add functions to compare LSP ranges and positions</title>
<updated>2023-11-21T19:18:57+00:00</updated>
<author>
<name>Florian Fischer</name>
<email>florian.fischer@muhq.space</email>
</author>
<published>2023-11-16T16:03:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.muhq.space/vis-lspc/commit/?id=e4a85d6350577b4903171e8c68db07820bb41408'/>
<id>e4a85d6350577b4903171e8c68db07820bb41408</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>support showing diagnostics from multiple language servers</title>
<updated>2023-11-21T19:18:53+00:00</updated>
<author>
<name>Florian Fischer</name>
<email>florian.fischer@muhq.space</email>
</author>
<published>2023-11-16T15:13:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.muhq.space/vis-lspc/commit/?id=cc2f4949d4949424d939d43e80497d8f5f94b4bc'/>
<id>cc2f4949d4949424d939d43e80497d8f5f94b4bc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>use a global mapping of open files</title>
<updated>2023-11-21T19:17:30+00:00</updated>
<author>
<name>Florian Fischer</name>
<email>florian.fischer@muhq.space</email>
</author>
<published>2023-11-16T15:10:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.muhq.space/vis-lspc/commit/?id=68484a2f17583428308427fd16c494e5ba204bc5'/>
<id>68484a2f17583428308427fd16c494e5ba204bc5</id>
<content type='text'>
This allows us to support opening a single file in multiple
language server instances.
This can be useful when combining for example a latex and a language
tool language server.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows us to support opening a single file in multiple
language server instances.
This can be useful when combining for example a latex and a language
tool language server.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix lscp.open_file not actually adding to history</title>
<updated>2023-11-21T12:58:37+00:00</updated>
<author>
<name>Michiel van den Heuvel</name>
<email>michielvdnheuvel@gmail.com</email>
</author>
<published>2023-11-21T12:58:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.muhq.space/vis-lspc/commit/?id=17e40a5be84b51fa004a985c004d3ff34e477662'/>
<id>17e40a5be84b51fa004a985c004d3ff34e477662</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix wandering empty diagnostic highlights</title>
<updated>2023-10-12T18:14:57+00:00</updated>
<author>
<name>Florian Fischer</name>
<email>florian.fischer@muhq.space</email>
</author>
<published>2023-10-12T18:14:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.muhq.space/vis-lspc/commit/?id=ecd67870e578c061b06ecc4072477da5e9ea9f52'/>
<id>ecd67870e578c061b06ecc4072477da5e9ea9f52</id>
<content type='text'>
The last commit introduces support for highlighting empty selections
by properly calculating their vis ranges.
However File:content does return an empty string for empty ranges
and we can not check whether the diagnostic still applies to the same
position.

This is fixed by faking a one character range when receiving an
empty one.
Doing so we get a valid one-character content we can compare and
still have proper highlighting because we unconditionally decrement
the range end in highlight_diagnostics.

Fixes: 7099e56062861fc8dbb143e78447cce6bf886a97
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The last commit introduces support for highlighting empty selections
by properly calculating their vis ranges.
However File:content does return an empty string for empty ranges
and we can not check whether the diagnostic still applies to the same
position.

This is fixed by faking a one character range when receiving an
empty one.
Doing so we get a valid one-character content we can compare and
still have proper highlighting because we unconditionally decrement
the range end in highlight_diagnostics.

Fixes: 7099e56062861fc8dbb143e78447cce6bf886a97
</pre>
</div>
</content>
</entry>
<entry>
<title>fix diagnostic highlighting and message</title>
<updated>2023-10-12T16:52:19+00:00</updated>
<author>
<name>Thim Cederlund</name>
<email>thim@cederlund.de</email>
</author>
<published>2023-10-11T15:28:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.muhq.space/vis-lspc/commit/?id=7099e56062861fc8dbb143e78447cce6bf886a97'/>
<id>7099e56062861fc8dbb143e78447cce6bf886a97</id>
<content type='text'>
Some language servers report diagnostics with empty ranges, start and
end are at the same line and character, which currently results in
no highlighting at all.

Since the end of a LSP range is exclusive we always subtract 1 from
it which results in invalid ranges when the server has sent an empty one.
Introduce a check to fix this special case.

`textDocument/publishDiagnostics` doesn't always have a `code` field,
resulting in `diagnostic.code` being nil and so it is replaced with
`diagnostic` in those cases.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some language servers report diagnostics with empty ranges, start and
end are at the same line and character, which currently results in
no highlighting at all.

Since the end of a LSP range is exclusive we always subtract 1 from
it which results in invalid ranges when the server has sent an empty one.
Introduce a check to fix this special case.

`textDocument/publishDiagnostics` doesn't always have a `code` field,
resulting in `diagnostic.code` being nil and so it is replaced with
`diagnostic` in those cases.
</pre>
</div>
</content>
</entry>
<entry>
<title>allow to specify the syntax to use for the diagnostics commands</title>
<updated>2023-10-12T16:50:28+00:00</updated>
<author>
<name>Florian Fischer</name>
<email>florian.fischer@muhq.space</email>
</author>
<published>2023-10-08T08:38:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.muhq.space/vis-lspc/commit/?id=c91a9c94b1408a308a33acbe56e8eb9bcf86d197'/>
<id>c91a9c94b1408a308a33acbe56e8eb9bcf86d197</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
