add fsautocomplete for fsharp

This commit is contained in:
Duc Nghiem-Xuan
2020-01-30 00:55:45 +09:00
parent 08e6ed76de
commit 5600aedecf
4 changed files with 62 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
@echo off
setlocal
curl -L -o dotnet-runtime-3.1.1-win-x64.zip "https://download.visualstudio.microsoft.com/download/pr/d9768135-4646-4839-9eea-b404bb940452/8275e4320514bab636b1627c62906ef9/dotnet-runtime-3.1.1-win-x64.zip"
call "%~dp0\run_unzip.cmd" dotnet-runtime-3.1.1-win-x64.zip
set url=https://ci.appveyor.com/api/projects/fsautocomplete/fsautocomplete/artifacts/bin/pkgs/fsautocomplete.netcore.zip?branch=master
set zip=fsautocomplete.zip
curl -L %url% -o %zip%
call "%~dp0\run_unzip.cmd" %zip%
echo @echo off ^
%%~dp0\dotnet.exe fsautocomplete.dll %%* ^
> fsautocomplete.cmd

View File

@@ -0,0 +1,27 @@
#!/bin/bash
set -e
if command -v dotnet >/dev/null 2>&1; then
echo "dotnet installed"
dotnetcmd=dotnet
else
echo "dotnet not found, installing..."
# REF https://github.com/neovim/nvim-lsp/blob/master/lua/nvim_lsp/pyls_ms.lua
curl -L https://dot.net/v1/dotnet-install.sh | bash -s -- -i "./.dotnet"
dotnetcmd="\\$DIR/.dotnet/dotnet"
fi
url="https://ci.appveyor.com/api/projects/fsautocomplete/fsautocomplete/artifacts/bin/pkgs/fsautocomplete.netcore.zip?branch=master"
zip=fsautocomplete.zip
curl -L "$url" -o "$zip"
unzip -o -d "fsautocomplete.netcore" "$zip"
cat <<EOF >fsautocomplete
#!/bin/sh
DIR=\$(cd \$(dirname \$0); pwd)
$dotnetcmd \$DIR/fsautocomplete.netcore/fsautocomplete.dll
EOF
chmod +x fsautocomplete

View File

@@ -130,6 +130,10 @@
}
],
"fsharp": [
{
"command": "fsautocomplete",
"requires": []
},
{
"command": "fsharp-language-server",
"requires": [

View File

@@ -0,0 +1,13 @@
augroup vimlsp_settings_fsautocomplete
au!
LspRegisterServer {
\ 'name': 'fsautocomplete',
\ 'cmd': {server_info->lsp_settings#get('fsautocomplete', 'cmd', [lsp_settings#exec_path('fsautocomplete'), '--background-service-enabled'])},
\ 'root_uri':{server_info->lsp_settings#get('fsautocomplete', 'root_uri', lsp_settings#root_uri(g:lsp_settings_root_markers))},
\ 'initialization_options': lsp_settings#get('fsautocomplete', 'initialization_options', {'AutomaticWorkspaceInit': v:true}),
\ 'whitelist': lsp_settings#get('fsautocomplete', 'whitelist', ['fsharp']),
\ 'blacklist': lsp_settings#get('fsautocomplete', 'blacklist', []),
\ 'config': lsp_settings#get('fsautocomplete', 'config', {}),
\ 'workspace_config': lsp_settings#get('fsautocomplete', 'workspace_config', {}),
\ }
augroup END