VimFStar is a neovim plugin for F*, an ML-like language with a type system for program verification.
- Syntax highlighting
- Language server support
- Interactive verification of code
You can use your favorite pathogen-plugin manager to install VimFStar.
If you're using vim-plug, for example, perform the following steps to install VimFStar:
-
Edit your .vimrc and add a
Plugdeclaration for VimFStar.call plug#begin() " ... Plug 'neovim/nvim-lspconfig' Plug 'gebner/VimFStar' " ... call plug#end()
-
Add the setup code for the F* plugin to your vimrc:
lua require'fstar'.setup{}
-
Restart neovim
-
:PlugInstallto install the plugin.
Make sure that fstar.exe and z3 are in your path. The first time you open an F* file, VimFStar will download the LSP server. It will make use of the same .fst.config.json files as the official VS Code extension.
To test your code and it to the environment up to the current position of the cursor, call :FStarVerifyToPoint (default binding: <LocalLeader><LocalLeader>).
You can restart F* with :FStarRestart (default binding: <LocalLeader>r)
The syntax highlighting file is distributed under the same license as Vim itself. See LICENSE.VIM for more details.
The rest of the plugin is licensed under the Apache license. Large parts of the plugin are adapted from lean.nvim, which is MIT-licensed. See LICENSE for more details.