Skip to content

About

Versioned JSON-RPC protocol and conformance suite for Overwatch Workshop language providers.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Language Provider Protocol

The Language Provider Protocol (LPP) is a versioned protocol that lets tools such as Wright, editors, and agents talk to language-provider processes. A provider exposes diagnostics, symbol queries, compilation, and source edits for one language over JSON-RPC, without sharing its internal AST.

opy-rs ships opy-provider, the LPP provider Wright uses for OverPy. The spec covers protocol versions 1.0 to 1.7.

Implementing a provider

  1. Read the specification. It is enough to build a provider.

  2. Run the protocol-scope conformance scenarios against your provider:

    cargo build --release --bin lpp-conformance-runner
    ./target/release/lpp-conformance-runner --provider ./your-provider --fixtures conformance/fixtures/v1 --scope protocol

    The semantics scenarios target the bundled mock provider.

See conformance/README.md for details. Passing conformance shows the protocol is handled correctly, not that the underlying compiler supports every language feature.

Documentation

See docs/README.md for the specification index and architecture decisions.

Contributing

Read AGENTS.md first.

License

MIT. Providers built on LPP may use any license.

About

Versioned JSON-RPC protocol and conformance suite for Overwatch Workshop language providers.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages