fstarlang / vimfstar Goto Github PK
View Code? Open in Web Editor NEWA Vim mode for FStar
License: Vim License
A Vim mode for FStar
License: Vim License
module Foo
open Bar
open Baz
will not correctly highlight the first open
. However,
module Foo (* quux *)
open Bar
open Baz
will correctly color everything. I assume this means the module region isn't correctly ending.
I've been looking into the interactive feature of VimFStar and it appears unusable.
let s:path = system("echo $PATH")
suggests this to be the case).<F2>
per the instructions results in the plugin never leaving the Always busy
state.I've begun an attempt to address these issues. Before I get too deep into it, I wanted to ask:
I will be making all of my changes in a fork and will produce a pull request when I believe I have something of quality.
Thanks in advance for any comments. ๐ธ
Note: Interactive mode requires a Cygwin build of (g)Vim.
What does it mean for non-Windows platforms?
(FWIW I'm porting this plugin to python3 right now, but missing some features)
This is a valid F* module that defines bar
:
module Foo
(* // *)
let bar = 1
However VimFStar doesn't think that the comment on the second line ends on line 2. It thinks that it is never closed.
Hey @SimonForest and @mlr-msft,
We've just merged an improved IDE frontend in the FStar repo. I've documented the new protocol at https://github.com/FStarLang/FStar/wiki/Editor-support-for-F* , and added notes at the end about porting. It should be relatively easy to update VimFStar: the new protocol is mostly just JSON syntax and a bunch of new opt-in features. The old --in
flag is still in place, of course, so nothing should break โ but it would be nice to update and upgrade F* support in Vim!
Let me know if I can help with the port.
On suboptimal OSes (e.g. Windows), this prevents "make -C src/ocaml-output" from copying the fresh fstar.exe into the bin/ directory.
On my Macbook, opening any .fst file using 'vim' gives this error.
Error detected while processing /Users/anithagollamudi/.vim/bundle/VimFStar/ftplugin/fstar.vim:
line 47:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/Users/anithagollamudi/.vim/bundle/VimFStar/ftplugin/fstar-inter.py", line 62, in fstar_init
fst=Popen([fstarpath,'--in'],stdin=PIPE, stdout=PIPE,bufsize=1,close_fds=ON_POSIX)
File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1335, in _execute_child
raise child_exception
OSError: [Errno 8] Exec format error
The interactive mode in vim is currently broken.
I created a pull request (#9) that fixes the issue.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.