From 50dd532b089558b373c28a59a31b8761e7dae2b3 Mon Sep 17 00:00:00 2001 From: Felix Zeller Date: Sun, 24 Mar 2024 19:32:18 -0400 Subject: [PATCH] zed extension --- markdown-oxide-zed/.gitignore | 1 + markdown-oxide-zed/Cargo.lock | 320 ++++++++++++++++++++++++++++++ markdown-oxide-zed/Cargo.toml | 10 + markdown-oxide-zed/extension.toml | 12 ++ markdown-oxide-zed/extension.wasm | Bin 0 -> 120958 bytes markdown-oxide-zed/src/lib.rs | 38 ++++ 6 files changed, 381 insertions(+) create mode 100644 markdown-oxide-zed/.gitignore create mode 100644 markdown-oxide-zed/Cargo.lock create mode 100644 markdown-oxide-zed/Cargo.toml create mode 100644 markdown-oxide-zed/extension.toml create mode 100644 markdown-oxide-zed/extension.wasm create mode 100644 markdown-oxide-zed/src/lib.rs diff --git a/markdown-oxide-zed/.gitignore b/markdown-oxide-zed/.gitignore new file mode 100644 index 00000000..ea8c4bf7 --- /dev/null +++ b/markdown-oxide-zed/.gitignore @@ -0,0 +1 @@ +/target diff --git a/markdown-oxide-zed/Cargo.lock b/markdown-oxide-zed/Cargo.lock new file mode 100644 index 00000000..19ccc106 --- /dev/null +++ b/markdown-oxide-zed/Cargo.lock @@ -0,0 +1,320 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "anyhow" +version = "1.0.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247" + +[[package]] +name = "bitflags" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "hashbrown" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "id-arena" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005" + +[[package]] +name = "indexmap" +version = "2.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +dependencies = [ + "equivalent", + "hashbrown", + "serde", +] + +[[package]] +name = "itoa" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" + +[[package]] +name = "leb128" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" + +[[package]] +name = "log" +version = "0.4.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" + +[[package]] +name = "markdown-oxide-zed" +version = "0.1.0" +dependencies = [ + "zed_extension_api", +] + +[[package]] +name = "proc-macro2" +version = "1.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "ryu" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" + +[[package]] +name = "semver" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" + +[[package]] +name = "serde" +version = "1.0.197" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.197" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.114" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "spdx" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29ef1a0fa1e39ac22972c8db23ff89aea700ab96aa87114e1fb55937a631a0c9" +dependencies = [ + "smallvec", +] + +[[package]] +name = "syn" +version = "2.0.55" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "002a1b3dbf967edfafc32655d0f377ab0bb7b994aa1d32c8cc7e9b8bf3ebb8f0" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-segmentation" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "wasm-encoder" +version = "0.201.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9c7d2731df60006819b013f64ccc2019691deccf6e11a1804bc850cd6748f1a" +dependencies = [ + "leb128", +] + +[[package]] +name = "wasm-metadata" +version = "0.201.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fd83062c17b9f4985d438603cde0a5e8c5c8198201a6937f778b607924c7da2" +dependencies = [ + "anyhow", + "indexmap", + "serde", + "serde_derive", + "serde_json", + "spdx", + "wasm-encoder", + "wasmparser", +] + +[[package]] +name = "wasmparser" +version = "0.201.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84e5df6dba6c0d7fafc63a450f1738451ed7a0b52295d83e868218fa286bf708" +dependencies = [ + "bitflags", + "indexmap", + "semver", +] + +[[package]] +name = "wit-bindgen" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "288f992ea30e6b5c531b52cdd5f3be81c148554b09ea416f058d16556ba92c27" +dependencies = [ + "bitflags", + "wit-bindgen-rt", + "wit-bindgen-rust-macro", +] + +[[package]] +name = "wit-bindgen-core" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e85e72719ffbccf279359ad071497e47eb0675fe22106dea4ed2d8a7fcb60ba4" +dependencies = [ + "anyhow", + "wit-parser", +] + +[[package]] +name = "wit-bindgen-rt" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcb8738270f32a2d6739973cbbb7c1b6dd8959ce515578a6e19165853272ee64" + +[[package]] +name = "wit-bindgen-rust" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8a39a15d1ae2077688213611209849cad40e9e5cccf6e61951a425850677ff3" +dependencies = [ + "anyhow", + "heck", + "indexmap", + "wasm-metadata", + "wit-bindgen-core", + "wit-component", +] + +[[package]] +name = "wit-bindgen-rust-macro" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d376d3ae5850526dfd00d937faea0d81a06fa18f7ac1e26f386d760f241a8f4b" +dependencies = [ + "anyhow", + "proc-macro2", + "quote", + "syn", + "wit-bindgen-core", + "wit-bindgen-rust", +] + +[[package]] +name = "wit-component" +version = "0.201.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "421c0c848a0660a8c22e2fd217929a0191f14476b68962afd2af89fd22e39825" +dependencies = [ + "anyhow", + "bitflags", + "indexmap", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser", + "wit-parser", +] + +[[package]] +name = "wit-parser" +version = "0.201.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "196d3ecfc4b759a8573bf86a9b3f8996b304b3732e4c7de81655f875f6efdca6" +dependencies = [ + "anyhow", + "id-arena", + "indexmap", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser", +] + +[[package]] +name = "zed_extension_api" +version = "0.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5c51cad4152bb5eb35b20dccdcbfb36f48d8952a2ed2d3e25b70361007d953b" +dependencies = [ + "wit-bindgen", +] diff --git a/markdown-oxide-zed/Cargo.toml b/markdown-oxide-zed/Cargo.toml new file mode 100644 index 00000000..587ab17e --- /dev/null +++ b/markdown-oxide-zed/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "markdown-oxide-zed" +version = "0.1.0" +edition = "2021" + +[dependencies] +zed_extension_api = "0.0.4" + +[lib] +crate-type = ["cdylib"] diff --git a/markdown-oxide-zed/extension.toml b/markdown-oxide-zed/extension.toml new file mode 100644 index 00000000..eb763db9 --- /dev/null +++ b/markdown-oxide-zed/extension.toml @@ -0,0 +1,12 @@ +id = "markdown-oxide" +name = "Markdown Oxide" +description = "Obsidian-Inspired PKM Language Server for Zed" +version = "0.0.1" +schema_version = 1 +authors = ["Felix Zeller "] +repository = "https://github.com/Feel-ix-343/markdown-oxide" + + +[language_servers.markdown-oxide] +name = "Markdown-Oxide LSP" +language = "Markdown" diff --git a/markdown-oxide-zed/extension.wasm b/markdown-oxide-zed/extension.wasm new file mode 100644 index 0000000000000000000000000000000000000000..e6c4cb78551df5151bd54a60e5f6c8629d981197 GIT binary patch literal 120958 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 XNC~{-3w*azye(+X%i&Gn+@|(F?9#cY literal 0 HcmV?d00001 diff --git a/markdown-oxide-zed/src/lib.rs b/markdown-oxide-zed/src/lib.rs new file mode 100644 index 00000000..02fb636f --- /dev/null +++ b/markdown-oxide-zed/src/lib.rs @@ -0,0 +1,38 @@ +use zed::Command; +use zed_extension_api as zed; + +struct Moxide { + +} + + +impl zed::Extension for Moxide { + fn language_server_command( + &mut self, + config: zed::LanguageServerConfig, + worktree: &zed::Worktree, + ) -> zed::Result { + + + zed::set_language_server_installation_status( + &config.name, + &zed::LanguageServerInstallationStatus::Downloading, + ); + + Ok(Command { + command: "markdown-oxide".to_string(), + args: Default::default(), + env: Default::default() + }) + + } + + fn new() -> Self + where + Self: Sized { + + Moxide{} + } +} + +zed::register_extension!(Moxide);