lasm
A configurable LSP server for debugging/testing LSP clients
Summary
| Latest Version | 0.1.0 |
|---|---|
| License | MIT |
| CI Status | Failing |
| Downloads | 0 |
| Last Indexed | 2026-07-21 05:27 |
Tags
Authors
- fox0430
Installation
nimble install lasm
choosenim install lasm
git clone https://github.com/fox0430/lasm
OS Compatibility
| Platform | Linux | macOS | Windows | FreeBSD | OpenBSD | NetBSD | Android | iOS | WASM | Embedded |
|---|---|---|---|---|---|---|---|---|---|---|
| lasm | ✓ | ✓ | ✓ | - | - | - | - | - | - | - |
Dependencies
| Package | Version | Optional |
|---|---|---|
| nim >= | 2.0.2 | No |
| chronos >= | 4.0.4 | No |
Source
| Repository | https://github.com/fox0430/lasm |
|---|---|
| Homepage | https://github.com/fox0430/lasm |
| Registry Source | nimble_official |
README
lasm
A configurable LSP server for debugging/testing LSP clients.
Quick Start
# Install
nimble install lasm
# Create example config
lasm --create-sample-config
# Start server
lasm --config ./lsp-test-config-sample.json
Usage
Usage:
lasm --config <path> # Start LSP server with config file
lasm --create-sample-config # Create sample configuration
lasm --file-log # Enable file logging
lasm --file-log-path <path> # Set log file path
lasm --help # Show help
Config
Configure scenarios in JSON to control LSP behavior: - Responses and delays - Error injection - Feature toggles
See lsp-test-config-sample.json for examples.
Supported LSP methods
| Name | Note |
|---|---|
| initialize | |
| initialized | |
| $/cancelRequest | |
| workspace/didChangeConfiguration | |
| textDocument/didOpen | |
| textDocument/didChange | |
| textDocument/didSave | |
| textDocument/didClose | |
| textDocument/hover | |
| textDocument/completion | |
| textDocument/publishDiagnostics | |
| textDocument/inlayHint | |
| textDocument/declaration | |
| textDocument/definition | |
| textDocument/typeDefinition | |
| textDocument/implementation | |
| textDocument/references | |
| textDocument/documentHighlight | |
| textDocument/rename | |
| textDocument/formatting | |
| textDocument/rangeFormatting | |
| textDocument/prepareCallHierarchy | |
| callHierarchy/incomingCalls | |
| callHierarchy/outgoingCalls | |
| textDocument/documentSymbol | |
| textDocument/documentLink | |
| textDocument/signatureHelp | |
| textDocument/selectionRange | |
| textDocument/foldingRange | |
| textDocument/codeLens | |
| textDocument/semanticTokens/full/delta | |
| $/progress | Server-sent notification; trigger via lsptest.sendProgress |
| textDocument/shutdown |
Commands
LASM provides several commands that can be executed through the LSP client:
lsptest.switchScenario- Switch to a different test scenariolsptest.listScenarios- List all available scenarioslsptest.reloadConfig- Reload configuration filelsptest.createSampleConfig- Create a sample configuration filelsptest.listOpenFiles- List all currently open files with detailslsptest.sendProgress- Send the scenario's configured$/progressnotifications