bicep

plugins.lsp.servers.bicep.enable

Whether to enable 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.

Bicep language server requires the dotnet-sdk 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:

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.

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:

(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: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.bicep.package

The package to use for bicep. Has no default, but can be set to null.

Type: null or package

Declared by:

plugins.lsp.servers.bicep.autostart

Controls if the FileType autocommand that launches a language server is created. If false, allows for deferring language servers until manually launched with :LspStart (|lspconfig-commands|).

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.bicep.cmd

A list where each entry corresponds to the blankspace delimited part of the command that launches the server.

The first entry is the binary used to run the language server. Additional entries are passed as arguments.

Type: null or (list of string)

Default: null

Declared by:

plugins.lsp.servers.bicep.extraOptions

Extra options for the bicep language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.bicep.filetypes

Set of filetypes for which to attempt to resolve {root_dir}. May be empty, or server may specify a default value.

Type: null or (list of string)

Default: null

Declared by:

plugins.lsp.servers.bicep.rootDir

A function (or function handle) which returns the root of the project used to determine if lspconfig should launch a new language server, or attach a previously launched server when you open a new buffer matching the filetype of the server.

Type: null or lua function string

Default: null

Plugin default: "nil"

Declared by:

plugins.lsp.servers.bicep.settings

The settings for this LSP.

Type: attribute set of anything

Default: { }

Example:

{
  callback = {
    __raw = ''
      function()
        print('nixvim')
      end
    '';
  };
  foo_bar = 42;
  hostname = "localhost:8080";
}

Declared by: