<div dir="auto">For the diagnostics: maybe the InlineNote interface could be useful here, see:<div dir="auto"><a href="https://kate-editor.org/2018/08/17/kate-gains-support-for-inline-notes/">https://kate-editor.org/2018/08/17/kate-gains-support-for-inline-notes/</a><br></div><div dir="auto"><br></div><div dir="auto">If the interface is not good enough, I'm happy to improve it.</div><div dir="auto"><br></div><div dir="auto">Best regards</div><div dir="auto">Dominik</div><div dir="auto"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Mark Nauwelaerts <<a href="mailto:mark.nauwelaerts@gmail.com">mark.nauwelaerts@gmail.com</a>> schrieb am So., 7. Juli 2019, 14:39:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 07/07/19 13:57, Christoph Cullmann wrote:<br>
> Hi,<br>
><br>
>> Thanks for the appreciation :-)<br>
>><br>
>> I indeed intend to continue, and some more commits on server control<br>
>> and configuration are coming up soon.<br>
>> Following that, I plan to add another (bottom) toolview to display<br>
>> info on diagnostics, references, (multiple) definitions ... Some<br>
>> highlight method calls are also related to that area, so may be<br>
>> considered along as well. That's then heading in the direction of<br>
>> features proposed above, one step at a time ;-)<br>
><br>
> Nice, keep the stuff going ;=)<br>
><br>
> I was so free to implement a initial version of documentHighlight.<br>
><br>
> Seems to work reasonable well, just need a way to later clear the ranges again.<br>
><br>
> I aliased<br>
><br>
> /**<br>
> * Language Server Protocol Position<br>
> * line + column, 0 based, negative for invalid<br>
> * maps 1:1 to KTextEditor::Cursor<br>
> */<br>
> using LSPPosition = KTextEditor::Cursor;<br>
><br>
> /**<br>
> * Language Server Protocol Range<br>
> * start + end tuple of LSPPosition<br>
> * maps 1:1 to KTextEditor::Range<br>
> */<br>
> using LSPRange = KTextEditor::Range;<br>
><br>
> as these types really map 1:1, even the semantics of "negative == invalid".<br>
><br>
> This avoid the conversions and allows to use the convenience API of the <br>
> cursor/range<br>
> we provide.<br>
><br>
> I hope this is ok?<br>
><br>
> Greetings<br>
> Christoph<br>
><br>
I probably "duplicated" the Position and Range type in an attempt/idea to make <br>
the lower level protocol/server only depend on own or "low level" (Qt) types. <br>
But that is not quite primordial so if it alternatively also works and compiles <br>
that way ... albeit then probably with some adjustment here or there for line() <br>
or column() accessors.<br>
<br>
So I kept going ;-) and then I should probably mention that I added support for <br>
"references". And moreover also added a minimalistic (bottom) toolview and <br>
arranged for adding marks (markinterface) and highlight (movingrange) for the <br>
(location) results of "definition", "declaration" and "references". They are <br>
also cleared at suitable times. As such, it is then a small (planned/next) step <br>
to do so as well for "documentHighlight". As you presumably already have the <br>
parsing for the latter, I could push the (almost finished/polished) former (on <br>
"references" and such) this evening, and then you could rebase (cough, or a tad <br>
more than that)? Or alternatively, if you prefer I could integrate/rebase your <br>
patches if short on time/opportunity.<br>
<br>
Beyond that step, I was/am planning to handle diagnostics notification, along <br>
with any highlighting/marking that might involve. So that will also involve <br>
that (code) area ...<br>
<br>
Regards,<br>
Mark.<br>
<br>
<br>
</blockquote></div>