aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorPhil Thompson <phil@electricvisions.com>2021-02-20 15:06:10 +0000
committerPhil Thompson <phil@electricvisions.com>2021-02-20 18:46:30 +0000
commit04814313aa815d712c594d3eb34977c18fe85ded (patch)
tree9bcbba1db38d10728e93a0fa6a242aaca62272de /lua
parentFix readme link to snippets wiki page (diff)
downloadnvim-lspconfig-04814313aa815d712c594d3eb34977c18fe85ded.tar
nvim-lspconfig-04814313aa815d712c594d3eb34977c18fe85ded.tar.gz
nvim-lspconfig-04814313aa815d712c594d3eb34977c18fe85ded.tar.bz2
nvim-lspconfig-04814313aa815d712c594d3eb34977c18fe85ded.tar.lz
nvim-lspconfig-04814313aa815d712c594d3eb34977c18fe85ded.tar.xz
nvim-lspconfig-04814313aa815d712c594d3eb34977c18fe85ded.tar.zst
nvim-lspconfig-04814313aa815d712c594d3eb34977c18fe85ded.zip
LSP Config for F# using FsAutoComplete
Diffstat (limited to 'lua')
-rw-r--r--lua/lspconfig/fsautocomplete.lua39
1 files changed, 39 insertions, 0 deletions
diff --git a/lua/lspconfig/fsautocomplete.lua b/lua/lspconfig/fsautocomplete.lua
new file mode 100644
index 00000000..5ae42d30
--- /dev/null
+++ b/lua/lspconfig/fsautocomplete.lua
@@ -0,0 +1,39 @@
+local configs = require 'lspconfig/configs'
+local util = require 'lspconfig/util'
+
+configs.fsautocomplete = {
+ default_config = {
+ root_dir = util.root_pattern('*.sln', '*.fsproj', '.git');
+ filetypes = {'fsharp'};
+ init_options = {
+ AutomaticWorkspaceInit = true;
+ };
+ };
+ docs = {
+ description = [[
+https://github.com/fsharp/FsAutoComplete
+
+Language Server for F# provded by FsAutoComplete (FSAC).
+
+Download a release of FsAutoComplete from [here](https://github.com/fsharp/FsAutoComplete/releases).
+Instructions to compile from source are found on the main repository.
+
+FsAutoComplete requires the [dotnet-sdk](https://dotnet.microsoft.com/download) to be installed.
+
+You may also need to configure the filetype as Vim defaults to Forth for `*.fs` files:
+
+`autocmd BufNewFile,BufRead *.fs,*.fsx,*.fsi set filetype=fsharp`
+
+This is automatically done by plugins such as [vim-polyglot](https://github.com/sheerun/vim-polyglot), [PhilT/vim-fsharp](https://github.com/PhilT/vim-fsharp) or [fsharp/vim-fsharp](https://github.com/fsharp/vim-fsharp).
+
+**By default, this config doesn't have a `cmd` set.** This is because nvim-lspconfig does not make assumptions about your path. You must add the following to your init.vim or init.lua to set `cmd` to the absolute path ($HOME and ~ are not expanded) of your unzipped and compiled fsautocomplete.dll.
+
+```lua
+require'lspconfig'.fsautocomplete.setup{
+ cmd = {'dotnet', 'path/to/fsautocomplete.dll', '--background-service-enabled'}
+}
+```
+ ]];
+ };
+}
+-- vim:et ts=2 sw=2