Multilspy – Cross platform framework to develop Language Server Clients
multilspy is a cross-platform library designed to simplify the process of creating language server clients to query and obtain results of various static analyses from a wide variety of language servers that communicate over the Language Server Protocol. It is easily extensible to support any language that has a Language Server and currently supports Java, Rust, C# and Python. We aim to continuously add support for more language servers and languages. Language servers are tools that perform a variety of static analyses on code repositories and provide useful information such as type-directed…
What it does
In the maker’s words, at launch
multilspy is a cross-platform library designed to simplify the process of creating language server clients to query and obtain results of various static analyses from a wide variety of language servers that communicate over the Language Server Protocol. It is easily extensible to support any language that has a Language Server and currently supports Java, Rust, C# and Python. We aim to continuously add support for more language servers and languages. Language servers are tools that perform a variety of static analyses on code repositories and provide useful information such as type-directed code completion suggestions, symbol definition locations, symbol references, etc., over the Language Server Protocol (LSP). Since LSP is language-agnostic, multilspy can provide the results for static analyses of code in different languages over a common interface. multilspy intends to ease the process of using language servers, by handling various steps in using a language server: * Automatically handling the download of platform-specific server binaries, and setup/teardown of language servers * Handling JSON-RPC based communication between the client and the server * Maintaining and passing hand-tuned server and language specific configuration parameters * Providing a simple API to the user, while executing all steps of server-specific protocol steps to execute the query/request. Some of the analyses results that multilspy can provide are: * Finding the definition of a function or a class (textDocument/definition) * Finding the callers of a function or the instantiations of a class (textDocument/references) * Providing type-based dereference completions (textDocument/completion) * Getting information displayed when hovering over symbols, like method signature (textDocument/hover) * Getting list/tree of all symbols defined in a given file, along with symbol type like class, method, etc. (textDocument/documentSymbol)
Does the same job
all alternatives →- MAMultilspy – A library to easily use language servers to analyze code2023 · github.com · ▲6
Multilspy is a library that simplifies the use of language servers for static analysis of code. Language servers are tools that provide useful information about source code, such as code completion, symbol definition, references, etc. Multilspy abstracts the setup and communication with language servers, and exposes a common interface for different languages. Multilspy currently supports Java, Rust, C#, and Python, and can be easily extended to other languages. Multilspy is part of the monitors4codegen project, which introduces Monitor-Guided Decoding (MGD) for code generation using Language…

- SBSpaCy – Build tomorrow's language technology products with Python2015 · spacy.io · ▲93
- PApygls – a Pythonic generic language server2018 · github.com · ▲15
- JAJQL – A JSON Query Language CLI Tool Built with Rust2020 · crates.io · ▲25
- RARuniq, a little Lisp-inspired language that runs on JavaScript2015 · github.com · ▲24
More dev tools this month
the category →



Open-source GTM skills for technical founders
Dev tools · 29d ago · gtmcofounder.com

OpenTrailPaper is open-source bike computer firmware for the LilyGO T5S3 4.7" E-Paper PRO. It supports offline maps, GPX routes, FIT recording and Bluetooth sensors.
Dev tools · 1d ago · opentrailpaper.com

Launched alongside, August 2024
the whole month →
- IY
Life & fun · 2024 · ytch.xyz



- IA
Hey there HN! We’re Joe and Stopa, and today we’re open sourcing InstantDB, a client-side database that makes it easy to build real-time and collaborative apps like Notion and Figma. Building modern apps these days involves a lot of schleps. For a basic CRUD app you need to spin up servers, wire up endpoints, integrate auth, add permissions, and then marshal data from the backend to the frontend and back again. If you want to deliver a buttery smooth user experience, you’ll need to add optimistic updates and rollbacks. We do these steps over and over for every feature we build, which can…
Dev tools · 2024 · github.com