No description
Find a file
2025-08-06 09:51:38 +09:00
.github/workflows ci: Add test workflow (#23) 2025-07-19 07:13:53 +09:00
src refactor: Remove unused vals (#49) 2025-08-01 10:05:48 +09:00
tests refactor: Remove unused vals (#49) 2025-08-01 10:05:48 +09:00
.gitignore Update gitignore (#51) 2025-08-01 10:03:39 +09:00
lasm.nimble Update package description (#52) 2025-08-05 09:09:34 +09:00
LICENSE Initial commit 2025-07-04 10:15:04 +09:00
nimble.lock Add lockfile (#45) 2025-08-01 06:07:33 +09:00
README.md Update README.md (#54) 2025-08-06 09:51:38 +09:00

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/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