AlloyTools / org.alloytools.alloy

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.
Other
695 stars 124 forks source link

Add LSP implementation #162

Closed s-arash closed 1 year ago

s-arash commented 2 years ago

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.

pkriens commented 2 years ago

Thanks!

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?

pkriens commented 1 year ago

This has been implemented on another branch