Skip to content
/ weblsp Public

A Language Server for the Web — WORK IN PROGRESS ⚠️

License

Notifications You must be signed in to change notification settings

web-lsp/weblsp

Repository files navigation

WEBlsp logo

A language server for the Web.

WEBlsp is an implementation of the 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, our own modern and fast language services, designed to be integrated into language servers written in Rust or via WebAssembly.

Quick Links

🐛 Report a bug, please read our contributing guidelines and code of conduct first.

🚨 Report a security vulnerability, and be sure to review our security policy.

💬 Join the discussion, if you have any questions, ideas, or suggestions.

Development

Getting Started

To get started with WEBlsp, you will need to install the following tools:

Useful commands:

Command Description
just install Install NPM dependencies across all crates and packages
just build Build WEBlsp crate and every language services
just build-wasm Build WASM packages
just test Run tests for all crates and packages
just benchmark Run native, WASM, and E2E benchmarks

Crates

WEBlsp is a monorepo that contains the following crates (Rust packages):

Name Description Crates.io README
weblsp The main language server WIP README.md
csslsrs CSS language service WIP README.md

Packages

Additionally, WEBlsp contains the following NPM packages (JavaScript packages):

Name Description NPM README
vscode WEBlsp VSCode extension WIP README.md
csslsrs CSSlsrs API for JS/TS WIP README.md
benchmark-wasm Benchmark WASM packages WIP README.md
ls-tests-benchmarks End-to-end tests and benchmarks for WEBlsp WIP README.md

About

A Language Server for the Web — WORK IN PROGRESS ⚠️

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages