lsp-bench 0.2.0

Benchmark framework for Language Server Protocol (LSP) servers
# Solidity LSP Benchmark Configuration

# Project root containing the Solidity files
project: v4-core

# Target file to benchmark (relative to project root)
file: src/libraries/Pool.sol

# Target position for position-based benchmarks
line: 102
col: 15

# Benchmark settings
iterations: 1
warmup: 1
timeout: 10 # seconds per request
index_timeout: 15 # seconds for server to index/warm up
output: benchmarks/v4-core # directory for JSON results
readme:
  - benchmarks/v4-core/README.md
analysis:
  - README.md

benchmarks:
  - initialize
  - textDocument/diagnostic
  - textDocument/definition
  - textDocument/declaration
  - textDocument/hover
  - textDocument/references
  - textDocument/completion
  - textDocument/rename
  - textDocument/prepareRename
  - textDocument/documentSymbol
  - textDocument/documentLink
  - textDocument/formatting
  - workspace/symbol

# LSP servers to benchmark
servers:
  - label: mmsaki
    description: Solidity Language Server by mmsaki
    link: https://github.com/mmsaki/solidity-language-server
    cmd: solidity-language-server
    args: []

  # - label: solc
  #   description: Official Solidity compiler LSP
  #   link: https://docs.soliditylang.org
  #   cmd: solc
  #   args: ["--lsp"]

  - label: nomicfoundation
    description: Hardhat/Nomic Foundation Solidity Language Server
    link: https://github.com/NomicFoundation/hardhat-vscode
    cmd: nomicfoundation-solidity-language-server
    args: ["--stdio"]

  # - label: juanfranblanco
  #   description: VSCode Solidity by Juan Blanco
  #   link: https://github.com/juanfranblanco/vscode-solidity
  #   cmd: vscode-solidity-server
  #   args: ["--stdio"]

  # - label: qiuxiang
  #   description: Solidity Language Server by qiuxiang
  #   link: https://github.com/qiuxiang/solidity-ls
  #   cmd: solidity-ls
  #   args: ["--stdio"]