|
1 | 1 | <picture> |
2 | | - <source media="(prefers-color-scheme: dark)" srcset="./.github/assets/WEBlsp_logo_dark.svg" /> |
3 | | - <img alt="WEBlsp logo" src="./.github/assets/WEBlsp_logo_light.svg" /> |
| 2 | + <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/web-lsp/weblsp/refs/heads/main/.github/assets/WEBlsp_logo_dark.svg" /> |
| 3 | + <img alt="WEBlsp logo" src="https://raw.githubusercontent.com/web-lsp/weblsp/refs/heads/main/.github/assets/WEBlsp_logo_light.svg" /> |
4 | 4 | </picture> |
5 | 5 |
|
6 | | -A better Language Server for the Web, made with Rust. |
| 6 | +A language server for the Web. |
7 | 7 |
|
8 | | -(Work In Progress) ~~It provides full-featured language support for HTML and CSS, including syntax highlighting, code completion, error checking, and more.~~ Compliant with the [Language Server Protocol](https://microsoft.github.io/language-server-protocol/), WEBlsp is designed to work with any IDE that supports LSP. Build on top of ~~HTMLlsrs~~ and [CSSlsrs](https://github.com/web-lsp/csslsrs), our own modern, fast, and reliable Language Services. |
| 8 | +WEBlsp is an implementation of the [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) (Work In Progress) ~~providing full-featured language support for HTML and CSS, including code completion, diagnostics, hover, and more.~~ It uses ~~HTMLlsrs~~ and [CSSlsrs](https://github.com/web-lsp/weblsp/tree/main/crates/csslsrs), our own modern and fast language services, designed to be integrated into language servers written in Rust or via WebAssembly. |
9 | 9 |
|
10 | | -## Crates |
| 10 | +## Quick Links |
| 11 | + |
| 12 | +🐛 [Report a bug](https://github.com/web-lsp/weblsp/issues), please read our [contributing guidelines](https://github.com/web-lsp/weblsp/blob/main/CONTRIBUTING.md) and [code of conduct](https://github.com/web-lsp/weblsp/blob/main/CODE_OF_CONDUCT.md) first. |
| 13 | + |
| 14 | +🚨 [Report a security vulnerability](https://github.com/web-lsp/weblsp/security/advisories/new), and be sure to review our [security policy](https://github.com/web-lsp/weblsp/blob/main/SECURITY.md). |
| 15 | + |
| 16 | +💬 [Join the discussion](https://github.com/web-lsp/weblsp/discussions), if you have any questions, ideas, or suggestions. |
| 17 | + |
| 18 | +## Development |
| 19 | + |
| 20 | +### Getting Started |
| 21 | + |
| 22 | +To get started with WEBlsp, you will need to install the following tools: |
| 23 | + |
| 24 | +- [Rust](https://www.rust-lang.org/tools/install) |
| 25 | +- [Node.js](https://nodejs.org/en/download/) |
| 26 | +- [PNPM](https://pnpm.io/installation) |
| 27 | +- [Just](https://just.systems/) |
| 28 | +- [wasm-bindgen-cli](https://rustwasm.github.io/wasm-bindgen/) (optional, for building WASM binaries) |
| 29 | +- [wasm-opt](https://github.com/WebAssembly/binaryen) (optional, for WASM benchmarks and releases) |
| 30 | + |
| 31 | +Useful commands: |
| 32 | + |
| 33 | +| Command | Description | |
| 34 | +| ----------------- | ------------------------------------------------------- | |
| 35 | +| `just install` | Install NPM dependencies across all crates and packages | |
| 36 | +| `just build` | Build WEBlsp crate and every language services | |
| 37 | +| `just build-wasm` | Build WASM packages | |
| 38 | +| `just test` | Run tests for all crates and packages | |
| 39 | +| `just benchmark` | Run native, WASM, and E2E benchmarks | |
| 40 | + |
| 41 | +### Crates |
11 | 42 |
|
12 | 43 | WEBlsp is a monorepo that contains the following crates (Rust packages): |
13 | 44 |
|
14 | 45 | | Name | Description | Crates.io | README | |
15 | 46 | | --------- | ------------------------ | --------- | --------------------------------------- | |
16 | | -| `weblsp` | The main Language Server | WIP | [README.md](./crates/weblsp/README.md) | |
17 | | -| `csslsrs` | CSS Language Service | WIP | [README.md](./crates/csslsrs/README.md) | |
| 47 | +| `weblsp` | The main language server | WIP | [README.md](./crates/weblsp/README.md) | |
| 48 | +| `csslsrs` | CSS language service | WIP | [README.md](./crates/csslsrs/README.md) | |
18 | 49 |
|
19 | | -## Packages |
| 50 | +### Packages |
20 | 51 |
|
21 | 52 | Additionally, WEBlsp contains the following NPM packages (JavaScript packages): |
22 | 53 |
|
23 | | -| Name | Description | NPM | README | |
24 | | -| ---------------- | ------------------------- | --- | ------------------------------------------------ | |
25 | | -| `vscode` | WEBlsp VSCode extension | WIP | [README.md](./packages/vscode/README.md) | |
26 | | -| `csslsrs` | WASM CSS Language Service | WIP | [README.md](./packages/csslsrs/README.md) | |
27 | | -| `benchmark-wasm` | Benchmark WASM packages | WIP | [README.md](./packages/benchmark-wasm/README.md) | |
| 54 | +| Name | Description | NPM | README | |
| 55 | +| --------------------- | ------------------------------------------ | --- | ----------------------------------------------------- | |
| 56 | +| `vscode` | WEBlsp VSCode extension | WIP | [README.md](./packages/vscode/README.md) | |
| 57 | +| `csslsrs` | CSSlsrs API for JS/TS | WIP | [README.md](./packages/csslsrs/README.md) | |
| 58 | +| `benchmark-wasm` | Benchmark WASM packages | WIP | [README.md](./packages/benchmark-wasm/README.md) | |
| 59 | +| `ls-tests-benchmarks` | End-to-end tests and benchmarks for WEBlsp | WIP | [README.md](./packages/ls-tests-benchmarks/README.md) | |
| 60 | + |
0 commit comments