lasm

A configurable LSP server for debugging/testing LSP clients

Pure Nim score 15/100 · tests present · no docs generated

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 scenario
  • lsptest.listScenarios - List all available scenarios
  • lsptest.reloadConfig - Reload configuration file
  • lsptest.createSampleConfig - Create a sample configuration file
  • lsptest.listOpenFiles - List all currently open files with details
  • lsptest.sendProgress - Send the scenario's configured $/progress notifications