Language Server powered by the Slither static analyzer
Project description
Slither Language Server
How to install
Run the following command from the project root directory (preferably inside a Python virtual environment):
python -m pip install .
Features
- Go to implementations/definitions
- Find all references
- Show call hierarchy
- Show type hierarchy
- View and filter detector results
Adding new features
New request handlers should be registered in the constructor of SlitherServer. Please note that in order to keep the conceptual load to a minimum, handlers should not be declared directly in the SlitherServer class itself. Instead, related handlers should be declared in a separate module. See goto_def_impl_refs.py as an example.
The Slither Language Server uses pygls as the LSP implementation, and you should refer to its documentation when writing new handlers.
If you're adding an handler for a standard LSP feature, there will be no need to do anything on the VSCode extension side: VSCode will automatically hook its commands to use the provided feature.
If, on the other hand, the feature you're trying to add does not map to a standard LSP feature, you will need to register a custom handler. See $/slither/analyze as an example: note how each request name is prefixed with $/slither/. You will need to manually send request from the VSCode extension in order to trigger these handlers.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file slither-lsp-0.0.1.tar.gz.
File metadata
- Download URL: slither-lsp-0.0.1.tar.gz
- Upload date:
- Size: 52.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0e22548b73b93e131ca894d08292978027bb85c5da89b3591536335d8000fdb
|
|
| MD5 |
8421feca57afaa0a407925d15733d042
|
|
| BLAKE2b-256 |
4cc1bc9bb8a2720df6f4379e7aa420e5ceabdf16fd3b08d14e7c645fc3d41b2e
|
File details
Details for the file slither_lsp-0.0.1-py3-none-any.whl.
File metadata
- Download URL: slither_lsp-0.0.1-py3-none-any.whl
- Upload date:
- Size: 48.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc0e47255b167946aa9820592fb374fb4f9fa628c5b4d0ff0de59571babff980
|
|
| MD5 |
6545ce0182975b422350fa4ab3b4ef05
|
|
| BLAKE2b-256 |
0ab6b80eed5cae588ec4bfed6d8f108242f6a9d2afd40a60620e0109513ef991
|