diff --git a/README.md b/README.md index d67000a..b3907da 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ With Serena, we provide * direct, out-of-the-box support for: * Python * TypeScript/Javascript - * PhP + * PHP * Go (need to install go and gopls first) * Rust * C/C++ @@ -80,8 +80,8 @@ With Serena, we provide * Kotlin (untested) * Dart (untested) - These languages are supported by the language server library [multilspy](https://github.com/microsoft/multilspy), which Serena uses under the hood. - But we did not explicitly test whether the support for these languages actually works. + These languages are supported by the language server library, but + we did not explicitly test whether the support for these languages actually works flawlessly. Further languages can, in principle, easily be supported by providing a shallow adapter for a new language server implementation. @@ -786,17 +786,16 @@ larger codebases. We built Serena on top of multiple existing open-source technologies, the most important ones being: 1. [multilspy](https://github.com/microsoft/multilspy). - A beautifully designed wrapper around language servers following the LSP. It - was not easily extendable with the symbolic - logic that Serena required, so instead of incorporating it as dependency, we - copied the source code - and adapted it to our needs. + A library which wraps language server implementations and adapts them for interaction via Python + and which provided the basis for our library Solid-LSP (src/solidlsp). + Solid-LSP provides pure synchronous LSP calls and extends the original library with the symbolic logic + that Serena required. 2. [Python MCP SDK](https://github.com/modelcontextprotocol/python-sdk) 3. [Agno](https://github.com/agno-agi/agno) and the associated [agent-ui](https://github.com/agno-agi/agent-ui), which we use to allow Serena to work with any model, beyond the ones supporting the MCP. -4. All the language servers that we use through multilspy. +4. All the language servers that we use through Solid-LSP. Without these projects, Serena would not have been possible (or would have been significantly more difficult to build). diff --git a/src/README.md b/src/README.md index fc5a9c9..4198627 100644 --- a/src/README.md +++ b/src/README.md @@ -1,4 +1,4 @@ Serena uses (modified) versions of other libraries/packages: - * [multilspy](https://github.com/oraios/multilspy) (for language server protocol support); original repo: microsoft/multilspy + * solidlsp (our fork of [microsoft/multilspy](https://github.com/microsoft/multilspy) for fully synchronous language server communication) * [interprompt](https://github.com/oraios/interprompt) (our prompt templating library) diff --git a/src/solidlsp/ls_config.py b/src/solidlsp/ls_config.py index 27deaf1..07b68f5 100644 --- a/src/solidlsp/ls_config.py +++ b/src/solidlsp/ls_config.py @@ -1,5 +1,5 @@ """ -Configuration parameters for Multilspy. +Configuration objects for language servers """ import fnmatch diff --git a/src/solidlsp/settings.py b/src/solidlsp/settings.py index 166be83..38b3010 100644 --- a/src/solidlsp/settings.py +++ b/src/solidlsp/settings.py @@ -1,5 +1,5 @@ """ -Defines the settings for multilspy. +Defines settings for Solid-LSP """ import os @@ -7,10 +7,6 @@ import pathlib class SolidLSPSettings: - """ - Provides the various settings for multilspy. - """ - @staticmethod def get_language_server_directory() -> str: """Returns the directory for language servers""" diff --git a/test/multilspy/go/test_go_basic.py b/test/solidlsp/go/test_go_basic.py similarity index 100% rename from test/multilspy/go/test_go_basic.py rename to test/solidlsp/go/test_go_basic.py diff --git a/test/multilspy/java/test_java_basic.py b/test/solidlsp/java/test_java_basic.py similarity index 100% rename from test/multilspy/java/test_java_basic.py rename to test/solidlsp/java/test_java_basic.py diff --git a/test/multilspy/php/test_php_basic.py b/test/solidlsp/php/test_php_basic.py similarity index 100% rename from test/multilspy/php/test_php_basic.py rename to test/solidlsp/php/test_php_basic.py diff --git a/test/multilspy/python/test_python_basic.py b/test/solidlsp/python/test_python_basic.py similarity index 100% rename from test/multilspy/python/test_python_basic.py rename to test/solidlsp/python/test_python_basic.py diff --git a/test/multilspy/python/test_retrieval_with_ignored_dirs.py b/test/solidlsp/python/test_retrieval_with_ignored_dirs.py similarity index 100% rename from test/multilspy/python/test_retrieval_with_ignored_dirs.py rename to test/solidlsp/python/test_retrieval_with_ignored_dirs.py diff --git a/test/multilspy/python/test_symbol_retrieval.py b/test/solidlsp/python/test_symbol_retrieval.py similarity index 100% rename from test/multilspy/python/test_symbol_retrieval.py rename to test/solidlsp/python/test_symbol_retrieval.py diff --git a/test/multilspy/rust/test_rust_basic.py b/test/solidlsp/rust/test_rust_basic.py similarity index 100% rename from test/multilspy/rust/test_rust_basic.py rename to test/solidlsp/rust/test_rust_basic.py diff --git a/test/multilspy/typescript/test_typescript_basic.py b/test/solidlsp/typescript/test_typescript_basic.py similarity index 100% rename from test/multilspy/typescript/test_typescript_basic.py rename to test/solidlsp/typescript/test_typescript_basic.py