summaryrefslogtreecommitdiff
path: root/content/post/kate-lsp-client-restart/index.md
diff options
context:
space:
mode:
authorChristoph Cullmann <cullmann@kde.org>2019-08-03 22:34:26 +0200
committerChristoph Cullmann <cullmann@kde.org>2019-08-03 22:34:26 +0200
commitfd043a564873506fd903cdb99d70ce6a62837461 (patch)
tree7f3e7dfa5257321c28a66cbf8ca6a9ec66bdd0d8 /content/post/kate-lsp-client-restart/index.md
parent826ec87025fbd2c565f9851715c7b91ba53a85a0 (diff)
add fixed urls
Diffstat (limited to 'content/post/kate-lsp-client-restart/index.md')
-rw-r--r--content/post/kate-lsp-client-restart/index.md52
1 files changed, 52 insertions, 0 deletions
diff --git a/content/post/kate-lsp-client-restart/index.md b/content/post/kate-lsp-client-restart/index.md
new file mode 100644
index 0000000..f22ccfd
--- /dev/null
+++ b/content/post/kate-lsp-client-restart/index.md
@@ -0,0 +1,52 @@
+---
+title: "Kate LSP Client Restart"
+date: 2019-07-07T15:13:00+02:00
+draft: false
+categories: [kde, kate, development]
+tags: [kde, kate]
+url: /posts/kate-lsp-client-restart/
+---
+
+Since my last post about the [LSP client progress](/posts/kate-lsp-client-progress/) in May I didn't work on that project at all I think.
+
+But the good news is, somebody else did scratch that itch on his own ;=)
+
+We have now a prototype plugin in kate.git master, see [lspclient](https://cgit.kde.org/kate.git/tree/addons/lspclient) in the addons directory.
+
+It is not compiled per default, you can turn it on via:
+
+> cmake -DCMAKE_INSTALL_PREFIX="your prefix" -DENABLE_LSPCLIENT=ON "kate src dir"
+
+It shares no code with my initial prototype.
+The author started this without knowing of my work.
+This might actually be not that bad, as this plugin is composed of a much smaller code base.
+This allows to get familiar with the code easier as with the code I copied over from Qt Creator for my initial try.
+
+But, even nicer, it does actually work a lot better than my variant, already now!
+
+What does work (tested with clangd and kate.git/work projects) at the moment:
+
+* Auto completion: you get the proper LSP server provided completion items
+<p align="center">
+ <a href="images/kate-auto-completion.png" target="_blank"><img width=500 src="images/kate-auto-completion.png"></a>
+</p>
+* Outline view: Get an extra tool view with the symbols of your current view
+<p align="center">
+ <a href="images/kate-outline-view.png" target="_blank"><img width=500 src="images/kate-outline-view.png"></a>
+</p>
+* Document highlight: highlight all occurrences of a variable/... inside the current view
+<p align="center">
+ <a href="images/kate-document-highlight.png" target="_blank"><img width=500 src="images/kate-document-highlight.png"></a>
+</p>
+* Code navigation: jump to the definition/declaration
+
+There is still a lot of stuff missing and this is all prototype quality.
+For example the document highlight implementation I added has no way to clear the highlighting at the moment beside document reload.
+
+But given I just needed one hour to add the document highlight support, I would say the code base is easy to adjust.
+
+=> If you have time and want a good LSP client, now you can join the fun and have direct results.
+
+As the author was kind enough to move his work on the plugin to the KDE infrastructure, feel welcome to show up on [kwrite-devel@kde.org](mailto:kwrite-devel@kde.org) and help out!
+All development discussions regarding this plugin happen there.
+We are happy to accept patches, too, if you are a new contributor!