zed
zed copied to clipboard
Add advanced markdown support via markdown-oxide LSP
Release Notes:
- Add advanced markdown support through supporting Obsidian syntax, completions, and backlinks for Obsidian vaults (and other collections of md files).
(I assume this will not be merged any time soon as the language server is so new and not packaged for macos. However, I am happy that I got my language server markdown oxide working with zed on linux, and I wanted to share; it can be installed with paru -S markdown-oxide-git and with this PR, opening a MD file in a folder of MD files will activate the server)
We require contributors to sign our Contributor License Agreement, and we don't have @Feel-ix-343 on file. You can sign our CLA at https://zed.dev/cla. Once you've signed, post a comment here that says '@cla-bot check'.
@cla-bot check
The cla-bot has been summoned, and re-checked this pull request!
Thanks for sharing, this is awesome! Any chance I could cajole you into making it work on macOS too???
I'm going to close this for now, but I hope we have extensions-with-language-server support available in the next few weeks; at which point you can publish this as an extension!
:+1: Sounds good and thank you!
It should work on macos if you do a manual installation. However, this is not ideal, and I am trying to publish on homebrew to make this easier!
Quick question too @ConradIrwin given your experience: For an LS like this, is there potential for it to be a default markdown LS in an editor (not zed specifically) instead of an extension? It has many obsidian-related features, but it also supports general markdown syntax quite well. Are the features to specific for the LS to have a general application? What do you think?
Our current plan is to move everything to an extension and then install some extensions by default.
I'm not sure in this specific case: on the one hand having an LSP is better than not, but on the other, I'm not sure we'd want the obsidian features for every markdown file.
(not to be insufferable :smile:) I don't see why one would not want find_references for heading, files, tags, footnotes; fast completions for files, heading, tags, ...; renaming for the like; code actions; immaculate performance :hot_face:; ... My aim was really to make a cool markdown language server that did everything that I wanted for my personal markdown files; Obsidian compatibility is mostly a novel MD-LS feature!
(I totally see your point and/but I'm really excited about this project!)
I’m not related to Zed dev-team and this is my personal point of view: I see no problem having this as the default markdown LS until it fully supports general markdown specs.
@Feel-ix-343: Any news about the plugin? Are Zed extensions-with-language-server support landed already?
@VKondakoff I didn't know that language server extensions landed. I will make the extension today!
And it mostly supports general markdown specs -- with a few additions for obsidian syntax.
It is very pre-release however -- check out the issues on the repo. I am using it, but some basic things are broken or missing -- all problems solved through open source, however.
Alrite I made the extension here https://github.com/Feel-ix-343/markdown-oxide-zed
I'll need to figure out how to add it to the main repos. You can install by adding the extension as a dev extension (and installing markdown oxide manually). I am not sure if there is support for language servers yet in prod though
Here is the PR: https://github.com/zed-industries/extensions/pull/373