Alloy is a language for describing structures and a tool for exploring them. It has been used in a wide range of applications from finding holes in security mechanisms to designing telephone switching networks. This repository contains the code for the tool.
I looked at it and I'd like to have the LSP code in a separate project so it is easier to understand. If you don't mind, I'll create a set of new PRs from this?
This PR adds LSP implementation to Alloy, as used by the vscode extension.
The bulk of the LSP implementation lives in
org.alloytools.alloy.application/src/main/java/edu/mit/csail/sdg/alloy4whole/AlloyLanguageServer.java
.A few AST-related files are modified as needed to support various LSP features.