simple_lsp

Experimental Eiffel LSP for VS Code

v0.8.5 MIT Alpha

Warning: Alpha Software

This is an experimental learning project, not ready for production use. While it demonstrates LSP concepts and works for small personal projects, it has significant limitations.

EiffelStudio remains the recommended IDE for serious Eiffel development.

Overview

simple_lsp is an experimental Eiffel Language Server Protocol implementation for Visual Studio Code. It is a hobby project exploring LSP concepts, suitable for learning and small personal projects only.

Built with the Simple Eiffel ecosystem as a learning exercise in LSP server development.

Known Limitations

Being upfront about the current state:

Issue Description
False Positives Parser reports errors on valid code, including EiffelStudio kernel classes
Crashes on Large Projects May crash when opening large codebases like Gobo
Slow Indexing Initial workspace scan can take 10-15 minutes on large codebases
Basic Completion Shows all symbols, not context-aware
Limited References Finds definitions, not all usages
No ECF Support Does not read project configuration files
Windows Only Linux/macOS builds not available

Who Is This For?

Not for: Production development, large projects, or professional Eiffel work.

Experimental Features

These features work to varying degrees on small projects:

Navigation (Basic)

Go to Definition

Ctrl+Click or F12 to jump to class or feature definitions.

Find References

Shift+F12 to find symbol definitions (not all usages).

Document Symbols

Ctrl+Shift+O to see features in the current file.

Documentation (Basic)

Hover Documentation

Hover over identifiers to see feature signatures and comments.

Code Intelligence (Limited)

Code Completion

Ctrl+Space for basic autocomplete (shows all symbols, not context-aware).

Quick Start

  1. Download from Releases
  2. Run the installer
  3. Open VS Code with a folder containing .e files
  4. Try it on a small project only

Contributing

Contributions welcome! We especially appreciate: