aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--installer/install-fsautocomplete.cmd18
-rwxr-xr-xinstaller/install-fsautocomplete.sh27
-rw-r--r--settings.json4
-rw-r--r--settings/fsautocomplete.vim13
4 files changed, 62 insertions, 0 deletions
diff --git a/installer/install-fsautocomplete.cmd b/installer/install-fsautocomplete.cmd
new file mode 100644
index 0000000..9403345
--- /dev/null
+++ b/installer/install-fsautocomplete.cmd
@@ -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
diff --git a/installer/install-fsautocomplete.sh b/installer/install-fsautocomplete.sh
new file mode 100755
index 0000000..e19d2e8
--- /dev/null
+++ b/installer/install-fsautocomplete.sh
@@ -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
diff --git a/settings.json b/settings.json
index 7fd1386..609d73a 100644
--- a/settings.json
+++ b/settings.json
@@ -131,6 +131,10 @@
],
"fsharp": [
{
+ "command": "fsautocomplete",
+ "requires": []
+ },
+ {
"command": "fsharp-language-server",
"requires": [
"dotnet"
diff --git a/settings/fsautocomplete.vim b/settings/fsautocomplete.vim
new file mode 100644
index 0000000..e5208f8
--- /dev/null
+++ b/settings/fsautocomplete.vim
@@ -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