diff options
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/lspconfig/bicep.lua | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/lua/lspconfig/bicep.lua b/lua/lspconfig/bicep.lua new file mode 100644 index 00000000..d21dd865 --- /dev/null +++ b/lua/lspconfig/bicep.lua @@ -0,0 +1,41 @@ +local configs = require 'lspconfig/configs' +local util = require 'lspconfig/util' +local server_name = 'bicep' + +configs[server_name] = { + default_config = { + filetypes = { 'bicep' }, + root_dir = util.root_pattern '.git', + init_options = {}, + }, + docs = { + description = [[ +https://github.com/azure/bicep +Bicep language server + +Bicep language server can be installed by downloading and extracting a release of bicep-langserver.zip from [Bicep GitHub releases](https://github.com/Azure/bicep/releases). + +Bicep language server requires the [dotnet-sdk](https://dotnet.microsoft.com/download) to be installed. + +**By default, bicep language server 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 the unzipped run script or binary. + +```lua +local bicep_lsp_bin = "/path/to/bicep-langserver/Bicep.LangServer.dll" +require'lspconfig'.bicep.setup{ + cmd = { "dotnet", bicep_lsp_bin }; + ... +} +``` + +To download the latest release and place in /usr/local/bin/bicep-langserver: +```bash +(cd $(mktemp -d) \ + && curl -fLO https://github.com/Azure/bicep/releases/latest/download/bicep-langserver.zip \ + && rm -rf /usr/local/bin/bicep-langserver \ + && unzip -d /usr/local/bin/bicep-langserver bicep-langserver.zip) +``` +]], + }, +} + +-- vim:et ts=2 sw=2 |
