megalithic / zk.nvim

Neovim plugin as a lightweight wrapper around https://github.com/mickael-menu/zk
GNU General Public License v3.0
25 stars 11 forks source link

Handle LSP things, similar to neuron's LS? #11

Closed megalithic closed 3 years ago

megalithic commented 3 years ago

https://github.com/aca/neuron-language-server

mickael-menu commented 3 years ago

That's a really interesting and promising approach! It could enable basic support for zk in any LSP-compatible editor. However, I wonder how well the Zettelkasten use cases match LSP which is made for programming languages. Do you have some idea @megalithic?

The repo you shared for neuron is small enough to be easily integrated with zk, for initial testing.

mickael-menu commented 3 years ago

The sourcegraph/go-lsp library used by the repo seems to be a bit obsolete, this one could be an alternative but still in early development: https://github.com/tliron/glsp

mickael-menu commented 3 years ago

@megalithic I've been experimenting a bit with this, and I'm confident this is the way forward for basic features: tags and links completion, following links, etc. zk.nvim can then be focused on more high-level features like showing backlinks.

I think I'll have something to show next week or the week after.

megalithic commented 3 years ago

Yes! That is fantastic and I agree

mickael-menu commented 3 years ago

Here's a teaser of tag completion ;)

Screenshot 2021-03-28 at 20 25 28

We can also add some "documentation" next to the completion item, here I put the content of a random note. Neovim interprets the Markdown and formats it accordingly, so we will be able to have a nice preview of the notes when creating links 👍

megalithic commented 3 years ago

Perhaps we can nail down the actual features we want zk.nvim to have. I’ve sort of just been using zk.nvim to play around with creating my first nvim plugin in lua and to improve my own note taking system using zk at its core. With a zklsp potentially, it opens up an incredible suite of tools to fully manage and interact with your PKM all with in neovim.

megalithic commented 3 years ago

just cross-referencing to your open PR: https://github.com/mickael-menu/zk/pull/21

mickael-menu commented 3 years ago

Cross-referencing a dedicated issue tracking each LSP feature in zk: https://github.com/mickael-menu/zk/issues/22

megalithic commented 3 years ago

Closing this out and will continue to track in https://github.com/mickael-menu/zk