Skip to content

Conversation

@gebner
Copy link
Contributor

@gebner gebner commented Jan 11, 2024

The make target File.fst-in is a standard way to obtain the F* command-line flags necessary to build File.fst. This PR adds support to the LSP server to read the configuration from make File.fst-in if there is no .fst.config.json file.

(Running make can potentially take quite some time, so I've made the whole configuration loading code async.)

@nikswamy I think you have something similar in your emacs config. Does this look right? If there's a file lib/foo/Bar.fst, then we run make Bar.fst-in the lib/foo directory and then split the output by spaces. Are there any options we'd need to filter out?

@gebner gebner marked this pull request as draft January 11, 2024 23:46
@gebner
Copy link
Contributor Author

gebner commented Jan 12, 2024

The extension now works out of the box on the Steel repo!

Most of it anyhow (after removing the config files). The pulse2rust code apparently requires an --MLish argument that doesn't appear in make Pulse2Rust.fst-in.

EDIT: Pulse2Rust doesn't work with the config file either..

@gebner gebner marked this pull request as ready for review January 12, 2024 00:09
@nikswamy
Copy link
Contributor

Thanks!

@nikswamy nikswamy merged commit dc255c7 into FStarLang:main Jan 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants