aboutsummaryrefslogtreecommitdiffstats
path: root/lua/lspconfig/configs/bicep.lua
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2024-10-01 05:39:12 -0700
committerGitHub <noreply@github.com>2024-10-01 05:39:12 -0700
commitbedb2a0df105f68a624a49b867f269b6d55a2c89 (patch)
tree877aa3ef8277575a7ffea1ff8f280eeb69b47489 /lua/lspconfig/configs/bicep.lua
parentdocs: CONTRIBUTING.md cleanup (diff)
downloadnvim-lspconfig-bedb2a0df105f68a624a49b867f269b6d55a2c89.tar
nvim-lspconfig-bedb2a0df105f68a624a49b867f269b6d55a2c89.tar.gz
nvim-lspconfig-bedb2a0df105f68a624a49b867f269b6d55a2c89.tar.bz2
nvim-lspconfig-bedb2a0df105f68a624a49b867f269b6d55a2c89.tar.lz
nvim-lspconfig-bedb2a0df105f68a624a49b867f269b6d55a2c89.tar.xz
nvim-lspconfig-bedb2a0df105f68a624a49b867f269b6d55a2c89.tar.zst
nvim-lspconfig-bedb2a0df105f68a624a49b867f269b6d55a2c89.zip
refactor: rename "server_configurations" => "configs" #3330
Problem: The name `server_configurations` is extremely verbose and irritatingly formal and dogmatic. This overlong name is a constant nuisance when reading, writing, and coding. It's also not even correct: these configurations are just as much "client" configurations as they are "server" configurations. Solution: - Rename to a shorter name. - Leave placeholder files for any old URLs that link to the old location.
Diffstat (limited to 'lua/lspconfig/configs/bicep.lua')
-rw-r--r--lua/lspconfig/configs/bicep.lua47
1 files changed, 47 insertions, 0 deletions
diff --git a/lua/lspconfig/configs/bicep.lua b/lua/lspconfig/configs/bicep.lua
new file mode 100644
index 00000000..1ec70323
--- /dev/null
+++ b/lua/lspconfig/configs/bicep.lua
@@ -0,0 +1,47 @@
+local util = require 'lspconfig.util'
+
+return {
+ default_config = {
+ filetypes = { 'bicep' },
+ root_dir = util.find_git_ancestor,
+ 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.
+
+Neovim does not have built-in support for the bicep filetype which is required for lspconfig to automatically launch the language server.
+
+Filetype detection can be added via an autocmd:
+```lua
+vim.cmd [[ autocmd BufNewFile,BufRead *.bicep set filetype=bicep ]]
+```
+
+**By default, bicep language server does not 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)
+```
+]=],
+ default_config = {
+ root_dir = [[util.find_git_ancestor]],
+ },
+ },
+}