fsharp / zarchive-vim-fsharp

F# bindings for vim
MIT License
143 stars 34 forks source link

Allow using dotnet fsi #115

Open pviotti opened 4 years ago

pviotti commented 4 years ago

AFAIK, the way FSI should be executed for recent versions of .NET (Core or >=5) is through the dotnet client application as: dotnet fsi. Indeed, on a up-to-date Arch Linux, if I try execute /usr/share/dotnet/sdk/5.0.100/FSharp/fsi.exe, it crashes on an assertion (file-mmap-posix.c:397, condition 'path || mapName' not met).

Yet if I set let g:fsharp_interactive_bin = '/user/bin/dotnet fsi' vim-fsharp fails with this exception:

Traceback (most recent call last):                                                                                                                                                                                                                                                                                           
  File "<string>", line 28, in <module>                                                                                                                                                                                                                                                                                      
  File "/home/user/.vim/plugged/vim-fsharp/ftplugin/fsi.py", line 28, in __init__                                                                                                                                                                                                                                           
    raise Exception ('Error executing fsi.  g:fsharp_interactive_bin="' + fsi_path + '" ' + str(e))                                                                                                                                                                                                                          
Exception: Error executing fsi.  g:fsharp_interactive_bin="/user/bin/dotnet fsi" [Errno 2] No such file or directory: '/user/bin/dotnet fsi'

Is there any way to make it work (other than changing the python code, as I did)? Is .NET Core / 5 supported?

cdimitroulas commented 3 years ago

I came across this issue whilst trying to setup my F# dev environment. Is there any way to get this plugin to work with .NET 5 at the moment?