aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim/lsp/bicep.lua
diff options
context:
space:
mode:
authorawy <awy@awy.one>2025-10-14 18:27:29 +0300
committerawy <awy@awy.one>2025-10-14 18:27:29 +0300
commitde009fd679e10d053fdcc10785f91ad5317449ea (patch)
tree60918a488b579588596cf4d509fde298dccbf15d /.config/nvim/lsp/bicep.lua
parent9ea6cf81adb5d6abc59843de1db45913210f9320 (diff)
downloadhyprdots-de009fd679e10d053fdcc10785f91ad5317449ea.tar.gz
nvim revamp
Diffstat (limited to '.config/nvim/lsp/bicep.lua')
-rw-r--r--.config/nvim/lsp/bicep.lua40
1 files changed, 40 insertions, 0 deletions
diff --git a/.config/nvim/lsp/bicep.lua b/.config/nvim/lsp/bicep.lua
new file mode 100644
index 0000000..4e6e215
--- /dev/null
+++ b/.config/nvim/lsp/bicep.lua
@@ -0,0 +1,40 @@
+---@brief
+---
+--- 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"
+--- vim.lsp.config('bicep', {
+--- 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)
+--- ```
+
+---@type vim.lsp.Config
+return {
+ filetypes = { 'bicep', 'bicep-params' },
+ root_markers = { '.git' },
+ init_options = {},
+}