Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

NixVim - A Neovim configuration system for nix

Other versions of these docs

Please ensure you are referencing documentation that corresponds to the Nixvim version you are using!

Documentation is currently available for the following versions:

  • The main branch, for use with nixpkgs nixos-unstable (this page)
  • The nixos-25.05 branch, for use with nixpkgs nixos-25.05
  • The nixos-24.11 branch, for use with nixpkgs nixos-24.11

Recent Breaking Changes

caution

By default, Nixvim now constructs its own instance of nixpkgs, using the revision from our flake.lock. This change was largely motivated by: How do I solve "<name> cannot be found in pkgs"

The old behaviour can be restored by enabling nixpkgs.useGlobalPackages.

If your flake modifies the nixpkgs through follows this can still cause issues by changing the expected nixpkg nixvim was tested & built against.

What is it?

NixVim is a Neovim distribution built around Nix modules. It is distributed as a Nix flake, and configured through Nix, all while leaving room for your plugins and your vimrc.

What does it look like?

Here is a simple configuration that uses catppuccin as the colorscheme and uses the lualine plugin:

{
  programs.nixvim = {
    enable = true;

    colorschemes.catppuccin.enable = true;
    plugins.lualine.enable = true;
  };
}

When we do this, lualine will be set up to a sensible default, and will use catppuccin as the colorscheme, no extra configuration required!

Check out this list of real world nixvim configs!

Welcome to the docs!

Over to the left, you'll find the sidebar. There you'll see several "User guides" (including an FAQ), along with pages for various "options".

While you can search our main docs using the icon, if you're looking for a specific option you may find the dedicated Nixvim Option Search (at the bottom of the sidebar) has more relevant results.

tip

Any page with a ❱ icon next to it has one-or-more sub-pages.

Installation

You must use a nixpkgs version compatible with the nixvim version you choose.

The main branch requires to use a very recent version of nixpkgs unstable. In order to guarantee the compatibility between nixvim & nixpkgs it is recommended to always update both at the same time.

When using a stable version you must use the corresponding nixvim branch, for example nixos-25.05 when using NixOS 25.05.

Failure to use the correct branch, or an old revision of nixpkgs will likely result in errors of the form vimPlugins.<name> attribute not found.

NixVim can be used in four ways:

  • As a NixOS module
  • As a Home-Manager module
  • As a nix-darwin module
  • As a standalone derivation

NixVim is also available for nix flakes, or directly through an import.

Accessing nixvim

For a direct import you can add nixvim to your configuration as follows:

let
    nixvim = import (builtins.fetchGit {
        url = "https://github.com/nix-community/nixvim";
        # When using a different channel you can use `ref = "nixos-<version>"` to set it here
    });
in

When using flakes you can simply add nixvim to the inputs:

{
    inputs.nixvim = {
        url = "github:nix-community/nixvim";
        # If using a stable channel you can use `url = "github:nix-community/nixvim/nixos-<version>"`
        inputs.nixpkgs.follows = "nixpkgs";
    };

    # outputs...
}

Usage

NixVim can be used standalone or as a module for NixOS, home-manager, or nix-darwin.

When used standalone, a custom NixVim derivation is produced that can be used like any other package.

When used as a module, NixVim can be enabled though programs.nixvim.enable.

Usage as a module (NixOS, home-manager, nix-darwin)

When using NixVim as a module you must import the NixVim module into your module system. The three imports are:

  • <nixvim>.homeModules.nixvim
  • <nixvim>.nixosModules.nixvim
  • <nixvim>.nixDarwinModules.nixvim

<nixvim> refers to the way to access nixvim, depending on how you fetched nixvim as described in the previous section.

The imports can be added as a imports = [ <nixvim_import> ] in a configuration file.

You will then be able to enable nixvim through programs.nixvim.enable = true, and configure the options as programs.nixvim.<path>.<to>.<option> = <value>.

When you use nixvim as a module, an additional module argument is passed on allowing you to peek through the configuration with hmConfig, nixosConfig, and darwinConfig for home-manager, NixOS, and nix-darwin respectively. This is useful if you use nixvim both as part of an environment and standalone.

For more platform-specific options and information, see Nixvim Platforms.

Standalone usage

When using nixvim as a standalone derivation you can use the following functions, located in <nixvim>.legacyPackages.${system}:

  • makeNixvim: A simplified version of makeNixvimWithModule for when you only need to specify module and the other options can be left as the defaults. This function's only argument is a nixvim module, e.g. { extraConfigLua = "print('hi')"; }
  • makeNixvimWithModule: This function takes an attribute set of the form: {pkgs, extraSpecialArgs, module}. The only required argument is module, being a nixvim module. This gives access to the imports, options, config variables, and using functions like {config, ...}: { ... }.

There are also some helper functions in <nixvim>.lib.${system} like:

  • check.mkTestDerivationFromNixvimModule, taking the same arguments as makeNixvimWithModule and generates a check derivation.
  • check.mkTestDerivationFromNvim, taking an attribute set of the form {name = "<derivation name>"; nvim = <nvim derivation>}. The nvim is the standalone derivation provided by NixVim.

The nixvim derivation can then be used like any other package!

For an example, see the nixvim standalone flake template.

For more information see Standalone Usage.

Frequently Asked Questions

How do I use a plugin not implemented in nixvim

Using a plugin not supported by nixvim, but packaged in nixpkgs is straightforward:

  • Register the plugin through extraPlugins: extraPlugins = [pkgs.vimPlugins."<plugin name>"].
  • Configure the plugin through extraConfigLua: extraConfigLua = "require('my-plugin').setup({foo = "bar"})";

How do I use a plugin not packaged in nixpkgs

This is straightforward too, you can add the following to extraPlugins for a plugin hosted on GitHub:

extraPlugins = [(pkgs.vimUtils.buildVimPlugin {
    name = "my-plugin";
    src = pkgs.fetchFromGitHub {
        owner = "<owner>";
        repo = "<repo>";
        rev = "<commit hash>";
        hash = "<nix NAR hash>";
    };
})];

The nixpkgs manual has more information on this.

How do I solve error: collision between .... and ....

This sort of issue can occur when the performance.combinePlugins.enable option is set and two plugins have a file with the same name. In order to fix this issue the performance.combinePlugins.standalonePlugins option may be used to isolate one of the conflicting plugins.

How do I solve "<name> cannot be found in pkgs"

When using Nixvim, it is possible to encounter errors about something not being found in pkgs. For example:

 … while evaluating the attribute 'optionalValue.value'

   at /nix/store/XXX-source/lib/modules.nix:868:5:
    867|
    868|     optionalValue =
       |     ^
    869|       if isDefined then { value = mergedValue; }

 … while evaluating a branch condition

   at /nix/store/XXX-source/lib/modules.nix:869:7:
    868|     optionalValue =
    869|       if isDefined then { value = mergedValue; }
       |       ^
    870|       else {};

 … while evaluating the option `plugins.<name>.package':

 (stack trace truncated; use '--show-trace' to show the full, detailed trace)

 error: <name> cannot be found in pkgs

This usually means one of two things:

  • The nixpkgs version is not in line with NixVim (for example nixpkgs nixos-25.05 is used with NixVim master)
  • The nixpkgs unstable version used with NixVim is not recent enough.

When building nixvim using flakes and our "standalone mode", we usually recommend not declaring a "follows" for inputs.nixvim. This is so that nixvim is built against the same nixpkgs revision we're using in our test suite.

If you are building nixvim using the NixOS, home-manager, or nix-darwin modules then we advise that you keep your nixpkgs lock as close as possible to ours.

tip

Once #1784 is implemented, there will be alternative ways to achieve this using the module system.

How do I create multiple aliases for a single keymap

You could use the builtin map function (or similar) to do something like this:

keymaps =
  (builtins.map (key: {
    inherit key;
    action = "<some-action>";
    options.desc = "My cool keymapping";
  }) ["<key-1>" "<key-2>" "<key-3>"])
  ++ [
    # Other keymaps...
  ];

This maps a list of keys into a list of similar keymaps. It is equivalent to:

keymaps = [
  {
    key = "<key-1>";
    action = "<some-action>";
    options.desc = "My cool keymapping";
  }
  {
    key = "<key-2>";
    action = "<some-action>";
    options.desc = "My cool keymapping";
  }
  {
    key = "<key-3>";
    action = "<some-action>";
    options.desc = "My cool keymapping";
  }
  # Other keymaps...
];

How to use system provided binaries instead of nixvim provided ones

There are a number of plugins that install extra packages using nix, but this can cause issues. For example enabling plugins.treesitter could add gcc to the PATH of neovim, and this could break workflows that rely on the system provided compiler.

Most plugins that install packages also provide a xxxPackage option that can be set to null to skip the installation of the package. For example plugin.treesitter provides the gccPackage option.

User configurations

Want some help with starting your configuration? Or maybe you're curious how others have done things? Take a look at these configuration examples below.

Note:
Most of those configurations are using a standalone build, however, all of the nixvim options are accessible no matter how you are using it (flake, NixOS/HM module, nix-darwin...).

OwnerConfigComment
ahwxorgnixvim-config
alisonjenkinsneovim-nix-flake
bkp5190Home-Manager-ConfigsHome-manager
cirius-nixcirius-nixManaged by Nix, Snowfall Lib and SOPS to provide the best user experience
dc-tecnixvimNixVim config, inspired by some of the contributors in this list and LazyVIM
elythhnixvim
fred-drakeneovimNixVim config, with format/lsp/debug configurations for Rust, Go, Python and more
GaetanLepagenix-configHome-manager
gwg313nvim-nix
hbjydevhvim
HeitorAugustoLNnvim-configHeitorAugustoLN's personal Neovim configuration made with Nixvim
JMartJonesykickstart.nixvimAn implementation of kickstart.nvim using nixvim
JMartJonesykickstart.nixvim standaloneAn implementation of kickstart.nvim using nixvim in a standalone flake
khanelimankhanelivimConstantly tweaked jack of all trades development focused configuration.
LudovicDeMatteis.dotfilesNixVim with Home-manager
MikaelFangelnixvim-configAn easy-setup configuration for NixVim, focused on straightforward customization
nicolas-goudrynixvim-configHeavily inspired by AstroNvim
NikolayGalkingnvimClean and simple Neovim configuration
niksingh710nvixPorted from a lazy-based lua config. Contains examples of most use cases, including custom, nixpkgs, & nixvim plugins.
pete3nnixvim-flake
r6tnixos-r6tSingle-file nixvim config, uses home-manager module in a NixOS flake
redyfNeveMeticulously crafted custom configuration for Nixvim
siphnixvim-flake
spector700AkariInspired from LazyVim with parts yoinked from other NixVim configs
Tanish2002neovim-config
traxysNixfiles
veeronniecawronvim
Yohhnix-confixNix config with nixvim and home-manager, inspired by some of the contributors in this list
ZainKergayenixosdotfilesNixVim editor primarily for Java and Asciidoc

Share your config !

tip

You can add your config to the list by editing the docs/user-configs/list.toml file.

Please use this format for both your commit message and PR title:
user-configs: add @Username's config"
(replacing Username with your github username)

Alternatively, message us in the matrix Documentation room and we'll get it added.

Lazy Loading

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice.

Please report any issues you encounter.

note

When the lazy loading functionality is enabled, the plugin's configuration is routed to the enabled lazy provider. Options mentioned will be in relation to the ${namespace}.${name}.lazyLoad context.

Supported Lazy Loading Providers

It is recommended to become familiar with lazy loading strategies supported by your provider in their upstream documentation and the corresponding plugin's support.

Currently we only support one lazy loader:

Enabling Lazy Loading Per Plugin

You can enable lazy loading for a plugin by passing a configuration to lazyLoad.settings. This configuration is passed through to the lazy loading provider's loading mechanism.

If you are just wanting to store potential configuration without enabling it, you can explicitly disable it setting lazyLoad.enable = false.

By default, we route the generated setup code to your lazy loading provider, but it can be overridden by using the lazyLoad.settings option.

For Lz.n, the lazyLoad.settings.after option contains what it will call when a trigger condition is met.

Configuring Triggers

You need to define the trigger conditions in which a plugin will be loaded. This is done through the lazyLoad.settings option.

Load on command:

plugins = {
  grug-far = {
    enable = true;
    lazyLoad = {
      settings = {
        cmd = "GrugFar";
      };
    };
  };
};

Load on file type:

plugins = {
  glow = {
    enable = true;
    lazyLoad.settings.ft = "markdown";
  };

Different load conditions:

plugins.toggleterm = {
  enable = true;
  lazyLoad = {
    settings = {
      cmd = "ToggleTerm";
      keys = [
        "<leader>tg"
        "<leader>gg"
      ];
    };
  };
};

Load on keymap with dependency:

    plugins.dap-ui = {
      enable = true;

      lazyLoad.settings = {
        # We need to access nvim-dap in the after function.
        before.__raw = ''
          function()
            require('lz.n').trigger_load('nvim-dap')
          end
        '';
        keys = [
          {
            __unkeyed-1 = "<leader>du";
            __unkeyed-2.__raw = ''
              function()
                require('dap.ext.vscode').load_launchjs(nil, {})
                require("dapui").toggle()
              end
            '';
            desc = "Toggle Debugger UI";
          }
        ];
      };
    };

Colorschemes

Colorschemes do not require explicit settings configuration. In lz-n, we will set up the colorscheme trigger to the name of the colorscheme so that it is lazy loaded when the colorscheme is requested.

colorscheme = "catppuccin";
colorschemes.catppuccin = {
  enable = true;
  lazyLoad.enable = true;
};

lib.nixvim: Nixvim's functions

Accessing Nixvim's functions

If Nixvim is built using the standalone method, you can access our "helpers" as part of the lib module arg:

{ lib, ... }:
{
  # You can use lib.nixvim in your config
  fooOption = lib.nixvim.mkRaw "print('hello')";
}

If Nixvim is being used as as a home-manager module, a nixos module, or as a dawwin module, our "helpers" can be accessed via the config.lib option:

{ config, ... }:
let
  helpers = config.lib.nixvim;
in
{
  # Your config
}

Or you can access the extended lib used in standalone builds via the nixvimLib module arg:

{ nixvimLib, ... }:
{
  # You can use nixvimLib.nixvim in your config
  fooOption = nixvimLib.nixvim.mkRaw "print('hello')";
}

This "extended" lib, includes everything normally in lib, along with some additions from nixvim.

Note: the lib argument passed to modules is entirely unrelated to the lib option accessed as config.lib!

Using a custom lib with Nixvim

When Nixvim is built in standalone mode, it expects lib to have Nixvim's extensions. If you'd like to use a lib with your own extensions, you must supply it via specialArgs, however you must ensure Nixvim's extensions are also present.

This can be achieved using the lib overlay, available via the <nixvim>.lib.overlay flake output.

# Example flake
{
  inputs = {
    # ...
  };

  outputs =
    { nixpkgs, ... }@inputs:
    let
      myCustomLib = nixpkgs.lib.extend (final: prev: {
        # ...
      });
      myCustomLibForNixvim = myCustomLib.extend inputs.nixvim.lib.overlay;
    in
    {
      # ...
    };
}

lib.nixvim.lua: lua functions

lib.nixvim.lua.toLuaObject

Serialise a nix value as a lua object.

Useful for defining your own plugins or structured config.

Type

toLuaObject :: Any -> String

Located at lib/to-lua.nix:52 in <nixvim>.

lib.nixvim.utils: utility functions

lib.nixvim.utils.listToUnkeyedAttrs

Transforms a list to an "unkeyed" attribute set.

This allows to define mixed table/list in lua:

listToUnkeyedAttrs ["a" "b"] // { foo = "bar"; }

Resulting in the following lua:

{"a", "b", foo = "bar"}

Located at lib/utils.nix:21 in <nixvim>.

lib.nixvim.utils.enableExceptInTests

Usually true, except when nixvim is being evaluated by mkTestDerivationFromNixvimModule, where it is false.

This can be used to dynamically enable plugins that can't be run in the test environment.

Located at lib/utils.nix:34 in <nixvim>.

lib.nixvim.utils.emptyTable

An empty lua table { } that will be included in the final lua configuration.

This is equivalent to { __empty = { }; }. This form can allow to do option.__empty = { }.

Located at lib/utils.nix:42 in <nixvim>.

lib.nixvim.utils.toRawKeys

Convert the keys of the given attrset to "raw lua".

Example

toRawKeys { foo = 1; bar = 2; }
=> { __rawKey__foo = 1; __rawKey__bar = 2; }

Resulting in the following lua:

{[foo] = 1, [bar] = 2}

If "raw keys" are not used, the attr names are treated as string keys:

{foo = 1, bar = 2}

Type

toRawKeys :: AttrSet -> AttrSet

Located at lib/utils.nix:75 in <nixvim>.

lib.nixvim.utils.mkRawKey

Create a 1-element attrs with a raw lua key.

Example

mkRawKey "foo" 1
=> { __rawKey__foo = 1; }

Type

mkRawKey :: String -> String -> AttrSet

Arguments

  • [n] The attribute name (raw lua)
  • [v] The attribute value

Located at lib/utils.nix:98 in <nixvim>.

lib.nixvim.utils.mkRaw

Write the string str as raw lua in the final lua configuration.

This is equivalent to { __raw = "lua code"; }. This form can allow to do option.__raw = "lua code".

Located at lib/utils.nix:106 in <nixvim>.

Platform-specific options

All of Nixvim's options are available within programs.nixvim.* when Nixvim is used via wrapper modules, such as our NixOS, home-manager, or nix-darwin modules.

When Nixvim is used standalone (without a wrapper module), its options are available at the "top-level". See Standalone Usage for more info.

There are a few wrapper specific options, which are documented in their respective sub-pages.

enable

Whether to enable nixvim.

Type: boolean

Default: false

Example: true

Declared by:

defaultEditor

Whether to enable nixvim as the default editor.

Type: boolean

Default: false

Example: true

Declared by:

nixpkgs.useGlobalPackages

Whether Nixvim should use the NixOS configuration’s pkgs, instead of constructing its own instance.

caution

Changing this option can lead to issues that may be difficult to debug.

Type: boolean

Default: false

Declared by:

enable

Whether to enable nixvim.

Type: boolean

Default: false

Example: true

Declared by:

defaultEditor

Whether to enable nixvim as the default editor.

Type: boolean

Default: false

Example: true

Declared by:

nixpkgs.useGlobalPackages

Whether Nixvim should use the home-manager configuration’s pkgs, instead of constructing its own instance.

caution

Changing this option can lead to issues that may be difficult to debug.

Type: boolean

Default: false

Declared by:

vimdiffAlias

Alias vimdiff to nvim -d.

Type: boolean

Default: false

Declared by:

enable

Whether to enable nixvim.

Type: boolean

Default: false

Example: true

Declared by:

nixpkgs.useGlobalPackages

Whether Nixvim should use the nix-darwin configuration’s pkgs, instead of constructing its own instance.

caution

Changing this option can lead to issues that may be difficult to debug.

Type: boolean

Default: false

Declared by:

Standalone Usage

Options

When used standalone, nixvim's options are available directly, without any prefix/namespace. This is unlike the other modules which typically use a programs.nixvim.* prefix.

There are no standalone-specific options available.

Using in another configuration

Here is an example on how to integrate into a NixOS or Home-manager configuration when using flakes.

The example assumes your standalone config is the default package of a flake, and you've named the input "nixvim-config".

{ inputs, system, ... }:
{
  # NixOS
  environment.systemPackages = [ inputs.nixvim-config.packages.${system}.default ];
  # home-manager
  home.packages = [ inputs.nixvim-config.packages.${system}.default ];
}

Extending an existing configuration

Given a <nixvim> derivation obtained from makeNixvim or makeNixvimWithModule it is possible to create a new derivation with additional options.

This is done through the <nixvim>.extend function. This function takes a Nixvim module that is merged with the options used to build <nixvim>.

This function is recursive, meaning that it can be applied an arbitrary number of times.

Example

{makeNixvim}: let
    first = makeNixvim { extraConfigLua = "-- first stage"; };
    second = first.extend {extraConfigLua = "-- second stage";};
    third = second.extend {extraConfigLua = "-- third stage";};
in
    third

This will generate a init.lua that will contain the comments from each stages:

-- first stage
-- second stage
-- third stage

Accessing options used in an existing configuration

The config used to produce a standalone nixvim derivation can be accessed as an attribute on the derivation, similar to <nixvim>.extend.

This may be useful if you want unrelated parts of your NixOS or home-manager configuration to use the same value as something in your nixvim configuration.

Accessing nixvim options

Given a nixvim derivation it is possible to access the module options using <derivation>.options. This can be useful to configure nixd for example:

plugins.lsp.servers.nixd = {
    enable = true;
    settings = {
        options.nixvim.expr = ''(builtins.getFlake "/path/to/flake").packages.${system}.neovimNixvim.options'';
    };
};

enableMan

Install the man pages for NixVim options.

Type: boolean

Default: true

Declared by:

package

The Neovim package to use.

Type: package

Default: pkgs.neovim-unwrapped

Declared by:

colorscheme

The name of the colorscheme to use

Type: null or string

Default: null

Declared by:

env

Environment variables to set in the neovim wrapper.

Type: lazy attribute set of (string or absolute path or signed integer or floating point number)

Default: { }

Example:

{
  BAR_PATH = "/home/me/.local/share/bar";
  BAZ_MAX_COUNT = 1000;
  FOO = 1;
  INFER_MODE = "local";
  PI = 3.14;
}

Declared by:

extraConfigLua

Extra contents for the file

Type: strings concatenated with “\n”

Default: ""

Declared by:

extraConfigLuaPost

Extra contents for the file after everything else

Type: strings concatenated with “\n”

Default: ""

Declared by:

extraConfigLuaPre

Extra contents for the file before everything else

Type: strings concatenated with “\n”

Default: ""

Declared by:

extraConfigVim

Extra contents for the file, in vimscript

Type: strings concatenated with “\n”

Default: ""

Declared by:

extraLuaPackages

Extra lua packages to include with neovim

Type: function that evaluates to a(n) list of package

Default: <function>

Declared by:

extraPackages

Extra packages to be made available to neovim

Type: list of (null or package)

Default: [ ]

Declared by:

extraPlugins

List of vim plugins to install

Type: list of (null or package or (submodule))

Default: [ ]

Declared by:

extraPython3Packages

Python packages to add to the PYTHONPATH of neovim.

Type: function that evaluates to a(n) list of package

Default: p: with p; [ ]

Example:

p: [ p.numpy ]

Declared by:

files

Extra files to add to the runtimepath

Type: attribute set of (Nixvim configuration)

Default: { }

Example:

{
  "ftplugin/nix.lua" = {
    opts = {
      expandtab = true;
      shiftwidth = 2;
      tabstop = 2;
    };
  };
}

Declared by:

globalOpts

The configuration global options (vim.opt_global.*)

Type: attribute set of anything

Default: { }

Declared by:

globals

Global variables (vim.g.*)

Type: attribute set of anything

Default: { }

Declared by:

impureRtp

Whether to keep the (impure) nvim config directory in the runtimepath.

If disabled, the XDG config dirs nvim and nvim/after will be removed from the runtimepath.

Type: boolean

Default: Configured by your installation method: true when using the home-manager module, false otherwise.

Declared by:

localOpts

The configuration local options (vim.opt_local.*)

Type: attribute set of anything

Default: { }

Declared by:

match

Define match groups

Type: attribute set of string

Default: { }

Example:

{
  ExtraWhitespace = "\\s\\+$";
}

Declared by:

opts

The configuration options, e.g. line numbers (vim.opt.*)

Type: attribute set of anything

Default: { }

Declared by:

path

Path of the file relative to the config directory

Type: string

Declared by:

type

Whether the generated file is a vim or a lua file

Read-only outside of files submodules.

Type: one of “vim”, “lua” (read only)

Default: "lua"

Declared by:

viAlias

Symlink vi to nvim binary.

Type: boolean

Default: false

Declared by:

vimAlias

Symlink vim to nvim binary.

Type: boolean

Default: false

Declared by:

withNodeJs

Enable Node provider.

Type: boolean

Default: false

Declared by:

withPerl

Enable Perl provider.

Type: boolean

Default: false

Declared by:

withPython3

Enable Python 3 provider.

Type: boolean

Default: true

Declared by:

withRuby

Enable Ruby provider.

Type: boolean

Default: true

Declared by:

wrapRc

Whether the config will be included in the wrapper script.

When enabled, the nixvim config will be passed to nvim using the -u option.

Type: boolean

Default: Configured by your installation method: false when using the home-manager module, true otherwise.

Declared by:

autoCmd

autocmd definitions

Type: list of (submodule)

Default: [ ]

Example:

[
  {
    command = "echo 'Entering a C or C++ file'";
    event = [
      "BufEnter"
      "BufWinEnter"
    ];
    pattern = [
      "*.c"
      "*.h"
    ];
  }
]

Declared by:

autoCmd.*.buffer

Buffer number for buffer local autocommands |autocmd-buflocal|. Cannot be used with pattern.

Type: null or signed integer

Default: null

Declared by:

autoCmd.*.callback

A function or a string.

  • if a string, the name of a Vimscript function to call when this autocommand is triggered.

  • Otherwise, a Lua function which is called when this autocommand is triggered. Cannot be used with command. Lua callbacks can return true to delete the autocommand; in addition, they accept a single table argument with the following keys:

    • id: (number) the autocommand id
    • event: (string) the name of the event that triggered the autocommand |autocmd-events|
    • group: (number|nil) the autocommand group id, if it exists
    • match: (string) the expanded value of |<amatch>|
    • buf: (number) the expanded value of |<abuf>|
    • file: (string) the expanded value of |<afile>|
    • data: (any) arbitrary data passed to |nvim_exec_autocmds()|

Example using callback: autoCmd = [ { event = [ “BufEnter” “BufWinEnter” ]; pattern = [ “.c" ".h” ]; callback = { __raw = “function() print(‘This buffer enters’) end”; }; }

Type: null or string or raw lua code

Default: null

Declared by:

autoCmd.*.command

Vim command to execute on event. Cannot be used with callback.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

autoCmd.*.desc

A textual description of this autocommand.

Type: null or string

Default: null

Declared by:

autoCmd.*.description

DEPRECATED, please use desc.

Type: null or string

Default: null

Declared by:

autoCmd.*.event

The event or events to register this autocommand.

Type: null or string or list of string

Default: null

Declared by:

autoCmd.*.group

The autocommand group name or id to match against.

Type: null or string or signed integer

Default: null

Declared by:

autoCmd.*.nested

Run nested autocommands.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

autoCmd.*.once

Run the autocommand only once.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

autoCmd.*.pattern

Pattern or patterns to match literally against.

Type: null or string or list of string

Default: null

Declared by:

autoGroups

augroup definitions

Type: attribute set of (submodule)

Default: { }

Example:

{
  my_augroup = {
    clear = true;
  };
}

Declared by:

autoGroups.<name>.clear

Clear existing commands if the group already exists.

Type: boolean

Default: true

Declared by:

build.package

Wrapped Neovim.

note

Evaluating this option will also check assertions and print any warnings. If this is not desired, you can use build.packageUnchecked instead.

Type: package (read only)

Default: config.build.packageUnchecked

Declared by:

build.packageUnchecked

Wrapped Neovim (without checking warnings or assertions).

Type: package (read only)

Declared by:

build.test

A derivation that tests the config by running neovim.

Type: package (read only)

Declared by:

diagnostic.settings

The configuration diagnostic options, provided to vim.diagnostic.config.

Type: attribute set of anything

Default: { }

Example:

{
  virtual_lines = {
    current_line = true;
  };
  virtual_text = false;
}

Declared by:

editorconfig.enable

editorconfig plugin for neovim

Type: boolean

Default: true

Declared by:

editorconfig.properties

The table key is a property name and the value is a callback function which accepts the number of the buffer to be modified, the value of the property in the .editorconfig file, and (optionally) a table containing all of the other properties and their values (useful for properties which depend on other properties). The value is always a string and must be coerced if necessary.

Type: attribute set of string

Default: { }

Example:

{
  foo = ''
    function(bufnr, val, opts)
      if opts.charset and opts.charset ~= "utf-8" then
        error("foo can only be set when charset is utf-8", 0)
      end
      vim.b[bufnr].foo = val
    end
  '';
}

Declared by:

extraFiles

Extra files to add to the runtime path

Type: attribute set of (submodule)

Default: { }

Example:

{
  "ftplugin/nix.lua".text = ''
    vim.opt.tabstop = 2
    vim.opt.shiftwidth = 2
    vim.opt.expandtab = true
  '';
}

Declared by:

extraFiles.<name>.enable

Whether this file should be generated. This option allows specific files to be disabled.

Type: boolean

Default: true

Declared by:

extraFiles.<name>.source

Path of the source file.

Type: absolute path

Declared by:

extraFiles.<name>.target

Name of symlink, relative to nvim config.

Type: string

Default: the attribute name

Declared by:

extraFiles.<name>.text

Text of the file.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

filetype

Define additional filetypes. The values can either be a literal filetype or a function taking the filepath and the buffer number.

For more information check :h vim.filetype.add()

Type: null or (submodule)

Default: null

Declared by:

filetype.extension

set filetypes matching the file extension

Type: null or (attribute set of (string or raw lua code or list of (string or (submodule))))

Default: null

Declared by:

filetype.filename

set filetypes matching the file name (or path)

Type: null or (attribute set of (string or raw lua code or list of (string or (submodule))))

Default: null

Declared by:

filetype.pattern

set filetypes matching the specified pattern

Type: null or (attribute set of (string or raw lua code or list of (string or (submodule))))

Default: null

Declared by:

highlight

Define new highlight groups

Type: attribute set of (attribute set)

Default: { }

Example:

{
  MacchiatoRed = {
    fg = "#ed8796";
  };
}

Declared by:

highlight.<name>.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

highlight.<name>.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

highlight.<name>.bold

Type: null or boolean

Default: null

Declared by:

highlight.<name>.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

highlight.<name>.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

highlight.<name>.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

highlight.<name>.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

highlight.<name>.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

highlight.<name>.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

highlight.<name>.nocombine

Type: null or boolean

Default: null

Declared by:

highlight.<name>.reverse

Type: null or boolean

Default: null

Declared by:

highlight.<name>.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

highlight.<name>.standout

Type: null or boolean

Default: null

Declared by:

highlight.<name>.strikethrough

Type: null or boolean

Default: null

Declared by:

highlight.<name>.undercurl

Type: null or boolean

Default: null

Declared by:

highlight.<name>.underdashed

Type: null or boolean

Default: null

Declared by:

highlight.<name>.underdotted

Type: null or boolean

Default: null

Declared by:

highlight.<name>.underdouble

Type: null or boolean

Default: null

Declared by:

highlight.<name>.underline

Type: null or boolean

Default: null

Declared by:

highlightOverride

Define highlight groups to override existing highlight

Type: attribute set of (attribute set)

Default: { }

Example:

{
  Comment = {
    fg = "#ff0000";
  };
}

Declared by:

highlightOverride.<name>.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

highlightOverride.<name>.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

highlightOverride.<name>.bold

Type: null or boolean

Default: null

Declared by:

highlightOverride.<name>.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

highlightOverride.<name>.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

highlightOverride.<name>.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

highlightOverride.<name>.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

highlightOverride.<name>.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

highlightOverride.<name>.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

highlightOverride.<name>.nocombine

Type: null or boolean

Default: null

Declared by:

highlightOverride.<name>.reverse

Type: null or boolean

Default: null

Declared by:

highlightOverride.<name>.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

highlightOverride.<name>.standout

Type: null or boolean

Default: null

Declared by:

highlightOverride.<name>.strikethrough

Type: null or boolean

Default: null

Declared by:

highlightOverride.<name>.undercurl

Type: null or boolean

Default: null

Declared by:

highlightOverride.<name>.underdashed

Type: null or boolean

Default: null

Declared by:

highlightOverride.<name>.underdotted

Type: null or boolean

Default: null

Declared by:

highlightOverride.<name>.underdouble

Type: null or boolean

Default: null

Declared by:

highlightOverride.<name>.underline

Type: null or boolean

Default: null

Declared by:

luaLoader.enable

Whether to enable/disable the experimental lua loader:

If true: Enables the experimental Lua module loader:

  • overrides loadfile
  • adds the lua loader using the byte-compilation cache
  • adds the libs loader
  • removes the default Neovim loader

If false: Disables the experimental Lua module loader:

  • removes the loaders
  • adds the default Neovim loader

If null: Nothing is configured.

Type: null or boolean

Default: null

Declared by:

nixpkgs.buildPlatform

Specifies the platform on which Nixvim should be built. By default, Nixvim is built on the system where it runs, but you can change where it’s built. Setting this option will cause Nixvim to be cross-compiled.

Ignored when nixpkgs.pkgs is set.

Type: string or (attribute set)

Default: Inherited from the “host” configuration’s pkgs. Or config.nixpkgs.hostPlatform when building a standalone nixvim.

Example:

{
  system = "x86_64-linux";
}

Declared by:

nixpkgs.config

Global configuration for Nixpkgs. The complete list of Nixpkgs configuration options is in the Nixpkgs manual section on global configuration.

Ignored when nixpkgs.pkgs is set.

Type: nixpkgs config

Default: { }

Example:

{
  allowBroken = true;
  allowUnfree = true;
}

Declared by:

nixpkgs.hostPlatform

Specifies the platform where the Nixvim configuration will run.

To cross-compile, also set nixpkgs.buildPlatform.

Ignored when nixpkgs.pkgs is set.

Type: string or (attribute set)

Default:

  • Inherited from the “host” configuration’s pkgs
  • Or evalNixvim’s system argument
  • Otherwise, must be specified manually

Example:

{
  system = "aarch64-linux";
}

Declared by:

nixpkgs.overlays

List of overlays to apply to Nixpkgs. This option allows modifying the Nixpkgs package set accessed through the pkgs module argument.

For details, see the Overlays chapter in the Nixpkgs manual.

If the nixpkgs.pkgs option is set, overlays specified using nixpkgs.overlays will be applied after the overlays that were already included in nixpkgs.pkgs.

Type: list of (nixpkgs overlay)

Default: [ ]

Example:

[

  # Add a vim plugin that isn't packaged in nixpkgs
  (final: prev: {
    easygrep = final.vimUtils.buildVimPlugin {
      name = "vim-easygrep";
      src = final.fetchFromGitHub {
        owner = "dkprice";
        repo = "vim-easygrep";
        rev = "d0c36a77cc63c22648e792796b1815b44164653a";
        hash = "sha256-bL33/S+caNmEYGcMLNCanFZyEYUOUmSsedCVBn4tV3g=";
      };
    };
  })

  # Override neovim-unwrapped with one from a flake input
  # Using `stdenv.hostPlatform` to access `system`
  (final: prev: {
    neovim-unwrapped =
      inputs.neovim-nightly-overlay.packages.${final.stdenv.hostPlatform.system}.default;
  })

  # Override neovim-unwrapped to tweak its desktop entry
  (final: prev: {
    neovim-unwrapped = prev.neovim-unwrapped.overrideAttrs (old: {
      postInstall = old.postInstall or "" + ''
        substituteInPlace $out/share/applications/nvim.desktop \
          --replace "TryExec=nvim" "" \
          --replace "Terminal=true" "Terminal=false" \
          --replace "Exec=nvim %F" "Exec=kitty -e nvim %F"
      '';
    });
  })

]

Declared by:

nixpkgs.pkgs

If set, the pkgs argument to all Nixvim modules is the value of this option.

If unset, the pkgs argument is determined by importing nixpkgs.source.

This option can be used by external applications to increase the performance of evaluation, or to create packages that depend on a container that should be built with the exact same evaluation of Nixpkgs, for example. Applications like this should set their default value using lib.mkDefault, so user-provided configuration can override it without using lib. E.g. Nixvim’s home-manager module can re-use the pkgs instance from the “host” modules.

caution

Changing this option can lead to issues that may be difficult to debug.

Type: An evaluation of Nixpkgs; the top level attribute set of packages

Example: import <nixpkgs> { }

Declared by:

nixpkgs.source

The path to import Nixpkgs from.

Ignored when nixpkgs.pkgs is set.

caution

Changing this option can lead to issues that may be difficult to debug.

Type: absolute path

Default: Nixvim’s flake input.nixpkgs

Declared by:

userCommands

A list of user commands to add to the configuration.

Type: attribute set of (submodule)

Default: { }

Declared by:

userCommands.<name>.addr

Whether special characters relate to other things, see :h command-addr.

Type: null or string

Default: null

Declared by:

userCommands.<name>.bang

Whether this command can take a bang (!).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

userCommands.<name>.bar

Whether this command can be followed by a “|” and another command.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

userCommands.<name>.command

The command to run.

Type: string or raw lua code

Declared by:

userCommands.<name>.complete

Tab-completion behaviour, see :h command-complete.

Type: null or string or raw lua code

Default: null

Declared by:

userCommands.<name>.count

Whether the command accepts a count, see :h command-range.

Type: null or boolean or signed integer

Default: null

Declared by:

userCommands.<name>.desc

A description of the command.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

userCommands.<name>.force

Overwrite an existing user command.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

userCommands.<name>.keepscript

Do not use the location of where the user command was defined for verbose messages, use the location of where the command was invoked.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

userCommands.<name>.nargs

The number of arguments to expect, see :h command-nargs.

Type: null or one of 0, 1, “*”, “?”, “+”

Default: null

Declared by:

userCommands.<name>.range

Whether the command accepts a range, see :h command-range.

Type: null or boolean or signed integer or value “%” (singular enum)

Default: null

Declared by:

userCommands.<name>.register

The first argument to the command can be an optional register.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

clipboard.register

Sets the register to use for the clipboard. Learn more in :h 'clipboard'.

Type: null or string or list of (string or raw lua code) or raw lua code

Default: null

Example: "unnamedplus"

Declared by:

clipboard.providers

Package(s) to use as the clipboard provider. Learn more at :h clipboard.

Type: submodule

Default: { }

Declared by:

clipboard.providers.wl-copy.enable

Whether to enable wl-copy.

Type: boolean

Default: false

Example: true

Declared by:

clipboard.providers.wl-copy.package

The wl-clipboard package to use.

Type: package

Default: pkgs.wl-clipboard

Declared by:

clipboard.providers.xclip.enable

Whether to enable xclip.

Type: boolean

Default: false

Example: true

Declared by:

clipboard.providers.xclip.package

The xclip package to use.

Type: package

Default: pkgs.xclip

Declared by:

clipboard.providers.xsel.enable

Whether to enable xsel.

Type: boolean

Default: false

Example: true

Declared by:

clipboard.providers.xsel.package

The xsel package to use.

Type: package

Default: pkgs.xsel

Declared by:

ayu

URL: https://github.com/Shatur/neovim-ayu/

Maintainers: Gaetan Lepage

colorschemes.ayu.enable

Whether to enable neovim-ayu.

Type: boolean

Default: false

Example: true

Declared by:

colorschemes.ayu.package

The neovim-ayu package to use.

Type: package

Default: pkgs.vimPlugins.neovim-ayu

Declared by:

colorschemes.ayu.autoLoad

Whether to automatically load neovim-ayu when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

colorschemes.ayu.lazyLoad

Lazy-load settings for neovim-ayu.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

colorschemes.ayu.lazyLoad.enable

lazy-loading for neovim-ayu

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

colorschemes.ayu.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

colorschemes.ayu.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

colorschemes.ayu.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.ayu.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.ayu.settings

Options provided to the require('ayu').setup function.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

colorschemes.ayu.settings.mirage

Set to true to use mirage variant instead of dark for dark background.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.ayu.settings.overrides

A dictionary of group names, each associated with a dictionary of parameters (bg, fg, sp and style) and colors in hex.

Alternatively, overrides can be a function that returns a dictionary of the same format. You can use the function to override based on a dynamic condition, such as the value of background.

Type: null or lua code string or attribute set of (attribute set)

Default: null

Plugin default: { }

Declared by:

bamboo

URL: https://github.com/ribru17/bamboo.nvim/

Maintainers: Alison Jenkins

colorschemes.bamboo.enable

Whether to enable bamboo.nvim.

Type: boolean

Default: false

Example: true

Declared by:

colorschemes.bamboo.package

The bamboo.nvim package to use.

Type: package

Default: pkgs.vimPlugins.bamboo-nvim

Declared by:

colorschemes.bamboo.autoLoad

Whether to automatically load bamboo.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

colorschemes.bamboo.settings

Options provided to the require('bamboo').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  cmp_itemkind_reverse = false;
  code_style = {
    comments = {
      italic = true;
    };
    conditionals = {
      italic = true;
    };
    functions = { };
    keywords = { };
    namespaces = {
      italic = true;
    };
    parameters = {
      italic = true;
    };
    strings = { };
    variables = { };
  };
  colors = { };
  diagnostics = {
    background = true;
    darker = false;
    undercurl = true;
  };
  dim_inactive = false;
  ending_tildes = false;
  highlights = { };
  lualine = {
    transparent = false;
  };
  style = "vulgaris";
  term_colors = true;
  toggle_style_key = null;
  toggle_style_list = [
    "vulgaris"
    "multiplex"
    "light"
  ];
  transparent = false;
}

Declared by:

colorschemes.bamboo.lazyLoad

Lazy-load settings for bamboo.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

colorschemes.bamboo.lazyLoad.enable

lazy-loading for bamboo.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

colorschemes.bamboo.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

colorschemes.bamboo.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

colorschemes.bamboo.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.bamboo.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

base16

URL: https://github.com/RRethy/base16-nvim/

Maintainers: Gaetan Lepage, Matt Sturgeon

colorschemes.base16.enable

Whether to enable base16-nvim.

Type: boolean

Default: false

Example: true

Declared by:

colorschemes.base16.package

The base16-nvim package to use.

Type: package

Default: pkgs.vimPlugins.base16-nvim

Declared by:

colorschemes.base16.autoLoad

Whether to automatically load base16-nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

colorschemes.base16.colorscheme

The base16 colorscheme to use.

You may use the name of a builtin colorscheme or an attrs that specifies the colors explicitly.

Examples of builtin themes include:

  • “catppuccin”
  • “catppuccin-frappe”
  • “catppuccin-latte”
  • “catppuccin-macchiato”
  • “catppuccin-mocha”
  • “darcula”
  • “dracula”
  • “espresso”
  • “github”
  • “google-dark”
  • “google-light”
  • “gruvbox-dark-hard”
  • “gruvbox-dark-medium”
  • “gruvbox-dark-pale”
  • “gruvbox-dark-soft”
  • “gruvbox-light-hard”
  • “gruvbox-light-medium”
  • “gruvbox-light-soft”
  • “material”
  • “material-darker”
  • “material-lighter”
  • “material-palenight”
  • “material-vivid”
  • “nord”
  • “nova”
  • “ocean”
  • “onedark”
  • “rose-pine”
  • “rose-pine-dawn”
  • “rose-pine-moon”
  • “solarized-dark”
  • “solarized-light”
  • “tango”
  • “tokyo-night-dark”
  • “tokyo-night-light”
  • “tokyo-night-storm”
  • “tokyo-night-terminal-dark”
  • “tokyo-night-terminal-light”
  • “tokyo-night-terminal-storm”
  • “woodland”

:h nvim-base16-builtin-colorschemes includes a full list of builtin themes, however the plugin’s source code may be more up to date.

You can access require('base16-colorscheme') as base16 in any raw lua, for example, you could reuse some colors from the builtin colorschemes:

  base03.__raw = "base16.colorschemes['catppuccin'].base06";

Type: null or string or (submodule) or raw lua code

Default: null

Plugin default: vim.env.BASE16_THEME or "schemer-dark"

Example:

{
  base00 = "#16161D";
  base01 = "#2c313c";
  base02 = "#3e4451";
  base03 = "#6c7891";
  base04 = "#565c64";
  base05 = "#abb2bf";
  base06 = "#9a9bb3";
  base07 = "#c5c8e6";
  base08 = "#e06c75";
  base09 = "#d19a66";
  base0A = "#e5c07b";
  base0B = "#98c379";
  base0C = "#56b6c2";
  base0D = "#0184bc";
  base0E = "#c678dd";
  base0F = "#a06949";
}

Declared by:

colorschemes.base16.setUpBar

Whether to set your status bar theme to ‘base16’.

Type: boolean

Default: true

Example: false

Declared by:

colorschemes.base16.lazyLoad

Lazy-load settings for base16-nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

colorschemes.base16.lazyLoad.enable

lazy-loading for base16-nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

colorschemes.base16.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

colorschemes.base16.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

colorschemes.base16.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.base16.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.base16.settings

Options provided to the require('base16-colorscheme').with_config function.

Type: attribute set of anything

Default: { }

Example:

{
  dapui = false;
  indentblankline = false;
  telescope_borders = true;
}

Declared by:

colorschemes.base16.settings.cmp

Whether to enable cmp integration.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.base16.settings.dapui

Whether to enable dapui integration.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.base16.settings.illuminate

Whether to enable illuminate integration.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.base16.settings.indentblankline

Whether to enable indentblankline integration.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.base16.settings.lsp_semantic

Whether to enable lsp_semantic integration.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.base16.settings.mini_completion

Whether to enable mini_completion integration.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.base16.settings.notify

Whether to enable notify integration.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.base16.settings.telescope

Whether to enable telescope integration.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.base16.settings.telescope_borders

Whether to display borders around telescope’s panel.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.base16.settings.ts_rainbow

Whether to enable ts_rainbow integration.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

catppuccin

URL: https://github.com/catppuccin/nvim/

Maintainers: Gaetan Lepage

colorschemes.catppuccin.enable

Whether to enable catppuccin-nvim.

Type: boolean

Default: false

Example: true

Declared by:

colorschemes.catppuccin.package

The catppuccin-nvim package to use.

Type: package

Default: pkgs.vimPlugins.catppuccin-nvim

Declared by:

colorschemes.catppuccin.autoLoad

Whether to automatically load catppuccin-nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

colorschemes.catppuccin.lazyLoad

Lazy-load settings for catppuccin-nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

colorschemes.catppuccin.lazyLoad.enable

lazy-loading for catppuccin-nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

colorschemes.catppuccin.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

colorschemes.catppuccin.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

colorschemes.catppuccin.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.catppuccin.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.catppuccin.settings

Options provided to the require('catppuccin').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  color_overrides = {
    mocha = {
      base = "#1e1e2f";
    };
  };
  disable_underline = true;
  flavour = "mocha";
  integrations = {
    cmp = true;
    gitsigns = true;
    mini = {
      enabled = true;
      indentscope_color = "";
    };
    notify = false;
    nvimtree = true;
    treesitter = true;
  };
  styles = {
    booleans = [
      "bold"
      "italic"
    ];
    conditionals = [
      "bold"
    ];
  };
  term_colors = true;
}

Declared by:

colorschemes.catppuccin.settings.compile_path

Set the compile cache directory.

Type: null or string or raw lua code

Default: null

Plugin default:

{
  __raw = "vim.fn.stdpath 'cache' .. '/catppuccin'";
}

Declared by:

colorschemes.catppuccin.settings.custom_highlights

Override specific highlight groups to use other groups or a hex color. You can provide either a lua function or directly an attrs.

Example:

  function(colors)
    return {
      Comment = { fg = colors.flamingo },
      ["@constant.builtin"] = { fg = colors.peach, style = {} },
      ["@comment"] = { fg = colors.surface2, style = { "italic" } },
    }
  end

Default: {}

Type: null or lua function string or attribute set of anything

Default: null

Declared by:

colorschemes.catppuccin.settings.default_integrations

Some integrations are enabled by default, you can control this behaviour with this option.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.catppuccin.settings.flavour

Theme flavour.

Type: null or one of “latte”, “mocha”, “frappe”, “macchiato”, “auto”

Default: null

Declared by:

colorschemes.catppuccin.settings.integrations

Catppuccin provides theme support for other plugins in the Neovim ecosystem and extended Neovim functionality through integrations.

To enable/disable an integration you just need to set it to true/false.

Example:

  {
    cmp = true;
    gitsigns = true;
    nvimtree = true;
    treesitter = true;
    notify = false;
    mini = {
      enabled = true;
      indentscope_color = "";
    };
  }

Default: see plugin source.

Type: null or (attribute set of anything)

Default: null

Declared by:

colorschemes.catppuccin.settings.no_bold

Force no bold.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.catppuccin.settings.no_italic

Force no italic.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.catppuccin.settings.no_underline

Force no underline.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.catppuccin.settings.show_end_of_buffer

Show the ‘~’ characters after the end of buffers.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.catppuccin.settings.term_colors

Configure the colors used when opening a :terminal in Neovim.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.catppuccin.settings.transparent_background

Enable Transparent background.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.catppuccin.settings.background.dark

Background for dark background.

Type: null or one of “latte”, “mocha”, “frappe”, “macchiato” or raw lua code

Default: null

Plugin default: "latte"

Declared by:

colorschemes.catppuccin.settings.background.light

Background for light background.

Type: null or one of “latte”, “mocha”, “frappe”, “macchiato” or raw lua code

Default: null

Plugin default: "latte"

Declared by:

colorschemes.catppuccin.settings.color_overrides.all

Override colors for all the flavours.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

colorschemes.catppuccin.settings.color_overrides.frappe

Override colors for the frappe flavour.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

colorschemes.catppuccin.settings.color_overrides.latte

Override colors for the latte flavour.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

colorschemes.catppuccin.settings.color_overrides.macchiato

Override colors for the macchiato flavour.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

colorschemes.catppuccin.settings.color_overrides.mocha

Override colors for the mocha flavour.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

colorschemes.catppuccin.settings.dim_inactive.enabled

If true, dims the background color of inactive window or buffer or split.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.catppuccin.settings.dim_inactive.percentage

percentage of the shade to apply to the inactive window, split or buffer.

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.15

Declared by:

colorschemes.catppuccin.settings.dim_inactive.shade

Sets the shade to apply to the inactive split or window or buffer.

Type: null or string or raw lua code

Default: null

Plugin default: "dark"

Declared by:

colorschemes.catppuccin.settings.styles.booleans

Define booleans highlight properties.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

colorschemes.catppuccin.settings.styles.comments

Define comments highlight properties.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "italic"
]

Declared by:

colorschemes.catppuccin.settings.styles.conditionals

Define conditionals highlight properties.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "italic"
]

Declared by:

colorschemes.catppuccin.settings.styles.functions

Define functions highlight properties.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

colorschemes.catppuccin.settings.styles.keywords

Define keywords highlight properties.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

colorschemes.catppuccin.settings.styles.loops

Define loops highlight properties.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

colorschemes.catppuccin.settings.styles.numbers

Define numbers highlight properties.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

colorschemes.catppuccin.settings.styles.operators

Define operators highlight properties.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

colorschemes.catppuccin.settings.styles.properties

Define properties highlight properties.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

colorschemes.catppuccin.settings.styles.strings

Define strings highlight properties.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

colorschemes.catppuccin.settings.styles.types

Define types highlight properties.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

colorschemes.catppuccin.settings.styles.variables

Define variables highlight properties.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

cyberdream

URL: https://github.com/scottmckendry/cyberdream.nvim/

Maintainers: Andres Bermeo Marinelli

colorschemes.cyberdream.enable

Whether to enable cyberdream.nvim.

Type: boolean

Default: false

Example: true

Declared by:

colorschemes.cyberdream.package

The cyberdream.nvim package to use.

Type: package

Default: pkgs.vimPlugins.cyberdream-nvim

Declared by:

colorschemes.cyberdream.autoLoad

Whether to automatically load cyberdream.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

colorschemes.cyberdream.lazyLoad

Lazy-load settings for cyberdream.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

colorschemes.cyberdream.lazyLoad.enable

lazy-loading for cyberdream.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

colorschemes.cyberdream.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

colorschemes.cyberdream.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

colorschemes.cyberdream.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.cyberdream.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.cyberdream.settings

Options provided to the require('cyberdream').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  borderless_telescope = true;
  hide_fillchars = true;
  italic_comments = true;
  terminal_colors = true;
  theme = {
    colors = {
      bg = "#000000";
      green = "#00ff00";
      magenta = "#ff00ff";
    };
    highlights = {
      Comment = {
        bg = "NONE";
        fg = "#696969";
        italic = true;
      };
    };
  };
  transparent = true;
}

Declared by:

colorschemes.cyberdream.settings.borderless_telescope

Modern borderless telescope theme.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.cyberdream.settings.hide_fillchars

Replace all fillchars with ’ ’ for the ultimate clean look.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.cyberdream.settings.italic_comments

Enable italics comments.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.cyberdream.settings.terminal_colors

Set terminal colors used in :terminal.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.cyberdream.settings.transparent

Enable transparent background.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.cyberdream.settings.theme.colors

Override the default colors used.

For a full list of colors, see upstream documentation.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

colorschemes.cyberdream.settings.theme.highlights

Highlight groups to override, adding new groups is also possible. See :h highlight-groups for a list of highlight groups.

Example:

{
  Comment = {
    fg = "#696969";
    bg = "NONE";
    italic = true;
  };
}

Complete list can be found in lua/cyberdream/theme.lua in upstream repository.

Type: null or (attribute set of ((attribute set) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

dracula

URL: https://github.com/dracula/vim/

Maintainers: Gaetan Lepage

colorschemes.dracula.enable

Whether to enable dracula.

Type: boolean

Default: false

Example: true

Declared by:

colorschemes.dracula.package

The dracula package to use.

Type: package

Default: pkgs.vimPlugins.dracula-vim

Declared by:

colorschemes.dracula.autoLoad

Whether to automatically load dracula when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

colorschemes.dracula.settings

The configuration options for dracula without the dracula_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal dracula_foo_bar=1
  • hello = "world" -> :setglobal dracula_hello="world"
  • some_toggle = true -> :setglobal dracula_some_toggle
  • other_toggle = false -> :setglobal nodracula_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  colorterm = false;
  italic = false;
}

Declared by:

colorschemes.dracula.settings.bold

Include bold attributes in highlighting.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.dracula.settings.colorterm

Include background fill colors.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.dracula.settings.full_special_attrs_support

Explicitly declare full support for special attributes. On terminal emulators, set to true to allow underline/undercurl highlights without changing the foreground color.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.dracula.settings.high_contrast_diff

Use high-contrast color when in diff mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.dracula.settings.inverse

Include inverse attributes in highlighting.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.dracula.settings.italic

Include italic attributes in highlighting.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.dracula.settings.strikethrough

Include strikethrough attributes in highlighting.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.dracula.settings.undercurl

Include undercurl attributes in highlighting (only if underline is enabled).

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.dracula.settings.underline

Include underline attributes in highlighting.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

dracula-nvim

URL: https://github.com/Mofiqul/dracula.nvim/

Maintainers: Refael Sheinker

colorschemes.dracula-nvim.enable

Whether to enable dracula.nvim .

Type: boolean

Default: false

Example: true

Declared by:

colorschemes.dracula-nvim.package

The dracula.nvim package to use.

Type: package

Default: pkgs.vimPlugins.dracula-nvim

Declared by:

colorschemes.dracula-nvim.autoLoad

Whether to automatically load dracula.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

colorschemes.dracula-nvim.settings

Options provided to the require('dracula').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  colors = {
    green = "#00FF00";
  };
  italic_comment = true;
}

Declared by:

colorschemes.dracula-nvim.lazyLoad

Lazy-load settings for dracula.nvim .

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

colorschemes.dracula-nvim.lazyLoad.enable

lazy-loading for dracula.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

colorschemes.dracula-nvim.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

colorschemes.dracula-nvim.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

colorschemes.dracula-nvim.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.dracula-nvim.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

everforest

URL: https://github.com/sainnhe/everforest/

Maintainers: sheemap

colorschemes.everforest.enable

Whether to enable everforest.

Type: boolean

Default: false

Example: true

Declared by:

colorschemes.everforest.package

The everforest package to use.

Type: package

Default: pkgs.vimPlugins.everforest

Declared by:

colorschemes.everforest.autoLoad

Whether to automatically load everforest when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

colorschemes.everforest.settings

The configuration options for everforest without the everforest_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal everforest_foo_bar=1
  • hello = "world" -> :setglobal everforest_hello="world"
  • some_toggle = true -> :setglobal everforest_some_toggle
  • other_toggle = false -> :setglobal noeverforest_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  background = "hard";
  colors_override = {
    bg0 = [
      "#202020"
      "234"
    ];
    bg2 = [
      "#282828"
      "235"
    ];
  };
  dim_inactive_windows = 1;
}

Declared by:

colorschemes.everforest.settings.enable_italic

To enable italic in this color scheme, set this option to 1.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

colorschemes.everforest.settings.background

The background contrast used in this color scheme.

Type: null or one of “hard”, “medium”, “soft” or raw lua code

Default: null

Plugin default: "medium"

Declared by:

colorschemes.everforest.settings.colors_override

Override color palette. The available keys can be found in the plugin’s source code

Type: null or (attribute set of ((list of string) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

colorschemes.everforest.settings.current_word

Some plugins can highlight the word under current cursor, you can use this option to control their behavior.

Default value: 'grey background' when not in transparent mode, 'bold' when in transparent mode.

Currently, the following plugins are supported:

Type: null or one of “grey background”, “bold”, “underline”, “italic” or raw lua code

Default: null

Plugin default: "grey background"

Declared by:

colorschemes.everforest.settings.cursor

Customize the cursor color, only works in GUI clients.

Type: null or one of “auto”, “red”, “orange”, “yellow”, “green”, “aqua”, “blue”, “purple” or raw lua code

Default: null

Plugin default: "auto"

Declared by:

colorschemes.everforest.settings.diagnostic_line_highlight

Some plugins support highlighting error/warning/info/hint lines, but this feature is disabled by default in this color scheme. To enable this feature, set this option to 1.

Currently, the following plugins are supported:

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

colorschemes.everforest.settings.diagnostic_text_highlight

Some plugins support highlighting error/warning/info/hint texts, by default these texts are only underlined, but you can use this option to also highlight the background of them.

Currently, the following plugins are supported:

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

colorschemes.everforest.settings.diagnostic_virtual_text

Some plugins can use the virtual text feature of Neovim to display error/warning/info/hint information. You can use this option to adjust the way these virtual texts are highlighted.

Currently, the following plugins are supported:

Type: null or one of “grey”, “colored”, “highlighted” or raw lua code

Default: null

Plugin default: "grey"

Declared by:

colorschemes.everforest.settings.dim_inactive_windows

Dim inactive windows. Only works in Neovim currently.

When this option is used in conjunction with |g:everforest_show_eob| set to 0, the end of the buffer will only be hidden inside the active window. Inside inactive windows, the end of buffer filler characters will be visible in dimmed symbols. This is due to the way Vim and Neovim handle |hl-EndOfBuffer|.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

colorschemes.everforest.settings.disable_italic_comment

By default, italic is enabled in Comment. To disable italic in Comment, set this option to 1

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

colorschemes.everforest.settings.disable_terminal_colors

Setting this option to 1 will disable terminal colors provided by this color scheme so you can remain terminal colors the same when using |:terminal| in vim and outside of vim.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

colorschemes.everforest.settings.float_style

Style used to make floating windows stand out from other windows. 'bright' makes the background of these windows lighter than |hl-Normal|, whereas 'dim' makes it darker.

Floating windows include for instance diagnostic pop-ups, scrollable documentation windows from completion engines, overlay windows from installers, etc.

Type: null or one of “bright”, “dim” or raw lua code

Default: null

Plugin default: "bright"

Declared by:

colorschemes.everforest.settings.inlay_hints_background

Inlay hints are special markers that are displayed inline with the code to provide you with additional information. You can use this option to customize the background color of inlay hints.

Currently, the following LSP clients are supported:

Type: null or one of “none”, “dimmed” or raw lua code

Default: null

Plugin default: "none"

Declared by:

colorschemes.everforest.settings.lightline_disable_bold

By default, bold is enabled in lightline color scheme. To disable bold in lightline color scheme, set this option to 1.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

colorschemes.everforest.settings.show_eob

Whether to show |hl-EndOfBuffer|.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

colorschemes.everforest.settings.sign_column_background

By default, the color of sign column background is the same as normal text background, but you can use a grey background by setting this option to 'grey'.

Type: null or one of “none”, “grey” or raw lua code

Default: null

Plugin default: "none"

Declared by:

colorschemes.everforest.settings.spell_foreground

By default, this color scheme won’t color the foreground of |spell|, instead colored under curls will be used. If you also want to color the foreground, set this option to 'colored'.

Type: null or one of “none”, “colored” or raw lua code

Default: null

Plugin default: "none"

Declared by:

colorschemes.everforest.settings.transparent_background

To use transparent background, set this option to 1.

If you want more ui components to be transparent (for example, status line background), set this option to 2.

Type: null or one of 0, 1, 2 or raw lua code

Default: null

Plugin default: 0

Declared by:

colorschemes.everforest.settings.ui_contrast

The contrast of line numbers, indent lines, etc.

Type: null or one of “low”, “high” or raw lua code

Default: null

Plugin default: "low"

Declared by:

github-theme

URL: https://github.com/projekt0n/github-nvim-theme/

Maintainers: Gaetan Lepage

colorschemes.github-theme.enable

Whether to enable github-nvim-theme.

Type: boolean

Default: false

Example: true

Declared by:

colorschemes.github-theme.package

The github-nvim-theme package to use.

Type: package

Default: pkgs.vimPlugins.github-nvim-theme

Declared by:

colorschemes.github-theme.autoLoad

Whether to automatically load github-nvim-theme when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

colorschemes.github-theme.settings

Options provided to the require('github-theme').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  options = {
    dim_inactive = true;
    styles = {
      comments = "italic";
      keywords = "bold";
    };
    transparent = true;
  };
}

Declared by:

colorschemes.github-theme.lazyLoad

Lazy-load settings for github-nvim-theme.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

colorschemes.github-theme.lazyLoad.enable

lazy-loading for github-nvim-theme

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

colorschemes.github-theme.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

colorschemes.github-theme.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

colorschemes.github-theme.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.github-theme.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

gruvbox

URL: https://github.com/ellisonleao/gruvbox.nvim/

Maintainers: Gaetan Lepage

colorschemes.gruvbox.enable

Whether to enable gruvbox.nvim.

Type: boolean

Default: false

Example: true

Declared by:

colorschemes.gruvbox.package

The gruvbox.nvim package to use.

Type: package

Default: pkgs.vimPlugins.gruvbox-nvim

Declared by:

colorschemes.gruvbox.autoLoad

Whether to automatically load gruvbox.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

colorschemes.gruvbox.settings

Options provided to the require('gruvbox').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  palette_overrides = {
    bright_blue = "#5476b2";
    bright_purple = "#fb4934";
    dark1 = "#323232";
    dark2 = "#383330";
    dark3 = "#323232";
  };
  terminal_colors = true;
}

Declared by:

colorschemes.gruvbox.lazyLoad

Lazy-load settings for gruvbox.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

colorschemes.gruvbox.lazyLoad.enable

lazy-loading for gruvbox.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

colorschemes.gruvbox.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

colorschemes.gruvbox.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

colorschemes.gruvbox.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.gruvbox.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

kanagawa

URL: https://github.com/rebelot/kanagawa.nvim/

Maintainers: Gaetan Lepage


You can select the theme in two ways:

  • Set colorschemes.kanagawa.settings.theme AND explicitly unset vim.o.background (i.e. options.background = "").
  • Set colorschemes.kanagawa.settings.background (the active theme will depend on the value of vim.o.background).

colorschemes.kanagawa.enable

Whether to enable kanagawa.nvim.

Type: boolean

Default: false

Example: true

Declared by:

colorschemes.kanagawa.package

The kanagawa.nvim package to use.

Type: package

Default: pkgs.vimPlugins.kanagawa-nvim

Declared by:

colorschemes.kanagawa.autoLoad

Whether to automatically load kanagawa.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

colorschemes.kanagawa.lazyLoad

Lazy-load settings for kanagawa.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

colorschemes.kanagawa.lazyLoad.enable

lazy-loading for kanagawa.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

colorschemes.kanagawa.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

colorschemes.kanagawa.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

colorschemes.kanagawa.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.kanagawa.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.kanagawa.settings

Options provided to the require('kanagawa').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  colors = {
    palette = {
      fujiWhite = "#FFFFFF";
      sumiInk0 = "#000000";
    };
    theme = {
      all = {
        ui = {
          bg_gutter = "none";
        };
      };
      dragon = {
        syn = {
          parameter = "yellow";
        };
      };
      wave = {
        ui = {
          float = {
            bg = "none";
          };
        };
      };
    };
  };
  commentStyle = {
    italic = true;
  };
  compile = false;
  dimInactive = false;
  functionStyle = { };
  overrides = "function(colors) return {} end";
  terminalColors = true;
  theme = "wave";
  transparent = false;
  undercurl = true;
}

Declared by:

colorschemes.kanagawa.settings.commentStyle

Highlight options for comments.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  italic = true;
}

Declared by:

colorschemes.kanagawa.settings.compile

Enable compiling the colorscheme.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.kanagawa.settings.dimInactive

Whether dim inactive window :h hl-NormalNC.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.kanagawa.settings.functionStyle

Highlight options for functions.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

colorschemes.kanagawa.settings.keywordStyle

Highlight options for keywords.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  italic = true;
}

Declared by:

colorschemes.kanagawa.settings.overrides

The body of a function that add/modify hihlights. It takes as input a colors argument which is a table of this form:

  colors = {
    palette = {
      foo = "#RRGGBB",
      bar = "#RRGGBB"
    },
    theme = {
      foo = "#RRGGBB",
      bar = "#RRGGBB"
    }
  }

It should return a table of highlights.

  function(colors)
    CONTENT_OF_OVERRIDE_OPTION
  end

Type: null or lua function string

Default: null

Plugin default:

''
  function(colors)
    return {}
  end
''

Declared by:

colorschemes.kanagawa.settings.statementStyle

Highlight options for statements.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  bold = true;
}

Declared by:

colorschemes.kanagawa.settings.terminalColors

If true, defines vim.g.terminal_color_{0,17}.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.kanagawa.settings.theme

The theme to load when background is not set.

Type: null or string or raw lua code

Default: null

Plugin default: "wave"

Declared by:

colorschemes.kanagawa.settings.transparent

Whether to set a background color.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.kanagawa.settings.typeStyle

Highlight options for types.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

colorschemes.kanagawa.settings.undercurl

Enable undercurls.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.kanagawa.settings.background.dark

The theme to use when vim.o.background = "dark".

Type: null or string or raw lua code

Default: null

Plugin default: "wave"

Declared by:

colorschemes.kanagawa.settings.background.light

The theme to use when vim.o.background = "light".

Type: null or string or raw lua code

Default: null

Plugin default: "lotus"

Declared by:

colorschemes.kanagawa.settings.colors.palette

Change all usages of these colors.

Example:

  {
    sumiInk0 = "#000000";
    fujiWhite = "#FFFFFF";
  }

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

colorschemes.kanagawa.settings.colors.theme

Change specific usages for a certain theme, or for all of them

Example:

  {
    wave = {
      ui = {
          float = {
              bg = "none";
          };
      };
    };
    dragon = {
        syn = {
            parameter = "yellow";
        };
    };
    all = {
        ui = {
            bg_gutter = "none";
        };
    };
  }

Type: null or (attribute set of ((attribute set) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  all = { };
  dragon = { };
  lotus = { };
  wave = { };
}

Declared by:

kanagawa-paper

URL: https://github.com/thesimonho/kanagawa-paper.nvim/

Maintainers: Fran Cirka


You can select the theme in two ways:

  • Set colorschemes.kanagawa-paper.settings.theme AND explicitly unset vim.o.background (i.e. opts.background = "").
  • Set colorschemes.kanagawa-paper.settings.background (the active theme will depend on the value of vim.o.background).

colorschemes.kanagawa-paper.enable

Whether to enable kanagawa-paper.nvim.

Type: boolean

Default: false

Example: true

Declared by:

colorschemes.kanagawa-paper.package

The kanagawa-paper.nvim package to use.

Type: package

Default: pkgs.vimPlugins.kanagawa-paper-nvim

Declared by:

colorschemes.kanagawa-paper.autoLoad

Whether to automatically load kanagawa-paper.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

colorschemes.kanagawa-paper.settings

Options provided to the require('kanagawa-paper').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  auto_plugins = false;
  background = "dark";
  cache = false;
  colors = {
    palette = { };
    theme = {
      canvas = { };
      ink = { };
    };
  };
  compile = false;
  dim_inactive = false;
  gutter = false;
  overrides = lib.nixvim.mkRaw "function(colors) return {} end";
  styles = {
    comments = {
      italic = true;
    };
    functions = {
      italic = true;
    };
    keywords = {
      italic = true;
    };
    statement_style = {
      bold = true;
    };
  };
  terminal_colors = false;
  theme = "ink";
  transparent = true;
  undercurl = true;
}

Declared by:

colorschemes.kanagawa-paper.lazyLoad

Lazy-load settings for kanagawa-paper.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

colorschemes.kanagawa-paper.lazyLoad.enable

lazy-loading for kanagawa-paper.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

colorschemes.kanagawa-paper.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

colorschemes.kanagawa-paper.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

colorschemes.kanagawa-paper.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.kanagawa-paper.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

melange

URL: https://github.com/savq/melange-nvim/

Maintainers: Gaetan Lepage

colorschemes.melange.enable

Whether to enable melange-nvim.

Type: boolean

Default: false

Example: true

Declared by:

colorschemes.melange.package

The melange-nvim package to use.

Type: package

Default: pkgs.vimPlugins.melange-nvim

Declared by:

colorschemes.melange.autoLoad

Whether to automatically load melange-nvim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

modus

URL: https://github.com/miikanissi/modus-themes.nvim/

Maintainers: Nate Smith

colorschemes.modus.enable

Whether to enable modus-themes.nvim.

Type: boolean

Default: false

Example: true

Declared by:

colorschemes.modus.package

The modus-themes.nvim package to use.

Type: package

Default: pkgs.vimPlugins.modus-themes-nvim

Declared by:

colorschemes.modus.autoLoad

Whether to automatically load modus-themes.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

colorschemes.modus.lazyLoad

Lazy-load settings for modus-themes.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

colorschemes.modus.lazyLoad.enable

lazy-loading for modus-themes.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

colorschemes.modus.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

colorschemes.modus.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

colorschemes.modus.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.modus.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.modus.settings

Options provided to the require('modus-themes').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  dim_inactive = false;
  hide_inactive_statusline = false;
  on_colors = "function(colors) end";
  on_highlights = "function(highlights, colors) end";
  style = "auto";
  styles = {
    comments = {
      italic = true;
    };
    functions = { };
    keywords = {
      italic = true;
    };
    variables = { };
  };
  transparent = false;
  variant = "default";
}

Declared by:

colorschemes.modus.settings.dim_inactive

Dims inactive windows.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.modus.settings.hide_inactive_statusline

Hide statuslines in inactive windows.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.modus.settings.on_colors

Override specific color groups to use other groups or a hex color. Function will be called with a ColorScheme table.

@param colors ColorScheme

Type: null or lua function string

Default: null

Plugin default: "function(colors) end"

Declared by:

colorschemes.modus.settings.on_highlights

Override specific highlights to use other groups or a hex color. Function will be called with a Highlights and ColorScheme table.

@param highlights Highlights
@param colors ColorScheme

Type: null or lua function string

Default: null

Plugin default: "function(highlights, colors) end"

Declared by:

colorschemes.modus.settings.style

The theme comes in a light modus_operandi style and a dark modus_vivendi style.

Type: null or one of “modus_operandi”, “modus_vivendi” or raw lua code

Default: null

Plugin default: "modus_operandi"

Declared by:

colorschemes.modus.settings.transparent

Disable setting the background color.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.modus.settings.variant

Styles come in four variants:

  • default is the plugin’s main style designed to cover a broad range of needs.
  • tinted tones down intensity and provides more color variety.
  • deuteranopia is optimized for users with red-green color deficiency.
  • tritanopia is optimized for users with blue-yellow color deficiency.

Type: null or one of “default”, “tinted”, “deuteranopia”, “tritanopia” or raw lua code

Default: null

Plugin default: "default"

Declared by:

colorschemes.modus.settings.styles.comments

Define comments highlight properties.

Type: null or (attribute set)

Default: null

Plugin default:

{
  italic = true;
}

Declared by:

colorschemes.modus.settings.styles.comments.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.modus.settings.styles.comments.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

colorschemes.modus.settings.styles.comments.bold

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.comments.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

colorschemes.modus.settings.styles.comments.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.modus.settings.styles.comments.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.modus.settings.styles.comments.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.comments.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.modus.settings.styles.comments.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.modus.settings.styles.comments.nocombine

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.comments.reverse

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.comments.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.modus.settings.styles.comments.standout

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.comments.strikethrough

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.comments.undercurl

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.comments.underdashed

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.comments.underdotted

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.comments.underdouble

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.comments.underline

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.functions

Define functions highlight properties.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

colorschemes.modus.settings.styles.functions.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.modus.settings.styles.functions.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

colorschemes.modus.settings.styles.functions.bold

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.functions.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

colorschemes.modus.settings.styles.functions.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.modus.settings.styles.functions.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.modus.settings.styles.functions.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.functions.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.modus.settings.styles.functions.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.modus.settings.styles.functions.nocombine

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.functions.reverse

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.functions.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.modus.settings.styles.functions.standout

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.functions.strikethrough

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.functions.undercurl

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.functions.underdashed

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.functions.underdotted

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.functions.underdouble

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.functions.underline

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.keywords

Define keywords highlight properties.

Type: null or (attribute set)

Default: null

Plugin default:

{
  italic = true;
}

Declared by:

colorschemes.modus.settings.styles.keywords.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.modus.settings.styles.keywords.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

colorschemes.modus.settings.styles.keywords.bold

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.keywords.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

colorschemes.modus.settings.styles.keywords.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.modus.settings.styles.keywords.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.modus.settings.styles.keywords.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.keywords.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.modus.settings.styles.keywords.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.modus.settings.styles.keywords.nocombine

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.keywords.reverse

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.keywords.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.modus.settings.styles.keywords.standout

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.keywords.strikethrough

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.keywords.undercurl

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.keywords.underdashed

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.keywords.underdotted

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.keywords.underdouble

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.keywords.underline

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.variables

Define variables highlight properties.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

colorschemes.modus.settings.styles.variables.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.modus.settings.styles.variables.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

colorschemes.modus.settings.styles.variables.bold

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.variables.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

colorschemes.modus.settings.styles.variables.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.modus.settings.styles.variables.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.modus.settings.styles.variables.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.variables.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.modus.settings.styles.variables.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.modus.settings.styles.variables.nocombine

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.variables.reverse

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.variables.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.modus.settings.styles.variables.standout

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.variables.strikethrough

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.variables.undercurl

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.variables.underdashed

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.variables.underdotted

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.variables.underdouble

Type: null or boolean

Default: null

Declared by:

colorschemes.modus.settings.styles.variables.underline

Type: null or boolean

Default: null

Declared by:

monokai-pro

URL: https://github.com/loctvl842/monokai-pro.nvim/

Maintainers: Gaetan Lepage

colorschemes.monokai-pro.enable

Whether to enable monokai-pro.nvim.

Type: boolean

Default: false

Example: true

Declared by:

colorschemes.monokai-pro.package

The monokai-pro.nvim package to use.

Type: package

Default: pkgs.vimPlugins.monokai-pro-nvim

Declared by:

colorschemes.monokai-pro.autoLoad

Whether to automatically load monokai-pro.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

colorschemes.monokai-pro.lazyLoad

Lazy-load settings for monokai-pro.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

colorschemes.monokai-pro.lazyLoad.enable

lazy-loading for monokai-pro.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

colorschemes.monokai-pro.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

colorschemes.monokai-pro.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

colorschemes.monokai-pro.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.monokai-pro.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.monokai-pro.settings

Options provided to the require('monokai-pro').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  devicons = true;
  filter = "ristretto";
  terminal_colors = false;
}

Declared by:

colorschemes.monokai-pro.settings.background_clear

List of plugins for which the background should be clear.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "toggleterm"
  "telescope"
  "renamer"
  "notify"
]

Declared by:

colorschemes.monokai-pro.settings.devicons

Whether to use devicons characters.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.monokai-pro.settings.filter

Which filter to use.

Type: null or string or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "vim.o.background == 'light' and 'classic' or 'pro'"

Example: "ristretto"

Declared by:

Incremental search look.

Type: null or one of “underline”, “background” or raw lua code

Default: null

Plugin default: "background"

Declared by:

colorschemes.monokai-pro.settings.plugins

Override configuration for specific plugins.

Type: null or (attribute set of ((attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  bufferline = {
    bold = true;
    underline_fill = false;
    underline_selected = false;
    underline_visible = false;
  };
  indent_blankline = {
    context_highlight = "default";
    context_start_underline = false;
  };
}

Declared by:

colorschemes.monokai-pro.settings.styles

Set the style for specific elements.

Type: null or (attribute set of ((attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  annotation = {
    italic = true;
  };
  comment = {
    italic = true;
  };
  keyword = {
    italic = true;
  };
  parameter = {
    italic = true;
  };
  storageclass = {
    italic = true;
  };
  structure = {
    italic = true;
  };
  tag_attribute = {
    italic = true;
  };
  type = {
    italic = true;
  };
}

Declared by:

colorschemes.monokai-pro.settings.terminal_colors

Whether to use terminal colors.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.monokai-pro.settings.transparent_background

Whether to enable transparent background.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.monokai-pro.settings.day_night.enable

Whether to enable day/night mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.monokai-pro.settings.day_night.day_filter

Which day filter to use.

Type: null or string or raw lua code

Default: null

Plugin default: "pro"

Example: "classic"

Declared by:

colorschemes.monokai-pro.settings.day_night.night_filter

Which night filter to use.

Type: null or string or raw lua code

Default: null

Plugin default: "spectrum"

Example: "octagon"

Declared by:

nightfox

URL: https://github.com/EdenEast/nightfox.nvim/

Maintainers: Gaetan Lepage

colorschemes.nightfox.enable

Whether to enable nightfox.nvim.

Type: boolean

Default: false

Example: true

Declared by:

colorschemes.nightfox.package

The nightfox.nvim package to use.

Type: package

Default: pkgs.vimPlugins.nightfox-nvim

Declared by:

colorschemes.nightfox.autoLoad

Whether to automatically load nightfox.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

colorschemes.nightfox.flavor

Which palette/flavor to use as the colorscheme.

Type: one of “carbonfox”, “dawnfox”, “dayfox”, “duskfox”, “nightfox”, “nordfox”, “terafox”

Default: "nightfox"

Example: "dayfox"

Declared by:

colorschemes.nightfox.lazyLoad

Lazy-load settings for nightfox.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

colorschemes.nightfox.lazyLoad.enable

lazy-loading for nightfox.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

colorschemes.nightfox.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

colorschemes.nightfox.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

colorschemes.nightfox.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.nightfox.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.nightfox.settings

Options provided to the require('nightfox').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  groups = {
    all = {
      NormalNC = {
        bg = "inactive";
        fg = "fg1";
      };
    };
  };
  options = {
    colorblind = {
      enable = true;
      severity = {
        deutan = 0.6;
        protan = 0.3;
      };
    };
    inverse = {
      match_paren = false;
      search = true;
      visual = false;
    };
    modules = {
      coc = {
        background = false;
      };
      diagnostic = {
        background = false;
        enable = true;
      };
    };
    styles = {
      comments = "italic";
      functions = "italic,bold";
    };
    terminal_colors = true;
    transparent = true;
  };
  palettes = {
    duskfox = {
      bg0 = "#1d1d2b";
      bg1 = "#000000";
      bg3 = "#121820";
      sel0 = "#131b24";
    };
  };
  specs = {
    all = {
      inactive = "bg0";
    };
    duskfox = {
      inactive = "#090909";
    };
  };
}

Declared by:

colorschemes.nightfox.settings.groups

Groups are the highlight group definitions. The keys of this table are the name of the highlight groups that will be overridden. The value is a table with the following values:

  • fg, bg, style, sp, link,

Just like spec groups support templates. This time the template is based on a spec object.

Example:

  {
    all = {
      Whitespace.link = "Comment";
      IncSearch.bg = "palette.cyan";
    },
    nightfox.PmenuSel = {
      bg = "#73daca";
      fg = "bg0";
    };
  }

Type: null or (attribute set of attribute set of attribute set of string)

Default: null

Declared by:

colorschemes.nightfox.settings.palettes

A palette is the base color definitions of a style. Each style defines its own palette to be used by the other components. A palette defines base colors, as well as foreground and background shades. Along with the foreground and background colors a palette also defines other colors such as selection and comment colors.

The base colors are |nightfox-shade| objects that define a base, bright, and dim color. These base colors are: black, red, green, yellow, blue, magenta, cyan, white, orange, pink.

Example:

  {
    all = {
      red = "#ff0000";
    };
    nightfox = {
      red = "#c94f6d";
    };
    dayfox = {
      blue = {
        base = "#4d688e";
        bright = "#4e75aa";
        dim = "#485e7d";
      };
    };
    nordfox = {
      bg1 = "#2e3440";
      sel0 = "#3e4a5b";
      sel1 = "#4f6074";
      comment = "#60728a";
    };
  }

Type: null or (attribute set of attribute set of (string or attribute set of string))

Default: null

Declared by:

colorschemes.nightfox.settings.specs

Spec’s (specifications) are a mapping of palettes to logical groups that will be used by the groups. Some examples of the groups that specs map would be:

  • syntax groups (functions, types, keywords, …)
  • diagnostic groups (error, warning, info, hints)
  • git groups (add, removed, changed)

You can override these just like palettes.

Example:

  {
    all = {
      syntax = {
        keyword = "magenta";
        conditional = "magenta.bright";
        number = "orange.dim";
      };
      git = {
        changed = "#f4a261";
      };
    };
    nightfox = {
      syntax = {
        operator = "orange";
      };
    };
  }

Type: null or (attribute set of attribute set of (string or attribute set of string))

Default: null

Declared by:

colorschemes.nightfox.settings.options.compile_file_suffix

The string appended to the compiled file. Each style outputs to its own file. These files will append the suffix to the end of the file.

Type: null or string or raw lua code

Default: null

Plugin default: "_compiled"

Declared by:

colorschemes.nightfox.settings.options.compile_path

The output directory path where the compiled results will be written to.

Type: null or string or raw lua code

Default: null

Plugin default:

{
  __raw = "vim.fn.stdpath('cache') .. '/nightfox'";
}

Declared by:

colorschemes.nightfox.settings.options.dim_inactive

A boolean value that if set will set the background of Non current windows to be darker. See :h hl-NormalNC.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.nightfox.settings.options.inverse

A table that contains a list of highlight types. If a highlight type is enabled it will inverse the foreground and background colors instead of applying the normal highlight group. Thees highlight types are: match_paren, visual, search.

For an example if search is enabled instead of highlighting a search term with the default search color it will inverse the foureground and background colors.

Type: null or (attribute set of (boolean or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  match_paren = false;
  search = false;
  visual = false;
}

Declared by:

colorschemes.nightfox.settings.options.module_default

The default value of a module that has not been overridden in the modules table.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.nightfox.settings.options.modules

modules store configuration information for various plugins and other neovim modules. A module can either be a boolean or a table that contains additional configuration for that module. If the value is a table it also has a field called enable that will tell nightfox to load it. See |nightfox-modules| for more information.

By default modules will be enabled. To change this behaviour change options.module_default to false.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  coc = {
    background = true;
  };
  diagnostic = {
    background = true;
    enable = true;
  };
  leap = {
    background = true;
  };
  lsp_semantic_tokens = true;
  native_lsp = {
    background = true;
    enable = true;
  };
  treesitter = true;
}

Declared by:

colorschemes.nightfox.settings.options.styles

A table that contains a list of syntax components and their corresponding style. These styles can be any combination of |highlight-args|.

The list of syntax components are:

  • comments
  • conditionals
  • constants
  • functions
  • keywords
  • numbers
  • operators
  • preprocs
  • strings
  • types
  • variables

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  comments = "NONE";
  conditionals = "NONE";
  constants = "NONE";
  functions = "NONE";
  keywords = "NONE";
  numbers = "NONE";
  operators = "NONE";
  preprocs = "NONE";
  strings = "NONE";
  types = "NONE";
  variables = "NONE";
}

Example:

{
  comments = "italic";
  functions = "italic,bold";
}

Declared by:

colorschemes.nightfox.settings.options.terminal_colors

A boolean value that if set will define the terminal colors for the builtin terminal (vim.g.terminal_color_*).

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.nightfox.settings.options.transparent

A boolean value that if set will disable setting the background of Normal, NormalNC and other highlight groups. This lets you use the colors of the colorscheme but use the background of your terminal.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.nightfox.settings.options.colorblind.enable

Whether to enable nightfox’s color vision deficiency (cdv) mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.nightfox.settings.options.colorblind.simulate_only

Only show simulated colorblind colors and not diff shifted.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.nightfox.settings.options.colorblind.severity.deutan

Severity [0, 1] for deutan (green).

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0

Declared by:

colorschemes.nightfox.settings.options.colorblind.severity.protan

Severity [0, 1] for protan (red).

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0

Declared by:

colorschemes.nightfox.settings.options.colorblind.severity.tritan

Severity [0, 1] for tritan (blue).

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0

Declared by:

nord

URL: https://github.com/shaunsingh/nord.nvim/

Maintainers: Gaetan Lepage

colorschemes.nord.enable

Whether to enable nord.nvim.

Type: boolean

Default: false

Example: true

Declared by:

colorschemes.nord.package

The nord.nvim package to use.

Type: package

Default: pkgs.vimPlugins.nord-nvim

Declared by:

colorschemes.nord.autoLoad

Whether to automatically load nord.nvim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

colorschemes.nord.settings

The configuration options for nord without the nord_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal nord_foo_bar=1
  • hello = "world" -> :setglobal nord_hello="world"
  • some_toggle = true -> :setglobal nord_some_toggle
  • other_toggle = false -> :setglobal nonord_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  borders = true;
  disable_background = true;
  italic = false;
}

Declared by:

colorschemes.nord.settings.enable_sidebar_background

Re-enables the background of the sidebar if you disabled the background of everything.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.nord.settings.borders

Enable the border between vertically split windows.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.nord.settings.contrast

Make sidebars and popup menus like nvim-tree and telescope have a different background.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.nord.settings.cursorline_transparent

Set the cursorline transparent/visible.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.nord.settings.disable_background

Disable the setting of background color so that NeoVim can use your terminal background.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.nord.settings.italic

Enables/disables italics.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.nord.settings.uniform_diff_background

Enables/disables colorful backgrounds when used in diff mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

one

URL: https://github.com/rakr/vim-one/

Maintainers: Gaetan Lepage

colorschemes.one.enable

Whether to enable vim-one.

Type: boolean

Default: false

Example: true

Declared by:

colorschemes.one.package

The vim-one package to use.

Type: package

Default: pkgs.vimPlugins.vim-one

Declared by:

colorschemes.one.autoLoad

Whether to automatically load vim-one when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

colorschemes.one.settings

The configuration options for one without the one_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal one_foo_bar=1
  • hello = "world" -> :setglobal one_hello="world"
  • some_toggle = true -> :setglobal one_some_toggle
  • other_toggle = false -> :setglobal noone_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  allow_italics = true;
}

Declared by:

colorschemes.one.settings.allow_italics

Whether to enable italic (as long as your terminal supports it).

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

onedark

URL: https://github.com/navarasu/onedark.nvim/

Maintainers: Gaetan Lepage

colorschemes.onedark.enable

Whether to enable onedark.nvim.

Type: boolean

Default: false

Example: true

Declared by:

colorschemes.onedark.package

The onedark.nvim package to use.

Type: package

Default: pkgs.vimPlugins.onedark-nvim

Declared by:

colorschemes.onedark.autoLoad

Whether to automatically load onedark.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

colorschemes.onedark.settings

Options provided to the require('onedark').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  colors = {
    bright_orange = "#ff8800";
    green = "#00ffaa";
  };
  highlights = {
    "@function" = {
      fg = "#0000ff";
      fmt = "underline,italic";
      sp = "$cyan";
    };
    "@function.builtin" = {
      fg = "#0059ff";
    };
    "@keyword" = {
      fg = "$green";
    };
    "@string" = {
      bg = "#00ff00";
      fg = "$bright_orange";
      fmt = "bold";
    };
  };
}

Declared by:

colorschemes.onedark.lazyLoad

Lazy-load settings for onedark.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

colorschemes.onedark.lazyLoad.enable

lazy-loading for onedark.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

colorschemes.onedark.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

colorschemes.onedark.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

colorschemes.onedark.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.onedark.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

oxocarbon

URL: https://github.com/nyoom-engineering/oxocarbon.nvim/

Maintainers: Gaetan Lepage

colorschemes.oxocarbon.enable

Whether to enable oxocarbon.nvim.

Type: boolean

Default: false

Example: true

Declared by:

colorschemes.oxocarbon.package

The oxocarbon.nvim package to use.

Type: package

Default: pkgs.vimPlugins.oxocarbon-nvim

Declared by:

colorschemes.oxocarbon.autoLoad

Whether to automatically load oxocarbon.nvim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

palette

URL: https://github.com/roobert/palette.nvim/

Maintainers: Gaetan Lepage

colorschemes.palette.enable

Whether to enable palette.nvim.

Type: boolean

Default: false

Example: true

Declared by:

colorschemes.palette.package

The palette.nvim package to use.

Type: package

Default: pkgs.vimPlugins.palette-nvim

Declared by:

colorschemes.palette.autoLoad

Whether to automatically load palette.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

colorschemes.palette.lazyLoad

Lazy-load settings for palette.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

colorschemes.palette.lazyLoad.enable

lazy-loading for palette.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

colorschemes.palette.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

colorschemes.palette.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

colorschemes.palette.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.palette.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.palette.settings

Options provided to the require('palette').setup function.

Type: attribute set of anything

Default: { }

Example: { }

Declared by:

colorschemes.palette.settings.cache_dir

Cache directory.

Type: null or string or raw lua code

Default: null

Plugin default:

{
  __raw = "vim.fn.stdpath('cache') .. '/palette'";
}

Declared by:

colorschemes.palette.settings.caching

Whether to enable caching.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.palette.settings.italics

Whether to use italics.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.palette.settings.transparent_background

Whether to use transparent background.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.palette.settings.custom_palettes.accent

Custom palettes for accent colors.

Type: null or (attribute set of ((submodule) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

colorschemes.palette.settings.custom_palettes.main

Custom palettes for main colors.

Type: null or (attribute set of ((submodule) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

colorschemes.palette.settings.custom_palettes.state

Custom palettes for state colors.

Type: null or (attribute set of ((submodule) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

colorschemes.palette.settings.palettes.accent

Palette for the accent colors.

Type: null or string or raw lua code

Default: null

Plugin default: "pastel"

Declared by:

colorschemes.palette.settings.palettes.main

Palette for the main colors.

Type: null or string or raw lua code

Default: null

Plugin default: "dark"

Declared by:

colorschemes.palette.settings.palettes.state

Palette for the state colors.

Type: null or string or raw lua code

Default: null

Plugin default: "pastel"

Declared by:

poimandres

URL: https://github.com/olivercederborg/poimandres.nvim/

Maintainers: Gaetan Lepage

colorschemes.poimandres.enable

Whether to enable poimandres.nvim.

Type: boolean

Default: false

Example: true

Declared by:

colorschemes.poimandres.package

The poimandres.nvim package to use.

Type: package

Default: pkgs.vimPlugins.poimandres-nvim

Declared by:

colorschemes.poimandres.autoLoad

Whether to automatically load poimandres.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

colorschemes.poimandres.lazyLoad

Lazy-load settings for poimandres.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

colorschemes.poimandres.lazyLoad.enable

lazy-loading for poimandres.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

colorschemes.poimandres.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

colorschemes.poimandres.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

colorschemes.poimandres.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.poimandres.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.poimandres.settings

Options provided to the require('poimandres').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  bold_vert_split = false;
  dim_nc_background = true;
  disable_background = false;
  disable_float_background = false;
  disable_italics = true;
}

Declared by:

colorschemes.poimandres.settings.bold_vert_split

Use bold vertical separators.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.poimandres.settings.dark_variant

Dark variant.

Type: null or string or raw lua code

Default: null

Plugin default: "main"

Declared by:

colorschemes.poimandres.settings.dim_nc_background

Dim ‘non-current’ window backgrounds.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.poimandres.settings.disable_background

Whether to disable the background.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.poimandres.settings.disable_float_background

Whether to disable the background for floats.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.poimandres.settings.disable_italics

Whether to disable italics.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.poimandres.settings.groups

Which color to use for each group.

default: see source

Type: null or (attribute set of (string or attribute set of string))

Default: null

Declared by:

colorschemes.poimandres.settings.highlight_groups

Highlight groups.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

rose-pine

URL: https://github.com/rose-pine/neovim/

Maintainers: Gaetan Lepage

colorschemes.rose-pine.enable

Whether to enable rose-pine.

Type: boolean

Default: false

Example: true

Declared by:

colorschemes.rose-pine.package

The rose-pine package to use.

Type: package

Default: pkgs.vimPlugins.rose-pine

Declared by:

colorschemes.rose-pine.autoLoad

Whether to automatically load rose-pine when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

colorschemes.rose-pine.lazyLoad

Lazy-load settings for rose-pine.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

colorschemes.rose-pine.lazyLoad.enable

lazy-loading for rose-pine

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

colorschemes.rose-pine.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

colorschemes.rose-pine.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

colorschemes.rose-pine.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.rose-pine.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.rose-pine.settings

Options provided to the require('rose-pine').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  before_highlight = "function(group, highlight, palette) end";
  dark_variant = "moon";
  dim_inactive_windows = true;
  enable = {
    legacy_highlights = false;
    migrations = true;
    terminal = false;
  };
  extend_background_behind_borders = true;
  groups = {
    border = "muted";
    link = "iris";
    panel = "surface";
  };
  highlight_groups = { };
  styles = {
    bold = false;
    italic = true;
    transparency = true;
  };
  variant = "auto";
}

Declared by:

colorschemes.rose-pine.settings.before_highlight

Called before each highlight group, before setting the highlight.

function(group, highlight, palette)

  @param group string
  @param highlight Highlight
  @param palette Palette

Type: null or lua function string

Default: null

Plugin default: "function(group, highlight, palette) end"

Declared by:

colorschemes.rose-pine.settings.dark_variant

Set the desired dark variant when settings.variant is set to “auto”.

Type: null or one of “main”, “moon”, “dawn” or raw lua code

Default: null

Plugin default: "main"

Declared by:

colorschemes.rose-pine.settings.dim_inactive_windows

Differentiate between active and inactive windows and panels.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.rose-pine.settings.extend_background_behind_borders

Extend background behind borders. Appearance differs based on which border characters you are using.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.rose-pine.settings.groups

Highlight groups.

default: see source

Type: null or (attribute set of (string or attribute set of string))

Default: null

Declared by:

colorschemes.rose-pine.settings.highlight_groups

Custom highlight groups.

Type: null or (attribute set of ((attribute set) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

colorschemes.rose-pine.settings.variant

Set the desired variant: “auto” will follow the vim background, defaulting to dark_variant or “main” for dark and “dawn” for light.

Type: null or one of “auto”, “main”, “moon”, “dawn”

Default: null

Declared by:

colorschemes.rose-pine.settings.enable.legacy_highlights

Enable legacy highlights.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.rose-pine.settings.enable.migrations

Enable migrations.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.rose-pine.settings.enable.terminal

Enable terminal.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.rose-pine.settings.styles.bold

Enable bold.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.rose-pine.settings.styles.italic

Enable italic.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.rose-pine.settings.styles.transparency

Enable transparency.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

tokyonight

URL: https://github.com/folke/tokyonight.nvim/

Maintainers: Gaetan Lepage

colorschemes.tokyonight.enable

Whether to enable tokyonight.nvim.

Type: boolean

Default: false

Example: true

Declared by:

colorschemes.tokyonight.package

The tokyonight.nvim package to use.

Type: package

Default: pkgs.vimPlugins.tokyonight-nvim

Declared by:

colorschemes.tokyonight.autoLoad

Whether to automatically load tokyonight.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

colorschemes.tokyonight.lazyLoad

Lazy-load settings for tokyonight.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

colorschemes.tokyonight.lazyLoad.enable

lazy-loading for tokyonight.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

colorschemes.tokyonight.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

colorschemes.tokyonight.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

colorschemes.tokyonight.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.tokyonight.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.tokyonight.settings

Options provided to the require('tokyonight').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  day_brightness = 0.3;
  dim_inactive = false;
  hide_inactive_statusline = false;
  light_style = "day";
  lualine_bold = false;
  on_colors = "function(colors) end";
  on_highlights = "function(highlights, colors) end";
  sidebars = [
    "qf"
    "vista_kind"
    "terminal"
    "packer"
  ];
  style = "storm";
  styles = {
    comments = {
      italic = true;
    };
    floats = "dark";
    functions = { };
    keywords = {
      italic = true;
    };
    sidebars = "dark";
    variables = { };
  };
  terminal_colors = true;
  transparent = false;
}

Declared by:

colorschemes.tokyonight.settings.day_brightness

Adjusts the brightness of the colors of the Day style. Number between 0 and 1, from dull to vibrant colors.

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.3

Declared by:

colorschemes.tokyonight.settings.dim_inactive

Dims inactive windows.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.tokyonight.settings.hide_inactive_statusline

Enabling this option will hide inactive statuslines and replace them with a thin border instead. Should work with the standard StatusLine and LuaLine.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.tokyonight.settings.light_style

The theme to use when the background is set to light.

Type: null or string or raw lua code

Default: null

Plugin default: "day"

Declared by:

colorschemes.tokyonight.settings.lualine_bold

When true, section headers in the lualine theme will be bold.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.tokyonight.settings.on_colors

Override specific color groups to use other groups or a hex color. Function will be called with a ColorScheme table. @param colors ColorScheme

Type: null or lua function string

Default: null

Plugin default: "function(colors) end"

Declared by:

colorschemes.tokyonight.settings.on_highlights

Override specific highlights to use other groups or a hex color. Function will be called with a Highlights and ColorScheme table. @param highlights Highlights @param colors ColorScheme

Type: null or lua function string

Default: null

Plugin default: "function(highlights, colors) end"

Declared by:

colorschemes.tokyonight.settings.sidebars

Set a darker background on sidebar-like windows.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "qf"
  "help"
]

Declared by:

colorschemes.tokyonight.settings.style

The theme comes in four styles, moon, storm, a darker variant night, and day.

Type: null or one of “moon”, “storm”, “night”, “day” or raw lua code

Default: null

Plugin default: "moon"

Declared by:

colorschemes.tokyonight.settings.terminal_colors

Configure the colors used when opening a :terminal in Neovim

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.tokyonight.settings.transparent

Disable setting the background color.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.tokyonight.settings.styles.floats

Background style for floats

Type: null or one of “dark”, “transparent”, “normal” or raw lua code

Default: null

Plugin default: "dark"

Declared by:

colorschemes.tokyonight.settings.styles.sidebars

Background style for sidebars

Type: null or one of “dark”, “transparent”, “normal” or raw lua code

Default: null

Plugin default: "dark"

Declared by:

colorschemes.tokyonight.settings.styles.comments

Define comments highlight properties.

Type: null or (attribute set)

Default: null

Plugin default:

{
  italic = true;
}

Declared by:

colorschemes.tokyonight.settings.styles.comments.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.comments.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.comments.bold

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.comments.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.comments.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.comments.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.comments.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.comments.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.comments.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.comments.nocombine

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.comments.reverse

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.comments.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.comments.standout

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.comments.strikethrough

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.comments.undercurl

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.comments.underdashed

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.comments.underdotted

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.comments.underdouble

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.comments.underline

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.functions

Define functions highlight properties.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

colorschemes.tokyonight.settings.styles.functions.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.functions.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.functions.bold

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.functions.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.functions.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.functions.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.functions.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.functions.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.functions.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.functions.nocombine

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.functions.reverse

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.functions.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.functions.standout

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.functions.strikethrough

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.functions.undercurl

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.functions.underdashed

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.functions.underdotted

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.functions.underdouble

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.functions.underline

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.keywords

Define keywords highlight properties.

Type: null or (attribute set)

Default: null

Plugin default:

{
  italic = true;
}

Declared by:

colorschemes.tokyonight.settings.styles.keywords.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.keywords.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.keywords.bold

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.keywords.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.keywords.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.keywords.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.keywords.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.keywords.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.keywords.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.keywords.nocombine

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.keywords.reverse

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.keywords.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.keywords.standout

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.keywords.strikethrough

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.keywords.undercurl

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.keywords.underdashed

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.keywords.underdotted

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.keywords.underdouble

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.keywords.underline

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.variables

Define variables highlight properties.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

colorschemes.tokyonight.settings.styles.variables.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.variables.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.variables.bold

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.variables.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.variables.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.variables.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.variables.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.variables.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.variables.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.variables.nocombine

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.variables.reverse

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.variables.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.variables.standout

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.variables.strikethrough

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.variables.undercurl

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.variables.underdashed

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.variables.underdotted

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.variables.underdouble

Type: null or boolean

Default: null

Declared by:

colorschemes.tokyonight.settings.styles.variables.underline

Type: null or boolean

Default: null

Declared by:

vscode

URL: https://github.com/Mofiqul/vscode.nvim/

Maintainers: Loïc Reynier

colorschemes.vscode.enable

Whether to enable vscode-nvim.

Type: boolean

Default: false

Example: true

Declared by:

colorschemes.vscode.package

The vscode-nvim package to use.

Type: package

Default: pkgs.vimPlugins.vscode-nvim

Declared by:

colorschemes.vscode.autoLoad

Whether to automatically load vscode-nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

colorschemes.vscode.lazyLoad

Lazy-load settings for vscode-nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

colorschemes.vscode.lazyLoad.enable

lazy-loading for vscode-nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

colorschemes.vscode.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

colorschemes.vscode.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

colorschemes.vscode.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.vscode.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorschemes.vscode.settings

Options provided to the require('vscode').setup function.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

colorschemes.vscode.settings.color_overrides

A dictionary of color overrides. See https://github.com/Mofiqul/vscode.nvim/blob/main/lua/vscode/colors.lua for color names.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

colorschemes.vscode.settings.disable_nvimtree_bg

Whether to disable nvim-tree background

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

colorschemes.vscode.settings.group_overrides

A dictionary of group names, each associated with a dictionary of parameters (bg, fg, sp and style) and colors in hex.

Type: null or (attribute set of ((attribute set) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

colorschemes.vscode.settings.italic_comments

Whether to enable italic comments

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

colorschemes.vscode.settings.transparent

Whether to enable transparent background

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

Whether to underline links

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

dependencies.bat.enable

Whether to enable Add bat to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.bat.package

The bat package to use.

Type: package

Default: pkgs.bat

Declared by:

dependencies.chafa.enable

Whether to enable Add chafa to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.chafa.package

The chafa package to use.

Type: package

Default: pkgs.chafa

Declared by:

dependencies.claude-code.enable

Whether to enable Add claude-code to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.claude-code.package

The claude-code package to use.

Type: package

Default: pkgs.claude-code

Declared by:

dependencies.codeium.enable

Whether to enable Add codeium to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.codeium.package

The codeium package to use.

Type: package

Default: pkgs.codeium

Declared by:

dependencies.coreutils.enable

Whether to enable Add coreutils to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.coreutils.package

The coreutils package to use.

Type: package

Default: pkgs.coreutils

Example: pkgs.uutils-coreutils

Declared by:

dependencies.cornelis.enable

Whether to enable Add cornelis to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.cornelis.package

The cornelis package to use.

Type: package

Default: pkgs.cornelis

Declared by:

dependencies.ctags.enable

Whether to enable Add ctags to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.ctags.package

The ctags package to use.

Type: package

Default: pkgs.ctags

Declared by:

dependencies.curl.enable

Whether to enable Add curl to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.curl.package

The curl package to use.

Type: package

Default: pkgs.curl

Declared by:

dependencies.direnv.enable

Whether to enable Add direnv to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.direnv.package

The direnv package to use.

Type: package

Default: pkgs.direnv

Declared by:

dependencies.distant.enable

Whether to enable Add distant to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.distant.package

The distant package to use.

Type: package

Default: pkgs.distant

Declared by:

dependencies.epub-thumbnailer.enable

Whether to enable Add epub-thumbnailer to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.epub-thumbnailer.package

The epub-thumbnailer package to use.

Type: package

Default: pkgs.epub-thumbnailer

Declared by:

dependencies.ffmpegthumbnailer.enable

Whether to enable Add ffmpegthumbnailer to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.ffmpegthumbnailer.package

The ffmpegthumbnailer package to use.

Type: package

Default: pkgs.ffmpegthumbnailer

Declared by:

dependencies.fish.enable

Whether to enable Add fish to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.fish.package

The fish package to use.

Type: package

Default: pkgs.fish

Declared by:

dependencies.flutter.enable

Whether to enable Add flutter to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.flutter.package

The flutter package to use.

Type: package

Default: pkgs.flutter

Declared by:

dependencies.fontpreview.enable

Whether to enable Add fontpreview to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.fontpreview.package

The fontpreview package to use.

Type: package

Default: pkgs.fontpreview

Declared by:

dependencies.fzf.enable

Whether to enable Add fzf to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.fzf.package

The fzf package to use.

Type: package

Default: pkgs.fzf

Example: pkgs.skim

Declared by:

dependencies.gcc.enable

Whether to enable Add gcc to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.gcc.package

The gcc package to use.

Type: package

Default: pkgs.gcc

Declared by:

dependencies.gh.enable

Whether to enable Add gh to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.gh.package

The gh package to use.

Type: package

Default: pkgs.gh

Declared by:

dependencies.git.enable

Whether to enable Add git to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.git.package

The git package to use.

Type: package

Default: pkgs.git

Example: pkgs.gitMinimal

Declared by:

dependencies.glow.enable

Whether to enable Add glow to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.glow.package

The glow package to use.

Type: package

Default: pkgs.glow

Declared by:

dependencies.go.enable

Whether to enable Add go to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.go.package

The go package to use.

Type: package

Default: pkgs.go

Declared by:

dependencies.godot.enable

Whether to enable Add godot to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.godot.package

The godot package to use.

Type: package

Default: pkgs.godot_4

Declared by:

dependencies.gzip.enable

Whether to enable Add gzip to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.gzip.package

The gzip package to use.

Type: package

Default: pkgs.gzip

Declared by:

dependencies.imagemagick.enable

Whether to enable Add imagemagick to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.imagemagick.package

The imagemagick package to use.

Type: package

Default: pkgs.imagemagick

Declared by:

dependencies.lazygit.enable

Whether to enable Add lazygit to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.lazygit.package

The lazygit package to use.

Type: package

Default: pkgs.lazygit

Declared by:

dependencies.lean.enable

Whether to enable Add lean to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.lean.package

The lean package to use.

Type: package

Default: pkgs.lean4

Declared by:

dependencies.ledger.enable

Whether to enable Add ledger to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.ledger.package

The ledger package to use.

Type: package

Default: pkgs.ledger

Declared by:

dependencies.llm-ls.enable

Whether to enable Add llm-ls to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.llm-ls.package

The llm-ls package to use.

Type: package

Default: pkgs.llm-ls

Declared by:

dependencies.manix.enable

Whether to enable Add manix to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.manix.package

The manix package to use.

Type: package

Default: pkgs.manix

Declared by:

dependencies.nodejs.enable

Whether to enable Add nodejs to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.nodejs.package

The nodejs package to use.

Type: package

Default: pkgs.nodejs

Example: pkgs.nodejs_22

Declared by:

dependencies.plantuml.enable

Whether to enable Add plantuml to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.plantuml.package

The plantuml package to use.

Type: package

Default: pkgs.plantuml

Declared by:

dependencies.poppler-utils.enable

Whether to enable Add poppler-utils to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.poppler-utils.package

The poppler-utils package to use.

Type: package

Default: pkgs.poppler_utils

Declared by:

dependencies.ripgrep.enable

Whether to enable Add ripgrep to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.ripgrep.package

The ripgrep package to use.

Type: package

Default: pkgs.ripgrep

Declared by:

dependencies.rust-analyzer.enable

Whether to enable Add rust-analyzer to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.rust-analyzer.package

The rust-analyzer package to use.

Type: package

Default: pkgs.rust-analyzer

Declared by:

dependencies.sd.enable

Whether to enable Add sd to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.sd.package

The sd package to use.

Type: package

Default: pkgs.sd

Declared by:

dependencies.sed.enable

Whether to enable Add sed to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.sed.package

The sed package to use.

Type: package

Default: pkgs.gnused

Declared by:

dependencies.texpresso.enable

Whether to enable Add texpresso to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.texpresso.package

The texpresso package to use.

Type: package

Default: pkgs.texpresso

Declared by:

dependencies.tinymist.enable

Whether to enable Add tinymist to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.tinymist.package

The tinymist package to use.

Type: package

Default: pkgs.tinymist

Declared by:

dependencies.tmux.enable

Whether to enable Add tmux to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.tmux.package

The tmux package to use.

Type: package

Default: pkgs.tmux

Declared by:

dependencies.tree-sitter.enable

Whether to enable Add tree-sitter to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.tree-sitter.package

The tree-sitter package to use.

Type: package

Default: pkgs.tree-sitter

Declared by:

dependencies.typst.enable

Whether to enable Add typst to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.typst.package

The typst package to use.

Type: package

Default: pkgs.typst

Declared by:

dependencies.ueberzug.enable

Whether to enable Add ueberzug to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.ueberzug.package

The ueberzug package to use.

Type: package

Default: pkgs.ueberzugpp

Declared by:

dependencies.util-linux.enable

Whether to enable Add util-linux to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.util-linux.package

The util-linux package to use.

Type: package

Default: pkgs.util-linux

Declared by:

dependencies.websocat.enable

Whether to enable Add websocat to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.websocat.package

The websocat package to use.

Type: package

Default: pkgs.websocat

Declared by:

dependencies.wezterm.enable

Whether to enable Add wezterm to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.wezterm.package

The wezterm package to use.

Type: package

Default: pkgs.wezterm

Declared by:

dependencies.which.enable

Whether to enable Add which to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.which.package

The which package to use.

Type: package

Default: pkgs.which

Declared by:

dependencies.xxd.enable

Whether to enable Add xxd to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.xxd.package

The xxd package to use.

Type: package

Default: pkgs.unixtools.xxd

Declared by:

dependencies.yazi.enable

Whether to enable Add yazi to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.yazi.package

The yazi package to use.

Type: package

Default: pkgs.yazi

Declared by:

dependencies.yq.enable

Whether to enable Add yq to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.yq.package

The yq package to use.

Type: package

Default: pkgs.yq

Declared by:

dependencies.zk.enable

Whether to enable Add zk to dependencies…

Type: boolean

Default: false

Example: true

Declared by:

dependencies.zk.package

The zk package to use.

Type: package

Default: pkgs.zk

Declared by:

keymaps

Nixvim keymaps.

Type: list of (submodule)

Default: [ ]

Example:

[
  {
    action = "<cmd>make<CR>";
    key = "<C-m>";
    options = {
      silent = true;
    };
  }
]

Declared by:

keymaps.*.action

The action to execute.

Type: string or raw lua code

Declared by:

keymaps.*.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

keymaps.*.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: ""

Example:

[
  "n"
  "v"
]

Declared by:

keymaps.*.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

keymaps.*.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

keymaps.*.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

keymaps.*.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

keymaps.*.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

keymaps.*.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

keymaps.*.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

keymaps.*.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

keymaps.*.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

keymaps.*.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

keymapsOnEvents

Register keymaps on an event instead of when nvim opens. Keys are the events to register on, and values are lists of keymaps to register on each event.

Type: attribute set of list of (submodule)

Default: { }

Example:

{
  InsertEnter = [
    {
      action = {
        __raw = "require(\"cmp\").mapping.confirm()";
      };
      key = "<C-y>";
    }
    {
      action = {
        __raw = "require(\"cmp\").mapping.select_next_item()";
      };
      key = "<C-n>";
    }
  ];
}

Declared by:

keymapsOnEvents.<name>.*.action

The action to execute.

Type: string or raw lua code

Declared by:

keymapsOnEvents.<name>.*.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

keymapsOnEvents.<name>.*.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: ""

Example:

[
  "n"
  "v"
]

Declared by:

keymapsOnEvents.<name>.*.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

keymapsOnEvents.<name>.*.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

keymapsOnEvents.<name>.*.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

keymapsOnEvents.<name>.*.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

keymapsOnEvents.<name>.*.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

keymapsOnEvents.<name>.*.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

keymapsOnEvents.<name>.*.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

keymapsOnEvents.<name>.*.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

keymapsOnEvents.<name>.*.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

keymapsOnEvents.<name>.*.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

lsp.onAttach

Lines of lua to be run when a language server is attached.

tip

The variables client and bufnr are made available in scope.

This is a global equivialent to the per-server on_attach callback, which can be defined via lsp.servers.<name>.settings.on_attach.

Unlike the per-server callback, which should be defined as a lua callback function, this option should be defined as the function body.

Type: strings concatenated with “\n”

Default: ""

Declared by:

lsp.inlayHints.enable

Whether to enable inlay hints globally.

Type: boolean

Default: false

Example: true

Declared by:

lsp.keymaps

Keymaps to register when a language server is attached.

Type: list of (submodule)

Default: [ ]

Example:

[
  {
    key = "gd";
    lspBufAction = "definition";
  }
  {
    key = "gD";
    lspBufAction = "references";
  }
  {
    key = "gt";
    lspBufAction = "type_definition";
  }
  {
    key = "gi";
    lspBufAction = "implementation";
  }
  {
    key = "K";
    lspBufAction = "hover";
  }
  {
    action = lib.nixvim.mkRaw "function() vim.diagnostic.jump({ count=-1, float=true }) end";
    key = "<leader>k";
  }
  {
    action = lib.nixvim.mkRaw "function() vim.diagnostic.jump({ count=1, float=true }) end";
    key = "<leader>j";
  }
  {
    action = "<CMD>LspStop<Enter>";
    key = "<leader>lx";
  }
  {
    action = "<CMD>LspStart<Enter>";
    key = "<leader>ls";
  }
  {
    action = "<CMD>LspRestart<Enter>";
    key = "<leader>lr";
  }
  {
    action = lib.nixvim.mkRaw "require('telescope.builtin').lsp_definitions";
    key = "gd";
  }
  {
    action = "<CMD>Lspsaga hover_doc<Enter>";
    key = "K";
  }
]

Declared by:

lsp.keymaps.*.action

The action to execute.

Type: string or raw lua code

Example: "<CMD>LspRestart<Enter>"

Declared by:

lsp.keymaps.*.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

lsp.keymaps.*.lspBufAction

LSP buffer action to use for action.

If non-null, the keymap’s action will be defined as vim.lsp.buf.<action>.

See :h lsp-buf

Type: null or string

Default: null

Example: "hover"

Declared by:

lsp.keymaps.*.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: ""

Example:

[
  "n"
  "v"
]

Declared by:

lsp.keymaps.*.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

lsp.keymaps.*.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

lsp.keymaps.*.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

lsp.keymaps.*.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

lsp.keymaps.*.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

lsp.keymaps.*.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

lsp.keymaps.*.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

lsp.keymaps.*.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

lsp.keymaps.*.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

lsp.keymaps.*.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

lsp.luaConfig

Lua code configuring LSP.

Type: submodule

Default: { }

Declared by:

lsp.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

lsp.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

lsp.servers

LSP servers to enable and/or configure.

This option is implemented using neovim’s vim.lsp lua API.

You may also want to use nvim-lspconfig to install default configs for many language servers. This can be installed using plugins.lspconfig.enable.

Type: attribute set of (submodule)

Default: { }

Example:

{
  "*" = {
    settings = {
      capabilities = {
        textDocument = {
          semanticTokens = {
            multilineTokenSupport = true;
          };
        };
      };
      root_markers = [
        ".git"
      ];
    };
  };
  clangd = {
    enable = true;
    settings = {
      cmd = [
        "clangd"
        "--background-index"
      ];
      filetypes = [
        "c"
        "cpp"
      ];
      root_markers = [
        "compile_commands.json"
        "compile_flags.txt"
      ];
    };
  };
  lua_ls = {
    enable = true;
  };
}

Declared by:

lsp.servers.<name>.enable

Whether to enable the language server.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.<name>.package

The language server package to use.

Alternatively, the language server should be installed on your $PATH.

Type: null or package

Default: null

Declared by:

lsp.servers.<name>.activate

Whether to call vim.lsp.enable() for the language server.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.<name>.name

The name to use for the language server. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: the attribute name

Declared by:

lsp.servers.<name>.settings

Configurations for the language server.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.*

Global configuration applied to all language servers.

Type: submodule

Default: { }

Declared by:

lsp.servers.*.enable

Whether to enable global defaults shared by all servers.

Type: boolean

Default: true

Example: false

Declared by:

lsp.servers.*.name

The name to use for global defaults shared by all servers.

Supplied to functions like vim.lsp.config().

Will always be "*".

Type: string (read only)

Declared by:

lsp.servers.*.settings

Default configuration shared by all servers.

Will be merged by neovim using the behaviour of vim.tbl_deep_extend().

Type: attribute set of anything

Default: { }

Example:

{
  capabilities = {
    textDocument = {
      semanticTokens = {
        multilineTokenSupport = true;
      };
    };
  };
  root_markers = [
    ".git"
  ];
}

Declared by:

lsp.servers.aiken

The aiken language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.aiken.enable

Whether to enable aiken.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.aiken.package

The aiken package to use.

Alternatively, aiken should be installed on your $PATH.

Type: null or package

Default: pkgs.aiken

Declared by:

lsp.servers.aiken.activate

Whether to call vim.lsp.enable() for aiken.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.aiken.name

The name to use for aiken. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "aiken"

Declared by:

lsp.servers.aiken.settings

Configurations for aiken.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.air

The air language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.air.enable

Whether to enable air.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.air.package

The air package to use.

Alternatively, air should be installed on your $PATH.

Type: null or package

Default: pkgs.air-formatter

Declared by:

lsp.servers.air.activate

Whether to call vim.lsp.enable() for air.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.air.name

The name to use for air. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "air"

Declared by:

lsp.servers.air.settings

Configurations for air.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.angularls

The angularls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.angularls.enable

Whether to enable angularls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.angularls.package

The angularls package to use.

Alternatively, angularls should be installed on your $PATH.

Type: null or package

Default: pkgs.angular-language-server

Declared by:

lsp.servers.angularls.activate

Whether to call vim.lsp.enable() for angularls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.angularls.name

The name to use for angularls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "angularls"

Declared by:

lsp.servers.angularls.settings

Configurations for angularls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.ansiblels

The ansiblels language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.ansiblels.enable

Whether to enable ansiblels.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.ansiblels.package

The ansiblels package to use.

Alternatively, ansiblels should be installed on your $PATH.

Type: null or package

Default: pkgs.ansible-language-server

Declared by:

lsp.servers.ansiblels.activate

Whether to call vim.lsp.enable() for ansiblels.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.ansiblels.name

The name to use for ansiblels. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "ansiblels"

Declared by:

lsp.servers.ansiblels.settings

Configurations for ansiblels.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.arduino_language_server

The arduino_language_server language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.arduino_language_server.enable

Whether to enable arduino_language_server.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.arduino_language_server.package

The arduino_language_server package to use.

Alternatively, arduino_language_server should be installed on your $PATH.

Type: null or package

Default: pkgs.arduino-language-server

Declared by:

lsp.servers.arduino_language_server.activate

Whether to call vim.lsp.enable() for arduino_language_server.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.arduino_language_server.name

The name to use for arduino_language_server. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "arduino_language_server"

Declared by:

lsp.servers.arduino_language_server.settings

Configurations for arduino_language_server.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.asm_lsp

The asm_lsp language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.asm_lsp.enable

Whether to enable asm_lsp.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.asm_lsp.package

The asm_lsp package to use.

Alternatively, asm_lsp should be installed on your $PATH.

Type: null or package

Default: pkgs.asm-lsp

Declared by:

lsp.servers.asm_lsp.activate

Whether to call vim.lsp.enable() for asm_lsp.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.asm_lsp.name

The name to use for asm_lsp. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "asm_lsp"

Declared by:

lsp.servers.asm_lsp.settings

Configurations for asm_lsp.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.ast_grep

The ast_grep language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.ast_grep.enable

Whether to enable ast_grep.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.ast_grep.package

The ast_grep package to use.

Alternatively, ast_grep should be installed on your $PATH.

Type: null or package

Default: pkgs.ast-grep

Declared by:

lsp.servers.ast_grep.activate

Whether to call vim.lsp.enable() for ast_grep.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.ast_grep.name

The name to use for ast_grep. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "ast_grep"

Declared by:

lsp.servers.ast_grep.settings

Configurations for ast_grep.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.astro

The astro language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.astro.enable

Whether to enable astro.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.astro.package

The astro package to use.

Alternatively, astro should be installed on your $PATH.

Type: null or package

Default: pkgs.astro-language-server

Declared by:

lsp.servers.astro.activate

Whether to call vim.lsp.enable() for astro.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.astro.name

The name to use for astro. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "astro"

Declared by:

lsp.servers.astro.settings

Configurations for astro.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.atlas

The atlas language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.atlas.enable

Whether to enable atlas.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.atlas.package

The atlas package to use.

Alternatively, atlas should be installed on your $PATH.

Type: null or package

Default: pkgs.atlas

Declared by:

lsp.servers.atlas.activate

Whether to call vim.lsp.enable() for atlas.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.atlas.name

The name to use for atlas. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "atlas"

Declared by:

lsp.servers.atlas.settings

Configurations for atlas.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.autotools_ls

The autotools_ls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.autotools_ls.enable

Whether to enable autotools_ls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.autotools_ls.package

The autotools_ls package to use.

Alternatively, autotools_ls should be installed on your $PATH.

Type: null or package

Default: pkgs.autotools-language-server

Declared by:

lsp.servers.autotools_ls.activate

Whether to call vim.lsp.enable() for autotools_ls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.autotools_ls.name

The name to use for autotools_ls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "autotools_ls"

Declared by:

lsp.servers.autotools_ls.settings

Configurations for autotools_ls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.ballerina

The ballerina language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.ballerina.enable

Whether to enable ballerina.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.ballerina.package

The ballerina package to use.

Alternatively, ballerina should be installed on your $PATH.

Type: null or package

Default: pkgs.ballerina

Declared by:

lsp.servers.ballerina.activate

Whether to call vim.lsp.enable() for ballerina.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.ballerina.name

The name to use for ballerina. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "ballerina"

Declared by:

lsp.servers.ballerina.settings

Configurations for ballerina.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.basedpyright

The basedpyright language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.basedpyright.enable

Whether to enable basedpyright.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.basedpyright.package

The basedpyright package to use.

Alternatively, basedpyright should be installed on your $PATH.

Type: null or package

Default: pkgs.basedpyright

Declared by:

lsp.servers.basedpyright.activate

Whether to call vim.lsp.enable() for basedpyright.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.basedpyright.name

The name to use for basedpyright. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "basedpyright"

Declared by:

lsp.servers.basedpyright.settings

Configurations for basedpyright.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.bashls

The bashls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.bashls.enable

Whether to enable bashls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.bashls.package

The bashls package to use.

Alternatively, bashls should be installed on your $PATH.

Type: null or package

Default: pkgs.bash-language-server

Declared by:

lsp.servers.bashls.activate

Whether to call vim.lsp.enable() for bashls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.bashls.name

The name to use for bashls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "bashls"

Declared by:

lsp.servers.bashls.settings

Configurations for bashls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.beancount

The beancount language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.beancount.enable

Whether to enable beancount.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.beancount.package

The beancount package to use.

Alternatively, beancount should be installed on your $PATH.

Type: null or package

Default: pkgs.beancount-language-server

Declared by:

lsp.servers.beancount.activate

Whether to call vim.lsp.enable() for beancount.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.beancount.name

The name to use for beancount. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "beancount"

Declared by:

lsp.servers.beancount.settings

Configurations for beancount.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.biome

The biome language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.biome.enable

Whether to enable biome.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.biome.package

The biome package to use.

Alternatively, biome should be installed on your $PATH.

Type: null or package

Default: pkgs.biome

Declared by:

lsp.servers.biome.activate

Whether to call vim.lsp.enable() for biome.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.biome.name

The name to use for biome. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "biome"

Declared by:

lsp.servers.biome.settings

Configurations for biome.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.bitbake_language_server

The bitbake_language_server language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.bitbake_language_server.enable

Whether to enable bitbake_language_server.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.bitbake_language_server.package

The bitbake_language_server package to use.

Alternatively, bitbake_language_server should be installed on your $PATH.

Type: null or package

Default: pkgs.bitbake-language-server

Declared by:

lsp.servers.bitbake_language_server.activate

Whether to call vim.lsp.enable() for bitbake_language_server.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.bitbake_language_server.name

The name to use for bitbake_language_server. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "bitbake_language_server"

Declared by:

lsp.servers.bitbake_language_server.settings

Configurations for bitbake_language_server.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.blueprint_ls

The blueprint_ls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.blueprint_ls.enable

Whether to enable blueprint_ls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.blueprint_ls.package

The blueprint_ls package to use.

Alternatively, blueprint_ls should be installed on your $PATH.

Type: null or package

Default: pkgs.blueprint-compiler

Declared by:

lsp.servers.blueprint_ls.activate

Whether to call vim.lsp.enable() for blueprint_ls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.blueprint_ls.name

The name to use for blueprint_ls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "blueprint_ls"

Declared by:

lsp.servers.blueprint_ls.settings

Configurations for blueprint_ls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.buck2

The buck2 language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.buck2.enable

Whether to enable buck2.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.buck2.package

The buck2 package to use.

Alternatively, buck2 should be installed on your $PATH.

Type: null or package

Default: pkgs.buck2

Declared by:

lsp.servers.buck2.activate

Whether to call vim.lsp.enable() for buck2.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.buck2.name

The name to use for buck2. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "buck2"

Declared by:

lsp.servers.buck2.settings

Configurations for buck2.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.buf_ls

The buf_ls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.buf_ls.enable

Whether to enable buf_ls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.buf_ls.package

The buf_ls package to use.

Alternatively, buf_ls should be installed on your $PATH.

Type: null or package

Default: pkgs.buf

Declared by:

lsp.servers.buf_ls.activate

Whether to call vim.lsp.enable() for buf_ls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.buf_ls.name

The name to use for buf_ls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "buf_ls"

Declared by:

lsp.servers.buf_ls.settings

Configurations for buf_ls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.ccls

The ccls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.ccls.enable

Whether to enable ccls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.ccls.package

The ccls package to use.

Alternatively, ccls should be installed on your $PATH.

Type: null or package

Default: pkgs.ccls

Declared by:

lsp.servers.ccls.activate

Whether to call vim.lsp.enable() for ccls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.ccls.name

The name to use for ccls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "ccls"

Declared by:

lsp.servers.ccls.settings

Configurations for ccls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.clangd

The clangd language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.clangd.enable

Whether to enable clangd.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.clangd.package

The clangd package to use.

Alternatively, clangd should be installed on your $PATH.

Type: null or package

Default: pkgs.clang-tools

Declared by:

lsp.servers.clangd.activate

Whether to call vim.lsp.enable() for clangd.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.clangd.name

The name to use for clangd. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "clangd"

Declared by:

lsp.servers.clangd.settings

Configurations for clangd.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.clojure_lsp

The clojure_lsp language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.clojure_lsp.enable

Whether to enable clojure_lsp.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.clojure_lsp.package

The clojure_lsp package to use.

Alternatively, clojure_lsp should be installed on your $PATH.

Type: null or package

Default: pkgs.clojure-lsp

Declared by:

lsp.servers.clojure_lsp.activate

Whether to call vim.lsp.enable() for clojure_lsp.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.clojure_lsp.name

The name to use for clojure_lsp. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "clojure_lsp"

Declared by:

lsp.servers.clojure_lsp.settings

Configurations for clojure_lsp.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.cmake

The cmake language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.cmake.enable

Whether to enable cmake.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.cmake.package

The cmake package to use.

Alternatively, cmake should be installed on your $PATH.

Type: null or package

Default: pkgs.cmake-language-server

Declared by:

lsp.servers.cmake.activate

Whether to call vim.lsp.enable() for cmake.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.cmake.name

The name to use for cmake. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "cmake"

Declared by:

lsp.servers.cmake.settings

Configurations for cmake.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.crystalline

The crystalline language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.crystalline.enable

Whether to enable crystalline.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.crystalline.package

The crystalline package to use.

Alternatively, crystalline should be installed on your $PATH.

Type: null or package

Default: pkgs.crystalline

Declared by:

lsp.servers.crystalline.activate

Whether to call vim.lsp.enable() for crystalline.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.crystalline.name

The name to use for crystalline. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "crystalline"

Declared by:

lsp.servers.crystalline.settings

Configurations for crystalline.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.csharp_ls

The csharp_ls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.csharp_ls.enable

Whether to enable csharp_ls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.csharp_ls.package

The csharp_ls package to use.

Alternatively, csharp_ls should be installed on your $PATH.

Type: null or package

Default: pkgs.csharp-ls

Declared by:

lsp.servers.csharp_ls.activate

Whether to call vim.lsp.enable() for csharp_ls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.csharp_ls.name

The name to use for csharp_ls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "csharp_ls"

Declared by:

lsp.servers.csharp_ls.settings

Configurations for csharp_ls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.cssls

The cssls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.cssls.enable

Whether to enable cssls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.cssls.package

The cssls package to use.

Alternatively, cssls should be installed on your $PATH.

Type: null or package

Default: pkgs.vscode-langservers-extracted

Declared by:

lsp.servers.cssls.activate

Whether to call vim.lsp.enable() for cssls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.cssls.name

The name to use for cssls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "cssls"

Declared by:

lsp.servers.cssls.settings

Configurations for cssls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.cue

The cue language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.cue.enable

Whether to enable cue.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.cue.package

The cue package to use.

Alternatively, cue should be installed on your $PATH.

Type: null or package

Default: pkgs.cue

Declared by:

lsp.servers.cue.activate

Whether to call vim.lsp.enable() for cue.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.cue.name

The name to use for cue. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "cue"

Declared by:

lsp.servers.cue.settings

Configurations for cue.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.dafny

The dafny language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.dafny.enable

Whether to enable dafny.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.dafny.package

The dafny package to use.

Alternatively, dafny should be installed on your $PATH.

Type: null or package

Default: pkgs.dafny

Declared by:

lsp.servers.dafny.activate

Whether to call vim.lsp.enable() for dafny.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.dafny.name

The name to use for dafny. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "dafny"

Declared by:

lsp.servers.dafny.settings

Configurations for dafny.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.dagger

The dagger language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.dagger.enable

Whether to enable dagger.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.dagger.package

The dagger package to use.

Alternatively, dagger should be installed on your $PATH.

Type: null or package

Default: pkgs.cuelsp

Declared by:

lsp.servers.dagger.activate

Whether to call vim.lsp.enable() for dagger.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.dagger.name

The name to use for dagger. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "dagger"

Declared by:

lsp.servers.dagger.settings

Configurations for dagger.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.dartls

The dartls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.dartls.enable

Whether to enable dartls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.dartls.package

The dartls package to use.

Alternatively, dartls should be installed on your $PATH.

Type: null or package

Default: pkgs.dart

Declared by:

lsp.servers.dartls.activate

Whether to call vim.lsp.enable() for dartls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.dartls.name

The name to use for dartls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "dartls"

Declared by:

lsp.servers.dartls.settings

Configurations for dartls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.denols

The denols language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.denols.enable

Whether to enable denols.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.denols.package

The denols package to use.

Alternatively, denols should be installed on your $PATH.

Type: null or package

Default: pkgs.deno

Declared by:

lsp.servers.denols.activate

Whether to call vim.lsp.enable() for denols.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.denols.name

The name to use for denols. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "denols"

Declared by:

lsp.servers.denols.settings

Configurations for denols.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.dhall_lsp_server

The dhall_lsp_server language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.dhall_lsp_server.enable

Whether to enable dhall_lsp_server.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.dhall_lsp_server.package

The dhall_lsp_server package to use.

Alternatively, dhall_lsp_server should be installed on your $PATH.

Type: null or package

Default: pkgs.dhall-lsp-server

Declared by:

lsp.servers.dhall_lsp_server.activate

Whether to call vim.lsp.enable() for dhall_lsp_server.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.dhall_lsp_server.name

The name to use for dhall_lsp_server. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "dhall_lsp_server"

Declared by:

lsp.servers.dhall_lsp_server.settings

Configurations for dhall_lsp_server.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.diagnosticls

The diagnosticls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.diagnosticls.enable

Whether to enable diagnosticls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.diagnosticls.package

The diagnosticls package to use.

Alternatively, diagnosticls should be installed on your $PATH.

Type: null or package

Default: pkgs.diagnostic-languageserver

Declared by:

lsp.servers.diagnosticls.activate

Whether to call vim.lsp.enable() for diagnosticls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.diagnosticls.name

The name to use for diagnosticls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "diagnosticls"

Declared by:

lsp.servers.diagnosticls.settings

Configurations for diagnosticls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.digestif

The digestif language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.digestif.enable

Whether to enable digestif.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.digestif.package

The digestif package to use.

Alternatively, digestif should be installed on your $PATH.

Type: null or package

Default: pkgs.lua54Packages.digestif

Declared by:

lsp.servers.digestif.activate

Whether to call vim.lsp.enable() for digestif.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.digestif.name

The name to use for digestif. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "digestif"

Declared by:

lsp.servers.digestif.settings

Configurations for digestif.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.docker_compose_language_service

The docker_compose_language_service language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.docker_compose_language_service.enable

Whether to enable docker_compose_language_service.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.docker_compose_language_service.package

The docker_compose_language_service package to use.

Alternatively, docker_compose_language_service should be installed on your $PATH.

Type: null or package

Default: pkgs.docker-compose-language-service

Declared by:

lsp.servers.docker_compose_language_service.activate

Whether to call vim.lsp.enable() for docker_compose_language_service.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.docker_compose_language_service.name

The name to use for docker_compose_language_service. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "docker_compose_language_service"

Declared by:

lsp.servers.docker_compose_language_service.settings

Configurations for docker_compose_language_service.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.dockerls

The dockerls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.dockerls.enable

Whether to enable dockerls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.dockerls.package

The dockerls package to use.

Alternatively, dockerls should be installed on your $PATH.

Type: null or package

Default: pkgs.dockerfile-language-server-nodejs

Declared by:

lsp.servers.dockerls.activate

Whether to call vim.lsp.enable() for dockerls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.dockerls.name

The name to use for dockerls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "dockerls"

Declared by:

lsp.servers.dockerls.settings

Configurations for dockerls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.dolmenls

The dolmenls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.dolmenls.enable

Whether to enable dolmenls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.dolmenls.package

The dolmenls package to use.

Alternatively, dolmenls should be installed on your $PATH.

Type: null or package

Default: pkgs.ocamlPackages.dolmen_lsp

Declared by:

lsp.servers.dolmenls.activate

Whether to call vim.lsp.enable() for dolmenls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.dolmenls.name

The name to use for dolmenls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "dolmenls"

Declared by:

lsp.servers.dolmenls.settings

Configurations for dolmenls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.dotls

The dotls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.dotls.enable

Whether to enable dotls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.dotls.package

The dotls package to use.

Alternatively, dotls should be installed on your $PATH.

Type: null or package

Default: pkgs.dot-language-server

Declared by:

lsp.servers.dotls.activate

Whether to call vim.lsp.enable() for dotls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.dotls.name

The name to use for dotls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "dotls"

Declared by:

lsp.servers.dotls.settings

Configurations for dotls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.dprint

The dprint language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.dprint.enable

Whether to enable dprint.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.dprint.package

The dprint package to use.

Alternatively, dprint should be installed on your $PATH.

Type: null or package

Default: pkgs.dprint

Declared by:

lsp.servers.dprint.activate

Whether to call vim.lsp.enable() for dprint.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.dprint.name

The name to use for dprint. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "dprint"

Declared by:

lsp.servers.dprint.settings

Configurations for dprint.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.earthlyls

The earthlyls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.earthlyls.enable

Whether to enable earthlyls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.earthlyls.package

The earthlyls package to use.

Alternatively, earthlyls should be installed on your $PATH.

Type: null or package

Default: pkgs.earthlyls

Declared by:

lsp.servers.earthlyls.activate

Whether to call vim.lsp.enable() for earthlyls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.earthlyls.name

The name to use for earthlyls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "earthlyls"

Declared by:

lsp.servers.earthlyls.settings

Configurations for earthlyls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.efm

The efm language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.efm.enable

Whether to enable efm.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.efm.package

The efm package to use.

Alternatively, efm should be installed on your $PATH.

Type: null or package

Default: pkgs.efm-langserver

Declared by:

lsp.servers.efm.activate

Whether to call vim.lsp.enable() for efm.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.efm.name

The name to use for efm. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "efm"

Declared by:

lsp.servers.efm.settings

Configurations for efm.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.elixirls

The elixirls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.elixirls.enable

Whether to enable elixirls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.elixirls.package

The elixirls package to use.

Alternatively, elixirls should be installed on your $PATH.

Type: null or package

Default: pkgs.elixir-ls

Declared by:

lsp.servers.elixirls.activate

Whether to call vim.lsp.enable() for elixirls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.elixirls.name

The name to use for elixirls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "elixirls"

Declared by:

lsp.servers.elixirls.settings

Configurations for elixirls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.elmls

The elmls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.elmls.enable

Whether to enable elmls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.elmls.package

The elmls package to use.

Alternatively, elmls should be installed on your $PATH.

Type: null or package

Default: pkgs.elmPackages.elm-language-server

Declared by:

lsp.servers.elmls.activate

Whether to call vim.lsp.enable() for elmls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.elmls.name

The name to use for elmls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "elmls"

Declared by:

lsp.servers.elmls.settings

Configurations for elmls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.elp

The elp language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.elp.enable

Whether to enable elp.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.elp.package

The elp package to use.

Alternatively, elp should be installed on your $PATH.

Type: null or package

Default: pkgs.erlang-language-platform

Declared by:

lsp.servers.elp.activate

Whether to call vim.lsp.enable() for elp.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.elp.name

The name to use for elp. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "elp"

Declared by:

lsp.servers.elp.settings

Configurations for elp.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.emmet_language_server

The emmet_language_server language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.emmet_language_server.enable

Whether to enable emmet_language_server.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.emmet_language_server.package

The emmet_language_server package to use.

Alternatively, emmet_language_server should be installed on your $PATH.

Type: null or package

Default: pkgs.emmet-language-server

Declared by:

lsp.servers.emmet_language_server.activate

Whether to call vim.lsp.enable() for emmet_language_server.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.emmet_language_server.name

The name to use for emmet_language_server. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "emmet_language_server"

Declared by:

lsp.servers.emmet_language_server.settings

Configurations for emmet_language_server.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.emmet_ls

The emmet_ls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.emmet_ls.enable

Whether to enable emmet_ls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.emmet_ls.package

The emmet_ls package to use.

Alternatively, emmet_ls should be installed on your $PATH.

Type: null or package

Default: pkgs.emmet-ls

Declared by:

lsp.servers.emmet_ls.activate

Whether to call vim.lsp.enable() for emmet_ls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.emmet_ls.name

The name to use for emmet_ls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "emmet_ls"

Declared by:

lsp.servers.emmet_ls.settings

Configurations for emmet_ls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.erg_language_server

The erg_language_server language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.erg_language_server.enable

Whether to enable erg_language_server.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.erg_language_server.package

The erg_language_server package to use.

Alternatively, erg_language_server should be installed on your $PATH.

Type: null or package

Default: pkgs.erg

Declared by:

lsp.servers.erg_language_server.activate

Whether to call vim.lsp.enable() for erg_language_server.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.erg_language_server.name

The name to use for erg_language_server. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "erg_language_server"

Declared by:

lsp.servers.erg_language_server.settings

Configurations for erg_language_server.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.erlangls

The erlangls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.erlangls.enable

Whether to enable erlangls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.erlangls.package

The erlangls package to use.

Alternatively, erlangls should be installed on your $PATH.

Type: null or package

Default: pkgs.erlang-ls

Declared by:

lsp.servers.erlangls.activate

Whether to call vim.lsp.enable() for erlangls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.erlangls.name

The name to use for erlangls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "erlangls"

Declared by:

lsp.servers.erlangls.settings

Configurations for erlangls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.eslint

The eslint language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.eslint.enable

Whether to enable eslint.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.eslint.package

The eslint package to use.

Alternatively, eslint should be installed on your $PATH.

Type: null or package

Default: pkgs.vscode-langservers-extracted

Declared by:

lsp.servers.eslint.activate

Whether to call vim.lsp.enable() for eslint.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.eslint.name

The name to use for eslint. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "eslint"

Declared by:

lsp.servers.eslint.settings

Configurations for eslint.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.fennel_ls

The fennel_ls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.fennel_ls.enable

Whether to enable fennel_ls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.fennel_ls.package

The fennel_ls package to use.

Alternatively, fennel_ls should be installed on your $PATH.

Type: null or package

Default: pkgs.fennel-ls

Declared by:

lsp.servers.fennel_ls.activate

Whether to call vim.lsp.enable() for fennel_ls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.fennel_ls.name

The name to use for fennel_ls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "fennel_ls"

Declared by:

lsp.servers.fennel_ls.settings

Configurations for fennel_ls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.fish_lsp

The fish_lsp language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.fish_lsp.enable

Whether to enable fish_lsp.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.fish_lsp.package

The fish_lsp package to use.

Alternatively, fish_lsp should be installed on your $PATH.

Type: null or package

Default: pkgs.fish-lsp

Declared by:

lsp.servers.fish_lsp.activate

Whether to call vim.lsp.enable() for fish_lsp.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.fish_lsp.name

The name to use for fish_lsp. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "fish_lsp"

Declared by:

lsp.servers.fish_lsp.settings

Configurations for fish_lsp.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.flow

The flow language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.flow.enable

Whether to enable flow.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.flow.package

The flow package to use.

Alternatively, flow should be installed on your $PATH.

Type: null or package

Default: pkgs.flow

Declared by:

lsp.servers.flow.activate

Whether to call vim.lsp.enable() for flow.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.flow.name

The name to use for flow. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "flow"

Declared by:

lsp.servers.flow.settings

Configurations for flow.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.fortls

The fortls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.fortls.enable

Whether to enable fortls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.fortls.package

The fortls package to use.

Alternatively, fortls should be installed on your $PATH.

Type: null or package

Default: pkgs.fortls

Declared by:

lsp.servers.fortls.activate

Whether to call vim.lsp.enable() for fortls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.fortls.name

The name to use for fortls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "fortls"

Declared by:

lsp.servers.fortls.settings

Configurations for fortls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.fsautocomplete

The fsautocomplete language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.fsautocomplete.enable

Whether to enable fsautocomplete.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.fsautocomplete.package

The fsautocomplete package to use.

Alternatively, fsautocomplete should be installed on your $PATH.

Type: null or package

Default: pkgs.fsautocomplete

Declared by:

lsp.servers.fsautocomplete.activate

Whether to call vim.lsp.enable() for fsautocomplete.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.fsautocomplete.name

The name to use for fsautocomplete. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "fsautocomplete"

Declared by:

lsp.servers.fsautocomplete.settings

Configurations for fsautocomplete.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.fstar

The fstar language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.fstar.enable

Whether to enable fstar.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.fstar.package

The fstar package to use.

Alternatively, fstar should be installed on your $PATH.

Type: null or package

Default: pkgs.fstar

Declared by:

lsp.servers.fstar.activate

Whether to call vim.lsp.enable() for fstar.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.fstar.name

The name to use for fstar. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "fstar"

Declared by:

lsp.servers.fstar.settings

Configurations for fstar.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.futhark_lsp

The futhark_lsp language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.futhark_lsp.enable

Whether to enable futhark_lsp.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.futhark_lsp.package

The futhark_lsp package to use.

Alternatively, futhark_lsp should be installed on your $PATH.

Type: null or package

Default: pkgs.futhark

Declared by:

lsp.servers.futhark_lsp.activate

Whether to call vim.lsp.enable() for futhark_lsp.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.futhark_lsp.name

The name to use for futhark_lsp. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "futhark_lsp"

Declared by:

lsp.servers.futhark_lsp.settings

Configurations for futhark_lsp.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.ghcide

The ghcide language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.ghcide.enable

Whether to enable ghcide.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.ghcide.package

The ghcide package to use.

Alternatively, ghcide should be installed on your $PATH.

Type: null or package

Default: pkgs.haskellPackages.ghcide

Declared by:

lsp.servers.ghcide.activate

Whether to call vim.lsp.enable() for ghcide.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.ghcide.name

The name to use for ghcide. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "ghcide"

Declared by:

lsp.servers.ghcide.settings

Configurations for ghcide.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.gitlab_ci_ls

The gitlab_ci_ls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.gitlab_ci_ls.enable

Whether to enable gitlab_ci_ls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.gitlab_ci_ls.package

The gitlab_ci_ls package to use.

Alternatively, gitlab_ci_ls should be installed on your $PATH.

Type: null or package

Default: pkgs.gitlab-ci-ls

Declared by:

lsp.servers.gitlab_ci_ls.activate

Whether to call vim.lsp.enable() for gitlab_ci_ls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.gitlab_ci_ls.name

The name to use for gitlab_ci_ls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "gitlab_ci_ls"

Declared by:

lsp.servers.gitlab_ci_ls.settings

Configurations for gitlab_ci_ls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.gleam

The gleam language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.gleam.enable

Whether to enable gleam.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.gleam.package

The gleam package to use.

Alternatively, gleam should be installed on your $PATH.

Type: null or package

Default: pkgs.gleam

Declared by:

lsp.servers.gleam.activate

Whether to call vim.lsp.enable() for gleam.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.gleam.name

The name to use for gleam. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "gleam"

Declared by:

lsp.servers.gleam.settings

Configurations for gleam.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.glsl_analyzer

The glsl_analyzer language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.glsl_analyzer.enable

Whether to enable glsl_analyzer.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.glsl_analyzer.package

The glsl_analyzer package to use.

Alternatively, glsl_analyzer should be installed on your $PATH.

Type: null or package

Default: pkgs.glsl_analyzer

Declared by:

lsp.servers.glsl_analyzer.activate

Whether to call vim.lsp.enable() for glsl_analyzer.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.glsl_analyzer.name

The name to use for glsl_analyzer. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "glsl_analyzer"

Declared by:

lsp.servers.glsl_analyzer.settings

Configurations for glsl_analyzer.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.glslls

The glslls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.glslls.enable

Whether to enable glslls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.glslls.package

The glslls package to use.

Alternatively, glslls should be installed on your $PATH.

Type: null or package

Default: pkgs.glslls

Declared by:

lsp.servers.glslls.activate

Whether to call vim.lsp.enable() for glslls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.glslls.name

The name to use for glslls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "glslls"

Declared by:

lsp.servers.glslls.settings

Configurations for glslls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.golangci_lint_ls

The golangci_lint_ls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.golangci_lint_ls.enable

Whether to enable golangci_lint_ls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.golangci_lint_ls.package

The golangci_lint_ls package to use.

Alternatively, golangci_lint_ls should be installed on your $PATH.

Type: null or package

Default: pkgs.golangci-lint-langserver

Declared by:

lsp.servers.golangci_lint_ls.activate

Whether to call vim.lsp.enable() for golangci_lint_ls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.golangci_lint_ls.name

The name to use for golangci_lint_ls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "golangci_lint_ls"

Declared by:

lsp.servers.golangci_lint_ls.settings

Configurations for golangci_lint_ls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.gopls

The gopls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.gopls.enable

Whether to enable gopls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.gopls.package

The gopls package to use.

Alternatively, gopls should be installed on your $PATH.

Type: null or package

Default: pkgs.gopls

Declared by:

lsp.servers.gopls.activate

Whether to call vim.lsp.enable() for gopls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.gopls.name

The name to use for gopls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "gopls"

Declared by:

lsp.servers.gopls.settings

Configurations for gopls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.harper_ls

The harper_ls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.harper_ls.enable

Whether to enable harper_ls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.harper_ls.package

The harper_ls package to use.

Alternatively, harper_ls should be installed on your $PATH.

Type: null or package

Default: pkgs.harper

Declared by:

lsp.servers.harper_ls.activate

Whether to call vim.lsp.enable() for harper_ls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.harper_ls.name

The name to use for harper_ls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "harper_ls"

Declared by:

lsp.servers.harper_ls.settings

Configurations for harper_ls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.helm_ls

The helm_ls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.helm_ls.enable

Whether to enable helm_ls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.helm_ls.package

The helm_ls package to use.

Alternatively, helm_ls should be installed on your $PATH.

Type: null or package

Default: pkgs.helm-ls

Declared by:

lsp.servers.helm_ls.activate

Whether to call vim.lsp.enable() for helm_ls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.helm_ls.name

The name to use for helm_ls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "helm_ls"

Declared by:

lsp.servers.helm_ls.settings

Configurations for helm_ls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.hls

The hls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.hls.enable

Whether to enable hls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.hls.package

The hls package to use.

Alternatively, hls should be installed on your $PATH.

Type: null or package

Default: pkgs.haskell-language-server

Declared by:

lsp.servers.hls.activate

Whether to call vim.lsp.enable() for hls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.hls.name

The name to use for hls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "hls"

Declared by:

lsp.servers.hls.settings

Configurations for hls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.html

The html language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.html.enable

Whether to enable html.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.html.package

The html package to use.

Alternatively, html should be installed on your $PATH.

Type: null or package

Default: pkgs.vscode-langservers-extracted

Declared by:

lsp.servers.html.activate

Whether to call vim.lsp.enable() for html.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.html.name

The name to use for html. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "html"

Declared by:

lsp.servers.html.settings

Configurations for html.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.htmx

The htmx language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.htmx.enable

Whether to enable htmx.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.htmx.package

The htmx package to use.

Alternatively, htmx should be installed on your $PATH.

Type: null or package

Default: pkgs.htmx-lsp

Declared by:

lsp.servers.htmx.activate

Whether to call vim.lsp.enable() for htmx.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.htmx.name

The name to use for htmx. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "htmx"

Declared by:

lsp.servers.htmx.settings

Configurations for htmx.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.hyprls

The hyprls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.hyprls.enable

Whether to enable hyprls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.hyprls.package

The hyprls package to use.

Alternatively, hyprls should be installed on your $PATH.

Type: null or package

Default: pkgs.hyprls

Declared by:

lsp.servers.hyprls.activate

Whether to call vim.lsp.enable() for hyprls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.hyprls.name

The name to use for hyprls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "hyprls"

Declared by:

lsp.servers.hyprls.settings

Configurations for hyprls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.idris2_lsp

The idris2_lsp language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.idris2_lsp.enable

Whether to enable idris2_lsp.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.idris2_lsp.package

The idris2_lsp package to use.

Alternatively, idris2_lsp should be installed on your $PATH.

Type: null or package

Default: pkgs.idris2Packages.idris2Lsp

Declared by:

lsp.servers.idris2_lsp.activate

Whether to call vim.lsp.enable() for idris2_lsp.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.idris2_lsp.name

The name to use for idris2_lsp. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "idris2_lsp"

Declared by:

lsp.servers.idris2_lsp.settings

Configurations for idris2_lsp.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.java_language_server

The java_language_server language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.java_language_server.enable

Whether to enable java_language_server.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.java_language_server.package

The java_language_server package to use.

Alternatively, java_language_server should be installed on your $PATH.

Type: null or package

Default: pkgs.java-language-server

Declared by:

lsp.servers.java_language_server.activate

Whether to call vim.lsp.enable() for java_language_server.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.java_language_server.name

The name to use for java_language_server. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "java_language_server"

Declared by:

lsp.servers.java_language_server.settings

Configurations for java_language_server.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.jdtls

The jdtls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.jdtls.enable

Whether to enable jdtls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.jdtls.package

The jdtls package to use.

Alternatively, jdtls should be installed on your $PATH.

Type: null or package

Default: pkgs.jdt-language-server

Declared by:

lsp.servers.jdtls.activate

Whether to call vim.lsp.enable() for jdtls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.jdtls.name

The name to use for jdtls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "jdtls"

Declared by:

lsp.servers.jdtls.settings

Configurations for jdtls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.jedi_language_server

The jedi_language_server language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.jedi_language_server.enable

Whether to enable jedi_language_server.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.jedi_language_server.package

The jedi_language_server package to use.

Alternatively, jedi_language_server should be installed on your $PATH.

Type: null or package

Default: pkgs.python3Packages.jedi-language-server

Declared by:

lsp.servers.jedi_language_server.activate

Whether to call vim.lsp.enable() for jedi_language_server.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.jedi_language_server.name

The name to use for jedi_language_server. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "jedi_language_server"

Declared by:

lsp.servers.jedi_language_server.settings

Configurations for jedi_language_server.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.jqls

The jqls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.jqls.enable

Whether to enable jqls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.jqls.package

The jqls package to use.

Alternatively, jqls should be installed on your $PATH.

Type: null or package

Default: pkgs.jq-lsp

Declared by:

lsp.servers.jqls.activate

Whether to call vim.lsp.enable() for jqls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.jqls.name

The name to use for jqls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "jqls"

Declared by:

lsp.servers.jqls.settings

Configurations for jqls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.jsonls

The jsonls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.jsonls.enable

Whether to enable jsonls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.jsonls.package

The jsonls package to use.

Alternatively, jsonls should be installed on your $PATH.

Type: null or package

Default: pkgs.vscode-langservers-extracted

Declared by:

lsp.servers.jsonls.activate

Whether to call vim.lsp.enable() for jsonls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.jsonls.name

The name to use for jsonls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "jsonls"

Declared by:

lsp.servers.jsonls.settings

Configurations for jsonls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.jsonnet_ls

The jsonnet_ls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.jsonnet_ls.enable

Whether to enable jsonnet_ls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.jsonnet_ls.package

The jsonnet_ls package to use.

Alternatively, jsonnet_ls should be installed on your $PATH.

Type: null or package

Default: pkgs.jsonnet-language-server

Declared by:

lsp.servers.jsonnet_ls.activate

Whether to call vim.lsp.enable() for jsonnet_ls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.jsonnet_ls.name

The name to use for jsonnet_ls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "jsonnet_ls"

Declared by:

lsp.servers.jsonnet_ls.settings

Configurations for jsonnet_ls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.just

The just language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.just.enable

Whether to enable just.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.just.package

The just package to use.

Alternatively, just should be installed on your $PATH.

Type: null or package

Default: pkgs.just-lsp

Declared by:

lsp.servers.just.activate

Whether to call vim.lsp.enable() for just.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.just.name

The name to use for just. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "just"

Declared by:

lsp.servers.just.settings

Configurations for just.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.koka

The koka language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.koka.enable

Whether to enable koka.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.koka.package

The koka package to use.

Alternatively, koka should be installed on your $PATH.

Type: null or package

Default: pkgs.koka

Declared by:

lsp.servers.koka.activate

Whether to call vim.lsp.enable() for koka.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.koka.name

The name to use for koka. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "koka"

Declared by:

lsp.servers.koka.settings

Configurations for koka.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.kotlin_language_server

The kotlin_language_server language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.kotlin_language_server.enable

Whether to enable kotlin_language_server.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.kotlin_language_server.package

The kotlin_language_server package to use.

Alternatively, kotlin_language_server should be installed on your $PATH.

Type: null or package

Default: pkgs.kotlin-language-server

Declared by:

lsp.servers.kotlin_language_server.activate

Whether to call vim.lsp.enable() for kotlin_language_server.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.kotlin_language_server.name

The name to use for kotlin_language_server. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "kotlin_language_server"

Declared by:

lsp.servers.kotlin_language_server.settings

Configurations for kotlin_language_server.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.leanls

The leanls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.leanls.enable

Whether to enable leanls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.leanls.package

The leanls package to use.

Alternatively, leanls should be installed on your $PATH.

Type: null or package

Default: pkgs.lean4

Declared by:

lsp.servers.leanls.activate

Whether to call vim.lsp.enable() for leanls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.leanls.name

The name to use for leanls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "leanls"

Declared by:

lsp.servers.leanls.settings

Configurations for leanls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.lemminx

The lemminx language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.lemminx.enable

Whether to enable lemminx.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.lemminx.package

The lemminx package to use.

Alternatively, lemminx should be installed on your $PATH.

Type: null or package

Default: pkgs.lemminx

Declared by:

lsp.servers.lemminx.activate

Whether to call vim.lsp.enable() for lemminx.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.lemminx.name

The name to use for lemminx. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "lemminx"

Declared by:

lsp.servers.lemminx.settings

Configurations for lemminx.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.lexical

The lexical language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.lexical.enable

Whether to enable lexical.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.lexical.package

The lexical package to use.

Alternatively, lexical should be installed on your $PATH.

Type: null or package

Default: pkgs.lexical

Declared by:

lsp.servers.lexical.activate

Whether to call vim.lsp.enable() for lexical.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.lexical.name

The name to use for lexical. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "lexical"

Declared by:

lsp.servers.lexical.settings

Configurations for lexical.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.lsp_ai

The lsp_ai language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.lsp_ai.enable

Whether to enable lsp_ai.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.lsp_ai.package

The lsp_ai package to use.

Alternatively, lsp_ai should be installed on your $PATH.

Type: null or package

Default: pkgs.lsp-ai

Declared by:

lsp.servers.lsp_ai.activate

Whether to call vim.lsp.enable() for lsp_ai.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.lsp_ai.name

The name to use for lsp_ai. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "lsp_ai"

Declared by:

lsp.servers.lsp_ai.settings

Configurations for lsp_ai.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.ltex

The ltex language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.ltex.enable

Whether to enable ltex.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.ltex.package

The ltex package to use.

Alternatively, ltex should be installed on your $PATH.

Type: null or package

Default: pkgs.ltex-ls

Declared by:

lsp.servers.ltex.activate

Whether to call vim.lsp.enable() for ltex.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.ltex.name

The name to use for ltex. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "ltex"

Declared by:

lsp.servers.ltex.settings

Configurations for ltex.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.lua_ls

The lua_ls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.lua_ls.enable

Whether to enable lua_ls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.lua_ls.package

The lua_ls package to use.

Alternatively, lua_ls should be installed on your $PATH.

Type: null or package

Default: pkgs.lua-language-server

Declared by:

lsp.servers.lua_ls.activate

Whether to call vim.lsp.enable() for lua_ls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.lua_ls.name

The name to use for lua_ls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "lua_ls"

Declared by:

lsp.servers.lua_ls.settings

Configurations for lua_ls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.luau_lsp

The luau_lsp language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.luau_lsp.enable

Whether to enable luau_lsp.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.luau_lsp.package

The luau_lsp package to use.

Alternatively, luau_lsp should be installed on your $PATH.

Type: null or package

Default: pkgs.luau-lsp

Declared by:

lsp.servers.luau_lsp.activate

Whether to call vim.lsp.enable() for luau_lsp.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.luau_lsp.name

The name to use for luau_lsp. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "luau_lsp"

Declared by:

lsp.servers.luau_lsp.settings

Configurations for luau_lsp.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.markdown_oxide

The markdown_oxide language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.markdown_oxide.enable

Whether to enable markdown_oxide.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.markdown_oxide.package

The markdown_oxide package to use.

Alternatively, markdown_oxide should be installed on your $PATH.

Type: null or package

Default: pkgs.markdown-oxide

Declared by:

lsp.servers.markdown_oxide.activate

Whether to call vim.lsp.enable() for markdown_oxide.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.markdown_oxide.name

The name to use for markdown_oxide. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "markdown_oxide"

Declared by:

lsp.servers.markdown_oxide.settings

Configurations for markdown_oxide.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.marksman

The marksman language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.marksman.enable

Whether to enable marksman.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.marksman.package

The marksman package to use.

Alternatively, marksman should be installed on your $PATH.

Type: null or package

Default: pkgs.marksman

Declared by:

lsp.servers.marksman.activate

Whether to call vim.lsp.enable() for marksman.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.marksman.name

The name to use for marksman. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "marksman"

Declared by:

lsp.servers.marksman.settings

Configurations for marksman.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.matlab_ls

The matlab_ls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.matlab_ls.enable

Whether to enable matlab_ls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.matlab_ls.package

The matlab_ls package to use.

Alternatively, matlab_ls should be installed on your $PATH.

Type: null or package

Default: pkgs.matlab-language-server

Declared by:

lsp.servers.matlab_ls.activate

Whether to call vim.lsp.enable() for matlab_ls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.matlab_ls.name

The name to use for matlab_ls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "matlab_ls"

Declared by:

lsp.servers.matlab_ls.settings

Configurations for matlab_ls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.mesonlsp

The mesonlsp language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.mesonlsp.enable

Whether to enable mesonlsp.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.mesonlsp.package

The mesonlsp package to use.

Alternatively, mesonlsp should be installed on your $PATH.

Type: null or package

Default: pkgs.mesonlsp

Declared by:

lsp.servers.mesonlsp.activate

Whether to call vim.lsp.enable() for mesonlsp.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.mesonlsp.name

The name to use for mesonlsp. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "mesonlsp"

Declared by:

lsp.servers.mesonlsp.settings

Configurations for mesonlsp.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.metals

The metals language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.metals.enable

Whether to enable metals.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.metals.package

The metals package to use.

Alternatively, metals should be installed on your $PATH.

Type: null or package

Default: pkgs.metals

Declared by:

lsp.servers.metals.activate

Whether to call vim.lsp.enable() for metals.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.metals.name

The name to use for metals. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "metals"

Declared by:

lsp.servers.metals.settings

Configurations for metals.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.mint

The mint language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.mint.enable

Whether to enable mint.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.mint.package

The mint package to use.

Alternatively, mint should be installed on your $PATH.

Type: null or package

Default: pkgs.mint

Declared by:

lsp.servers.mint.activate

Whether to call vim.lsp.enable() for mint.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.mint.name

The name to use for mint. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "mint"

Declared by:

lsp.servers.mint.settings

Configurations for mint.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.mlir_lsp_server

The mlir_lsp_server language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.mlir_lsp_server.enable

Whether to enable mlir_lsp_server.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.mlir_lsp_server.package

The mlir_lsp_server package to use.

Alternatively, mlir_lsp_server should be installed on your $PATH.

Type: null or package

Default: pkgs.llvmPackages.mlir

Declared by:

lsp.servers.mlir_lsp_server.activate

Whether to call vim.lsp.enable() for mlir_lsp_server.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.mlir_lsp_server.name

The name to use for mlir_lsp_server. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "mlir_lsp_server"

Declared by:

lsp.servers.mlir_lsp_server.settings

Configurations for mlir_lsp_server.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.mlir_pdll_lsp_server

The mlir_pdll_lsp_server language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.mlir_pdll_lsp_server.enable

Whether to enable mlir_pdll_lsp_server.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.mlir_pdll_lsp_server.package

The mlir_pdll_lsp_server package to use.

Alternatively, mlir_pdll_lsp_server should be installed on your $PATH.

Type: null or package

Default: pkgs.llvmPackages.mlir

Declared by:

lsp.servers.mlir_pdll_lsp_server.activate

Whether to call vim.lsp.enable() for mlir_pdll_lsp_server.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.mlir_pdll_lsp_server.name

The name to use for mlir_pdll_lsp_server. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "mlir_pdll_lsp_server"

Declared by:

lsp.servers.mlir_pdll_lsp_server.settings

Configurations for mlir_pdll_lsp_server.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.muon

The muon language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.muon.enable

Whether to enable muon.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.muon.package

The muon package to use.

Alternatively, muon should be installed on your $PATH.

Type: null or package

Default: pkgs.muon

Declared by:

lsp.servers.muon.activate

Whether to call vim.lsp.enable() for muon.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.muon.name

The name to use for muon. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "muon"

Declared by:

lsp.servers.muon.settings

Configurations for muon.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.neocmake

The neocmake language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.neocmake.enable

Whether to enable neocmake.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.neocmake.package

The neocmake package to use.

Alternatively, neocmake should be installed on your $PATH.

Type: null or package

Default: pkgs.neocmakelsp

Declared by:

lsp.servers.neocmake.activate

Whether to call vim.lsp.enable() for neocmake.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.neocmake.name

The name to use for neocmake. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "neocmake"

Declared by:

lsp.servers.neocmake.settings

Configurations for neocmake.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.nextls

The nextls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.nextls.enable

Whether to enable nextls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.nextls.package

The nextls package to use.

Alternatively, nextls should be installed on your $PATH.

Type: null or package

Default: pkgs.next-ls

Declared by:

lsp.servers.nextls.activate

Whether to call vim.lsp.enable() for nextls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.nextls.name

The name to use for nextls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "nextls"

Declared by:

lsp.servers.nextls.settings

Configurations for nextls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.nginx_language_server

The nginx_language_server language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.nginx_language_server.enable

Whether to enable nginx_language_server.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.nginx_language_server.package

The nginx_language_server package to use.

Alternatively, nginx_language_server should be installed on your $PATH.

Type: null or package

Default: pkgs.nginx-language-server

Declared by:

lsp.servers.nginx_language_server.activate

Whether to call vim.lsp.enable() for nginx_language_server.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.nginx_language_server.name

The name to use for nginx_language_server. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "nginx_language_server"

Declared by:

lsp.servers.nginx_language_server.settings

Configurations for nginx_language_server.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.nickel_ls

The nickel_ls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.nickel_ls.enable

Whether to enable nickel_ls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.nickel_ls.package

The nickel_ls package to use.

Alternatively, nickel_ls should be installed on your $PATH.

Type: null or package

Default: pkgs.nls

Declared by:

lsp.servers.nickel_ls.activate

Whether to call vim.lsp.enable() for nickel_ls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.nickel_ls.name

The name to use for nickel_ls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "nickel_ls"

Declared by:

lsp.servers.nickel_ls.settings

Configurations for nickel_ls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.nil_ls

The nil_ls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.nil_ls.enable

Whether to enable nil_ls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.nil_ls.package

The nil_ls package to use.

Alternatively, nil_ls should be installed on your $PATH.

Type: null or package

Default: pkgs.nil

Declared by:

lsp.servers.nil_ls.activate

Whether to call vim.lsp.enable() for nil_ls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.nil_ls.name

The name to use for nil_ls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "nil_ls"

Declared by:

lsp.servers.nil_ls.settings

Configurations for nil_ls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.nim_langserver

The nim_langserver language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.nim_langserver.enable

Whether to enable nim_langserver.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.nim_langserver.package

The nim_langserver package to use.

Alternatively, nim_langserver should be installed on your $PATH.

Type: null or package

Default: pkgs.nimlangserver

Declared by:

lsp.servers.nim_langserver.activate

Whether to call vim.lsp.enable() for nim_langserver.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.nim_langserver.name

The name to use for nim_langserver. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "nim_langserver"

Declared by:

lsp.servers.nim_langserver.settings

Configurations for nim_langserver.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.nimls

The nimls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.nimls.enable

Whether to enable nimls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.nimls.package

The nimls package to use.

Alternatively, nimls should be installed on your $PATH.

Type: null or package

Default: pkgs.nimlsp

Declared by:

lsp.servers.nimls.activate

Whether to call vim.lsp.enable() for nimls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.nimls.name

The name to use for nimls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "nimls"

Declared by:

lsp.servers.nimls.settings

Configurations for nimls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.nixd

The nixd language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.nixd.enable

Whether to enable nixd.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.nixd.package

The nixd package to use.

Alternatively, nixd should be installed on your $PATH.

Type: null or package

Default: pkgs.nixd

Declared by:

lsp.servers.nixd.activate

Whether to call vim.lsp.enable() for nixd.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.nixd.name

The name to use for nixd. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "nixd"

Declared by:

lsp.servers.nixd.settings

Configurations for nixd.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.nushell

The nushell language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.nushell.enable

Whether to enable nushell.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.nushell.package

The nushell package to use.

Alternatively, nushell should be installed on your $PATH.

Type: null or package

Default: pkgs.nushell

Declared by:

lsp.servers.nushell.activate

Whether to call vim.lsp.enable() for nushell.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.nushell.name

The name to use for nushell. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "nushell"

Declared by:

lsp.servers.nushell.settings

Configurations for nushell.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.ocamllsp

The ocamllsp language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.ocamllsp.enable

Whether to enable ocamllsp.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.ocamllsp.package

The ocamllsp package to use.

Alternatively, ocamllsp should be installed on your $PATH.

Type: null or package

Default: pkgs.ocamlPackages.ocaml-lsp

Declared by:

lsp.servers.ocamllsp.activate

Whether to call vim.lsp.enable() for ocamllsp.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.ocamllsp.name

The name to use for ocamllsp. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "ocamllsp"

Declared by:

lsp.servers.ocamllsp.settings

Configurations for ocamllsp.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.ols

The ols language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.ols.enable

Whether to enable ols.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.ols.package

The ols package to use.

Alternatively, ols should be installed on your $PATH.

Type: null or package

Default: pkgs.ols

Declared by:

lsp.servers.ols.activate

Whether to call vim.lsp.enable() for ols.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.ols.name

The name to use for ols. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "ols"

Declared by:

lsp.servers.ols.settings

Configurations for ols.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.omnisharp

The omnisharp language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.omnisharp.enable

Whether to enable omnisharp.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.omnisharp.package

The omnisharp package to use.

Alternatively, omnisharp should be installed on your $PATH.

Type: null or package

Default: pkgs.omnisharp-roslyn

Declared by:

lsp.servers.omnisharp.activate

Whether to call vim.lsp.enable() for omnisharp.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.omnisharp.name

The name to use for omnisharp. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "omnisharp"

Declared by:

lsp.servers.omnisharp.settings

Configurations for omnisharp.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.openscad_lsp

The openscad_lsp language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.openscad_lsp.enable

Whether to enable openscad_lsp.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.openscad_lsp.package

The openscad_lsp package to use.

Alternatively, openscad_lsp should be installed on your $PATH.

Type: null or package

Default: pkgs.openscad-lsp

Declared by:

lsp.servers.openscad_lsp.activate

Whether to call vim.lsp.enable() for openscad_lsp.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.openscad_lsp.name

The name to use for openscad_lsp. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "openscad_lsp"

Declared by:

lsp.servers.openscad_lsp.settings

Configurations for openscad_lsp.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.oxlint

The oxlint language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.oxlint.enable

Whether to enable oxlint.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.oxlint.package

The oxlint package to use.

Alternatively, oxlint should be installed on your $PATH.

Type: null or package

Default: pkgs.oxlint

Declared by:

lsp.servers.oxlint.activate

Whether to call vim.lsp.enable() for oxlint.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.oxlint.name

The name to use for oxlint. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "oxlint"

Declared by:

lsp.servers.oxlint.settings

Configurations for oxlint.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.perlnavigator

The perlnavigator language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.perlnavigator.enable

Whether to enable perlnavigator.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.perlnavigator.package

The perlnavigator package to use.

Alternatively, perlnavigator should be installed on your $PATH.

Type: null or package

Default: pkgs.perlnavigator

Declared by:

lsp.servers.perlnavigator.activate

Whether to call vim.lsp.enable() for perlnavigator.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.perlnavigator.name

The name to use for perlnavigator. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "perlnavigator"

Declared by:

lsp.servers.perlnavigator.settings

Configurations for perlnavigator.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.perlpls

The perlpls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.perlpls.enable

Whether to enable perlpls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.perlpls.package

The perlpls package to use.

Alternatively, perlpls should be installed on your $PATH.

Type: null or package

Default: pkgs.perlPackages.PLS

Declared by:

lsp.servers.perlpls.activate

Whether to call vim.lsp.enable() for perlpls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.perlpls.name

The name to use for perlpls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "perlpls"

Declared by:

lsp.servers.perlpls.settings

Configurations for perlpls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.pest_ls

The pest_ls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.pest_ls.enable

Whether to enable pest_ls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.pest_ls.package

The pest_ls package to use.

Alternatively, pest_ls should be installed on your $PATH.

Type: null or package

Default: pkgs.pest-ide-tools

Declared by:

lsp.servers.pest_ls.activate

Whether to call vim.lsp.enable() for pest_ls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.pest_ls.name

The name to use for pest_ls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "pest_ls"

Declared by:

lsp.servers.pest_ls.settings

Configurations for pest_ls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.phan

The phan language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.phan.enable

Whether to enable phan.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.phan.package

The phan package to use.

Alternatively, phan should be installed on your $PATH.

Type: null or package

Default: pkgs.phpPackages.phan

Declared by:

lsp.servers.phan.activate

Whether to call vim.lsp.enable() for phan.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.phan.name

The name to use for phan. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "phan"

Declared by:

lsp.servers.phan.settings

Configurations for phan.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.phpactor

The phpactor language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.phpactor.enable

Whether to enable phpactor.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.phpactor.package

The phpactor package to use.

Alternatively, phpactor should be installed on your $PATH.

Type: null or package

Default: pkgs.phpactor

Declared by:

lsp.servers.phpactor.activate

Whether to call vim.lsp.enable() for phpactor.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.phpactor.name

The name to use for phpactor. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "phpactor"

Declared by:

lsp.servers.phpactor.settings

Configurations for phpactor.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.postgres_lsp

The postgres_lsp language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.postgres_lsp.enable

Whether to enable postgres_lsp.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.postgres_lsp.package

The postgres_lsp package to use.

Alternatively, postgres_lsp should be installed on your $PATH.

Type: null or package

Default: pkgs.postgres-lsp

Declared by:

lsp.servers.postgres_lsp.activate

Whether to call vim.lsp.enable() for postgres_lsp.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.postgres_lsp.name

The name to use for postgres_lsp. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "postgres_lsp"

Declared by:

lsp.servers.postgres_lsp.settings

Configurations for postgres_lsp.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.protols

The protols language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.protols.enable

Whether to enable protols.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.protols.package

The protols package to use.

Alternatively, protols should be installed on your $PATH.

Type: null or package

Default: pkgs.protols

Declared by:

lsp.servers.protols.activate

Whether to call vim.lsp.enable() for protols.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.protols.name

The name to use for protols. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "protols"

Declared by:

lsp.servers.protols.settings

Configurations for protols.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.psalm

The psalm language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.psalm.enable

Whether to enable psalm.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.psalm.package

The psalm package to use.

Alternatively, psalm should be installed on your $PATH.

Type: null or package

Default: pkgs.phpPackages.psalm

Declared by:

lsp.servers.psalm.activate

Whether to call vim.lsp.enable() for psalm.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.psalm.name

The name to use for psalm. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "psalm"

Declared by:

lsp.servers.psalm.settings

Configurations for psalm.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.pylsp

The pylsp language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.pylsp.enable

Whether to enable pylsp.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.pylsp.package

The pylsp package to use.

Alternatively, pylsp should be installed on your $PATH.

Type: null or package

Default: pkgs.python3Packages.python-lsp-server

Declared by:

lsp.servers.pylsp.activate

Whether to call vim.lsp.enable() for pylsp.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.pylsp.name

The name to use for pylsp. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "pylsp"

Declared by:

lsp.servers.pylsp.settings

Configurations for pylsp.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.pylyzer

The pylyzer language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.pylyzer.enable

Whether to enable pylyzer.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.pylyzer.package

The pylyzer package to use.

Alternatively, pylyzer should be installed on your $PATH.

Type: null or package

Default: pkgs.pylyzer

Declared by:

lsp.servers.pylyzer.activate

Whether to call vim.lsp.enable() for pylyzer.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.pylyzer.name

The name to use for pylyzer. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "pylyzer"

Declared by:

lsp.servers.pylyzer.settings

Configurations for pylyzer.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.pyright

The pyright language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.pyright.enable

Whether to enable pyright.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.pyright.package

The pyright package to use.

Alternatively, pyright should be installed on your $PATH.

Type: null or package

Default: pkgs.pyright

Declared by:

lsp.servers.pyright.activate

Whether to call vim.lsp.enable() for pyright.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.pyright.name

The name to use for pyright. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "pyright"

Declared by:

lsp.servers.pyright.settings

Configurations for pyright.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.qmlls

The qmlls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.qmlls.enable

Whether to enable qmlls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.qmlls.package

The qmlls package to use.

Alternatively, qmlls should be installed on your $PATH.

Type: null or package

Default: pkgs.kdePackages.qtdeclarative

Declared by:

lsp.servers.qmlls.activate

Whether to call vim.lsp.enable() for qmlls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.qmlls.name

The name to use for qmlls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "qmlls"

Declared by:

lsp.servers.qmlls.settings

Configurations for qmlls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.quick_lint_js

The quick_lint_js language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.quick_lint_js.enable

Whether to enable quick_lint_js.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.quick_lint_js.package

The quick_lint_js package to use.

Alternatively, quick_lint_js should be installed on your $PATH.

Type: null or package

Default: pkgs.quick-lint-js

Declared by:

lsp.servers.quick_lint_js.activate

Whether to call vim.lsp.enable() for quick_lint_js.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.quick_lint_js.name

The name to use for quick_lint_js. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "quick_lint_js"

Declared by:

lsp.servers.quick_lint_js.settings

Configurations for quick_lint_js.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.regal

The regal language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.regal.enable

Whether to enable regal.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.regal.package

The regal package to use.

Alternatively, regal should be installed on your $PATH.

Type: null or package

Default: pkgs.regal

Declared by:

lsp.servers.regal.activate

Whether to call vim.lsp.enable() for regal.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.regal.name

The name to use for regal. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "regal"

Declared by:

lsp.servers.regal.settings

Configurations for regal.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.regols

The regols language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.regols.enable

Whether to enable regols.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.regols.package

The regols package to use.

Alternatively, regols should be installed on your $PATH.

Type: null or package

Default: pkgs.regols

Declared by:

lsp.servers.regols.activate

Whether to call vim.lsp.enable() for regols.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.regols.name

The name to use for regols. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "regols"

Declared by:

lsp.servers.regols.settings

Configurations for regols.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.rescriptls

The rescriptls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.rescriptls.enable

Whether to enable rescriptls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.rescriptls.package

The rescriptls package to use.

Alternatively, rescriptls should be installed on your $PATH.

Type: null or package

Default: pkgs.rescript-language-server

Declared by:

lsp.servers.rescriptls.activate

Whether to call vim.lsp.enable() for rescriptls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.rescriptls.name

The name to use for rescriptls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "rescriptls"

Declared by:

lsp.servers.rescriptls.settings

Configurations for rescriptls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.rls

The rls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.rls.enable

Whether to enable rls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.rls.package

The rls package to use.

Alternatively, rls should be installed on your $PATH.

Type: null or package

Default: pkgs.rustup

Declared by:

lsp.servers.rls.activate

Whether to call vim.lsp.enable() for rls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.rls.name

The name to use for rls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "rls"

Declared by:

lsp.servers.rls.settings

Configurations for rls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.rubocop

The rubocop language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.rubocop.enable

Whether to enable rubocop.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.rubocop.package

The rubocop package to use.

Alternatively, rubocop should be installed on your $PATH.

Type: null or package

Default: pkgs.rubocop

Declared by:

lsp.servers.rubocop.activate

Whether to call vim.lsp.enable() for rubocop.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.rubocop.name

The name to use for rubocop. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "rubocop"

Declared by:

lsp.servers.rubocop.settings

Configurations for rubocop.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.ruby_lsp

The ruby_lsp language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.ruby_lsp.enable

Whether to enable ruby_lsp.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.ruby_lsp.package

The ruby_lsp package to use.

Alternatively, ruby_lsp should be installed on your $PATH.

Type: null or package

Default: pkgs.ruby-lsp

Declared by:

lsp.servers.ruby_lsp.activate

Whether to call vim.lsp.enable() for ruby_lsp.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.ruby_lsp.name

The name to use for ruby_lsp. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "ruby_lsp"

Declared by:

lsp.servers.ruby_lsp.settings

Configurations for ruby_lsp.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.ruff

The ruff language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.ruff.enable

Whether to enable ruff.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.ruff.package

The ruff package to use.

Alternatively, ruff should be installed on your $PATH.

Type: null or package

Default: pkgs.ruff

Declared by:

lsp.servers.ruff.activate

Whether to call vim.lsp.enable() for ruff.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.ruff.name

The name to use for ruff. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "ruff"

Declared by:

lsp.servers.ruff.settings

Configurations for ruff.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.rune_languageserver

The rune_languageserver language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.rune_languageserver.enable

Whether to enable rune_languageserver.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.rune_languageserver.package

The rune_languageserver package to use.

Alternatively, rune_languageserver should be installed on your $PATH.

Type: null or package

Default: pkgs.rune-languageserver

Declared by:

lsp.servers.rune_languageserver.activate

Whether to call vim.lsp.enable() for rune_languageserver.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.rune_languageserver.name

The name to use for rune_languageserver. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "rune_languageserver"

Declared by:

lsp.servers.rune_languageserver.settings

Configurations for rune_languageserver.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.rust_analyzer

The rust_analyzer language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.rust_analyzer.enable

Whether to enable rust_analyzer.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.rust_analyzer.package

The rust_analyzer package to use.

Alternatively, rust_analyzer should be installed on your $PATH.

Type: null or package

Default: pkgs.rust-analyzer

Declared by:

lsp.servers.rust_analyzer.activate

Whether to call vim.lsp.enable() for rust_analyzer.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.rust_analyzer.name

The name to use for rust_analyzer. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "rust_analyzer"

Declared by:

lsp.servers.rust_analyzer.settings

Configurations for rust_analyzer.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.scheme_langserver

The scheme_langserver language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.scheme_langserver.enable

Whether to enable scheme_langserver.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.scheme_langserver.package

The scheme_langserver package to use.

Alternatively, scheme_langserver should be installed on your $PATH.

Type: null or package

Default: pkgs.akkuPackages.scheme-langserver

Declared by:

lsp.servers.scheme_langserver.activate

Whether to call vim.lsp.enable() for scheme_langserver.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.scheme_langserver.name

The name to use for scheme_langserver. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "scheme_langserver"

Declared by:

lsp.servers.scheme_langserver.settings

Configurations for scheme_langserver.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.serve_d

The serve_d language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.serve_d.enable

Whether to enable serve_d.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.serve_d.package

The serve_d package to use.

Alternatively, serve_d should be installed on your $PATH.

Type: null or package

Default: pkgs.serve-d

Declared by:

lsp.servers.serve_d.activate

Whether to call vim.lsp.enable() for serve_d.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.serve_d.name

The name to use for serve_d. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "serve_d"

Declared by:

lsp.servers.serve_d.settings

Configurations for serve_d.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.shopify_theme_ls

The shopify_theme_ls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.shopify_theme_ls.enable

Whether to enable shopify_theme_ls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.shopify_theme_ls.package

The shopify_theme_ls package to use.

Alternatively, shopify_theme_ls should be installed on your $PATH.

Type: null or package

Default: pkgs.shopify-cli

Declared by:

lsp.servers.shopify_theme_ls.activate

Whether to call vim.lsp.enable() for shopify_theme_ls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.shopify_theme_ls.name

The name to use for shopify_theme_ls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "shopify_theme_ls"

Declared by:

lsp.servers.shopify_theme_ls.settings

Configurations for shopify_theme_ls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.slint_lsp

The slint_lsp language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.slint_lsp.enable

Whether to enable slint_lsp.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.slint_lsp.package

The slint_lsp package to use.

Alternatively, slint_lsp should be installed on your $PATH.

Type: null or package

Default: pkgs.slint-lsp

Declared by:

lsp.servers.slint_lsp.activate

Whether to call vim.lsp.enable() for slint_lsp.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.slint_lsp.name

The name to use for slint_lsp. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "slint_lsp"

Declared by:

lsp.servers.slint_lsp.settings

Configurations for slint_lsp.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.solargraph

The solargraph language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.solargraph.enable

Whether to enable solargraph.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.solargraph.package

The solargraph package to use.

Alternatively, solargraph should be installed on your $PATH.

Type: null or package

Default: pkgs.rubyPackages.solargraph

Declared by:

lsp.servers.solargraph.activate

Whether to call vim.lsp.enable() for solargraph.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.solargraph.name

The name to use for solargraph. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "solargraph"

Declared by:

lsp.servers.solargraph.settings

Configurations for solargraph.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.solc

The solc language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.solc.enable

Whether to enable solc.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.solc.package

The solc package to use.

Alternatively, solc should be installed on your $PATH.

Type: null or package

Default: pkgs.solc

Declared by:

lsp.servers.solc.activate

Whether to call vim.lsp.enable() for solc.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.solc.name

The name to use for solc. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "solc"

Declared by:

lsp.servers.solc.settings

Configurations for solc.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.sourcekit

The sourcekit language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.sourcekit.enable

Whether to enable sourcekit.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.sourcekit.package

The sourcekit package to use.

Alternatively, sourcekit should be installed on your $PATH.

Type: null or package

Default: pkgs.sourcekit-lsp

Declared by:

lsp.servers.sourcekit.activate

Whether to call vim.lsp.enable() for sourcekit.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.sourcekit.name

The name to use for sourcekit. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "sourcekit"

Declared by:

lsp.servers.sourcekit.settings

Configurations for sourcekit.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.spectral

The spectral language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.spectral.enable

Whether to enable spectral.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.spectral.package

The spectral package to use.

Alternatively, spectral should be installed on your $PATH.

Type: null or package

Default: pkgs.spectral-language-server

Declared by:

lsp.servers.spectral.activate

Whether to call vim.lsp.enable() for spectral.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.spectral.name

The name to use for spectral. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "spectral"

Declared by:

lsp.servers.spectral.settings

Configurations for spectral.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.sqls

The sqls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.sqls.enable

Whether to enable sqls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.sqls.package

The sqls package to use.

Alternatively, sqls should be installed on your $PATH.

Type: null or package

Default: pkgs.sqls

Declared by:

lsp.servers.sqls.activate

Whether to call vim.lsp.enable() for sqls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.sqls.name

The name to use for sqls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "sqls"

Declared by:

lsp.servers.sqls.settings

Configurations for sqls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.standardrb

The standardrb language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.standardrb.enable

Whether to enable standardrb.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.standardrb.package

The standardrb package to use.

Alternatively, standardrb should be installed on your $PATH.

Type: null or package

Default: pkgs.rubyPackages.standard

Declared by:

lsp.servers.standardrb.activate

Whether to call vim.lsp.enable() for standardrb.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.standardrb.name

The name to use for standardrb. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "standardrb"

Declared by:

lsp.servers.standardrb.settings

Configurations for standardrb.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.starlark_rust

The starlark_rust language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.starlark_rust.enable

Whether to enable starlark_rust.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.starlark_rust.package

The starlark_rust package to use.

Alternatively, starlark_rust should be installed on your $PATH.

Type: null or package

Default: pkgs.starlark-rust

Declared by:

lsp.servers.starlark_rust.activate

Whether to call vim.lsp.enable() for starlark_rust.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.starlark_rust.name

The name to use for starlark_rust. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "starlark_rust"

Declared by:

lsp.servers.starlark_rust.settings

Configurations for starlark_rust.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.starpls

The starpls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.starpls.enable

Whether to enable starpls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.starpls.package

The starpls package to use.

Alternatively, starpls should be installed on your $PATH.

Type: null or package

Default: pkgs.starpls-bin

Declared by:

lsp.servers.starpls.activate

Whether to call vim.lsp.enable() for starpls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.starpls.name

The name to use for starpls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "starpls"

Declared by:

lsp.servers.starpls.settings

Configurations for starpls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.statix

The statix language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.statix.enable

Whether to enable statix.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.statix.package

The statix package to use.

Alternatively, statix should be installed on your $PATH.

Type: null or package

Default: pkgs.statix

Declared by:

lsp.servers.statix.activate

Whether to call vim.lsp.enable() for statix.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.statix.name

The name to use for statix. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "statix"

Declared by:

lsp.servers.statix.settings

Configurations for statix.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.stylelint_lsp

The stylelint_lsp language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.stylelint_lsp.enable

Whether to enable stylelint_lsp.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.stylelint_lsp.package

The stylelint_lsp package to use.

Alternatively, stylelint_lsp should be installed on your $PATH.

Type: null or package

Default: pkgs.stylelint-lsp

Declared by:

lsp.servers.stylelint_lsp.activate

Whether to call vim.lsp.enable() for stylelint_lsp.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.stylelint_lsp.name

The name to use for stylelint_lsp. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "stylelint_lsp"

Declared by:

lsp.servers.stylelint_lsp.settings

Configurations for stylelint_lsp.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.superhtml

The superhtml language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.superhtml.enable

Whether to enable superhtml.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.superhtml.package

The superhtml package to use.

Alternatively, superhtml should be installed on your $PATH.

Type: null or package

Default: pkgs.superhtml

Declared by:

lsp.servers.superhtml.activate

Whether to call vim.lsp.enable() for superhtml.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.superhtml.name

The name to use for superhtml. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "superhtml"

Declared by:

lsp.servers.superhtml.settings

Configurations for superhtml.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.svelte

The svelte language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.svelte.enable

Whether to enable svelte.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.svelte.package

The svelte package to use.

Alternatively, svelte should be installed on your $PATH.

Type: null or package

Default: pkgs.svelte-language-server

Declared by:

lsp.servers.svelte.activate

Whether to call vim.lsp.enable() for svelte.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.svelte.name

The name to use for svelte. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "svelte"

Declared by:

lsp.servers.svelte.settings

Configurations for svelte.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.svls

The svls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.svls.enable

Whether to enable svls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.svls.package

The svls package to use.

Alternatively, svls should be installed on your $PATH.

Type: null or package

Default: pkgs.svls

Declared by:

lsp.servers.svls.activate

Whether to call vim.lsp.enable() for svls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.svls.name

The name to use for svls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "svls"

Declared by:

lsp.servers.svls.settings

Configurations for svls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.swift_mesonls

The swift_mesonls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.swift_mesonls.enable

Whether to enable swift_mesonls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.swift_mesonls.package

The swift_mesonls package to use.

Alternatively, swift_mesonls should be installed on your $PATH.

Type: null or package

Default: pkgs.mesonlsp

Declared by:

lsp.servers.swift_mesonls.activate

Whether to call vim.lsp.enable() for swift_mesonls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.swift_mesonls.name

The name to use for swift_mesonls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "swift_mesonls"

Declared by:

lsp.servers.swift_mesonls.settings

Configurations for swift_mesonls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.syntax_tree

The syntax_tree language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.syntax_tree.enable

Whether to enable syntax_tree.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.syntax_tree.package

The syntax_tree package to use.

Alternatively, syntax_tree should be installed on your $PATH.

Type: null or package

Default: pkgs.rubyPackages.syntax_tree

Declared by:

lsp.servers.syntax_tree.activate

Whether to call vim.lsp.enable() for syntax_tree.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.syntax_tree.name

The name to use for syntax_tree. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "syntax_tree"

Declared by:

lsp.servers.syntax_tree.settings

Configurations for syntax_tree.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.systemd_ls

The systemd_ls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.systemd_ls.enable

Whether to enable systemd_ls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.systemd_ls.package

The systemd_ls package to use.

Alternatively, systemd_ls should be installed on your $PATH.

Type: null or package

Default: pkgs.systemd-language-server

Declared by:

lsp.servers.systemd_ls.activate

Whether to call vim.lsp.enable() for systemd_ls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.systemd_ls.name

The name to use for systemd_ls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "systemd_ls"

Declared by:

lsp.servers.systemd_ls.settings

Configurations for systemd_ls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.tailwindcss

The tailwindcss language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.tailwindcss.enable

Whether to enable tailwindcss.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.tailwindcss.package

The tailwindcss package to use.

Alternatively, tailwindcss should be installed on your $PATH.

Type: null or package

Default: pkgs.tailwindcss-language-server

Declared by:

lsp.servers.tailwindcss.activate

Whether to call vim.lsp.enable() for tailwindcss.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.tailwindcss.name

The name to use for tailwindcss. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "tailwindcss"

Declared by:

lsp.servers.tailwindcss.settings

Configurations for tailwindcss.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.taplo

The taplo language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.taplo.enable

Whether to enable taplo.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.taplo.package

The taplo package to use.

Alternatively, taplo should be installed on your $PATH.

Type: null or package

Default: pkgs.taplo

Declared by:

lsp.servers.taplo.activate

Whether to call vim.lsp.enable() for taplo.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.taplo.name

The name to use for taplo. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "taplo"

Declared by:

lsp.servers.taplo.settings

Configurations for taplo.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.tblgen_lsp_server

The tblgen_lsp_server language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.tblgen_lsp_server.enable

Whether to enable tblgen_lsp_server.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.tblgen_lsp_server.package

The tblgen_lsp_server package to use.

Alternatively, tblgen_lsp_server should be installed on your $PATH.

Type: null or package

Default: pkgs.llvmPackages.mlir

Declared by:

lsp.servers.tblgen_lsp_server.activate

Whether to call vim.lsp.enable() for tblgen_lsp_server.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.tblgen_lsp_server.name

The name to use for tblgen_lsp_server. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "tblgen_lsp_server"

Declared by:

lsp.servers.tblgen_lsp_server.settings

Configurations for tblgen_lsp_server.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.teal_ls

The teal_ls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.teal_ls.enable

Whether to enable teal_ls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.teal_ls.package

The teal_ls package to use.

Alternatively, teal_ls should be installed on your $PATH.

Type: null or package

Default: pkgs.luaPackages.teal-language-server

Declared by:

lsp.servers.teal_ls.activate

Whether to call vim.lsp.enable() for teal_ls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.teal_ls.name

The name to use for teal_ls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "teal_ls"

Declared by:

lsp.servers.teal_ls.settings

Configurations for teal_ls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.templ

The templ language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.templ.enable

Whether to enable templ.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.templ.package

The templ package to use.

Alternatively, templ should be installed on your $PATH.

Type: null or package

Default: pkgs.templ

Declared by:

lsp.servers.templ.activate

Whether to call vim.lsp.enable() for templ.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.templ.name

The name to use for templ. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "templ"

Declared by:

lsp.servers.templ.settings

Configurations for templ.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.terraform_lsp

The terraform_lsp language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.terraform_lsp.enable

Whether to enable terraform_lsp.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.terraform_lsp.package

The terraform_lsp package to use.

Alternatively, terraform_lsp should be installed on your $PATH.

Type: null or package

Default: pkgs.terraform-lsp

Declared by:

lsp.servers.terraform_lsp.activate

Whether to call vim.lsp.enable() for terraform_lsp.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.terraform_lsp.name

The name to use for terraform_lsp. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "terraform_lsp"

Declared by:

lsp.servers.terraform_lsp.settings

Configurations for terraform_lsp.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.terraformls

The terraformls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.terraformls.enable

Whether to enable terraformls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.terraformls.package

The terraformls package to use.

Alternatively, terraformls should be installed on your $PATH.

Type: null or package

Default: pkgs.terraform-ls

Declared by:

lsp.servers.terraformls.activate

Whether to call vim.lsp.enable() for terraformls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.terraformls.name

The name to use for terraformls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "terraformls"

Declared by:

lsp.servers.terraformls.settings

Configurations for terraformls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.texlab

The texlab language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.texlab.enable

Whether to enable texlab.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.texlab.package

The texlab package to use.

Alternatively, texlab should be installed on your $PATH.

Type: null or package

Default: pkgs.texlab

Declared by:

lsp.servers.texlab.activate

Whether to call vim.lsp.enable() for texlab.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.texlab.name

The name to use for texlab. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "texlab"

Declared by:

lsp.servers.texlab.settings

Configurations for texlab.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.tflint

The tflint language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.tflint.enable

Whether to enable tflint.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.tflint.package

The tflint package to use.

Alternatively, tflint should be installed on your $PATH.

Type: null or package

Default: pkgs.tflint

Declared by:

lsp.servers.tflint.activate

Whether to call vim.lsp.enable() for tflint.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.tflint.name

The name to use for tflint. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "tflint"

Declared by:

lsp.servers.tflint.settings

Configurations for tflint.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.thriftls

The thriftls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.thriftls.enable

Whether to enable thriftls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.thriftls.package

The thriftls package to use.

Alternatively, thriftls should be installed on your $PATH.

Type: null or package

Default: pkgs.thrift-ls

Declared by:

lsp.servers.thriftls.activate

Whether to call vim.lsp.enable() for thriftls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.thriftls.name

The name to use for thriftls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "thriftls"

Declared by:

lsp.servers.thriftls.settings

Configurations for thriftls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.tilt_ls

The tilt_ls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.tilt_ls.enable

Whether to enable tilt_ls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.tilt_ls.package

The tilt_ls package to use.

Alternatively, tilt_ls should be installed on your $PATH.

Type: null or package

Default: pkgs.tilt

Declared by:

lsp.servers.tilt_ls.activate

Whether to call vim.lsp.enable() for tilt_ls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.tilt_ls.name

The name to use for tilt_ls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "tilt_ls"

Declared by:

lsp.servers.tilt_ls.settings

Configurations for tilt_ls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.tinymist

The tinymist language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.tinymist.enable

Whether to enable tinymist.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.tinymist.package

The tinymist package to use.

Alternatively, tinymist should be installed on your $PATH.

Type: null or package

Default: pkgs.tinymist

Declared by:

lsp.servers.tinymist.activate

Whether to call vim.lsp.enable() for tinymist.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.tinymist.name

The name to use for tinymist. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "tinymist"

Declared by:

lsp.servers.tinymist.settings

Configurations for tinymist.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.ts_ls

The ts_ls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.ts_ls.enable

Whether to enable ts_ls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.ts_ls.package

The ts_ls package to use.

Alternatively, ts_ls should be installed on your $PATH.

Type: null or package

Default: pkgs.typescript-language-server

Declared by:

lsp.servers.ts_ls.activate

Whether to call vim.lsp.enable() for ts_ls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.ts_ls.name

The name to use for ts_ls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "ts_ls"

Declared by:

lsp.servers.ts_ls.settings

Configurations for ts_ls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.ts_query_ls

The ts_query_ls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.ts_query_ls.enable

Whether to enable ts_query_ls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.ts_query_ls.package

The ts_query_ls package to use.

Alternatively, ts_query_ls should be installed on your $PATH.

Type: null or package

Default: pkgs.ts_query_ls

Declared by:

lsp.servers.ts_query_ls.activate

Whether to call vim.lsp.enable() for ts_query_ls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.ts_query_ls.name

The name to use for ts_query_ls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "ts_query_ls"

Declared by:

lsp.servers.ts_query_ls.settings

Configurations for ts_query_ls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.ttags

The ttags language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.ttags.enable

Whether to enable ttags.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.ttags.package

The ttags package to use.

Alternatively, ttags should be installed on your $PATH.

Type: null or package

Default: pkgs.ttags

Declared by:

lsp.servers.ttags.activate

Whether to call vim.lsp.enable() for ttags.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.ttags.name

The name to use for ttags. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "ttags"

Declared by:

lsp.servers.ttags.settings

Configurations for ttags.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.typeprof

The typeprof language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.typeprof.enable

Whether to enable typeprof.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.typeprof.package

The typeprof package to use.

Alternatively, typeprof should be installed on your $PATH.

Type: null or package

Default: pkgs.ruby

Declared by:

lsp.servers.typeprof.activate

Whether to call vim.lsp.enable() for typeprof.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.typeprof.name

The name to use for typeprof. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "typeprof"

Declared by:

lsp.servers.typeprof.settings

Configurations for typeprof.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.typos_lsp

The typos_lsp language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.typos_lsp.enable

Whether to enable typos_lsp.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.typos_lsp.package

The typos_lsp package to use.

Alternatively, typos_lsp should be installed on your $PATH.

Type: null or package

Default: pkgs.typos-lsp

Declared by:

lsp.servers.typos_lsp.activate

Whether to call vim.lsp.enable() for typos_lsp.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.typos_lsp.name

The name to use for typos_lsp. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "typos_lsp"

Declared by:

lsp.servers.typos_lsp.settings

Configurations for typos_lsp.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.uiua

The uiua language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.uiua.enable

Whether to enable uiua.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.uiua.package

The uiua package to use.

Alternatively, uiua should be installed on your $PATH.

Type: null or package

Default: pkgs.uiua

Declared by:

lsp.servers.uiua.activate

Whether to call vim.lsp.enable() for uiua.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.uiua.name

The name to use for uiua. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "uiua"

Declared by:

lsp.servers.uiua.settings

Configurations for uiua.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.vacuum

The vacuum language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.vacuum.enable

Whether to enable vacuum.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.vacuum.package

The vacuum package to use.

Alternatively, vacuum should be installed on your $PATH.

Type: null or package

Default: pkgs.vacuum-go

Declared by:

lsp.servers.vacuum.activate

Whether to call vim.lsp.enable() for vacuum.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.vacuum.name

The name to use for vacuum. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "vacuum"

Declared by:

lsp.servers.vacuum.settings

Configurations for vacuum.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.vala_ls

The vala_ls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.vala_ls.enable

Whether to enable vala_ls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.vala_ls.package

The vala_ls package to use.

Alternatively, vala_ls should be installed on your $PATH.

Type: null or package

Default: pkgs.vala-language-server

Declared by:

lsp.servers.vala_ls.activate

Whether to call vim.lsp.enable() for vala_ls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.vala_ls.name

The name to use for vala_ls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "vala_ls"

Declared by:

lsp.servers.vala_ls.settings

Configurations for vala_ls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.vale_ls

The vale_ls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.vale_ls.enable

Whether to enable vale_ls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.vale_ls.package

The vale_ls package to use.

Alternatively, vale_ls should be installed on your $PATH.

Type: null or package

Default: pkgs.vale-ls

Declared by:

lsp.servers.vale_ls.activate

Whether to call vim.lsp.enable() for vale_ls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.vale_ls.name

The name to use for vale_ls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "vale_ls"

Declared by:

lsp.servers.vale_ls.settings

Configurations for vale_ls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.vectorcode_server

The vectorcode_server language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.vectorcode_server.enable

Whether to enable vectorcode_server.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.vectorcode_server.package

The vectorcode_server package to use.

Alternatively, vectorcode_server should be installed on your $PATH.

Type: null or package

Default: pkgs.vectorcode

Declared by:

lsp.servers.vectorcode_server.activate

Whether to call vim.lsp.enable() for vectorcode_server.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.vectorcode_server.name

The name to use for vectorcode_server. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "vectorcode_server"

Declared by:

lsp.servers.vectorcode_server.settings

Configurations for vectorcode_server.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.verible

The verible language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.verible.enable

Whether to enable verible.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.verible.package

The verible package to use.

Alternatively, verible should be installed on your $PATH.

Type: null or package

Default: pkgs.verible

Declared by:

lsp.servers.verible.activate

Whether to call vim.lsp.enable() for verible.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.verible.name

The name to use for verible. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "verible"

Declared by:

lsp.servers.verible.settings

Configurations for verible.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.veryl_ls

The veryl_ls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.veryl_ls.enable

Whether to enable veryl_ls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.veryl_ls.package

The veryl_ls package to use.

Alternatively, veryl_ls should be installed on your $PATH.

Type: null or package

Default: pkgs.veryl

Declared by:

lsp.servers.veryl_ls.activate

Whether to call vim.lsp.enable() for veryl_ls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.veryl_ls.name

The name to use for veryl_ls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "veryl_ls"

Declared by:

lsp.servers.veryl_ls.settings

Configurations for veryl_ls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.vhdl_ls

The vhdl_ls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.vhdl_ls.enable

Whether to enable vhdl_ls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.vhdl_ls.package

The vhdl_ls package to use.

Alternatively, vhdl_ls should be installed on your $PATH.

Type: null or package

Default: pkgs.vhdl-ls

Declared by:

lsp.servers.vhdl_ls.activate

Whether to call vim.lsp.enable() for vhdl_ls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.vhdl_ls.name

The name to use for vhdl_ls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "vhdl_ls"

Declared by:

lsp.servers.vhdl_ls.settings

Configurations for vhdl_ls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.vimls

The vimls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.vimls.enable

Whether to enable vimls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.vimls.package

The vimls package to use.

Alternatively, vimls should be installed on your $PATH.

Type: null or package

Default: pkgs.vim-language-server

Declared by:

lsp.servers.vimls.activate

Whether to call vim.lsp.enable() for vimls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.vimls.name

The name to use for vimls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "vimls"

Declared by:

lsp.servers.vimls.settings

Configurations for vimls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.vls

The vls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.vls.enable

Whether to enable vls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.vls.package

The vls package to use.

Alternatively, vls should be installed on your $PATH.

Type: null or package

Default: pkgs.vlang

Declared by:

lsp.servers.vls.activate

Whether to call vim.lsp.enable() for vls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.vls.name

The name to use for vls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "vls"

Declared by:

lsp.servers.vls.settings

Configurations for vls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.volar

The volar language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.volar.enable

Whether to enable volar.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.volar.package

The volar package to use.

Alternatively, volar should be installed on your $PATH.

Type: null or package

Default: pkgs.vue-language-server

Declared by:

lsp.servers.volar.activate

Whether to call vim.lsp.enable() for volar.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.volar.name

The name to use for volar. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "volar"

Declared by:

lsp.servers.volar.settings

Configurations for volar.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.vtsls

The vtsls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.vtsls.enable

Whether to enable vtsls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.vtsls.package

The vtsls package to use.

Alternatively, vtsls should be installed on your $PATH.

Type: null or package

Default: pkgs.vtsls

Declared by:

lsp.servers.vtsls.activate

Whether to call vim.lsp.enable() for vtsls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.vtsls.name

The name to use for vtsls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "vtsls"

Declared by:

lsp.servers.vtsls.settings

Configurations for vtsls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.wgsl_analyzer

The wgsl_analyzer language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.wgsl_analyzer.enable

Whether to enable wgsl_analyzer.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.wgsl_analyzer.package

The wgsl_analyzer package to use.

Alternatively, wgsl_analyzer should be installed on your $PATH.

Type: null or package

Default: pkgs.wgsl-analyzer

Declared by:

lsp.servers.wgsl_analyzer.activate

Whether to call vim.lsp.enable() for wgsl_analyzer.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.wgsl_analyzer.name

The name to use for wgsl_analyzer. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "wgsl_analyzer"

Declared by:

lsp.servers.wgsl_analyzer.settings

Configurations for wgsl_analyzer.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.yamlls

The yamlls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.yamlls.enable

Whether to enable yamlls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.yamlls.package

The yamlls package to use.

Alternatively, yamlls should be installed on your $PATH.

Type: null or package

Default: pkgs.yaml-language-server

Declared by:

lsp.servers.yamlls.activate

Whether to call vim.lsp.enable() for yamlls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.yamlls.name

The name to use for yamlls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "yamlls"

Declared by:

lsp.servers.yamlls.settings

Configurations for yamlls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.zk

The zk language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.zk.enable

Whether to enable zk.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.zk.package

The zk package to use.

Alternatively, zk should be installed on your $PATH.

Type: null or package

Default: pkgs.zk

Declared by:

lsp.servers.zk.activate

Whether to call vim.lsp.enable() for zk.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.zk.name

The name to use for zk. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "zk"

Declared by:

lsp.servers.zk.settings

Configurations for zk.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

lsp.servers.zls

The zls language server.

Type: submodule

Default: { }

Declared by:

lsp.servers.zls.enable

Whether to enable zls.

Type: boolean

Default: false

Example: true

Declared by:

lsp.servers.zls.package

The zls package to use.

Alternatively, zls should be installed on your $PATH.

Type: null or package

Default: pkgs.zls

Declared by:

lsp.servers.zls.activate

Whether to call vim.lsp.enable() for zls.

Type: boolean

Default: true, unless the server’s name is *

Example: false

Declared by:

lsp.servers.zls.name

The name to use for zls. Supplied to functions like vim.lsp.enable().

Type: string or raw lua code

Default: "zls"

Declared by:

lsp.servers.zls.settings

Configurations for zls.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "clangd"
    "--background-index"
  ];
  filetypes = [
    "c"
    "cpp"
  ];
  root_markers = [
    "compile_commands.json"
    "compile_flags.txt"
  ];
}

Declared by:

performance.byteCompileLua.enable

Whether to enable byte compiling of lua files.

Type: boolean

Default: false

Example: true

Declared by:

performance.byteCompileLua.configs

Whether to byte compile lua configuration files.

Type: boolean

Default: true

Example: false

Declared by:

performance.byteCompileLua.initLua

Whether to byte compile init.lua.

Type: boolean

Default: true

Example: false

Declared by:

performance.byteCompileLua.luaLib

Whether to byte compile lua library.

Type: boolean

Default: false

Example: true

Declared by:

performance.byteCompileLua.nvimRuntime

Whether to byte compile lua files in Nvim runtime.

Type: boolean

Default: false

Example: true

Declared by:

performance.byteCompileLua.plugins

Whether to byte compile lua plugins.

Type: boolean

Default: false

Example: true

Declared by:

performance.combinePlugins.enable

Whether to enable EXPERIMENTAL option to combine all plugins into a single plugin pack. It can significantly reduce startup time, but all your plugins must have unique filenames and doc tags. Any collision will result in a build failure. To avoid collisions you can add your plugin to the standalonePlugins option. Only standard neovim runtime directories are linked to the combined plugin. If some of your plugins contain important files outside of standard directories, add these paths to pathsToLink option.

Type: boolean

Default: false

Example: true

Declared by:

List of paths to link into a combined plugin pack.

Type: list of string

Default:

[
  "/autoload"
  "/colors"
  "/compiler"
  "/doc"
  "/ftplugin"
  "/indent"
  "/keymap"
  "/lang"
  "/lsp"
  "/lua"
  "/pack"
  "/parser"
  "/plugin"
  "/queries"
  "/rplugin"
  "/spell"
  "/syntax"
  "/tutor"
  "/after"
  "/ftdetect"
  "/data/plenary/filetypes"
]

Example:

[
  "/data"
]

Declared by:

performance.combinePlugins.standalonePlugins

List of plugins (names or packages) to exclude from plugin pack.

Type: list of (string or package)

Default: [ ]

Example:

[
  "nvim-treesitter"
]

Declared by:

actions-preview

URL: https://github.com/aznhe21/actions-preview.nvim/

Maintainers: Gaetan Lepage

plugins.actions-preview.enable

Whether to enable actions-preview.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.actions-preview.package

The actions-preview.nvim package to use.

Type: package

Default: pkgs.vimPlugins.actions-preview-nvim

Declared by:

plugins.actions-preview.autoLoad

Whether to automatically load actions-preview.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.actions-preview.settings

Options provided to the require('actions-preview').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  highlight_command = [
    lib.nixvim.mkRaw "require('actions-preview.highlight').delta 'delta --side-by-side'"
    lib.nixvim.mkRaw "require('actions-preview.highlight').diff_so_fancy()"
    lib.nixvim.mkRaw "require('actions-preview.highlight').diff_highlight()"
  ];
  telescope = {
    layout_config = {
      height = 0.9;
      preview_cutoff = 20;
      preview_height = lib.nixvim.mkRaw ''
  function(_, _, max_lines)
    return max_lines - 15
  end
'';
      prompt_position = "top";
      width = 0.8;
    };
    layout_strategy = "vertical";
    sorting_strategy = "ascending";
  };
}

Declared by:

plugins.actions-preview.lazyLoad

Lazy-load settings for actions-preview.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.actions-preview.lazyLoad.enable

lazy-loading for actions-preview.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.actions-preview.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.actions-preview.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.actions-preview.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.actions-preview.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

aerial

URL: https://github.com/stevearc/aerial.nvim/

Maintainers: Gaetan Lepage

plugins.aerial.enable

Whether to enable aerial.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.aerial.package

The aerial.nvim package to use.

Type: package

Default: pkgs.vimPlugins.aerial-nvim

Declared by:

plugins.aerial.autoLoad

Whether to automatically load aerial.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.aerial.lazyLoad

Lazy-load settings for aerial.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.aerial.lazyLoad.enable

lazy-loading for aerial.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.aerial.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.aerial.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.aerial.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.aerial.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.aerial.settings

Options provided to the require('aerial').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  attach_mode = "global";
  backends = [
    "treesitter"
    "lsp"
    "markdown"
    "man"
  ];
  disable_max_lines = 5000;
  highlight_on_hover = true;
  ignore = {
    filetypes = [
      "gomod"
    ];
  };
}

Declared by:

plugins.aerial.settings.attach_mode

Determines how the aerial window decides which buffer to display symbols for

  • "window": aerial window will display symbols for the buffer in the window from which it was opened
  • "global": aerial window will display symbols for the current window

Type: null or one of “window”, “global” or raw lua code

Default: null

Plugin default: "window"

Declared by:

plugins.aerial.settings.autojump

Jump to symbol in source window when the cursor moves.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.aerial.settings.backends

Priority list of preferred backends for aerial. This can be a filetype map (see :help aerial-filetype-map)

Type: null or raw lua code or list of string or attribute set of list of string

Default: null

Plugin default:

[
  "treesitter"
  "lsp"
  "markdown"
  "asciidoc"
  "man"
]

Declared by:

plugins.aerial.settings.close_automatic_events

List of enum values that configure when to auto-close the aerial window

  • "unfocus": close aerial when you leave the original source window
  • "switch_buffer": close aerial when you change buffers in the source window
  • "unsupported": close aerial when attaching to a buffer that has no symbol source

Type: null or (list of (one of “unfocus”, “switch_buffer”, “unsupported” or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.aerial.settings.close_on_select

When true, aerial will automatically close after jumping to a symbol

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.aerial.settings.disable_max_lines

Disable aerial on files with this many lines.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 10000

Declared by:

plugins.aerial.settings.disable_max_size

Disable aerial on files this size or larger (in bytes). Default 2MB.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 2000000

Declared by:

plugins.aerial.settings.filter_kind

A list of all symbols to display. Set to false to display all symbols. This can be a filetype map (see :help aerial-filetype-map). To see all available values, see :help SymbolKind.

Type: null or raw lua code or (list of string) or value false (singular enum) or attribute set of ((list of string) or value false (singular enum))

Default: null

Plugin default:

[
  "Class"
  "Constructor"
  "Enum"
  "Function"
  "Interface"
  "Module"
  "Method"
  "Struct"
]

Declared by:

plugins.aerial.settings.get_highlight

Set this function to override the highlight groups for certain symbols.

Type: null or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(symbol, is_icon, is_collapsed)
    -- return "MyHighlight" .. symbol.kind
  end
''

Declared by:

plugins.aerial.settings.guides

Customize the characters used when show_guides = true.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  last_item = "└─";
  mid_item = "├─";
  nested_top = "│ ";
  whitespace = "  ";
}

Declared by:

plugins.aerial.settings.highlight_closest

Highlight the closest symbol if the cursor is not exactly on one.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.aerial.settings.highlight_mode

Determines line highlighting mode when multiple splits are visible.

  • "split_width": Each open window will have its cursor location marked in the aerial buffer. Each line will only be partially highlighted to indicate which window is at that location.
  • "full_width": Each open window will have its cursor location marked as a full-width highlight in the aerial buffer.
  • "last": Only the most-recently focused window will have its location marked in the aerial buffer.
  • "none": Do not show the cursor locations in the aerial window.

Type: null or one of “split_width”, “full_width”, “last”, “none” or raw lua code

Default: null

Plugin default: "split_width"

Declared by:

plugins.aerial.settings.highlight_on_hover

Highlight the symbol in the source buffer when cursor is in the aerial win.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.aerial.settings.highlight_on_jump

When jumping to a symbol, highlight the line for this many ms. Set to false to disable.

Type: null or unsigned integer, meaning >=0, or value false (singular enum)

Default: null

Plugin default: 300

Declared by:

plugins.aerial.settings.icons

Define symbol icons.

You can also specify "<Symbol>Collapsed" to change the icon when the tree is collapsed at that symbol, or "Collapsed" to specify a default collapsed icon.

The default icon set is determined by the "nerd_font" option below. If you have lspkind-nvim installed, it will be the default icon set.

This can be a filetype map (see :help aerial-filetype-map).

Type: null or raw lua code or list of string or attribute set of list of string

Default: null

Plugin default: [ ]

Declared by:

plugins.aerial.settings.keymaps

Keymaps in aerial window.

Can be any value that vim.keymap.set accepts OR a table of keymap options with a callback (e.g. { callback.__raw = "function() ... end"; desc = ""; nowait = true; }).

Additionally, if it is a string that matches “actions.<name>”, it will use the mapping at require("aerial.actions").<name>.

Set to false to remove a keymap.

Type: null or (attribute set of (string or attribute set of anything or value false (singular enum) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "<2-LeftMouse>" = "actions.jump";
  "<C-j>" = "actions.down_and_scroll";
  "<C-k>" = "actions.up_and_scroll";
  "<C-s>" = "actions.jump_split";
  "<C-v>" = "actions.jump_vsplit";
  "<CR>" = "actions.jump";
  "?" = "actions.show_help";
  H = "actions.tree_close_recursive";
  L = "actions.tree_open_recursive";
  O = "actions.tree_toggle_recursive";
  "[[" = "actions.prev_up";
  "]]" = "actions.next_up";
  "g?" = "actions.show_help";
  h = "actions.tree_close";
  l = "actions.tree_open";
  o = "actions.tree_toggle";
  p = "actions.scroll";
  q = "actions.close";
  zA = "actions.tree_toggle_recursive";
  zC = "actions.tree_close_recursive";
  zM = "actions.tree_close_all";
  zO = "actions.tree_open_recursive";
  zR = "actions.tree_open_all";
  zX = "actions.tree_sync_folds";
  za = "actions.tree_toggle";
  zc = "actions.tree_close";
  zm = "actions.tree_decrease_fold_level";
  zo = "actions.tree_open";
  zr = "actions.tree_increase_fold_level";
  zx = "actions.tree_sync_folds";
  "{" = "actions.prev";
  "}" = "actions.next";
}

Declared by:

plugins.aerial.settings.lazy_load

When true, don’t load aerial until a command or function is called. Defaults to true, unless on_attach is provided, then it defaults to false.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

When you fold code with za, zo, or zc, update the aerial tree as well. Only works when manage_folds = true.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

Fold code when you open/collapse symbols in the tree. Only works when manage_folds = true.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.aerial.settings.manage_folds

Use symbol tree for folding. Set to true or false to enable/disable. Set to "auto" to manage folds if your previous foldmethod was ‘manual’ This can be a filetype map (see :help aerial-filetype-map)

Type: null or raw lua code or string or boolean or attribute set of (string or boolean)

Default: null

Plugin default: false

Declared by:

plugins.aerial.settings.nerd_font

Set default symbol icons to use patched font icons (see https://www.nerdfonts.com/). "auto" will set it to true if nvim-web-devicons or lspkind-nvim is installed.

Type: null or boolean or value “auto” (singular enum)

Default: null

Plugin default: "auto"

Declared by:

plugins.aerial.settings.on_attach

Call this function when aerial attaches to a buffer.

Type: null or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "function(bufnr) end"

Declared by:

plugins.aerial.settings.on_first_symbols

Call this function when aerial first sets symbols on a buffer.

Type: null or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "function(bufnr) end"

Declared by:

plugins.aerial.settings.open_automatic

Automatically open aerial when entering supported buffers. This can be a function (see :help aerial-open-automatic).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.aerial.settings.post_add_all_symbols

Invoked after all symbols have been parsed and post-processed, allows to modify the symbol structure before final display.

  • bufnr: a neovim buffer number

  • items: a collection of aerial.Symbol items, organized in a tree, with ‘parent’ and ‘children’ fields

  • ctx: a record containing the following fields:

    • backend_name: treesitter, lsp, man…
    • lang: info about the language
    • symbols?: specific to the lsp backend
    • syntax_tree?: specific to the treesitter backend

Type: null or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(bufnr, items, ctx)
    return items
  end
''

Declared by:

plugins.aerial.settings.post_jump_cmd

Run this command after jumping to a symbol (false will disable).

Type: null or value false (singular enum) or string

Default: null

Plugin default: "normal! zz"

Declared by:

plugins.aerial.settings.post_parse_symbol

Invoked after each symbol is parsed, can be used to modify the parsed item, or to filter it by returning false.

Arguments:

  • bufnr: a neovim buffer number

  • item: of type aerial.Symbol

  • ctx: a record containing the following fields:

    • backend_name: treesitter, lsp, man…
    • lang: info about the language
    • symbols?: specific to the lsp backend
    • symbol?: specific to the lsp backend
    • syntax_tree?: specific to the treesitter backend
    • match?: specific to the treesitter backend, TS query match

Type: null or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(bufnr, item, ctx)
    return true
  end
''

Declared by:

plugins.aerial.settings.show_guides

Whether show box drawing characters for the tree hierarchy.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.aerial.settings.update_events

The autocmds that trigger symbols update (not used for LSP backend).

Type: null or string or raw lua code

Default: null

Plugin default: "TextChanged,InsertLeave"

Declared by:

plugins.aerial.settings.asciidoc.update_delay

How long to wait (in ms) after a buffer change before updating.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 300

Declared by:

plugins.aerial.settings.float.border

Controls border appearance. Passed to nvim_open_win.

Type: null or string or attribute set of anything

Default: null

Plugin default: "rounded"

Declared by:

plugins.aerial.settings.float.height

Height of the floating window. It can be integers or a float between 0 and 1 (e.g. 0.4 for 40%).

Type: null or raw lua code or (unsigned integer, meaning >=0) or integer or floating point number between 0.0 and 1.0 (both inclusive)

Default: null

Plugin default: null

Declared by:

plugins.aerial.settings.float.max_height

Maximum height of the floating window. It can be integers or a float between 0 and 1 (e.g. 0.4 for 40%) or a list of those.

Type: null or raw lua code or (unsigned integer, meaning >=0) or integer or floating point number between 0.0 and 1.0 (both inclusive) or list of (raw lua code or (unsigned integer, meaning >=0) or integer or floating point number between 0.0 and 1.0 (both inclusive))

Default: null

Plugin default: 0.9

Declared by:

plugins.aerial.settings.float.min_height

Minimum height of the floating window. It can be integers or a float between 0 and 1 (e.g. 0.4 for 40%) or a list of those. For example, [ 8 0.1 ] means “the greater of 8 rows or 10% of total”.

Type: null or raw lua code or (unsigned integer, meaning >=0) or integer or floating point number between 0.0 and 1.0 (both inclusive) or list of (raw lua code or (unsigned integer, meaning >=0) or integer or floating point number between 0.0 and 1.0 (both inclusive))

Default: null

Plugin default:

[
  8
  0.1
]

Declared by:

plugins.aerial.settings.float.override

Override the config for a specific window.

Type: null or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(conf, source_winid)
    -- This is the config that will be passed to nvim_open_win.
    -- Change values here to customize the layout
    return conf
  end
''

Declared by:

plugins.aerial.settings.float.relative

Determines location of floating window

  • "cursor": Opens float on top of the cursor
  • "editor": Opens float centered in the editor
  • "win": Opens float centered in the window

Type: null or one of “cursor”, “editor”, “win” or raw lua code

Default: null

Plugin default: "cursor"

Declared by:

plugins.aerial.settings.ignore.buftypes

Ignored buftypes. Can be one of the following:

  • false or null: No buftypes are ignored.
  • "special": All buffers other than normal, help and man page buffers are ignored.
  • list of strings: A list of buftypes to ignore. See :help buftype for the possible values.
  • function: A function that returns true if the buffer should be ignored or false if it should not be ignored. Takes two arguments, bufnr and buftype.

Type: null or (list of string) or one of false, “special”

Default: null

Plugin default: "special"

Declared by:

plugins.aerial.settings.ignore.diff_windows

Ignore diff windows (setting to false will allow aerial in diff windows).

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.aerial.settings.ignore.filetypes

List of filetypes to ignore.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.aerial.settings.ignore.unlisted_buffers

Ignore unlisted buffers. See :help buflisted.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.aerial.settings.ignore.wintypes

Ignored buftypes. Can be one of the following:

  • false or null: No wintypes are ignored.
  • "special": All windows other than normal windows are ignored.
  • list of strings: A list of wintypes to ignore. See :help win_gettype() for the possible values.
  • function: A function that returns true if the window should be ignored or false if it should not be ignored. Takes two arguments, winid and wintype.

Type: null or (list of string) or one of false, “special”

Default: null

Plugin default: "special"

Declared by:

plugins.aerial.settings.layout.default_direction

Determines the default direction to open the aerial window. The prefer_* options will open the window in the other direction if there is a different buffer in the way of the preferred direction.

Type: null or one of “prefer_right”, “prefer_left”, “right”, “left”, “float” or raw lua code

Default: null

Plugin default: "prefer_right"

Declared by:

plugins.aerial.settings.layout.max_width

Maximum width of the aerial window. It can be integers or a float between 0 and 1 (e.g. 0.4 for 40%) or a list of those. For example, [ 40 0.2 ] means “the lesser of 40 columns or 20% of total”.

Type: null or raw lua code or (unsigned integer, meaning >=0) or integer or floating point number between 0.0 and 1.0 (both inclusive) or list of (raw lua code or (unsigned integer, meaning >=0) or integer or floating point number between 0.0 and 1.0 (both inclusive))

Default: null

Plugin default:

[
  40
  0.2
]

Declared by:

plugins.aerial.settings.layout.min_width

Minimum width of the aerial window. It can be integers or a float between 0 and 1 (e.g. 0.4 for 40%) or a list of those.

Type: null or raw lua code or (unsigned integer, meaning >=0) or integer or floating point number between 0.0 and 1.0 (both inclusive) or list of (raw lua code or (unsigned integer, meaning >=0) or integer or floating point number between 0.0 and 1.0 (both inclusive))

Default: null

Plugin default: 10

Declared by:

plugins.aerial.settings.layout.placement

Determines where the aerial window will be opened

  • "edge" - open aerial at the far right/left of the editor
  • "window" - open aerial to the right/left of the current window

Type: null or one of “edge”, “window” or raw lua code

Default: null

Plugin default: "window"

Declared by:

plugins.aerial.settings.layout.preserve_equality

Preserve window size equality with (:help CTRL-W_=).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.aerial.settings.layout.resize_to_content

When the symbols change, resize the aerial window (within min/max constraints) to fit.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.aerial.settings.layout.width

Width of the aerial window. It can be integers or a float between 0 and 1 (e.g. 0.4 for 40%).

Type: null or raw lua code or (unsigned integer, meaning >=0) or integer or floating point number between 0.0 and 1.0 (both inclusive)

Default: null

Plugin default: null

Declared by:

plugins.aerial.settings.layout.win_opts

Key-value pairs of window-local options for aerial window (e.g. winhl).

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.aerial.settings.lsp.diagnostics_trigger_update

If true, fetch document symbols when LSP diagnostics update.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.aerial.settings.lsp.priority

Map of LSP client name to priority. Default value is 10.

Clients with higher (larger) priority will be used before those with lower priority. Set to -1 to never use the client.

Type: null or (attribute set of (signed integer or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.aerial.settings.lsp.update_delay

How long to wait (in ms) after a buffer change before updating. Only used when diagnostics_trigger_update = false.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 300

Declared by:

plugins.aerial.settings.lsp.update_when_errors

Set to false to not update the symbols when there are LSP errors.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.aerial.settings.man.update_delay

How long to wait (in ms) after a buffer change before updating.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 300

Declared by:

plugins.aerial.settings.markdown.update_delay

How long to wait (in ms) after a buffer change before updating.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 300

Declared by:

plugins.aerial.settings.nav.autojump

Jump to symbol in source window when the cursor moves.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.aerial.settings.nav.border

Border style for the floating nav windows.

Type: null or string or raw lua code

Default: null

Plugin default: "rounded"

Declared by:

plugins.aerial.settings.nav.keymaps

Keymaps in the nav window.

Type: null or (attribute set of (string or attribute set of anything or value false (singular enum) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "<2-LeftMouse>" = "actions.jump";
  "<C-c>" = "actions.close";
  "<C-s>" = "actions.jump_split";
  "<C-v>" = "actions.jump_vsplit";
  "<CR>" = "actions.jump";
  h = "actions.left";
  l = "actions.right";
}

Declared by:

plugins.aerial.settings.nav.max_height

Maximum height of the floating nav windows. It can be integers or a float between 0 and 1 (e.g. 0.4 for 40%) or a list of those.

Type: null or raw lua code or (unsigned integer, meaning >=0) or integer or floating point number between 0.0 and 1.0 (both inclusive) or list of (raw lua code or (unsigned integer, meaning >=0) or integer or floating point number between 0.0 and 1.0 (both inclusive))

Default: null

Plugin default: 0.9

Declared by:

plugins.aerial.settings.nav.max_width

Minimum width of the floating nav windows. It can be integers or a float between 0 and 1 (e.g. 0.4 for 40%) or a list of those.

Type: null or raw lua code or (unsigned integer, meaning >=0) or integer or floating point number between 0.0 and 1.0 (both inclusive) or list of (raw lua code or (unsigned integer, meaning >=0) or integer or floating point number between 0.0 and 1.0 (both inclusive))

Default: null

Plugin default: 0.5

Declared by:

plugins.aerial.settings.nav.min_height

Minimum height of the floating nav windows. It can be integers or a float between 0 and 1 (e.g. 0.4 for 40%) or a list of those.

Type: null or raw lua code or (unsigned integer, meaning >=0) or integer or floating point number between 0.0 and 1.0 (both inclusive) or list of (raw lua code or (unsigned integer, meaning >=0) or integer or floating point number between 0.0 and 1.0 (both inclusive))

Default: null

Plugin default:

[
  10
  0.1
]

Declared by:

plugins.aerial.settings.nav.min_width

Minimum width of the floating nav windows. It can be integers or a float between 0 and 1 (e.g. 0.4 for 40%) or a list of those.

Type: null or raw lua code or (unsigned integer, meaning >=0) or integer or floating point number between 0.0 and 1.0 (both inclusive) or list of (raw lua code or (unsigned integer, meaning >=0) or integer or floating point number between 0.0 and 1.0 (both inclusive))

Default: null

Plugin default:

[
  0.2
  20
]

Declared by:

plugins.aerial.settings.nav.preview

Show a preview of the code in the right column, when there are no child symbols

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.aerial.settings.nav.win_opts

Key-value pairs of window-local options for aerial window (e.g. winhl).

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  cursorline = true;
  winblend = 10;
}

Declared by:

plugins.aerial.settings.treesitter.update_delay

How long to wait (in ms) after a buffer change before updating.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 300

Declared by:

airline

URL: https://github.com/vim-airline/vim-airline/

Maintainers: Gaetan Lepage

plugins.airline.enable

Whether to enable vim-airline.

Type: boolean

Default: false

Example: true

Declared by:

plugins.airline.package

The vim-airline package to use.

Type: package

Default: pkgs.vimPlugins.vim-airline

Declared by:

plugins.airline.autoLoad

Whether to automatically load vim-airline when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.airline.settings

The configuration options for airline without the airline_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal airline_foo_bar=1
  • hello = "world" -> :setglobal airline_hello="world"
  • some_toggle = true -> :setglobal airline_some_toggle
  • other_toggle = false -> :setglobal noairline_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  powerline_fonts = 1;
  skip_empty_sections = 1;
  theme = "base16";
}

Declared by:

plugins.airline.settings.detect_crypt

Enable crypt detection.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.airline.settings.detect_iminsert

Enable iminsert detection.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.airline.settings.detect_modified

Enable modified detection.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.airline.settings.detect_paste

Enable paste detection.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.airline.settings.detect_spell

Enable spell detection.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.airline.settings.detect_spelllang

Display spelling language when spell detection is enabled (if enough space is available).

Set to ‘flag’ to get a unicode icon of the relevant country flag instead of the ‘spelllang’ itself.

Type: null or raw lua code or (one of 0, 1) or value “flag” (singular enum)

Default: null

Plugin default: 1

Declared by:

plugins.airline.settings.disable_statusline

Disable the Airline statusline customization globally.

This setting disables setting the ‘statusline’ option. This allows to use e.g. the tabline extension (|airline-tabline|) but keep the ‘statusline’ option totally configurable by a custom configuration.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.airline.settings.exclude_filenames

Define the set of filename match queries which excludes a window from having its statusline modified.

Default: see source for current list

Type: null or (list of string) or raw lua code

Default: null

Declared by:

plugins.airline.settings.exclude_filetypes

Define the set of filetypes which are excluded from having its window statusline modified.

Default: see source for current list

Type: null or (list of string) or raw lua code

Default: null

Declared by:

plugins.airline.settings.exclude_preview

Defines whether the preview window should be excluded from having its window statusline modified (may help with plugins which use the preview window heavily).

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.airline.settings.experimental

Enable experimental features. Currently: Enable Vim9 Script implementation.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.airline.settings.filetype_overrides

Define the set of names to be displayed instead of a specific filetypes.

Example:

  {
    coc-explorer =  ["CoC Explorer" ""];
    defx = ["defx" "%{b:defx.paths[0]}"];
    fugitive = ["fugitive" "%{airline#util#wrap(airline#extensions#branch#get_head(),80)}"];
    gundo = ["Gundo" "" ];
    help = ["Help" "%f"];
    minibufexpl = ["MiniBufExplorer" ""];
    startify = ["startify" ""];
    vim-plug = ["Plugins" ""];
    vimfiler = ["vimfiler" "%{vimfiler#get_status_string()}"];
    vimshell = ["vimshell" "%{vimshell#get_status_string()}"];
    vaffle = ["Vaffle" "%{b:vaffle.dir}"];
  }

Type: null or (attribute set of list of string) or raw lua code

Default: null

Declared by:

plugins.airline.settings.focuslost_inactive

Disable airline on FocusLost autocommand (e.g. when Vim loses focus).

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.airline.settings.highlighting_cache

Caches the changes to the highlighting groups, should therefore be faster. Set this to one, if you experience a sluggish Vim.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.airline.settings.inactive_alt_sep

Use alternative separators for the statusline of inactive windows.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.airline.settings.inactive_collapse

Determine whether inactive windows should have the left section collapsed to only the filename of that buffer.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.airline.settings.left_sep

The separator used on the left side.

Type: null or string or raw lua code

Default: null

Plugin default: ">"

Declared by:

plugins.airline.settings.mode_map

Define the set of text to display for each mode.

Default: see source

Type: null or (attribute set of string) or raw lua code

Default: null

Declared by:

plugins.airline.settings.powerline_fonts

By default, airline will use unicode symbols if your encoding matches utf-8. If you want the powerline symbols set this variable to 1.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.airline.settings.right_sep

The separator used on the right side.

Type: null or string or raw lua code

Default: null

Plugin default: "<"

Declared by:

plugins.airline.settings.section_a

Configuration for this section.

Type: null or raw lua code or string or list of string or attribute set of anything

Default: null

Declared by:

plugins.airline.settings.section_b

Configuration for this section.

Type: null or raw lua code or string or list of string or attribute set of anything

Default: null

Declared by:

plugins.airline.settings.section_c

Configuration for this section.

Type: null or raw lua code or string or list of string or attribute set of anything

Default: null

Declared by:

plugins.airline.settings.section_c_only_filename

Display a only file name in statusline.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.airline.settings.section_x

Configuration for this section.

Type: null or raw lua code or string or list of string or attribute set of anything

Default: null

Declared by:

plugins.airline.settings.section_y

Configuration for this section.

Type: null or raw lua code or string or list of string or attribute set of anything

Default: null

Declared by:

plugins.airline.settings.section_z

Configuration for this section.

Type: null or raw lua code or string or list of string or attribute set of anything

Default: null

Declared by:

plugins.airline.settings.skip_empty_sections

Do not draw separators for empty sections (only for the active window).

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.airline.settings.statusline_ontop

Display the statusline in the tabline (first top line).

Setting this option, allows to use the statusline option to be used by a custom function or another plugin, since airline won’t change it.

Note: This setting is experimental and works on a best effort approach. Updating the statusline might not always happen as fast as needed, but that is a limitation, that comes from Vim. airline tries to force an update if needed, but it might not always work as expected. To force updating the tabline on mode changes, call airline#check_mode() in your custom statusline setting: :set stl=%!airline#check_mode(winnr()) will correctly update the tabline on mode changes.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.airline.settings.stl_path_style

Display a short path in statusline.

Type: null or string or raw lua code

Default: null

Plugin default: "short"

Declared by:

plugins.airline.settings.symbols

Customize airline symbols.

Example:

  {
    branch = "";
    colnr = " ℅:";
    readonly = "";
    linenr = " :";
    maxlinenr = "☰ ";
    dirty= "⚡";
  }

Type: null or (attribute set of string)

Default: null

Declared by:

plugins.airline.settings.symbols_ascii

By default, airline will use unicode symbols if your encoding matches utf-8. If you want to use plain ascii symbols, set this variable: >

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.airline.settings.theme

Themes are automatically selected based on the matching colorscheme. This can be overridden by defining a value.

Note: Only the dark theme is distributed with vim-airline. For more themes, checkout the vim-airline-themes repository (https://github.com/vim-airline/vim-airline-themes)

Type: null or string or raw lua code

Default: null

Plugin default: "dark"

Declared by:

plugins.airline.settings.theme_patch_func

If you want to patch the airline theme before it gets applied, you can supply the name of a function where you can modify the palette.

Example: “AirlineThemePatch”

Then, define this function using extraConfigVim:

  extraConfigVim = \'\'
    function! AirlineThemePatch(palette)
      if g:airline_theme == 'badwolf'
        for colors in values(a:palette.inactive)
          let colors[3] = 245
        endfor
      endif
    endfunction
  \'\';

Type: null or string or raw lua code

Default: null

Declared by:

plugins.alpha.enable

Whether to enable alpha-nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.alpha.package

The alpha-nvim package to use.

Type: package

Default: pkgs.vimPlugins.alpha-nvim

Declared by:

plugins.alpha.layout

List of sections to layout for the dashboard

Type: string or raw lua code or list of (attribute set of anything)

Default: [ ]

Example:

[
  {
    type = "padding";
    val = 2;
  }
  {
    opts = {
      hl = "Type";
      position = "center";
    };
    type = "text";
    val = [
      "███╗   ██╗██╗██╗  ██╗██╗   ██╗██╗███╗   ███╗"
      "████╗  ██║██║╚██╗██╔╝██║   ██║██║████╗ ████║"
      "██╔██╗ ██║██║ ╚███╔╝ ██║   ██║██║██╔████╔██║"
      "██║╚██╗██║██║ ██╔██╗ ╚██╗ ██╔╝██║██║╚██╔╝██║"
      "██║ ╚████║██║██╔╝ ██╗ ╚████╔╝ ██║██║ ╚═╝ ██║"
      "╚═╝  ╚═══╝╚═╝╚═╝  ╚═╝  ╚═══╝  ╚═╝╚═╝     ╚═╝"
    ];
  }
  {
    type = "padding";
    val = 2;
  }
  {
    type = "group";
    val = [
      {
        on_press = {
          __raw = "function() vim.cmd[[ene]] end";
        };
        opts = {
          shortcut = "n";
        };
        type = "button";
        val = "  New file";
      }
      {
        on_press = {
          __raw = "function() vim.cmd[[qa]] end";
        };
        opts = {
          shortcut = "q";
        };
        type = "button";
        val = " Quit Neovim";
      }
    ];
  }
  {
    type = "padding";
    val = 2;
  }
  {
    opts = {
      hl = "Keyword";
      position = "center";
    };
    type = "text";
    val = "Inspiring quote here.";
  }
]

Declared by:

plugins.alpha.opts

Optional global options.

Type: null or (attribute set of anything)

Default: null

Declared by:

plugins.alpha.theme

You can directly use a pre-defined theme.

Type: null or string or raw lua code

Default: null

Example: "dashboard"

Declared by:

arrow

URL: https://github.com/otavioschwanck/arrow.nvim/

Maintainers: Haseeb Majid

plugins.arrow.enable

Whether to enable arrow.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.arrow.package

The arrow.nvim package to use.

Type: package

Default: pkgs.vimPlugins.arrow-nvim

Declared by:

plugins.arrow.autoLoad

Whether to automatically load arrow.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.arrow.lazyLoad

Lazy-load settings for arrow.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.arrow.lazyLoad.enable

lazy-loading for arrow.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.arrow.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.arrow.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.arrow.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.arrow.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.arrow.settings

Options provided to the require('arrow').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  always_show_path = false;
  custom_actions = {
    open = "function(target_file_name, current_file_name) end";
    split_horizontal = "function(target_file_name, current_file_name) end";
    split_vertical = "function(target_file_name, current_file_name) end";
  };
  full_path_list = [
    "update_stuff"
  ];
  global_bookmarks = false;
  hide_handbook = false;
  index_keys = "123456789zxcbnmZXVBNM,afghjklAFGHJKLwrtyuiopWRTYUIOP";
  leader_key = ";";
  mappings = {
    clear_all_items = "C";
    delete_mode = "d";
    edit = "e";
    next_item = "]";
    open_horizontal = "-";
    open_vertical = "v";
    prev_item = "[";
    quit = "q";
    remove = "x";
    toggle = "s";
  };
  per_buffer_config = {
    lines = 4;
    satellite = {
      enable = false;
      overlap = true;
      priority = 1000;
    };
    sort_automatically = true;
    zindex = 10;
  };
  save_key = "cwd";
  save_path = ''
    function()
        return vim.fn.stdpath("cache") .. "/arrow"
    end
  '';
  separate_by_branch = false;
  separate_save_and_remove = false;
  show_icons = true;
  window = {
    border = "double";
    col = "auto";
    height = "auto";
    row = "auto";
    width = "auto";
  };
}

Declared by:

plugins.arrow.settings.always_show_path

If true will show path.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.arrow.settings.full_path_list

Filenames on this list will ALWAYS show the file path too

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "update_stuff"
]

Declared by:

plugins.arrow.settings.global_bookmarks

If true arrow will save files globally (ignores separate_by_branch).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.arrow.settings.hide_handbook

If true to hide the shortcuts on menu.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.arrow.settings.index_keys

Keys mapped to bookmark index.

Type: null or string or raw lua code

Default: null

Plugin default: "123456789zxcbnmZXVBNM,afghjklAFGHJKLwrtyuiopWRTYUIOP"

Declared by:

plugins.arrow.settings.leader_key

The leader key to use for arrow. Will precede all mappings. Recommended to be a single character.

Type: null or string or raw lua code

Default: null

Plugin default: ";"

Declared by:

plugins.arrow.settings.save_key

What will be used as root to save the bookmarks. Can be also git_root.

Type: null or string or raw lua code

Default: null

Plugin default: "cwd"

Declared by:

plugins.arrow.settings.save_path

Function used to determine where to save arrow data.

Type: null or lua function string

Default: null

Plugin default:

''
  function()
    return vim.fn.stdpath("cache") .. "/arrow"
  end
''

Declared by:

plugins.arrow.settings.separate_by_branch

If true will split bookmarks by git branch.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.arrow.settings.separate_save_and_remove

If true will remove the toggle and create the save/remove keymaps.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.arrow.settings.show_icons

If true will show icons.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.arrow.settings.window

Controls the appearance and position of an arrow window. See :h nvim_open_win() for all options.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  border = "single";
  col = "auto";
  height = "auto";
  relative = "editor";
  row = "auto";
  style = "minimal";
  width = "auto";
}

Declared by:

plugins.arrow.settings.custom_actions.open

  • target_file_name: file selected to be open
  • current_file_name: filename from where this was called

Type: null or lua function string

Default: null

Plugin default:

''
  function(target_file_name, current_file_name) end
''

Declared by:

plugins.arrow.settings.custom_actions.split_horizontal

Type: null or lua function string

Default: null

Plugin default:

''
  function(target_file_name, current_file_name) end
''

Declared by:

plugins.arrow.settings.custom_actions.split_vertical

Type: null or lua function string

Default: null

Plugin default:

''
  function(target_file_name, current_file_name) end
''

Declared by:

plugins.arrow.settings.mapping.clear_all_items

Mapping to clear all bookmarks.

Type: null or string or raw lua code

Default: null

Plugin default: "C"

Declared by:

plugins.arrow.settings.mapping.delete_mode

Mapping to go to delete mode, where you can remove bookmarks.

Type: null or string or raw lua code

Default: null

Plugin default: "d"

Declared by:

plugins.arrow.settings.mapping.edit

Mapping to edit bookmarks.

Type: null or string or raw lua code

Default: null

Plugin default: "e"

Declared by:

plugins.arrow.settings.mapping.next_item

Mapping to go to next bookmark.

Type: null or string or raw lua code

Default: null

Plugin default: "]"

Declared by:

plugins.arrow.settings.mapping.open_horizontal

Mapping to open bookmarks in horizontal split.

Type: null or string or raw lua code

Default: null

Plugin default: "-"

Declared by:

plugins.arrow.settings.mapping.open_vertical

Mapping to open bookmarks in vertical split.

Type: null or string or raw lua code

Default: null

Plugin default: "v"

Declared by:

plugins.arrow.settings.mapping.prev_item

Mapping to go to previous bookmark.

Type: null or string or raw lua code

Default: null

Plugin default: "["

Declared by:

plugins.arrow.settings.mapping.quit

Mapping to quit arrow.

Type: null or string or raw lua code

Default: null

Plugin default: "q"

Declared by:

plugins.arrow.settings.mapping.remove

Mapping to remove bookmarks. Only used if separate_save_and_remove is true.

Type: null or string or raw lua code

Default: null

Plugin default: "x"

Declared by:

plugins.arrow.settings.mapping.toggle

Mapping to save if separate_save_and_remove is true.

Type: null or string or raw lua code

Default: null

Plugin default: "s"

Declared by:

plugins.arrow.settings.per_buffer_config.lines

Number of lines on preview.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 4

Declared by:

plugins.arrow.settings.per_buffer_config.sort_automatically

If true will sort buffer marks automatically.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.arrow.settings.per_buffer_config.zindex

Z index of the buffer.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 50

Declared by:

plugins.arrow.settings.per_buffer_config.satellite.enable

If true will display arrow index in scrollbar at every update.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.arrow.settings.per_buffer_config.satellite.overlap

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.arrow.settings.per_buffer_config.satellite.priority

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 1000

Declared by:

auto-save

URL: https://github.com/okuuva/auto-save.nvim/

Maintainers: Nikita Shirokov

plugins.auto-save.enable

Whether to enable auto-save.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.auto-save.package

The auto-save.nvim package to use.

Type: package

Default: pkgs.vimPlugins.auto-save-nvim

Declared by:

plugins.auto-save.autoLoad

Whether to automatically load auto-save.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.auto-save.lazyLoad

Lazy-load settings for auto-save.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.auto-save.lazyLoad.enable

lazy-loading for auto-save.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.auto-save.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.auto-save.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.auto-save.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.auto-save.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.auto-save.settings

Options provided to the require('auto-save').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  condition = ''
    function(buf)
      local fn = vim.fn
      local utils = require("auto-save.utils.data")
    
      if utils.not_in(fn.getbufvar(buf, "&filetype"), {'oil'}) then
        return true
      end
      return false
    end
  '';
  debounce_delay = 1000;
  write_all_buffers = true;
}

Declared by:

plugins.auto-save.settings.enabled

Whether to start auto-save when the plugin is loaded.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.auto-save.settings.condition

Function that determines whether to save the current buffer or not.

  • return true: if buffer is ok to be saved
  • return false: if it’s not ok to be saved

In this example, the second argument of utils.not_in(..., {}) determines which filetypes will be ignored by auto-save plugin.

Buffers that are nomodifiable are not saved by default.

Type: null or lua function string

Default: null

Plugin default: null

Example:

''
  function(buf)
    local fn = vim.fn
    local utils = require("auto-save.utils.data")
  
    if utils.not_in(fn.getbufvar(buf, "&filetype"), {}) then
      return true
    end
    return false
  end
''

Declared by:

plugins.auto-save.settings.debounce_delay

Saves the file at most every debounce_delay milliseconds.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1000

Declared by:

plugins.auto-save.settings.debug

Log debug messages to auto-save.log file in NeoVim cache directory.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.auto-save.settings.lockmarks

Lock marks when saving, see :h lockmarks for more details.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.auto-save.settings.noautocmd

Do not execute autocmds when saving.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.auto-save.settings.write_all_buffers

Write all buffers when the current one meets condition.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.auto-save.settings.trigger_events.cancel_deferred_save

Vim events that cancel a pending deferred save.
See :h events for events description.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "InsertEnter"
]

Declared by:

plugins.auto-save.settings.trigger_events.defer_save

Vim events that trigger a deferred save (saves after debounceDelay).
See :h events for events description.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "InsertLeave"
  "TextChanged"
]

Declared by:

plugins.auto-save.settings.trigger_events.immediate_save

Vim events that trigger an immediate save.
See :h events for events description.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "BufLeave"
  "FocusLost"
]

Declared by:

auto-session

URL: https://github.com/rmagatti/auto-session/

Maintainers: Austin Horstman

plugins.auto-session.enable

Whether to enable auto-session.

Type: boolean

Default: false

Example: true

Declared by:

plugins.auto-session.package

The auto-session package to use.

Type: package

Default: pkgs.vimPlugins.auto-session

Declared by:

plugins.auto-session.autoLoad

Whether to automatically load auto-session when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.auto-session.lazyLoad

Lazy-load settings for auto-session.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.auto-session.lazyLoad.enable

lazy-loading for auto-session

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.auto-session.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.auto-session.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.auto-session.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.auto-session.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.auto-session.settings

Options provided to the require('auto-session').setup function.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.auto-session.settings.enabled

Enables/disables auto creating, saving and restoring.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.auto-session.settings.allowed_dirs

Allow session create/restore if in one of the list of dirs.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.auto-session.settings.auto_create

Whether to enable auto creating new sessions

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.auto-session.settings.auto_restore

Whether to enable auto restoring session.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.auto-session.settings.auto_restore_last_session

On startup, loads the last saved session if session for cwd does not exist.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.auto-session.settings.auto_save

Whether to enable auto saving session.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.auto-session.settings.bypass_save_filetypes

List of file types to bypass auto save when the only buffer open is one of the file types listed.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.auto-session.settings.cwd_change_handling

Follow cwd changes, saving a session before change and restoring after.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.auto-session.settings.log_level

Sets the log level of the plugin.

Type: null or one of “debug”, “info”, “warn”, “error” or raw lua code

Default: null

Plugin default: "error"

Declared by:

plugins.auto-session.settings.root_dir

Root directory for session files. Can be either a string or lua code (using {__raw = 'foo';}).

Type: null or string or raw lua code

Default: null

Plugin default:

{
  __raw = "vim.fn.stdpath 'data' .. '/sessions/'";
}

Declared by:

plugins.auto-session.settings.suppressed_dirs

Suppress session create/restore if in one of the list of dirs.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.auto-session.settings.use_git_branch

Include git branch name in session name to differentiate between sessions for different git branches.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.auto-session.settings.session_lens.load_on_setup

If load_on_setup is set to false, one needs to eventually call require("auto-session").setup_session_lens() if they want to use session-lens.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.auto-session.settings.session_lens.previewer

Use default previewer config by setting the value to null if some sets previewer to true in the custom config. Passing in the boolean value errors out in the telescope code with the picker trying to index a boolean instead of a table. This fixes it but also allows for someone to pass in a table with the actual preview configs if they want to.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.auto-session.settings.session_lens.theme_conf

Theme configuration.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  border = true;
  winblend = 10;
}

Declared by:

plugins.auto-session.settings.session_lens.session_control.control_dir

Auto session control dir, for control files, like alternating between two sessions with session-lens.

Type: null or string or raw lua code

Default: null

Plugin default:

{
  __raw = "vim.fn.stdpath 'data' .. '/auto_session/'";
}

Declared by:

plugins.auto-session.settings.session_lens.session_control.control_filename

File name of the session control file.

Type: null or string or raw lua code

Default: null

Plugin default: "session_control.json"

Declared by:

autoclose

URL: https://github.com/m4xshen/autoclose.nvim/

Maintainers: Gaetan Lepage


Automatically close pairs in Neovim.

plugins.autoclose.enable

Whether to enable autoclose.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.autoclose.package

The autoclose.nvim package to use.

Type: package

Default: pkgs.vimPlugins.autoclose-nvim

Declared by:

plugins.autoclose.autoLoad

Whether to automatically load autoclose.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.autoclose.lazyLoad

Lazy-load settings for autoclose.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.autoclose.lazyLoad.enable

lazy-loading for autoclose.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.autoclose.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.autoclose.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.autoclose.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.autoclose.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.autoclose.settings

Options provided to the require('autoclose').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  settings = {
    options = {
      auto_indent = true;
      disable_command_mode = false;
      disable_when_touch = false;
      disabled_filetypes = [
        "text"
      ];
      pair_spaces = false;
      touch_regex = "[%w(%[{]";
    };
  };
}

Declared by:

plugins.autoclose.settings.keys

Configures various options, such as shortcuts for pairs, what pair of characters to use in the shortcut, etc.

Type: null or (attribute set of anything)

Default: null

Declared by:

plugins.autoclose.settings.options.auto_indent

Enable auto-indent feature.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.autoclose.settings.options.disable_command_mode

Disable autoclose for command mode globally.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.autoclose.settings.options.disable_when_touch

Set this to true will disable the auto-close function when the cursor touches character that matches touch_regex.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.autoclose.settings.options.disabled_filetypes

The plugin will be disabled under the filetypes in this table.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "text"
]

Declared by:

plugins.autoclose.settings.options.pair_spaces

Pair the spaces when cursor is inside a pair of keys.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.autoclose.settings.options.touch_regex

Regex to use in combination with disable_when_touch.

Type: null or string or raw lua code

Default: null

Plugin default: "[%w(%[{]"

Declared by:

autosource

URL: https://github.com/jenterkin/vim-autosource/

Maintainers: Refael Sheinker

plugins.autosource.enable

Whether to enable vim-autosource.

Type: boolean

Default: false

Example: true

Declared by:

plugins.autosource.package

The vim-autosource package to use.

Type: package

Default: pkgs.vimPlugins.vim-autosource

Declared by:

plugins.autosource.autoLoad

Whether to automatically load vim-autosource when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.autosource.settings

The configuration options for autosource without the autosource_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal autosource_foo_bar=1
  • hello = "world" -> :setglobal autosource_hello="world"
  • some_toggle = true -> :setglobal autosource_some_toggle
  • other_toggle = false -> :setglobal noautosource_other_toggle

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.autosource.settings.prompt_for_changed_file

The primary use-case of this option is to support automated testing. When set to false AutoSource will not prompt you when it detects when a file is changed. The file will NOT be sourced.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.autosource.settings.prompt_for_new_file

The primary use-case of this option is to support automated testing. When set to false AutoSource will not prompt you when it detects a new file. The file will NOT be sourced.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

avante

URL: https://github.com/yetone/avante.nvim

Maintainers: Gaetan Lepage

plugins.avante.enable

Whether to enable avante.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.avante.package

The avante.nvim package to use.

Type: package

Default: pkgs.vimPlugins.avante-nvim

Declared by:

plugins.avante.autoLoad

Whether to automatically load avante.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.avante.lazyLoad

Lazy-load settings for avante.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.avante.lazyLoad.enable

lazy-loading for avante.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.avante.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.avante.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.avante.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.avante.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.avante.settings

Options provided to the require('avante').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  claude = {
    endpoint = "https://api.anthropic.com";
    max_tokens = 4096;
    model = "claude-3-5-sonnet-20240620";
    temperature = 0;
  };
  diff = {
    autojump = true;
    debug = false;
    list_opener = "copen";
  };
  highlights = {
    diff = {
      current = "DiffText";
      incoming = "DiffAdd";
    };
  };
  hints = {
    enabled = true;
  };
  mappings = {
    diff = {
      both = "cb";
      next = "]x";
      none = "c0";
      ours = "co";
      prev = "[x";
      theirs = "ct";
    };
  };
  provider = "claude";
  windows = {
    sidebar_header = {
      align = "center";
      rounded = true;
    };
    width = 30;
    wrap = true;
  };
}

Declared by:

plugins.avante.settings.auto_suggestions_provider

The provider for automatic suggestions.

Since auto-suggestions are a high-frequency operation and therefore expensive, it is recommended to specify an inexpensive provider or even a free provider: "copilot".

Type: null or string or raw lua code

Default: null

Plugin default: "claude"

Declared by:

plugins.avante.settings.mappings

Key mappings for various functionalities within avante.

Type: null or (attribute set of (string or attribute set of string))

Default: null

Example:

{
  diff = {
    both = "cb";
    next = "]x";
    none = "c0";
    ours = "co";
    prev = "[x";
    theirs = "ct";
  };
  jump = {
    next = "]]";
    prev = "[[";
  };
}

Declared by:

plugins.avante.settings.provider

The LLM provider ("claude", "openai", "azure", …)

Type: null or string or raw lua code

Default: null

Plugin default: "claude"

Declared by:

aw-watcher

URL: https://github.com/lowitea/aw-watcher.nvim/

Maintainers: Axel Karjalainen

plugins.aw-watcher.enable

Whether to enable aw-watcher.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.aw-watcher.package

The aw-watcher.nvim package to use.

Type: package

Default: pkgs.vimPlugins.aw-watcher-nvim

Declared by:

plugins.aw-watcher.autoLoad

Whether to automatically load aw-watcher.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.aw-watcher.lazyLoad

Lazy-load settings for aw-watcher.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.aw-watcher.lazyLoad.enable

lazy-loading for aw-watcher.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.aw-watcher.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.aw-watcher.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.aw-watcher.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.aw-watcher.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.aw-watcher.settings

Options provided to the require('aw_watcher').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  aw_server = {
    host = "127.0.0.1";
    port = 5600;
    pulsetime = 60;
  };
}

Declared by:

plugins.aw-watcher.settings.aw_server.host

Host to connect to.

Type: null or string or raw lua code

Default: null

Plugin default: "127.0.0.1"

Declared by:

plugins.aw-watcher.settings.aw_server.port

Port to connect to.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 5600

Declared by:

plugins.aw-watcher.settings.aw_server.pulsetime

The maximum amount of time (in seconds) between two consecutive events (heartbeats) with the same data (e.g. same file path) that will cause them to be merged into a single event. This is useful for saving on storage space and disk I/O.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 30

Declared by:

plugins.aw-watcher.settings.aw_server.ssl_enable

Whether the ActivityWatch server should be connected to using HTTPS.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.aw-watcher.settings.bucket.hostname

The hostname to be presented to the ActivityWatch server. Defaults to the hostname of the computer.

Type: null or string or raw lua code

Default: null

Plugin default:

{
  __raw = "vim.uv.os_gethostname()";
}

Declared by:

plugins.aw-watcher.settings.bucket.name

The name of the bucket in the ActivityWatch server.

Type: null or string or raw lua code

Default: null

Plugin default:

{
  __raw = "'aw-watcher-neovim_' .. bucket.hostname'";
}

Declared by:

bacon

URL: https://github.com/Canop/nvim-bacon/

Maintainers: Alison Jenkins

plugins.bacon.enable

Whether to enable bacon.

Type: boolean

Default: false

Example: true

Declared by:

plugins.bacon.package

The bacon package to use.

Type: package

Default: pkgs.vimPlugins.nvim-bacon

Declared by:

plugins.bacon.autoLoad

Whether to automatically load bacon when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.bacon.lazyLoad

Lazy-load settings for bacon.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.bacon.lazyLoad.enable

lazy-loading for bacon

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.bacon.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.bacon.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.bacon.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.bacon.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.bacon.settings

Options provided to the require('bacon').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  quickfix = {
    enabled = false;
    event_trigger = true;
  };
}

Declared by:

plugins.bacon.settings.quickfix.enabled

Whether to populate the quickfix list with bacon errors and warnings.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.bacon.settings.quickfix.event_trigger

Triggers the QuickFixCmdPost event after populating the quickfix list.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

baleia

URL: https://github.com/m00qek/baleia.nvim/

Maintainers: Alison Jenkins

plugins.baleia.enable

Whether to enable baleia.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.baleia.package

The baleia.nvim package to use.

Type: package

Default: pkgs.vimPlugins.baleia-nvim

Declared by:

plugins.baleia.autoLoad

Whether to automatically load baleia.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.baleia.lazyLoad

Lazy-load settings for baleia.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.baleia.lazyLoad.enable

lazy-loading for baleia.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.baleia.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.baleia.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.baleia.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.baleia.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.baleia.settings

Options provided to the require('baleia').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  async = true;
  colors = "NR_8";
  line_starts_at = 1;
  log = "INFO";
  name = "BaleiaColors";
  strip_ansi_codes = true;
}

Declared by:

plugins.baleia.settings.async

Highlight asynchronously.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.baleia.settings.colors

Table mapping 256 color codes to vim colors.

Type: null or string or raw lua code

Default: null

Plugin default: "NR_8"

Declared by:

plugins.baleia.settings.line_starts_at

At which column start colorizing.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.baleia.settings.log

Log level, possible values are ERROR, WARN, INFO or DEBUG.

Type: null or one of “ERROR”, “WARN”, “INFO”, “DEBUG” or raw lua code

Default: null

Plugin default: "INFO"

Declared by:

plugins.baleia.settings.name

Prefix used to name highlight groups.

Type: null or string or raw lua code

Default: null

Plugin default: "BaleiaColors"

Declared by:

plugins.baleia.settings.strip_ansi_codes

Remove ANSI color codes from text.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

barbar

URL: https://github.com/romgrk/barbar.nvim/

Maintainers: Gaetan Lepage

plugins.barbar.enable

Whether to enable barbar.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.barbar.package

The barbar.nvim package to use.

Type: package

Default: pkgs.vimPlugins.barbar-nvim

Declared by:

plugins.barbar.autoLoad

Whether to automatically load barbar.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.barbar.keymaps.close

Keymap for function BufferClose

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.close.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferClose<CR>"

Declared by:

plugins.barbar.keymaps.close.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.close.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.close.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.close.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.close.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.close.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.close.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.close.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.close.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.close.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.close.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.close.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButCurrent

Keymap for function BufferCloseAllButCurrent

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.closeAllButCurrent.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferCloseAllButCurrent<CR>"

Declared by:

plugins.barbar.keymaps.closeAllButCurrent.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.closeAllButCurrent.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.closeAllButCurrent.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButCurrent.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.closeAllButCurrent.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButCurrent.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.closeAllButCurrent.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButCurrent.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButCurrent.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.closeAllButCurrent.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButCurrent.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButCurrent.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButCurrentOrPinned

Keymap for function BufferCloseAllButCurrentOrPinned

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.closeAllButCurrentOrPinned.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferCloseAllButCurrentOrPinned<CR>"

Declared by:

plugins.barbar.keymaps.closeAllButCurrentOrPinned.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.closeAllButCurrentOrPinned.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.closeAllButCurrentOrPinned.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButCurrentOrPinned.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.closeAllButCurrentOrPinned.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButCurrentOrPinned.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.closeAllButCurrentOrPinned.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButCurrentOrPinned.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButCurrentOrPinned.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.closeAllButCurrentOrPinned.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButCurrentOrPinned.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButCurrentOrPinned.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButPinned

Keymap for function BufferCloseAllButPinned

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.closeAllButPinned.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferCloseAllButPinned<CR>"

Declared by:

plugins.barbar.keymaps.closeAllButPinned.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.closeAllButPinned.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.closeAllButPinned.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButPinned.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.closeAllButPinned.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButPinned.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.closeAllButPinned.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButPinned.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButPinned.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.closeAllButPinned.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButPinned.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButPinned.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButVisible

Keymap for function BufferCloseAllButVisible

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.closeAllButVisible.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferCloseAllButVisible<CR>"

Declared by:

plugins.barbar.keymaps.closeAllButVisible.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.closeAllButVisible.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.closeAllButVisible.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButVisible.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.closeAllButVisible.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButVisible.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.closeAllButVisible.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButVisible.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButVisible.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.closeAllButVisible.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButVisible.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeAllButVisible.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeBuffersLeft

Keymap for function BufferCloseBuffersLeft

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.closeBuffersLeft.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferCloseBuffersLeft<CR>"

Declared by:

plugins.barbar.keymaps.closeBuffersLeft.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.closeBuffersLeft.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.closeBuffersLeft.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeBuffersLeft.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.closeBuffersLeft.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeBuffersLeft.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.closeBuffersLeft.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeBuffersLeft.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeBuffersLeft.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.closeBuffersLeft.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeBuffersLeft.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeBuffersLeft.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeBuffersRight

Keymap for function BufferCloseBuffersRight

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.closeBuffersRight.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferCloseBuffersRight<CR>"

Declared by:

plugins.barbar.keymaps.closeBuffersRight.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.closeBuffersRight.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.closeBuffersRight.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeBuffersRight.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.closeBuffersRight.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeBuffersRight.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.closeBuffersRight.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeBuffersRight.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeBuffersRight.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.closeBuffersRight.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeBuffersRight.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.closeBuffersRight.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.first

Keymap for function BufferFirst

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.first.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferFirst<CR>"

Declared by:

plugins.barbar.keymaps.first.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.first.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.first.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.first.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.first.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.first.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.first.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.first.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.first.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.first.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.first.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.first.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo1

Keymap for function BufferGoto 1

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.goTo1.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferGoto 1<CR>"

Declared by:

plugins.barbar.keymaps.goTo1.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.goTo1.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.goTo1.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo1.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.goTo1.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo1.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.goTo1.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo1.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo1.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.goTo1.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo1.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo1.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo2

Keymap for function BufferGoto 2

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.goTo2.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferGoto 2<CR>"

Declared by:

plugins.barbar.keymaps.goTo2.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.goTo2.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.goTo2.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo2.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.goTo2.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo2.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.goTo2.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo2.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo2.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.goTo2.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo2.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo2.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo3

Keymap for function BufferGoto 3

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.goTo3.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferGoto 3<CR>"

Declared by:

plugins.barbar.keymaps.goTo3.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.goTo3.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.goTo3.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo3.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.goTo3.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo3.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.goTo3.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo3.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo3.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.goTo3.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo3.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo3.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo4

Keymap for function BufferGoto 4

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.goTo4.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferGoto 4<CR>"

Declared by:

plugins.barbar.keymaps.goTo4.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.goTo4.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.goTo4.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo4.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.goTo4.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo4.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.goTo4.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo4.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo4.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.goTo4.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo4.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo4.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo5

Keymap for function BufferGoto 5

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.goTo5.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferGoto 5<CR>"

Declared by:

plugins.barbar.keymaps.goTo5.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.goTo5.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.goTo5.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo5.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.goTo5.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo5.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.goTo5.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo5.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo5.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.goTo5.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo5.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo5.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo6

Keymap for function BufferGoto 6

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.goTo6.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferGoto 6<CR>"

Declared by:

plugins.barbar.keymaps.goTo6.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.goTo6.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.goTo6.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo6.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.goTo6.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo6.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.goTo6.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo6.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo6.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.goTo6.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo6.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo6.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo7

Keymap for function BufferGoto 7

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.goTo7.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferGoto 7<CR>"

Declared by:

plugins.barbar.keymaps.goTo7.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.goTo7.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.goTo7.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo7.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.goTo7.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo7.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.goTo7.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo7.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo7.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.goTo7.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo7.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo7.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo8

Keymap for function BufferGoto 8

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.goTo8.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferGoto 8<CR>"

Declared by:

plugins.barbar.keymaps.goTo8.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.goTo8.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.goTo8.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo8.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.goTo8.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo8.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.goTo8.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo8.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo8.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.goTo8.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo8.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo8.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo9

Keymap for function BufferGoto 9

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.goTo9.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferGoto 9<CR>"

Declared by:

plugins.barbar.keymaps.goTo9.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.goTo9.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.goTo9.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo9.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.goTo9.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo9.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.goTo9.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo9.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo9.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.goTo9.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo9.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.goTo9.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.last

Keymap for function BufferLast

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.last.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferLast<CR>"

Declared by:

plugins.barbar.keymaps.last.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.last.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.last.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.last.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.last.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.last.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.last.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.last.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.last.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.last.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.last.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.last.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.moveNext

Keymap for function BufferMoveNext

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.moveNext.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferMoveNext<CR>"

Declared by:

plugins.barbar.keymaps.moveNext.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.moveNext.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.moveNext.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.moveNext.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.moveNext.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.moveNext.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.moveNext.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.moveNext.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.moveNext.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.moveNext.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.moveNext.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.moveNext.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.movePrevious

Keymap for function BufferMovePrevious

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.movePrevious.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferMovePrevious<CR>"

Declared by:

plugins.barbar.keymaps.movePrevious.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.movePrevious.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.movePrevious.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.movePrevious.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.movePrevious.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.movePrevious.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.movePrevious.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.movePrevious.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.movePrevious.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.movePrevious.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.movePrevious.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.movePrevious.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.moveStart

Keymap for function BufferMoveStart

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.moveStart.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferMoveStart<CR>"

Declared by:

plugins.barbar.keymaps.moveStart.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.moveStart.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.moveStart.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.moveStart.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.moveStart.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.moveStart.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.moveStart.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.moveStart.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.moveStart.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.moveStart.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.moveStart.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.moveStart.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.next

Keymap for function BufferNext

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.next.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferNext<CR>"

Declared by:

plugins.barbar.keymaps.next.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.next.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.next.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.next.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.next.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.next.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.next.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.next.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.next.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.next.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.next.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.next.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByBufferNumber

Keymap for function BufferOrderByBufferNumber

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.orderByBufferNumber.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferOrderByBufferNumber<CR>"

Declared by:

plugins.barbar.keymaps.orderByBufferNumber.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.orderByBufferNumber.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.orderByBufferNumber.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByBufferNumber.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.orderByBufferNumber.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByBufferNumber.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.orderByBufferNumber.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByBufferNumber.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByBufferNumber.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.orderByBufferNumber.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByBufferNumber.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByBufferNumber.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByDirectory

Keymap for function BufferOrderByDirectory

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.orderByDirectory.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferOrderByDirectory<CR>"

Declared by:

plugins.barbar.keymaps.orderByDirectory.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.orderByDirectory.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.orderByDirectory.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByDirectory.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.orderByDirectory.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByDirectory.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.orderByDirectory.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByDirectory.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByDirectory.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.orderByDirectory.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByDirectory.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByDirectory.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByLanguage

Keymap for function BufferOrderByLanguage

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.orderByLanguage.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferOrderByLanguage<CR>"

Declared by:

plugins.barbar.keymaps.orderByLanguage.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.orderByLanguage.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.orderByLanguage.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByLanguage.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.orderByLanguage.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByLanguage.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.orderByLanguage.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByLanguage.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByLanguage.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.orderByLanguage.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByLanguage.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByLanguage.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByName

Keymap for function BufferOrderByName

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.orderByName.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferOrderByName<CR>"

Declared by:

plugins.barbar.keymaps.orderByName.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.orderByName.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.orderByName.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByName.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.orderByName.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByName.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.orderByName.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByName.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByName.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.orderByName.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByName.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByName.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByWindowNumber

Keymap for function BufferOrderByWindowNumber

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.orderByWindowNumber.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferOrderByWindowNumber<CR>"

Declared by:

plugins.barbar.keymaps.orderByWindowNumber.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.orderByWindowNumber.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.orderByWindowNumber.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByWindowNumber.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.orderByWindowNumber.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByWindowNumber.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.orderByWindowNumber.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByWindowNumber.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByWindowNumber.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.orderByWindowNumber.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByWindowNumber.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.orderByWindowNumber.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.pick

Keymap for function BufferPick

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.pick.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferPick<CR>"

Declared by:

plugins.barbar.keymaps.pick.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.pick.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.pick.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.pick.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.pick.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.pick.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.pick.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.pick.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.pick.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.pick.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.pick.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.pick.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.pickDelete

Keymap for function BufferPickDelete

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.pickDelete.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferPickDelete<CR>"

Declared by:

plugins.barbar.keymaps.pickDelete.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.pickDelete.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.pickDelete.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.pickDelete.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.pickDelete.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.pickDelete.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.pickDelete.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.pickDelete.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.pickDelete.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.pickDelete.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.pickDelete.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.pickDelete.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.pin

Keymap for function BufferPin

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.pin.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferPin<CR>"

Declared by:

plugins.barbar.keymaps.pin.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.pin.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.pin.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.pin.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.pin.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.pin.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.pin.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.pin.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.pin.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.pin.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.pin.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.pin.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.previous

Keymap for function BufferPrevious

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.previous.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferPrevious<CR>"

Declared by:

plugins.barbar.keymaps.previous.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.previous.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.previous.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.previous.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.previous.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.previous.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.previous.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.previous.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.previous.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.previous.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.previous.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.previous.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.restore

Keymap for function BufferRestore

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.restore.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferRestore<CR>"

Declared by:

plugins.barbar.keymaps.restore.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.restore.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.restore.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.restore.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.restore.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.restore.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.restore.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.restore.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.restore.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.restore.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.restore.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.restore.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.scrollLeft

Keymap for function BufferScrollLeft

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.scrollLeft.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferScrollLeft<CR>"

Declared by:

plugins.barbar.keymaps.scrollLeft.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.scrollLeft.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.scrollLeft.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.scrollLeft.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.scrollLeft.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.scrollLeft.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.scrollLeft.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.scrollLeft.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.scrollLeft.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.scrollLeft.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.scrollLeft.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.scrollLeft.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.scrollRight

Keymap for function BufferScrollRight

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.scrollRight.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferScrollRight<CR>"

Declared by:

plugins.barbar.keymaps.scrollRight.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.scrollRight.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.scrollRight.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.scrollRight.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.scrollRight.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.scrollRight.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.scrollRight.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.scrollRight.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.scrollRight.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.scrollRight.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.scrollRight.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.scrollRight.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.wipeout

Keymap for function BufferWipeout

Type: null or (submodule)

Default: null

Declared by:

plugins.barbar.keymaps.wipeout.action

The action to execute.

Type: string or raw lua code

Default: "<Cmd>BufferWipeout<CR>"

Declared by:

plugins.barbar.keymaps.wipeout.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.barbar.keymaps.wipeout.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.barbar.keymaps.wipeout.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.wipeout.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.barbar.keymaps.wipeout.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.wipeout.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.keymaps.wipeout.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.wipeout.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.wipeout.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.barbar.keymaps.wipeout.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.wipeout.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.keymaps.wipeout.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.lazyLoad

Lazy-load settings for barbar.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.barbar.lazyLoad.enable

lazy-loading for barbar.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.barbar.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.barbar.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.barbar.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.barbar.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.barbar.settings

Options provided to the require('barbar').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  animation = false;
  exclude_ft = [
    "oil"
    "qf"
    "fugitive"
  ];
  exclude_name = [
    "UnicodeTable.txt"
  ];
  highlight_alternate = true;
  icons = {
    button = false;
    separator_at_end = false;
  };
}

Declared by:

plugins.barbar.settings.animation

Enable/disable animations.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.settings.auto_hide

Automatically hide the ‘tabline’ when there are this many buffers left. Set to any value less than 0 to disable.

For example: auto_hide = 0 hides the ‘tabline’ when there would be zero buffers shown, auto_hide = 1 hides the ‘tabline’ when there would only be one, etc.

Type: null or signed integer or value false (singular enum) or raw lua code

Default: null

Plugin default: -1

Declared by:

plugins.barbar.settings.clickable

If set, you can left-click on a tab to switch to that buffer, and middle-click to delete it.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.settings.exclude_ft

Excludes filetypes from appearing in the tabs.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.barbar.settings.exclude_name

Excludes buffers matching name from appearing in the tabs.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.barbar.settings.focus_on_close

The algorithm to use for getting the next buffer after closing the current one:

  • 'left': focus the buffer to the left of the current buffer.
  • 'previous': focus the previous buffer.
  • 'right': focus the buffer to the right of the current buffer.

Type: null or one of “left”, “previous”, “right” or raw lua code

Default: null

Plugin default: "left"

Declared by:

plugins.barbar.settings.highlight_alternate

Enables highlighting of alternate buffers.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.settings.highlight_inactive_file_icons

Enables highlighting the file icons of inactive buffers.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.settings.highlight_visible

Enables highlighting of visible buffers.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.settings.insert_at_end

If true, new buffers appear at the end of the list. Default is to open after the current buffer.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.settings.insert_at_start

If true, new buffers appear at the start of the list. Default is to open after the current buffer.

Has priority over insert_at_end.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.settings.letters

New buffer letters are assigned in this order. This order is optimal for the QWERTY keyboard layout but might need adjustment for other layouts.

Type: null or string or raw lua code

Default: null

Plugin default: "asdfjkl;ghnmxcvbziowerutyqpASDFJKLGHNMXCVBZIOWERUTYQP"

Declared by:

plugins.barbar.settings.maximum_length

Sets the maximum buffer name length.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 30

Declared by:

plugins.barbar.settings.maximum_padding

Sets the maximum padding width with which to surround each tab.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 4

Declared by:

plugins.barbar.settings.minimum_length

Sets the minimum buffer name length.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.barbar.settings.minimum_padding

Sets the minimum padding width with which to surround each tab.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.barbar.settings.no_name_title

Sets the name of unnamed buffers.

By default format is '[Buffer X]' where X is the buffer number. However, only a static string is accepted here.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.barbar.settings.semantic_letters

If true, the letters for each buffer in buffer-pick mode will be assigned based on their name.

Otherwise (or in case all letters are already assigned), the behavior is to assign letters in the order of provided to letters.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.settings.sidebar_filetypes

Control which filetypes will cause barbar to add an offset.

Type: null or (attribute set of (value true (singular enum) or (attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.barbar.settings.tabpages

Enable/disable current/total tabpages indicator (top right corner).

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.settings.hide.alternate

Controls the visibility of the |alternate-file|. highlight_alternate must be true.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.settings.hide.current

Controls the visibility of the current buffer.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.settings.hide.extensions

Controls the visibility of file extensions.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.settings.hide.inactive

Controls visibility of |hidden-buffer|s and |inactive-buffer|s.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.settings.hide.visible

Controls visibility of |active-buffer|s. highlight_visible must be true.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.settings.icons.alternate

The icons which should be used for the |alternate-file|. Supports all the base options (e.g. buffer_index, filetype.enabled, etc) as well as modified and pinned.

Type: null or (attribute set of anything) or raw lua code

Default: null

Declared by:

plugins.barbar.settings.icons.buffer_index

If true, show the index of the buffer with respect to the ordering of the buffers in the tabline.

Type: null or boolean or one of “superscript”, “subscript” or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.settings.icons.buffer_number

If true, show the bufnr for the associated buffer.

Type: null or boolean or one of “superscript”, “subscript” or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.settings.icons.button

The button which is clicked to close / save a buffer, or indicate that it is pinned. Use false to disable it.

Type: null or string or value false (singular enum) or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbar.settings.icons.current

The icons which should be used for current buffer. Supports all the base options (e.g. buffer_index, filetype.enabled, etc) as well as modified and pinned.

Type: null or (attribute set of anything) or raw lua code

Default: null

Declared by:

plugins.barbar.settings.icons.filename

If true, show the name of the file.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.settings.icons.gitsigns

Gitsigns icons.

Type: null or (attribute set of ((attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  added = {
    enabled = true;
    icon = "+";
  };
  changed = {
    enabled = true;
    icon = "~";
  };
  deleted = {
    enabled = true;
    icon = "-";
  };
}

Declared by:

plugins.barbar.settings.icons.inactive

The icons which should be used for |hidden-buffer|s and |inactive-buffer|s. Supports all the base options (e.g. buffer_index, filetype.enabled, etc) as well as modified and pinned.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  separator = {
    left = "▎";
    right = "";
  };
}

Declared by:

plugins.barbar.settings.icons.modified

The icons which should be used for a ‘modified’ buffer. Supports all the base options (e.g. buffer_index, filetype.enabled, etc).

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  button = "●";
}

Declared by:

plugins.barbar.settings.icons.pinned

The icons which should be used for a pinned buffer. Supports all the base options (e.g. buffer_index, filetype.enabled, etc).

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  button = false;
  filename = false;
  separator = {
    right = " ";
  };
}

Declared by:

plugins.barbar.settings.icons.preset

Base all |barbar-setup.icons| configuration off of this set of defaults.

  • 'default': the classic |barbar.nvim| look.
  • 'powerline': like (https://github.com/powerline/powerline)
  • 'slanted': like old Google Chrome tabs

Type: null or one of “default”, “powerline”, “slanted” or raw lua code

Default: null

Plugin default: "default"

Declared by:

plugins.barbar.settings.icons.visible

The icons which should be used for |active-buffer|s. Supports all the base options (e.g. buffer_index, filetype.enabled, etc) as well as modified and pinned.

Type: null or (attribute set of anything) or raw lua code

Default: null

Declared by:

plugins.barbar.settings.icons.diagnostics

Set the icon for each diagnostic level.

The keys will be automatically translated to raw lua:

  {
    "vim.diagnostic.severity.INFO".enabled = true;
    "vim.diagnostic.severity.WARN".enabled = true;
  }

will result in the following lua:

  {
    -- Note the table keys are not string literals:
    [vim.diagnostic.severity.INFO] = { ['enabled'] = true },
    [vim.diagnostic.severity.WARN] = { ['enabled'] = true },
  }

Type: attribute set of anything

Default: { }

Plugin default:

{
  "vim.diagnostic.severity.ERROR" = {
    enabled = false;
    icon = " ";
  };
  "vim.diagnostic.severity.HINT" = {
    enabled = false;
    icon = "󰌶 ";
  };
  "vim.diagnostic.severity.INFO" = {
    enabled = false;
    icon = " ";
  };
  "vim.diagnostic.severity.WARN" = {
    enabled = false;
    icon = " ";
  };
}

Declared by:

plugins.barbar.settings.icons.diagnostics."vim.diagnostic.severity.ERROR".enabled

Enable showing diagnostics of this |diagnostic-severity| in the ‘tabline’.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.settings.icons.diagnostics."vim.diagnostic.severity.ERROR".icon

The icon which accompanies the number of diagnostics.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.barbar.settings.icons.diagnostics."vim.diagnostic.severity.HINT".enabled

Enable showing diagnostics of this |diagnostic-severity| in the ‘tabline’.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.settings.icons.diagnostics."vim.diagnostic.severity.HINT".icon

The icon which accompanies the number of diagnostics.

Type: null or string or raw lua code

Default: null

Plugin default: "󰌶 "

Declared by:

plugins.barbar.settings.icons.diagnostics."vim.diagnostic.severity.INFO".enabled

Enable showing diagnostics of this |diagnostic-severity| in the ‘tabline’.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.settings.icons.diagnostics."vim.diagnostic.severity.INFO".icon

The icon which accompanies the number of diagnostics.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.barbar.settings.icons.diagnostics."vim.diagnostic.severity.WARN".enabled

Enable showing diagnostics of this |diagnostic-severity| in the ‘tabline’.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.settings.icons.diagnostics."vim.diagnostic.severity.WARN".icon

The icon which accompanies the number of diagnostics.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.barbar.settings.icons.filetype.enabled

Filetype true, show the devicons for the associated buffer’s filetype.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbar.settings.icons.filetype.custom_colors

If true, the Buffer<status>Icon color will be used for icon colors.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbar.settings.icons.separator.left

The left separator between buffers in the tabline.

Type: null or string or raw lua code

Default: null

Plugin default: "▎"

Declared by:

plugins.barbar.settings.icons.separator.right

The right separator between buffers in the tabline.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbar.settings.icons.separator.separator_at_end

If true, add an additional separator at the end of the buffer list. Can be used to create a visual separation when the inactive buffer background color is the same as the fill region background color.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

barbecue

URL: https://github.com/utilyre/barbecue.nvim

Maintainers: Austin Horstman

plugins.barbecue.enable

Whether to enable barbecue.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.barbecue.package

The barbecue.nvim package to use.

Type: package

Default: pkgs.vimPlugins.barbecue-nvim

Declared by:

plugins.barbecue.autoLoad

Whether to automatically load barbecue.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.barbecue.lazyLoad

Lazy-load settings for barbecue.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.barbecue.lazyLoad.enable

lazy-loading for barbecue.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.barbecue.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.barbecue.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.barbecue.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.barbecue.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.barbecue.settings

Options provided to the require('barbecue').setup function.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.barbecue.settings.attach_navic

Whether to attach navic to language servers automatically.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbecue.settings.context_follow_icon_color

Whether context text should follow its icon’s color.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbecue.settings.create_autocmd

Whether to create winbar updater autocmd.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbecue.settings.custom_section

Get custom section contents. NOTE: This function shouldn’t do any expensive actions as it is run on each render.

Type: null or lua function string

Default: null

Plugin default:

''
  function()
    return " "
  end
''

Declared by:

plugins.barbecue.settings.exclude_filetypes

Filetypes not to enable winbar in.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "netrw"
  "toggleterm"
]

Declared by:

plugins.barbecue.settings.include_buftypes

Buftypes to enable winbar in.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  ""
]

Declared by:

plugins.barbecue.settings.lead_custom_section

Get leading custom section contents. NOTE: This function shouldn’t do any expensive actions as it is run on each render.

Type: null or lua function string

Default: null

Plugin default:

''
  function()
    return " "
  end
''

Declared by:

plugins.barbecue.settings.modified

Get modified status of file. NOTE: This can be used to get file modified status from SCM (e.g. git)

Type: null or lua function string

Default: null

Plugin default:

''
  function(bufnr)
  	return vim.bo[bufnr].modified
  end
''

Declared by:

plugins.barbecue.settings.show_basename

Whether to display file name.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbecue.settings.show_dirname

Whether to display path to file.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbecue.settings.show_modified

Whether to replace file icon with the modified symbol when buffer is modified.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.barbecue.settings.show_navic

Whether to show/use navic in the winbar.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.barbecue.settings.theme

Theme to be used for generating highlight groups dynamically.

Type: null or string or raw lua code

Default: null

Plugin default: "auto"

Declared by:

plugins.barbecue.settings.kinds.Array

icon for Array.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbecue.settings.kinds.Boolean

icon for Boolean.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbecue.settings.kinds.Class

icon for Class.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbecue.settings.kinds.Constant

icon for Constant.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbecue.settings.kinds.Constructor

icon for Constructor.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbecue.settings.kinds.Enum

icon for Enum.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbecue.settings.kinds.EnumMember

icon for EnumMember.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbecue.settings.kinds.Event

icon for Event.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbecue.settings.kinds.Field

icon for Field.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbecue.settings.kinds.File

icon for File.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbecue.settings.kinds.Function

icon for Function.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbecue.settings.kinds.Interface

icon for Interface.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbecue.settings.kinds.Key

icon for Key.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbecue.settings.kinds.Method

icon for Method.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbecue.settings.kinds.Module

icon for Module.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbecue.settings.kinds.Namespace

icon for Namespace.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbecue.settings.kinds.Null

icon for Null.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbecue.settings.kinds.Number

icon for Number.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbecue.settings.kinds.Object

icon for Object.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbecue.settings.kinds.Operator

icon for Operator.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbecue.settings.kinds.Package

icon for Package.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbecue.settings.kinds.Property

icon for Property.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbecue.settings.kinds.String

icon for String.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbecue.settings.kinds.Struct

icon for Struct.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbecue.settings.kinds.TypeParameter

icon for TypeParameter.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbecue.settings.kinds.Variable

icon for Variable.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbecue.settings.modifiers.basename

Filename modifiers applied to basename.

See: :help filename-modifiers

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.barbecue.settings.modifiers.dirname

Filename modifiers applied to dirname.

See: :help filename-modifiers

Type: null or string or raw lua code

Default: null

Plugin default: ":~:."

Declared by:

plugins.barbecue.settings.symbols.ellipsis

Truncation indicator.

Type: null or string or raw lua code

Default: null

Plugin default: "…"

Declared by:

plugins.barbecue.settings.symbols.modified

Modification indicator.

Type: null or string or raw lua code

Default: null

Plugin default: "●"

Declared by:

plugins.barbecue.settings.symbols.separator

Entry separator.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

better-escape

URL: https://github.com/max397574/better-escape.nvim/

Maintainers: Gaetan Lepage

plugins.better-escape.enable

Whether to enable better-escape.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.better-escape.package

The better-escape.nvim package to use.

Type: package

Default: pkgs.vimPlugins.better-escape-nvim

Declared by:

plugins.better-escape.autoLoad

Whether to automatically load better-escape.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.better-escape.lazyLoad

Lazy-load settings for better-escape.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.better-escape.lazyLoad.enable

lazy-loading for better-escape.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.better-escape.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.better-escape.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.better-escape.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.better-escape.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.better-escape.settings

Options provided to the require('better_escape').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  mapping = {
    i = {
      " " = {
        "<tab>" = {
          __raw = ''
            function()
              -- Defer execution to avoid side-effects
              vim.defer_fn(function()
                  -- set undo point
                  vim.o.ul = vim.o.ul
                  require("luasnip").expand_or_jump()
              end, 1)
            end
          '';
        };
      };
    };
  };
  timeout = "vim.o.timeoutlen";
}

Declared by:

plugins.better-escape.settings.default_mappings

Whether to enable default key mappings.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.better-escape.settings.mappings

Define mappings for each mode.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  c = {
    j = {
      j = "<Esc>";
      k = "<Esc>";
    };
  };
  i = {
    j = {
      j = "<Esc>";
      k = "<Esc>";
    };
  };
  s = {
    j = {
      k = "<Esc>";
    };
  };
  t = {
    j = {
      j = "<Esc>";
      k = "<Esc>";
    };
  };
  v = {
    j = {
      k = "<Esc>";
    };
  };
}

Example:

{
  i = {
    " " = {
      "<tab>" = {
        __raw = ''
            function()
              -- Defer execution to avoid side-effects
              vim.defer_fn(function()
                  -- set undo point
                  vim.o.ul = vim.o.ul
                  require("luasnip").expand_or_jump()
              end, 1)
          end
        '';
      };
    };
  };
}

Declared by:

plugins.better-escape.settings.timeout

The time in which the keys must be hit in ms. Uses the value of vim.o.timeoutlen (options.timeoutlen in nixvim) by default.

Type: null or lua code string or (unsigned integer, meaning >=0)

Default: null

Plugin default: "vim.o.timeoutlen"

Declared by:

blink-cmp

URL: https://github.com/saghen/blink.cmp

Maintainers: George Bals, Austin Horstman


Performant, batteries-included completion plugin for Neovim.

Whether to enable blink.cmp.

Type: boolean

Default: false

Example: true

Declared by:

The blink.cmp package to use.

Type: package

Default: pkgs.vimPlugins.blink-cmp

Declared by:

Whether to automatically load blink.cmp when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

Whether to enable LSP capabilities for blink-cmp.

Type: boolean

Default: true

Example: false

Declared by:

Lazy-load settings for blink.cmp.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

lazy-loading for blink.cmp

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

Options provided to the require('blink-cmp').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  appearance = {
    nerd_font_variant = "normal";
    use_nvim_cmp_as_default = true;
  };
  completion = {
    accept = {
      auto_brackets = {
        enabled = true;
        semantic_token_resolution = {
          enabled = false;
        };
      };
    };
    documentation = {
      auto_show = true;
    };
  };
  keymap = {
    preset = "super-tab";
  };
  signature = {
    enabled = true;
  };
  sources = {
    cmdline = [ ];
    providers = {
      buffer = {
        score_offset = -7;
      };
      lsp = {
        fallbacks = [ ];
      };
    };
  };
}

Declared by:

A function that returns whether blink-cmp should be enabled or not for this buffer.

Type: null or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function()
    return vim.bo.buftype ~= 'prompt' and vim.b.completion ~= false
  end
''

Example:

lib.nixvim.mkRaw ''
  function()
    return not vim.tbl_contains({ "lua", "markdown" }, vim.bo.filetype)
      and vim.bo.buftype ~= "prompt"
      and vim.b.completion ~= false
  end
''

Declared by:

The keymap can be:

  • A preset ('default' | 'super-tab' | 'enter')
  • A table of keys => command[] (optionally with a “preset” key to merge with a preset) When specifying ‘preset’ in the keymap table, the custom key mappings are merged with the preset, and any conflicting keys will overwrite the preset mappings.

Type: null or (attribute set of anything) or value false (singular enum) or raw lua code

Default: null

Plugin default:

{
  preset = "default";
}

Example:

{
  "<C-b>" = [
    "scroll_documentation_up"
    "fallback"
  ];
  "<C-e>" = [
    "hide"
  ];
  "<C-f>" = [
    "scroll_documentation_down"
    "fallback"
  ];
  "<C-n>" = [
    "select_next"
    "fallback"
  ];
  "<C-p>" = [
    "select_prev"
    "fallback"
  ];
  "<C-space>" = [
    "show"
    "show_documentation"
    "hide_documentation"
  ];
  "<C-y>" = [
    "select_and_accept"
  ];
  "<Down>" = [
    "select_next"
    "fallback"
  ];
  "<S-Tab>" = [
    "snippet_backward"
    "fallback"
  ];
  "<Tab>" = [
    "snippet_forward"
    "fallback"
  ];
  "<Up>" = [
    "select_prev"
    "fallback"
  ];
}

Declared by:

Highlight namespace.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "vim.api.nvim_create_namespace('blink_cmp')"

Declared by:

Kind icons definitions.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  Class = "󱡠";
  Color = "󰏘";
  Constant = "󰏿";
  Constructor = "󰒓";
  Enum = "󰦨";
  EnumMember = "󰦨";
  Event = "󱐋";
  Field = "󰜢";
  File = "󰈔";
  Folder = "󰉋";
  Function = "󰊕";
  Interface = "󱡠";
  Keyword = "󰻾";
  Method = "󰊕";
  Module = "󰅩";
  Operator = "󰪚";
  Property = "󰖷";
  Reference = "󰬲";
  Snippet = "󱄽";
  Struct = "󱡠";
  Text = "󰉿";
  TypeParameter = "󰬛";
  Unit = "󰪚";
  Value = "󰦨";
  Variable = "󰆦";
}

Declared by:

Set to "mono" for Nerd Font Mono or "normal" for Nerd Font.

Adjusts spacing to ensure icons are aligned.

Type: null or one of “mono”, “normal” or raw lua code

Default: null

Plugin default: "mono"

Declared by:

Sets the fallback highlight groups to nvim-cmp’s highlight groups.

Useful for when your theme doesn’t support blink.cmp, will be removed in a future release.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

Create an undo point when accepting a completion item.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

Whether to auto-insert brackets for functions.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

Blocked filetypes.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

Default brackets to use for unknown languages.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "("
  ")"
]

Declared by:

Overrides the default blocked filetypes.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

Brackets override per filetype.

Type: null or (attribute set of ((list of string) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

Synchronously use the kind of the item to determine if brackets should be added.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

Blocked filetypes.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "typescriptreact"
  "javascriptreact"
  "vue"
  "rust"
]

Declared by:

Asynchronously use semantic token to determine if brackets should be added

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

Blocked filetypes.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "java"
]

Declared by:

How long to wait for semantic tokens to return before assuming no brackets should be added.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 400

Declared by:

Controls whether the documentation window will automatically show when selecting a completion item.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

Delay before showing the documentation window.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 500

Declared by:

Whether to use treesitter highlighting, disable if you run into performance issues.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

Delay before updating the documentation window when selecting a new item, while an existing item is still visible.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 50

Declared by:

Border settings for the documentation window.

Type: null or anything

Default: null

Plugin default: "padded"

Declared by:

Desired minimum height of the documentation window.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 10

Declared by:

Desired minimum width of the documentation window.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 50

Declared by:

Maximum height of the documentation window.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 20

Declared by:

Maximum width of the documentation window.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 80

Declared by:

Minimum width of the documentation window.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 10

Declared by:

Whether to enable scrollbar in the documentation window.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

winblend value.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

Highlight groups for the documentation window.

Type: null or string or raw lua code

Default: null

Plugin default: "Normal:BlinkCmpDoc,FloatBorder:BlinkCmpDocBorder,EndOfBuffer:BlinkCmpDoc"

Declared by:

Which directions to show the window, for the north menu window direction, falling back to the next direction when there’s not enough space.

Type: null or (list of (one of “n”, “s”, “e”, “w” or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "e"
  "w"
  "n"
  "s"
]

Declared by:

Which directions to show the window, for the south menu window direction, falling back to the next direction when there’s not enough space.

Type: null or (list of (one of “n”, “s”, “e”, “w” or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "e"
  "w"
  "s"
  "n"
]

Declared by:

Displays a preview of the selected item on the current line.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

After matching with regex, any characters matching this regex at the prefix will be excluded.

Type: null or string or raw lua code

Default: null

Plugin default: "-"

Declared by:

  • "prefix" will fuzzy match on the text before the cursor
  • "full" will fuzzy match on the text before and after the cursor

Example: "foo_|_bar" will match "foo_" for "prefix" and "foo__bar" for "full".

Type: null or one of “prefix”, “full” or raw lua code

Default: null

Plugin default: "prefix"

Declared by:

Regex used to get the text when fuzzy matching.

Type: null or string or raw lua code

Default: null

Plugin default: "[-_]\\|\\k"

Declared by:

Maximum number of items to display.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 200

Declared by:

Controls if completion items will be selected automatically, and whether selection automatically inserts.

Type: null or string or attribute set of anything or raw lua code

Default: null

Plugin default:

{
  auto_insert = true;
  preselect = true;
}

Declared by:

When true, calling select_next at the bottom of the completion list will select the first completion item.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

When true, calling select_prev at the top of the completion list will select the last completion item.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

Whether to enable the completion menu.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

Whether to automatically show the window when new completion items are available.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

Border settings.

Type: null or anything

Default: null

Plugin default: "none"

Declared by:

Screen coordinates (0-indexed) of the command line.

Type: null or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function()
    if vim.g.ui_cmdline_pos ~= nil then
      local pos = vim.g.ui_cmdline_pos -- (1, 0)-indexed
      return { pos[1] - 1, pos[2] }
    end
    local height = (vim.o.cmdheight == 0) and 1 or vim.o.cmdheight
    return { vim.o.lines - height, 0 }
  end
''

Declared by:

Which directions to show the window, falling back to the next direction when there’s not enough space.

Type: null or (list of (one of “n”, “s” or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "s"
  "n"
]

Declared by:

Controls how the completion items are rendered on the popup window.

Type: null or (attribute set of anything)

Default: null

Declared by:

Maximum height of the completion menu.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 10

Declared by:

Minimum width of the completion menu.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 15

Declared by:

Note that the gutter will be disabled when border != "none".

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

Keep the cursor X lines away from the top/bottom of the window.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 2

Declared by:

winblend value for the completion menu.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

Highlight groups for the completion menu.

Type: null or string or raw lua code

Default: null

Plugin default: "Normal:BlinkCmpMenu,FloatBorder:BlinkCmpMenuBorder,CursorLine:BlinkCmpMenuSelection,Search:None"

Declared by:

Warning: not yet implemented.

Type: null or one of “top_down”, “bottom_up” or raw lua code

Default: null

Plugin default: "bottom_up"

Declared by:

Warning: not yet implemented.

Type: null or one of “top_down”, “bottom_up” or raw lua code

Default: null

Plugin default: "top_down"

Declared by:

When true, will prefetch the completion items when entering insert mode. WARN: buggy, not recommended unless you’d like to help develop prefetching.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

When false, will not show the completion window when in a snippet.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

When both this and show_on_trigger_character are true, will show the completion window when the cursor comes after a trigger character after accepting an item.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

LSPs can indicate when to show the completion window via trigger characters.

However, some LSPs (i.e. tsserver) return characters that would essentially always show the window. We block these by default.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function()
    if vim.api.nvim_get_mode().mode == 'c' then return {} end
      return { ' ', '\n', '\t' }
    end
''

Declared by:

When both this and show_on_trigger_character are true, will show the completion window when the cursor comes after a trigger character when entering insert mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

When true, will show the completion window after typing a character that matches the keyword.regex.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

When true, will show the completion window after typing a trigger character.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

List of trigger characters (on top of show_on_blocked_trigger_characters) that won’t trigger the completion window when the cursor comes after a trigger character when entering insert mode/accepting an item

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "'"
  "\""
  "("
  "{"
  "["
]

Declared by:

Controls which sorts to use and in which order, these three are currently the only allowed options

Type: null or (list of (one of “label”, “sort_text”, “kind”, “score” or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "score"
  "sort_text"
]

Declared by:

Tracks the most recently/frequently used items and boosts the score of the item.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

Boosts the score of items matching nearby words.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

When enabled, allows for a number of typos relative to the length of the query. Disabling this matches the behavior of fzf.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

UNSAFE!! When enabled, disables the lock and fsync when writing to the frecency database. This should only be used on unsupported platforms (i.e. alpine termux).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

Whenther or not to automatically download a prebuilt binary from github. If this is set to false you will need to manually build the fuzzy binary dependencies by running cargo build --release.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

Extra arguments that will be passed to curl like [ "curl" ..extra_curl_args ..built_in_args ].

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

When downloading a prebuilt binary, force the downloader to use this system triple.

If this is unset then the downloader will attempt to infer the system triple from jit.os and jit.arch. Check the latest release for all available system triples.

WARN: Beware that main may be incompatible with the version you select

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

When downloading a prebuilt binary, force the downloader to resolve this version.

If this is unset then the downloader will attempt to infer the version from the checked out git tag (if any).

WARN: Beware that main may be incompatible with the version you select.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

Ignores mismatched version between the built binary and the current git sha, when building locally.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

Whether to enable experimental signature help support.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

Whether to enable signature trigger.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

Blocked retrigger characters.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

Blocked trigger characters.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

When true, will show the signature help window when the cursor comes after a trigger character when entering insert mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

Border settings for the signature window.

Type: null or anything

Default: null

Plugin default: "padded"

Declared by:

Which directions to show the window, falling back to the next direction when there’s not enough space, or another window is in the way.

Type: null or (list of (one of “n”, “s” or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "n"
  "s"
]

Declared by:

Maximum height of the signature window.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 10

Declared by:

Maximum width of the signature window.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 100

Declared by:

Minimum width of the signature window.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1

Declared by:

Note that the gutter will be disabled when border != "none".

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

Disable if you run into performance issues.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

winblend value for the signature window.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

Highlight groups for the signature window.

Type: null or string or raw lua code

Default: null

Plugin default: "Normal:BlinkCmpSignatureHelp,FloatBorder:BlinkCmpSignatureHelpBorder"

Declared by:

Function to use when checking if a snippet is active.

Type: null or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "function(filter) return vim.snippet.active(filter) end"

Declared by:

Function to use when expanding LSP provided snippets.

Type: null or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "function(snippet) vim.snippet.expand(snippet) end"

Declared by:

Function to use when jumping between tab stops in a snippet, where direction can be negative or positive.

Type: null or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "function(direction) vim.snippet.jump(direction) end"

Declared by:

cmdline or buffer.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function()
    local type = vim.fn.getcmdtype()
    -- Search forward and backward
    if type == '/' or type == '?' then return { 'buffer' } end
    -- Commands
    if type == ':' then return { 'cmdline' } end
    return {}
  end
''

Declared by:

Default sources.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "lsp"
  "path"
  "snippets"
  "buffer"
]

Declared by:

Minimum number of characters in the keyword to trigger.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

Sources per filetype.

Type: null or (attribute set of ((list of string) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

Function to transform the items before they’re returned.

Type: null or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "function(_, items) return items end"

Declared by:

Definition of completion providers.

Type: null or (attribute set of (attribute set of anything))

Default: null

Example:

{
  buffer = {
    score_offset = -7;
  };
  lsp = {
    fallbacks = [ ];
  };
}

Declared by:

Whether or not to enable the provider.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Example:

{
  __raw = ''
    function()
      return true
    end
  '';
}

Declared by:

Whether blink should wait for the source to return before showing the completions.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

Warning: not yet implemented.

Type: null or anything or raw lua code

Default: null

Plugin default: null

Declared by:

If this provider returns 0 items, it will fallback to these providers.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Example:

[
  "buffer"
]

Declared by:

Maximum number of items to display in the menu.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: null

Declared by:

Minimum number of characters in the keyword to trigger the provider.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

The module name to load.

Type: null or string or raw lua code

Default: null

Plugin default: null

Example: "blink.cmp.sources.lsp"

Declared by:

The name of the source.

Type: null or string or raw lua code

Default: null

Plugin default: null

Example: "LSP"

Declared by:

Options for this provider.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

Override source options.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

Boost/penalize the score of the items.

Type: null or signed integer or raw lua code

Default: null

Plugin default: 0

Example: 3

Declared by:

Whether or not to show the items.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

How long to wait for the provider to return before showing completions and treating it as asynchronous.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 2000

Declared by:

Function to transform the items before they’re returned.

Type: null or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "function(_, items) return items end"

Example:

lib.nixvim.mkRaw ''
  function(_, items)
    -- demote snippets
    for _, item in ipairs(items) do
      if item.kind == require('blink.cmp.types').CompletionItemKind.Snippet then
        item.score_offset = item.score_offset - 3
      end
    end
  
    -- filter out text items, since we have the buffer source
    return vim.tbl_filter(
      function(item) return item.kind ~= require('blink.cmp.types').CompletionItemKind.Text end,
      items
    )
  end
''

Declared by:

blink-cmp-copilot

URL: https://github.com/giuxtaposition/blink-cmp-copilot/

Maintainers: Heitor Augusto


This plugin should be configured through blink-cmp's source settings.

For example:

plugins.blink-cmp = {
  enable = true;
  settings.sources = {
    copilot = {
      async = true;
      module = "blink-cmp-copilot";
      name = "copilot";
      score_offset = 100;
    };
  };
};

And then you can add it as a source for blink-cmp:

plugins.blink-cmp = {
  enable = true;
  settings.sources.default = [
    "lsp"
    "path"
    "luasnip"
    "buffer"
    "copilot"
  ];
};

Whether to enable blink-cmp-copilot.

Type: boolean

Default: false

Example: true

Declared by:

The blink-cmp-copilot package to use.

Type: package

Default: pkgs.vimPlugins.blink-cmp-copilot

Declared by:

Whether to automatically load blink-cmp-copilot when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

Lazy-load settings for blink-cmp-copilot.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

lazy-loading for blink-cmp-copilot

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

blink-cmp-dictionary

URL: https://github.com/Kaiser-Yang/blink-cmp-dictionary/

Maintainers: Austin Horstman


This plugin should be configured through blink-cmp's sources.providers settings.

For example:

plugins.blink-cmp = {
  enable = true;
  settings.sources.providers = {
    dictionary = {
      module = "blink-cmp-dictionary";
      name = "Dict";
      score_offset = 100;
      min_keyword_length = 3;
      # Optional configurations
      opts = {
      };
    };
  };
};

And then you can add it to blink-cmp's sources.default option:

plugins.blink-cmp = {
  enable = true;
  settings.sources.default = [
    "lsp"
    "path"
    "luasnip"
    "buffer"
    "dictionary"
  ];
};

Whether to enable blink-cmp-dictionary.

Type: boolean

Default: false

Example: true

Declared by:

The blink-cmp-dictionary package to use.

Type: package

Default: pkgs.vimPlugins.blink-cmp-dictionary

Declared by:

Whether to automatically load blink-cmp-dictionary when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

Lazy-load settings for blink-cmp-dictionary.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

lazy-loading for blink-cmp-dictionary

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

blink-cmp-git

URL: https://github.com/Kaiser-Yang/blink-cmp-git/

Maintainers: Austin Horstman


This plugin should be configured through blink-cmp's sources.providers settings.

For example:

plugins.blink-cmp = {
  enable = true;
  settings.sources.providers = {
    git = {
      module = "blink-cmp-git";
      name = "git";
      score_offset = 100;
      opts = {
        commit = { };
        git_centers = { git_hub = { }; };
      };
    };
  };
};

And then you can add it to blink-cmp's sources.default option:

plugins.blink-cmp = {
  enable = true;
  settings.sources.default = [
    "lsp"
    "path"
    "luasnip"
    "buffer"
    "git"
  ];
};

Whether to enable blink-cmp-git.

Type: boolean

Default: false

Example: true

Declared by:

The blink-cmp-git package to use.

Type: package

Default: pkgs.vimPlugins.blink-cmp-git

Declared by:

Whether to automatically load blink-cmp-git when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

Lazy-load settings for blink-cmp-git.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

lazy-loading for blink-cmp-git

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

blink-cmp-spell

URL: https://github.com/ribru17/blink-cmp-spell/

Maintainers: Austin Horstman


This plugin should be configured through blink-cmp's sources.providers settings.

For example:

plugins.blink-cmp = {
  enable = true;
  settings.sources.providers = {
    spell = {
      module = "blink-cmp-spell";
      name = "Spell";
      score_offset = 100;
      opts = {
      };
    };
  };
};

And then you can add it to blink-cmp's sources.default option:

plugins.blink-cmp = {
  enable = true;
  settings.sources.default = [
    "lsp"
    "path"
    "luasnip"
    "buffer"
    "spell"
  ];
};

Whether to enable blink-cmp-spell.

Type: boolean

Default: false

Example: true

Declared by:

The blink-cmp-spell package to use.

Type: package

Default: pkgs.vimPlugins.blink-cmp-spell

Declared by:

Whether to automatically load blink-cmp-spell when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

Lazy-load settings for blink-cmp-spell.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

lazy-loading for blink-cmp-spell

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

blink-compat

URL: https://github.com/Saghen/blink.compat/

Maintainers: Heitor Augusto

Whether to enable blink.compat.

Type: boolean

Default: false

Example: true

Declared by:

The blink.compat package to use.

Type: package

Default: pkgs.vimPlugins.blink-compat

Declared by:

Whether to automatically load blink.compat when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

Lazy-load settings for blink.compat.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

lazy-loading for blink.compat

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

Options provided to the require('blink-compat').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  debug = false;
  impersonate_nvim_cmp = true;
}

Declared by:

Whether to enable debug mode. Might be useful for troubleshooting.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

Whether to impersonate nvim-cmp

Some plugins lazily register their completion source when nvim-cmp is loaded, so pretend that we are nvim-cmp, and that nvim-cmp is loaded. most plugins don’t do this, so this option should rarely be needed.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

blink-copilot

URL: https://github.com/fang2hou/blink-copilot/

Maintainers: Austin Horstman


This plugin should be configured through blink-cmp's sources.providers settings.

plugins.copilot-lua will be enabled by default, to provide a working setup out-of-the-box. You may disable it by explicitly adding plugins.copilot-lua.enable = false to your configuration.

For example:

plugins.blink-cmp = {
  enable = true;
  settings.sources.providers = {
    copilot = {
      async = true;
      module = "blink-copilot";
      name = "copilot";
      score_offset = 100;
      # Optional configurations
      opts = {
        max_completions = 3;
        max_attempts = 4;
        kind = "Copilot";
        debounce = 750;
        auto_refresh = {
          backward = true;
          forward = true;
        };
      };
    };
  };
};

And then you can add it to blink-cmp's sources.default option:

plugins.blink-cmp = {
  enable = true;
  settings.sources.default = [
    "lsp"
    "path"
    "luasnip"
    "buffer"
    "copilot"
  ];
};

Whether to enable blink-copilot.

Type: boolean

Default: false

Example: true

Declared by:

The blink-copilot package to use.

Type: package

Default: pkgs.vimPlugins.blink-copilot

Declared by:

Whether to automatically load blink-copilot when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

Lazy-load settings for blink-copilot.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

lazy-loading for blink-copilot

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

blink-emoji

URL: https://github.com/moyiz/blink-emoji.nvim/

Maintainers: Austin Horstman


This plugin should be configured through blink-cmp's sources.providers settings.

For example:

plugins.blink-cmp = {
  enable = true;
  settings.sources.providers = {
    emoji = {
      module = "blink-emoji";
      name = "Emoji";
      score_offset = 15;
      # Optional configurations
      opts = {
        insert = true;
      };
    };
  };
};

And then you can add it to blink-cmp's sources.default option:

plugins.blink-cmp = {
  enable = true;
  settings.sources.default = [
    "lsp"
    "path"
    "luasnip"
    "buffer"
    "emoji"
  ];
};

Whether to enable blink-emoji.nvim.

Type: boolean

Default: false

Example: true

Declared by:

The blink-emoji.nvim package to use.

Type: package

Default: pkgs.vimPlugins.blink-emoji-nvim

Declared by:

Whether to automatically load blink-emoji.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

Lazy-load settings for blink-emoji.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

lazy-loading for blink-emoji.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

blink-ripgrep

URL: https://github.com/mikavilpas/blink-ripgrep.nvim/

Maintainers: Austin Horstman


This plugin should be configured through blink-cmp's sources.providers settings.

For example:

plugins.blink-cmp = {
  enable = true;
  settings.sources.providers = {
    ripgrep = {
      async = true;
      module = "blink-ripgrep";
      name = "Ripgrep";
      score_offset = 100;
      opts = {
        prefix_min_len = 3;
        context_size = 5;
        max_filesize = "1M";
        project_root_marker = ".git";
        project_root_fallback = true;
        search_casing = "--ignore-case";
        additional_rg_options = {};
        fallback_to_regex_highlighting = true;
        ignore_paths = {};
        additional_paths = {};
        debug = false;
      };
    };
  };
};

And then you can add it to blink-cmp's sources.default option:

plugins.blink-cmp = {
  enable = true;
  settings.sources.default = [
    "lsp"
    "path"
    "luasnip"
    "buffer"
    "ripgrep"
  ];
};

Whether to enable blink-ripgrep.nvim.

Type: boolean

Default: false

Example: true

Declared by:

The blink-ripgrep.nvim package to use.

Type: package

Default: pkgs.vimPlugins.blink-ripgrep-nvim

Declared by:

Whether to automatically load blink-ripgrep.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

Lazy-load settings for blink-ripgrep.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

lazy-loading for blink-ripgrep.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

bufdelete

URL: https://github.com/famiu/bufdelete.nvim/

Maintainers: Matt Sturgeon


This plugin provides two commands, :Bdelete and :Bwipeout. They work exactly the same as :bdelete and :bwipeout, except they keep your window layout intact.

There's also two Lua functions provided, bufdelete and bufwipeout, which do the same thing as their command counterparts. Both take three arguments, buffers, force and switchable_buffers.

Here's an example of how to use the functions:

  -- Forcibly delete current buffer
  require('bufdelete').bufdelete(0, true)

  -- Wipeout buffer number 100 without force
  require('bufdelete').bufwipeout(100)

  -- Delete buffer 7 and 30 without force.
  require('bufdelete').bufdelete({7, 30})

  -- Delete buffer matching foo.txt with force
  require('bufdelete').bufdelete("foo.txt", true)

  -- Delete buffer matching foo.txt, buffer matching bar.txt and buffer 3 with force
  require('bufdelete').bufdelete({"foo.txt", "bar.txt", 3}, true)

  -- Delete current buffer and switch to one of buffer 3, 5 or 10
  require('bufdelete').bufdelete(0, false, { 3, 5, 10 })

See the plugin's README for more details.

plugins.bufdelete.enable

Whether to enable bufdelete.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.bufdelete.package

The bufdelete.nvim package to use.

Type: package

Default: pkgs.vimPlugins.bufdelete-nvim

Declared by:

plugins.bufdelete.autoLoad

Whether to automatically load bufdelete.nvim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.bufdelete.settings

The configuration options for bufdelete without the bufdelete_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal bufdelete_foo_bar=1
  • hello = "world" -> :setglobal bufdelete_hello="world"
  • some_toggle = true -> :setglobal bufdelete_some_toggle
  • other_toggle = false -> :setglobal nobufdelete_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  buf_filter = ''
    function()
      -- TODO: return a list of buffers
      return { }
    end
  '';
}

Declared by:

plugins.bufdelete.settings.buf_filter

Function that determines buffers that bufdelete.nvim can switch to, instead of the default behavior of switching to any buffer.

Must be a function that takes no argument and returns a list of buffers.

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

bufferline

URL: https://github.com/akinsho/bufferline.nvim/

Maintainers: Austin Horstman

plugins.bufferline.enable

Whether to enable bufferline.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.bufferline.package

The bufferline.nvim package to use.

Type: package

Default: pkgs.vimPlugins.bufferline-nvim

Declared by:

plugins.bufferline.autoLoad

Whether to automatically load bufferline.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.bufferline.lazyLoad

Lazy-load settings for bufferline.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.bufferline.lazyLoad.enable

lazy-loading for bufferline.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.bufferline.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.bufferline.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.bufferline.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.bufferline.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.bufferline.settings

Options provided to the require('bufferline').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  highlights = {
    buffer_selected = {
      bg = "#363a4f";
    };
    fill = {
      bg = "#1e2030";
    };
    numbers_selected = {
      bg = "#363a4f";
    };
    separator = {
      fg = "#1e2030";
    };
    separator_selected = {
      bg = "#363a4f";
      fg = "#1e2030";
    };
    separator_visible = {
      fg = "#1e2030";
    };
    tab_selected = {
      bg = "#363a4f";
    };
  };
  options = {
    always_show_bufferline = true;
    buffer_close_icon = "󰅖";
    close_icon = "";
    custom_filter = ''
      function(buf_number, buf_numbers)
        -- filter out filetypes you don't want to see
        if vim.bo[buf_number].filetype ~= "<i-dont-want-to-see-this>" then
            return true
        end
        -- filter out by buffer name
        if vim.fn.bufname(buf_number) ~= "<buffer-name-I-dont-want>" then
            return true
        end
        -- filter out based on arbitrary rules
        -- e.g. filter out vim wiki buffer from tabline in your work repo
        if vim.fn.getcwd() == "<work-repo>" and vim.bo[buf_number].filetype ~= "wiki" then
            return true
        end
        -- filter out by it's index number in list (don't show first buffer)
        if buf_numbers[1] ~= buf_number then
            return true
        end
      end
    '';
    diagnostics = "nvim_lsp";
    diagnostics_indicator = ''
      function(count, level, diagnostics_dict, context)
        local s = ""
        for e, n in pairs(diagnostics_dict) do
          local sym = e == "error" and " "
            or (e == "warning" and " " or "" )
          if(sym ~= "") then
            s = s .. " " .. n .. sym
          end
        end
        return s
      end
    '';
    enforce_regular_tabs = false;
    get_element_icon = ''
      function(element)
        -- element consists of {filetype: string, path: string, extension: string, directory: string}
        -- This can be used to change how bufferline fetches the icon
        -- for an element e.g. a buffer or a tab.
        -- e.g.
        local icon, hl = require('nvim-web-devicons').get_icon_by_filetype(element.filetype, { default = false })
        return icon, hl
      end
    '';
    groups = {
      items = [
        {
          highlight = {
            fg = "#a6da95";
            sp = "#494d64";
            underline = true;
          };
          matcher = {
            __raw = ''
              function(buf)
                return buf.name:match('%test') or buf.name:match('%.spec')
              end
            '';
          };
          name = "Tests";
          priority = 2;
        }
        {
          auto_close = false;
          highlight = {
            fg = "#ffffff";
            sp = "#494d64";
            undercurl = true;
          };
          matcher = {
            __raw = ''
              function(buf)
                return buf.name:match('%.md') or buf.name:match('%.txt')
              end
            '';
          };
          name = "Docs";
        }
      ];
      options = {
        toggle_hidden_on_enter = true;
      };
    };
    indicator = {
      icon = "▎";
      style = "icon";
    };
    left_trunc_marker = "";
    max_name_length = 18;
    max_prefix_length = 15;
    mode = "buffers";
    modified_icon = "●";
    numbers = {
      __raw = ''
        function(opts)
          return string.format('%s·%s', opts.raise(opts.id), opts.lower(opts.ordinal))
        end
      '';
    };
    offsets = [
      {
        filetype = "neo-tree";
        highlight = "Directory";
        text = "File Explorer";
        text_align = "center";
      }
    ];
    persist_buffer_sort = true;
    right_trunc_marker = "";
    separator_style = [
      "|"
      "|"
    ];
    show_buffer_close_icons = true;
    show_buffer_icons = true;
    show_close_icon = true;
    show_tab_indicators = true;
    sort_by = {
      __raw = ''
        function(buffer_a, buffer_b)
            local modified_a = vim.fn.getftime(buffer_a.path)
            local modified_b = vim.fn.getftime(buffer_b.path)
            return modified_a > modified_b
        end
      '';
    };
    tab_size = 18;
  };
}

Declared by:

plugins.bufferline.settings.highlights.background

Highlight group definition for background.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.background.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.background.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.background.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.background.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.background.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.background.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.background.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.background.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.background.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.background.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.background.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.background.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.background.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.background.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.background.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.background.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.background.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.background.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.background.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_selected

Highlight group definition for buffer_selected.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.buffer_selected.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_selected.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_selected.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_selected.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_selected.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_selected.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_selected.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_selected.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_selected.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_selected.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_selected.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_selected.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_selected.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_selected.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_selected.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_selected.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_selected.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_selected.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_selected.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_visible

Highlight group definition for buffer_visible.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.buffer_visible.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_visible.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_visible.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_visible.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_visible.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_visible.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_visible.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_visible.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_visible.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_visible.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_visible.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_visible.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_visible.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_visible.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_visible.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_visible.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_visible.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_visible.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.buffer_visible.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button

Highlight group definition for close_button.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.close_button.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_selected

Highlight group definition for close_button_selected.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.close_button_selected.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_selected.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_selected.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_selected.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_selected.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_selected.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_selected.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_selected.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_selected.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_selected.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_selected.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_selected.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_selected.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_selected.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_selected.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_selected.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_selected.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_selected.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_selected.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_visible

Highlight group definition for close_button_visible.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.close_button_visible.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_visible.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_visible.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_visible.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_visible.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_visible.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_visible.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_visible.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_visible.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_visible.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_visible.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_visible.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_visible.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_visible.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_visible.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_visible.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_visible.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_visible.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.close_button_visible.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic

Highlight group definition for diagnostic.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.diagnostic.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_selected

Highlight group definition for diagnostic_selected.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.diagnostic_selected.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_selected.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_selected.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_selected.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_selected.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_selected.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_selected.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_selected.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_selected.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_selected.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_selected.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_selected.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_selected.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_selected.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_selected.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_selected.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_selected.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_selected.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_selected.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_visible

Highlight group definition for diagnostic_visible.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.diagnostic_visible.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_visible.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_visible.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_visible.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_visible.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_visible.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_visible.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_visible.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_visible.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_visible.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_visible.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_visible.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_visible.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_visible.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_visible.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_visible.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_visible.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_visible.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.diagnostic_visible.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate

Highlight group definition for duplicate.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.duplicate.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_selected

Highlight group definition for duplicate_selected.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.duplicate_selected.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_selected.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_selected.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_selected.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_selected.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_selected.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_selected.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_selected.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_selected.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_selected.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_selected.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_selected.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_selected.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_selected.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_selected.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_selected.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_selected.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_selected.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_selected.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_visible

Highlight group definition for duplicate_visible.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.duplicate_visible.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_visible.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_visible.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_visible.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_visible.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_visible.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_visible.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_visible.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_visible.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_visible.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_visible.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_visible.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_visible.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_visible.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_visible.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_visible.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_visible.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_visible.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.duplicate_visible.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error

Highlight group definition for error.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.error.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.error.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.error.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic

Highlight group definition for error_diagnostic.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_selected

Highlight group definition for error_diagnostic_selected.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_selected.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_selected.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_selected.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_selected.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_selected.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_selected.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_selected.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_selected.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_selected.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_selected.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_selected.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_selected.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_selected.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_selected.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_selected.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_selected.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_selected.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_selected.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_selected.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_visible

Highlight group definition for error_diagnostic_visible.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_visible.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_visible.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_visible.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_visible.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_visible.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_visible.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_visible.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_visible.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_visible.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_visible.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_visible.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_visible.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_visible.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_visible.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_visible.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_visible.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_visible.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_visible.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_diagnostic_visible.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_selected

Highlight group definition for error_selected.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.error_selected.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_selected.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_selected.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_selected.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_selected.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_selected.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_selected.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_selected.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_selected.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_selected.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_selected.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_selected.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_selected.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_selected.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_selected.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_selected.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_selected.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_selected.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_selected.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_visible

Highlight group definition for error_visible.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.error_visible.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_visible.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_visible.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_visible.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_visible.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_visible.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_visible.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_visible.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_visible.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_visible.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_visible.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_visible.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_visible.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_visible.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_visible.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_visible.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_visible.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_visible.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.error_visible.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.fill

Highlight group definition for fill.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.fill.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.fill.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.fill.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.fill.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.fill.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.fill.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.fill.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.fill.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.fill.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.fill.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.fill.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.fill.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.fill.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.fill.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.fill.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.fill.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.fill.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.fill.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.fill.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint

Highlight group definition for hint.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.hint.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic

Highlight group definition for hint_diagnostic.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_selected

Highlight group definition for hint_diagnostic_selected.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_selected.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_selected.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_selected.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_selected.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_selected.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_selected.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_selected.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_selected.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_selected.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_selected.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_selected.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_selected.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_selected.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_selected.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_selected.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_selected.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_selected.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_selected.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_selected.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_visible

Highlight group definition for hint_diagnostic_visible.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_visible.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_visible.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_visible.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_visible.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_visible.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_visible.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_visible.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_visible.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_visible.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_visible.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_visible.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_visible.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_visible.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_visible.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_visible.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_visible.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_visible.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_visible.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_diagnostic_visible.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_selected

Highlight group definition for hint_selected.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.hint_selected.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_selected.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_selected.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_selected.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_selected.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_selected.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_selected.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_selected.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_selected.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_selected.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_selected.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_selected.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_selected.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_selected.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_selected.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_selected.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_selected.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_selected.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_selected.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_visible

Highlight group definition for hint_visible.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.hint_visible.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_visible.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_visible.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_visible.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_visible.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_visible.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_visible.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_visible.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_visible.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_visible.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_visible.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_visible.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_visible.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_visible.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_visible.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_visible.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_visible.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_visible.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.hint_visible.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_selected

Highlight group definition for indicator_selected.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.indicator_selected.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_selected.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_selected.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_selected.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_selected.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_selected.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_selected.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_selected.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_selected.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_selected.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_selected.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_selected.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_selected.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_selected.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_selected.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_selected.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_selected.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_selected.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_selected.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_visible

Highlight group definition for indicator_visible.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.indicator_visible.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_visible.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_visible.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_visible.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_visible.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_visible.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_visible.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_visible.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_visible.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_visible.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_visible.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_visible.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_visible.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_visible.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_visible.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_visible.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_visible.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_visible.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.indicator_visible.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info

Highlight group definition for info.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.info.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.info.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.info.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic

Highlight group definition for info_diagnostic.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_selected

Highlight group definition for info_diagnostic_selected.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_selected.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_selected.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_selected.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_selected.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_selected.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_selected.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_selected.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_selected.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_selected.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_selected.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_selected.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_selected.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_selected.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_selected.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_selected.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_selected.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_selected.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_selected.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_selected.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_visible

Highlight group definition for info_diagnostic_visible.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_visible.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_visible.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_visible.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_visible.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_visible.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_visible.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_visible.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_visible.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_visible.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_visible.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_visible.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_visible.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_visible.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_visible.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_visible.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_visible.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_visible.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_visible.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_diagnostic_visible.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_selected

Highlight group definition for info_selected.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.info_selected.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_selected.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_selected.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_selected.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_selected.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_selected.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_selected.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_selected.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_selected.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_selected.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_selected.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_selected.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_selected.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_selected.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_selected.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_selected.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_selected.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_selected.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_selected.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_visible

Highlight group definition for info_visible.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.info_visible.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_visible.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_visible.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_visible.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_visible.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_visible.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_visible.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_visible.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_visible.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_visible.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_visible.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_visible.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_visible.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_visible.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_visible.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_visible.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_visible.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_visible.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.info_visible.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified

Highlight group definition for modified.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.modified.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_selected

Highlight group definition for modified_selected.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.modified_selected.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_selected.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_selected.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_selected.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_selected.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_selected.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_selected.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_selected.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_selected.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_selected.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_selected.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_selected.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_selected.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_selected.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_selected.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_selected.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_selected.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_selected.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_selected.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_visible

Highlight group definition for modified_visible.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.modified_visible.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_visible.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_visible.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_visible.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_visible.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_visible.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_visible.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_visible.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_visible.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_visible.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_visible.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_visible.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_visible.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_visible.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_visible.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_visible.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_visible.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_visible.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.modified_visible.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers

Highlight group definition for numbers.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.numbers.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_selected

Highlight group definition for numbers_selected.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.numbers_selected.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_selected.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_selected.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_selected.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_selected.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_selected.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_selected.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_selected.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_selected.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_selected.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_selected.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_selected.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_selected.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_selected.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_selected.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_selected.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_selected.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_selected.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_selected.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_visible

Highlight group definition for numbers_visible.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.numbers_visible.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_visible.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_visible.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_visible.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_visible.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_visible.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_visible.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_visible.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_visible.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_visible.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_visible.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_visible.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_visible.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_visible.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_visible.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_visible.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_visible.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_visible.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.numbers_visible.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.offset_separator

Highlight group definition for offset_separator.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.offset_separator.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.offset_separator.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.offset_separator.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.offset_separator.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.offset_separator.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.offset_separator.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.offset_separator.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.offset_separator.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.offset_separator.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.offset_separator.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.offset_separator.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.offset_separator.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.offset_separator.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.offset_separator.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.offset_separator.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.offset_separator.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.offset_separator.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.offset_separator.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.offset_separator.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick

Highlight group definition for pick.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.pick.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_selected

Highlight group definition for pick_selected.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.pick_selected.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_selected.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_selected.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_selected.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_selected.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_selected.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_selected.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_selected.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_selected.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_selected.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_selected.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_selected.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_selected.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_selected.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_selected.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_selected.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_selected.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_selected.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_selected.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_visible

Highlight group definition for pick_visible.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.pick_visible.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_visible.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_visible.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_visible.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_visible.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_visible.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_visible.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_visible.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_visible.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_visible.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_visible.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_visible.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_visible.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_visible.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_visible.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_visible.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_visible.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_visible.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.pick_visible.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator

Highlight group definition for separator.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.separator.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_selected

Highlight group definition for separator_selected.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.separator_selected.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_selected.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_selected.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_selected.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_selected.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_selected.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_selected.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_selected.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_selected.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_selected.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_selected.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_selected.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_selected.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_selected.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_selected.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_selected.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_selected.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_selected.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_selected.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_visible

Highlight group definition for separator_visible.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.separator_visible.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_visible.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_visible.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_visible.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_visible.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_visible.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_visible.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_visible.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_visible.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_visible.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_visible.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_visible.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_visible.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_visible.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_visible.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_visible.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_visible.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_visible.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.separator_visible.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab

Highlight group definition for tab.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.tab.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_close

Highlight group definition for tab_close.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.tab_close.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_close.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_close.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_close.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_close.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_close.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_close.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_close.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_close.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_close.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_close.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_close.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_close.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_close.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_close.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_close.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_close.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_close.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_close.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_selected

Highlight group definition for tab_selected.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.tab_selected.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_selected.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_selected.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_selected.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_selected.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_selected.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_selected.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_selected.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_selected.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_selected.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_selected.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_selected.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_selected.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_selected.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_selected.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_selected.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_selected.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_selected.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_selected.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator

Highlight group definition for tab_separator.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.tab_separator.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator_selected

Highlight group definition for tab_separator_selected.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.tab_separator_selected.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator_selected.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator_selected.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator_selected.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator_selected.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator_selected.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator_selected.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator_selected.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator_selected.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator_selected.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator_selected.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator_selected.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator_selected.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator_selected.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator_selected.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator_selected.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator_selected.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator_selected.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.tab_separator_selected.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.trunc_marker

Highlight group definition for trunc_marker.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.trunc_marker.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.trunc_marker.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.trunc_marker.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.trunc_marker.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.trunc_marker.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.trunc_marker.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.trunc_marker.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.trunc_marker.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.trunc_marker.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.trunc_marker.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.trunc_marker.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.trunc_marker.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.trunc_marker.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.trunc_marker.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.trunc_marker.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.trunc_marker.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.trunc_marker.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.trunc_marker.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.trunc_marker.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning

Highlight group definition for warning.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.warning.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic

Highlight group definition for warning_diagnostic.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_selected

Highlight group definition for warning_diagnostic_selected.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_selected.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_selected.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_selected.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_selected.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_selected.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_selected.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_selected.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_selected.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_selected.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_selected.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_selected.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_selected.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_selected.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_selected.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_selected.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_selected.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_selected.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_selected.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_selected.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_visible

Highlight group definition for warning_diagnostic_visible.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_visible.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_visible.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_visible.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_visible.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_visible.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_visible.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_visible.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_visible.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_visible.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_visible.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_visible.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_visible.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_visible.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_visible.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_visible.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_visible.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_visible.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_visible.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_diagnostic_visible.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_selected

Highlight group definition for warning_selected.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.warning_selected.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_selected.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_selected.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_selected.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_selected.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_selected.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_selected.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_selected.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_selected.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_selected.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_selected.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_selected.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_selected.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_selected.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_selected.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_selected.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_selected.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_selected.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_selected.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_visible

Highlight group definition for warning_visible.

Type: null or (attribute set)

Default: null

Plugin default: { }

Declared by:

plugins.bufferline.settings.highlights.warning_visible.bg

Color for the background (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_visible.blend

Integer between 0 and 100.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_visible.bold

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_visible.cterm

cterm attribute map, like |highlight-args|. If not set, cterm attributes will match those from the attribute map documented above.

Type: null or string or (attribute set)

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_visible.ctermbg

Sets background of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_visible.ctermfg

Sets foreground of cterm color.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_visible.default

Don’t override existing definition.

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_visible.fg

Color for the foreground (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_visible.italic

Type: null or boolean

Default: null

Declared by:

Name of another highlight group to link to.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_visible.nocombine

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_visible.reverse

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_visible.sp

Special color (color name or ‘#RRGGBB’).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_visible.standout

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_visible.strikethrough

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_visible.undercurl

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_visible.underdashed

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_visible.underdotted

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_visible.underdouble

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.highlights.warning_visible.underline

Type: null or boolean

Default: null

Declared by:

plugins.bufferline.settings.options.always_show_bufferline

Whether to always show the bufferline.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.bufferline.settings.options.auto_toggle_bufferline

Whether to automatically toggle bufferline.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.bufferline.settings.options.buffer_close_icon

The close icon for each buffer.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.bufferline.settings.options.close_command

Command or function run when closing a buffer.

Type: null or string or raw lua code

Default: null

Plugin default: "bdelete! %d"

Declared by:

plugins.bufferline.settings.options.close_icon

The close icon.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.bufferline.settings.options.color_icons

Whether or not to add the filetype icon highlights.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.bufferline.settings.options.custom_filter

fun(buf: number, bufnums: number[]): boolean

NOTE: this will be called a lot so don’t do any heavy processing here.

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.bufferline.settings.options.diagnostics

Diagnostics provider.

Set to false to disable.

Type: null or one of false, “nvim_lsp”, “coc” or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.bufferline.settings.options.diagnostics_indicator

Either null or a function that returns the diagnostics indicator.

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.bufferline.settings.options.diagnostics_update_on_event

Use nvim’s diagnostic handler.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.bufferline.settings.options.duplicates_across_groups

Whether to consider duplicate paths in different groups as duplicates.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.bufferline.settings.options.enforce_regular_tabs

Whether to enforce regular tabs.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.bufferline.settings.options.get_element_icon

Lua function returning an element icon.

fun(opts: IconFetcherOpts): string?, string?

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.bufferline.settings.options.left_mouse_command

Command or function run when clicking on a buffer.

Type: null or string or raw lua code

Default: null

Plugin default: "buffer %d"

Declared by:

plugins.bufferline.settings.options.left_trunc_marker

Left truncation marker.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.bufferline.settings.options.max_name_length

Max length of a buffer name.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 18

Declared by:

plugins.bufferline.settings.options.max_prefix_length

Maximum prefix length used when a buffer is de-duplicated.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 15

Declared by:

plugins.bufferline.settings.options.middle_mouse_command

Command or function run when middle clicking on a buffer.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.bufferline.settings.options.mode

Mode - set to tabs to only show tabpages instead.

Type: null or one of “buffers”, “tabs” or raw lua code

Default: null

Plugin default: "buffers"

Declared by:

plugins.bufferline.settings.options.modified_icon

The icon indicating a buffer was modified.

Type: null or string or raw lua code

Default: null

Plugin default: "●"

Declared by:

plugins.bufferline.settings.options.move_wraps_at_ends

Whether or not the move command “wraps” at the first or last position.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.bufferline.settings.options.name_formatter

A lua function that can be used to modify the buffer’s label. The argument ‘buf’ containing a name, path and bufnr is supplied.

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.bufferline.settings.options.numbers

Customize the styling of numbers.

Can also be a lua function:

function({ ordinal, id, lower, raise }): string

Type: null or one of “none”, “ordinal”, “buffer_id”, “both” or raw lua code

Default: null

Plugin default: "none"

Declared by:

plugins.bufferline.settings.options.offsets

offsets

Type: null or (list of (attribute set))

Default: null

Plugin default: null

Declared by:

plugins.bufferline.settings.options.persist_buffer_sort

Whether to make the buffer sort persistent.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.bufferline.settings.options.right_mouse_command

Command or function run when right clicking on a buffer.

Type: null or string or raw lua code

Default: null

Plugin default: "bdelete! %d"

Declared by:

plugins.bufferline.settings.options.right_trunc_marker

Right truncation marker.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.bufferline.settings.options.separator_style

Separator style.

Type: null or one of “slant”, “padded_slant”, “slope”, “padded_slope”, “thick”, “thin” or list of 2 string or raw lua code

Default: null

Plugin default: "thin"

Declared by:

plugins.bufferline.settings.options.show_buffer_close_icons

Show buffer close icons.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.bufferline.settings.options.show_buffer_icons

Show buffer icons.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.bufferline.settings.options.show_close_icon

Whether to show the close icon.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.bufferline.settings.options.show_duplicate_prefix

Whether to show the prefix of duplicated files.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.bufferline.settings.options.show_tab_indicators

Whether to show the tab indicators.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.bufferline.settings.options.sort_by

How to sort the buffers.

Also accepts a function with a signature function(buffer_a, buffer_b) allowing you to compare with custom logic.

Type: null or one of “insert_after_current”, “insert_at_end”, “id”, “extension”, “relative_directory”, “directory”, “tabs” or raw lua code

Default: null

Plugin default: "id"

Declared by:

plugins.bufferline.settings.options.tab_size

Size of the tabs.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 18

Declared by:

plugins.bufferline.settings.options.themable

Whether or not bufferline highlights can be overridden externally.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.bufferline.settings.options.truncate_names

Whether to truncate names.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.bufferline.settings.options.debug.logging

Whether to enable logging.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.bufferline.settings.options.groups.items

List of groups.

Type: null or (list of ((attribute set) or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.bufferline.settings.options.groups.options.toggle_hidden_on_enter

Re-open hidden groups on BufEnter.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.bufferline.settings.options.hover.enabled

Whether to enable hover.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.bufferline.settings.options.hover.delay

Delay to reveal on hover.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 200

Declared by:

plugins.bufferline.settings.options.hover.reveal

Whether to reveal on hover.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.bufferline.settings.options.indicator.icon

Indicator icon.

This should be omitted if indicator style is not icon.

Type: null or string or raw lua code

Default: null

Plugin default: "▎"

Declared by:

plugins.bufferline.settings.options.indicator.style

Indicator style.

Type: null or one of “icon”, “underline”, “none” or raw lua code

Default: null

Plugin default: "icon"

Declared by:

bullets

URL: https://github.com/bullets-vim/bullets.vim

Maintainers: Daniel Laing


Bullets.vim is a Vim plugin for automated bullet lists.

plugins.bullets.enable

Whether to enable bullets.vim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.bullets.package

The bullets.vim package to use.

Type: package

Default: pkgs.vimPlugins.bullets-vim

Declared by:

plugins.bullets.autoLoad

Whether to automatically load bullets.vim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.bullets.settings

The configuration options for bullets without the bullets_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal bullets_foo_bar=1
  • hello = "world" -> :setglobal bullets_hello="world"
  • some_toggle = true -> :setglobal bullets_some_toggle
  • other_toggle = false -> :setglobal nobullets_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  enable_in_empty_buffers = 0;
  enabled_file_types = [
    "markdown"
    "text"
    "gitcommit"
    "scratch"
  ];
  nested_checkboxes = 0;
}

Declared by:

ccc

URL: https://github.com/uga-rosa/ccc.nvim/

Maintainers: Jan Kremer

plugins.ccc.enable

Whether to enable ccc.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.ccc.package

The ccc.nvim package to use.

Type: package

Default: pkgs.vimPlugins.ccc-nvim

Declared by:

plugins.ccc.autoLoad

Whether to automatically load ccc.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.ccc.lazyLoad

Lazy-load settings for ccc.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.ccc.lazyLoad.enable

lazy-loading for ccc.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.ccc.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.ccc.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.ccc.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.ccc.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.ccc.settings

Options provided to the require('ccc').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  default_color = "#FFFFFF";
  highlight_mode = "fg";
  highlighter = {
    auto_enable = true;
    excludes = [
      "markdown"
    ];
    lsp = false;
    update_insert = false;
  };
  inputs = [
    "ccc.input.oklab"
    "ccc.input.oklch"
  ];
  lsp = false;
  outputs = [
    "ccc.output.css_oklab"
    "ccc.output.css_oklch"
  ];
  pickers = [
    "ccc.picker.css_oklch"
    "ccc.picker.css_name"
    "ccc.picker.hex"
  ];
}

Declared by:

plugins.ccc.settings.convert

Specify the correspondence between picker and output. The default setting converts the color to css_rgb if it is in hex format, to css_hsl if it is in css_rgb format, and to hex if it is in css_hsl format.

Plugin default:

  [
    ["ccc.picker.hex" "ccc.output.css_rgb"]
    ["ccc.picker.css_rgb" "ccc.output.css_hsl"]
    ["ccc.picker.css_hsl" "ccc.output.hex"]
  ]

Type: null or (list of list of lua code string) or raw lua code

Default: [ ]

Example:

[
  [
    "ccc.picker.hex"
    "ccc.output.css_oklch"
  ]
  [
    "ccc.picker.css_oklch"
    "ccc.output.hex"
  ]
]

Declared by:

plugins.ccc.settings.default_color

The default color used when a color cannot be picked. It must be HEX format.

Type: null or string or raw lua code

Default: null

Plugin default: "#000000"

Declared by:

plugins.ccc.settings.highlight_mode

Option to highlight text foreground or background. It is used to output_line and highlighter.

Type: null or one of “bg”, “fg”, “background”, “foreground” or raw lua code

Default: null

Plugin default: "bg"

Declared by:

plugins.ccc.settings.inputs

List of color system to be activated. ccc-action-toggle_input_mode toggles in this order. The first one is the default used at the first startup. Once activated, it will keep the previous input mode.

Plugin default:

  [
    "ccc.input.rgb"
    "ccc.input.hsl"
    "ccc.input.cmyk"
  ]

Type: list of lua code string

Default: [ ]

Example:

[
  "ccc.input.rgb"
  "ccc.input.hsl"
  "ccc.input.hwb"
  "ccc.input.lab"
  "ccc.input.lch"
  "ccc.input.oklab"
  "ccc.input.oklch"
  "ccc.input.cmyk"
  "ccc.input.hsluv"
  "ccc.input.okhsl"
  "ccc.input.hsv"
  "ccc.input.okhsv"
  "ccc.input.xyz"
]

Declared by:

plugins.ccc.settings.lsp

Whether to enable LSP support. The color information is updated in the background and the result is used by :CccPick and highlighter.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.ccc.settings.outputs

List of output format to be activated. ccc-action-toggle_ouotput_mode toggles in this order. The first one is the default used at the first startup. Once activated, it will keep the previous output mode.

Plugin default:

  [
    "ccc.output.hex"
    "ccc.output.hex_short"
    "ccc.output.css_rgb"
    "ccc.output.css_hsl"
  ]

Type: list of lua code string

Default: [ ]

Example:

[
  "ccc.output.hex"
  "ccc.output.hex_short"
  "ccc.output.css_rgb"
  "ccc.output.css_hsl"
  "ccc.output.css_hwb"
  "ccc.output.css_lab"
  "ccc.output.css_lch"
  "ccc.output.css_oklab"
  "ccc.output.css_oklch"
  "ccc.output.float"
  "ccc.output.hex.setup({ uppercase = true })"
  "ccc.output.hex_short.setup({ uppercase = true })"
]

Declared by:

plugins.ccc.settings.pickers

List of formats that can be detected by :CccPick to be activated.

Plugin default:

  [
    "ccc.picker.hex"
    "ccc.picker.css_rgb"
    "ccc.picker.css_hsl"
    "ccc.picker.css_hwb"
    "ccc.picker.css_lab"
    "ccc.picker.css_lch"
    "ccc.picker.css_oklab"
    "ccc.picker.css_oklch"
  ]

Type: list of lua code string

Default: [ ]

Example:

[
  "ccc.picker.hex"
  "ccc.picker.css_rgb"
  "ccc.picker.css_hsl"
  "ccc.picker.css_hwb"
  "ccc.picker.css_lab"
  "ccc.picker.css_lch"
  "ccc.picker.css_oklab"
  "ccc.picker.css_oklch"
  "ccc.picker.css_name"
]

Declared by:

plugins.ccc.settings.highlighter.auto_enable

Whether to enable automatically on BufEnter.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.ccc.settings.highlighter.excludes

Used only when ccc-option-highlighter-filetypes is empty table. You can specify file types to be excludes.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.ccc.settings.highlighter.filetypes

File types for which highlighting is enabled. It is only used for automatic highlighting by ccc-option-highlighter-auto-enable, and is ignored for manual activation. An empty table means all file types.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.ccc.settings.highlighter.lsp

If true, highlight using LSP. If language server with the color provider is not attached to a buffer, it falls back to highlight with pickers. See also :help ccc-option-lsp.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.ccc.settings.highlighter.update_insert

If true, highlights will be updated during insert mode. If false, highlights will not be updated during editing in insert mode, but will be updated on InsertLeave.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.chadtree.enable

Whether to enable chadtree.

Type: boolean

Default: false

Example: true

Declared by:

plugins.chadtree.package

The chadtree package to use.

Type: package

Default: pkgs.vimPlugins.chadtree

Declared by:

plugins.chadtree.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.chadtree.keymap.bookmarks.bookmarkGoto

Goto bookmark A-Z.

Type: null or (list of string)

Default: null

Plugin default:

[
  "m"
]

Declared by:

plugins.chadtree.keymap.cursor.copyBasename

Copy names of files under cursor or visual block.

Type: null or (list of string)

Default: null

Plugin default:

[
  "Y"
]

Declared by:

plugins.chadtree.keymap.cursor.copyName

Copy paths of files under cursor or visual block.

Type: null or (list of string)

Default: null

Plugin default:

[
  "y"
]

Declared by:

plugins.chadtree.keymap.cursor.copyRelname

Copy relative paths of files under cursor or visual block.

Type: null or (list of string)

Default: null

Plugin default:

[
  "<c-y>"
]

Declared by:

plugins.chadtree.keymap.cursor.jumpToCurrent

Position cursor in CHADTree at currently open buffer, if the buffer points to a location visible under CHADTree.

Type: null or (list of string)

Default: null

Plugin default:

[
  "J"
]

Declared by:

plugins.chadtree.keymap.cursor.refocus

Put cursor at the root of CHADTree.

Type: null or (list of string)

Default: null

Plugin default:

[
  "~"
]

Declared by:

plugins.chadtree.keymap.cursor.stat

Print ls --long stat for file under cursor.

Type: null or (list of string)

Default: null

Plugin default:

[
  "K"
]

Declared by:

plugins.chadtree.keymap.fileOperations.copy

Copy the selected files to location under cursor.

Type: null or (list of string)

Default: null

Plugin default:

[
  "p"
]

Declared by:

plugins.chadtree.keymap.fileOperations.cut

Move the selected files to location under cursor.

Type: null or (list of string)

Default: null

Plugin default:

[
  "x"
]

Declared by:

plugins.chadtree.keymap.fileOperations.delete

Delete the selected files. Items deleted cannot be recovered.

Type: null or (list of string)

Default: null

Plugin default:

[
  "d"
]

Declared by:

Create links at location under cursor from selection.

Links are always relative.

Intermediary folders are created automatically.

Type: null or (list of string)

Default: null

Plugin default:

[
  "A"
]

Declared by:

plugins.chadtree.keymap.fileOperations.new

Create new file at location under cursor. Files ending with platform specific path separator will be folders.

Intermediary folders are created automatically.

ie. uwu/owo/ under unix will create uwu/ then owo/ under it. Both are folders.

Type: null or (list of string)

Default: null

Plugin default:

[
  "a"
]

Declared by:

plugins.chadtree.keymap.fileOperations.rename

Rename file under cursor.

Type: null or (list of string)

Default: null

Plugin default:

[
  "r"
]

Declared by:

plugins.chadtree.keymap.fileOperations.toggleExec

Toggle all the +x bits of the selected / highlighted files.

Except for directories, where -x will prevent reading.

Type: null or (list of string)

Default: null

Plugin default:

[
  "X"
]

Declared by:

plugins.chadtree.keymap.fileOperations.trash

Trash the selected files using platform specific trash command, if they are available. Items trashed may be recovered.

Type: null or (list of string)

Default: null

Plugin default:

[
  "t"
]

Declared by:

plugins.chadtree.keymap.filtering.clearFilter

Clear filter.

Type: null or (list of string)

Default: null

Plugin default:

[
  "F"
]

Declared by:

plugins.chadtree.keymap.filtering.filter

Set a glob pattern to narrow down visible files.

Type: null or (list of string)

Default: null

Plugin default:

[
  "f"
]

Declared by:

plugins.chadtree.keymap.openFileFolder.collapse

Collapse all subdirectories for directory at cursor.

Type: null or (list of string)

Default: null

Plugin default:

[
  "o"
]

Declared by:

plugins.chadtree.keymap.openFileFolder.hSplit

Open file at cursor in horizontal split.

Type: null or (list of string)

Default: null

Plugin default:

[
  "W"
]

Declared by:

plugins.chadtree.keymap.openFileFolder.openSys

Open file with GUI tools using open or xdg open. This will open third party tools such as Finder or KDE Dolphin or GNOME nautilus, etc. Depends on platform and user setup.

Type: null or (list of string)

Default: null

Plugin default:

[
  "o"
]

Declared by:

plugins.chadtree.keymap.openFileFolder.primary

Open file at cursor.

Type: null or (list of string)

Default: null

Plugin default:

[
  "<enter>"
]

Declared by:

plugins.chadtree.keymap.openFileFolder.secondary

Open file at cursor, keep cursor in CHADTree’s window.

Type: null or (list of string)

Default: null

Plugin default:

[
  "<tab> <2-leftmouse>"
]

Declared by:

plugins.chadtree.keymap.openFileFolder.tertiary

Open file at cursor in a new tab.

Type: null or (list of string)

Default: null

Plugin default:

[
  "<m-enter>"
  "<middlemouse>"
]

Declared by:

plugins.chadtree.keymap.openFileFolder.vSplit

Open file at cursor in vertical split.

Type: null or (list of string)

Default: null

Plugin default:

[
  "w"
]

Declared by:

plugins.chadtree.keymap.rerooting.changeDir

Change vim’s working directory.

Type: null or (list of string)

Default: null

Plugin default:

[
  "b"
]

Declared by:

plugins.chadtree.keymap.rerooting.changeFocus

Set CHADTree’s root to folder at cursor. Does not change working directory.

Type: null or (list of string)

Default: null

Plugin default:

[
  "c"
]

Declared by:

plugins.chadtree.keymap.rerooting.changeFocusUp

Set CHADTree’s root one level up.

Type: null or (list of string)

Default: null

Plugin default:

[
  "C"
]

Declared by:

plugins.chadtree.keymap.selecting.clearSelection

Clear selection.

Type: null or (list of string)

Default: null

Plugin default:

[
  "S"
]

Declared by:

plugins.chadtree.keymap.selecting.select

Select files under cursor or visual block.

Type: null or (list of string)

Default: null

Plugin default:

[
  "s"
]

Declared by:

plugins.chadtree.keymap.toggles.toggleFollow

Toggle follow on and off. See chadtree.follow for details.

Type: null or (list of string)

Default: null

Plugin default:

[
  "u"
]

Declared by:

plugins.chadtree.keymap.toggles.toggleHidden

Toggle show_hidden on and off. See chadtree.showHidden for details.

Type: null or (list of string)

Default: null

Plugin default:

[
  "."
]

Declared by:

plugins.chadtree.keymap.toggles.toggleVersionControl

Toggle version control integration on and off.

Type: null or (list of string)

Default: null

Plugin default:

[
  "i"
]

Declared by:

plugins.chadtree.keymap.windowManagement.bigger

Resize CHADTree window bigger.

Type: null or (list of string)

Default: null

Plugin default:

[
  "+"
  "="
]

Declared by:

plugins.chadtree.keymap.windowManagement.quit

Close CHADTree window, quit if it is the last window.

Type: null or (list of string)

Default: null

Plugin default:

[
  "q"
]

Declared by:

plugins.chadtree.keymap.windowManagement.refresh

Refresh CHADTree.

Type: null or (list of string)

Default: null

Plugin default:

[
  "<c-r>"
]

Declared by:

plugins.chadtree.keymap.windowManagement.smaller

Resize CHADTree window smaller.

Type: null or (list of string)

Default: null

Plugin default:

[
  "-"
  "_"
]

Declared by:

plugins.chadtree.options.follow

CHADTree will highlight currently open file, and open all its parents.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.chadtree.options.lang

CHADTree will guess your locale from unix environmental variables. Set to c to disable emojis.

Type: null or string

Default: null

Declared by:

plugins.chadtree.options.pageIncrement

Change how many lines { and } scroll.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 5

Declared by:

plugins.chadtree.options.pollingRate

CHADTree’s background refresh rate.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 2.0

Declared by:

plugins.chadtree.options.session

Save & restore currently open folders.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.chadtree.options.showHidden

Hide some files and folders by default. By default this can be toggled using the . key. see chadtree_settings.ignore for more details.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.chadtree.options.versionControl

Enable version control. This can also be toggled. But unlike show_hidden, does not have a default keybind.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.chadtree.options.ignore.nameExact

Files whose name match these exactly will be ignored.

Type: null or (list of string)

Default: null

Plugin default:

[
  ".DS_Store"
  ".directory"
  "thumbs.db"
  ".git"
]

Declared by:

plugins.chadtree.options.ignore.nameGlob

Files whose name match these glob patterns will be ignored. ie. *.py will match all python files

Type: null or (list of string)

Default: null

Plugin default: [ ]

Declared by:

plugins.chadtree.options.ignore.pathGlob

Files whose full path match these glob patterns will be ignored.

Type: null or (list of string)

Default: null

Plugin default: [ ]

Declared by:

plugins.chadtree.options.mimetypes.allowExts

Skip warning for these extensions.

Type: null or (list of string)

Default: null

Plugin default:

[
  ".ts"
]

Declared by:

plugins.chadtree.options.mimetypes.warn

Show a warning before opening these datatypes.

Type: null or (list of string)

Default: null

Plugin default:

[
  "audio"
  "font"
  "image"
  "video"
]

Declared by:

plugins.chadtree.theme.iconColourSet

Right now you all the file icons are coloured according to Github colours.

You may also disable colouring if you wish.

Type: null or one of “github”, “none” or raw lua code

Default: null

Plugin default: "github"

Declared by:

plugins.chadtree.theme.iconGlyphSet

Icon glyph set to use.

Type: null or one of “devicons”, “emoji”, “ascii”, “ascii_hollow” or raw lua code

Default: null

Plugin default: "devicons"

Declared by:

plugins.chadtree.theme.textColourSet

On unix, the command ls can produce coloured results based on the LS_COLORS environmental variable.

CHADTree can pretend it’s ls by setting chadtree.theme.textColourSet to env.

If you are not happy with that, you can choose one of the many others.

Type: null or one of “env”, “solarized_dark_256”, “solarized_dark”, “solarized_light”, “solarized_universal”, “nord”, “trapdoor”, “nerdtree_syntax_light”, “nerdtree_syntax_dark” or raw lua code

Default: null

Plugin default: "env"

Declared by:

plugins.chadtree.theme.highlights.bookmarks

These are used to show bookmarks.

Type: null or string or raw lua code

Default: null

Plugin default: "Title"

Declared by:

plugins.chadtree.theme.highlights.ignored

These are used for files that are ignored by user supplied pattern in chadtree.ignore and by version control.

Type: null or string or raw lua code

Default: null

Plugin default: "Comment"

Declared by:

plugins.chadtree.theme.highlights.quickfix

These are used to notify the number of times a file / folder appears in the quickfix list.

Type: null or string or raw lua code

Default: null

Plugin default: "Label"

Declared by:

plugins.chadtree.theme.highlights.versionControl

These are used to put a version control status beside each file.

Type: null or string or raw lua code

Default: null

Plugin default: "Comment"

Declared by:

plugins.chadtree.view.openDirection

Which way does CHADTree open?

Type: null or one of “left”, “right” or raw lua code

Default: null

Plugin default: "left"

Declared by:

plugins.chadtree.view.sortBy

CHADTree can sort by the following criterion. Reorder them if you want a different sorting order. legal keys: some of ["is_folder" "ext" "file_name"]

Type: null or (list of string)

Default: null

Plugin default:

[
  "is_folder"
  "ext"
  "file_name"
]

Declared by:

plugins.chadtree.view.width

How big is CHADTree when initially opened?

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 40

Declared by:

plugins.chadtree.view.windowOptions

Set of window local options to for CHADTree windows.

Type: null or (attribute set) or raw lua code

Default: null

Plugin default:

''
  {
      cursorline = true;
      number = false;
      relativenumber = false;
      signcolumn = "no";
      winfixwidth = true;
      wrap = false;
  }
''

Declared by:

chatgpt

URL: https://github.com/jackMort/ChatGPT.nvim/

Maintainers: Gaetan Lepage

plugins.chatgpt.enable

Whether to enable ChatGPT.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.chatgpt.package

The ChatGPT.nvim package to use.

Type: package

Default: pkgs.vimPlugins.ChatGPT-nvim

Declared by:

plugins.chatgpt.autoLoad

Whether to automatically load ChatGPT.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.chatgpt.lazyLoad

Lazy-load settings for ChatGPT.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.chatgpt.lazyLoad.enable

lazy-loading for ChatGPT.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.chatgpt.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.chatgpt.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.chatgpt.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.chatgpt.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.chatgpt.settings

Options provided to the require('chatgpt').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  answer_sign = "ﮧ";
  chat_layout = {
    position = "50%";
    relative = "editor";
  };
  keymaps = {
    close = [
      "<C-c>"
    ];
    submit = "<C-s>";
  };
  loading_text = "loading";
  max_line_length = 120;
  openai_edit_params = {
    model = "code-davinci-edit-001";
    temperature = 0;
  };
  openai_params = {
    frequency_penalty = 0;
    max_tokens = 300;
    model = "gpt-3.5-turbo";
    presence_penalty = 0;
  };
  question_sign = "";
  welcome_message = "Hello world";
  yank_register = "+";
}

Declared by:

plugins.chatgpt.settings.api_key_cmd

The path and arguments to an executable that returns the API key via stdout.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.chatgpt.settings.extra_curl_params

Custom cURL parameters can be passed using this option. It can be useful if you need to include additional headers for requests.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Example:

[
  "-H"
  "Origin: https://example.com"
]

Declared by:

plugins.chatgpt.settings.show_line_numbers

Whether to show line numbers in the ChatGPT window.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.chatgpt.settings.yank_register

Which register to use for copying.

Type: null or string or raw lua code

Default: null

Plugin default: "+"

Declared by:

clangd-extensions

URL: https://git.sr.ht/~p00f/clangd_extensions.nvim

Maintainers: Johan Larsson


Clangd's off-spec features for neovim's LSP client.

plugins.clangd-extensions.enable

Whether to enable clangd_extensions.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.clangd-extensions.enableOffsetEncodingWorkaround

Whether to enable UTF-16 offset encoding. This is used to work around the warning: “multiple different client offset_encodings detected for buffer, this is not supported yet”. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.clangd-extensions.package

The clangd_extensions.nvim package to use.

Type: package

Default: pkgs.vimPlugins.clangd_extensions-nvim

Declared by:

plugins.clangd-extensions.autoLoad

Whether to automatically load clangd_extensions.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.clangd-extensions.lazyLoad

Lazy-load settings for clangd_extensions.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.clangd-extensions.lazyLoad.enable

lazy-loading for clangd_extensions.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.clangd-extensions.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.clangd-extensions.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.clangd-extensions.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.clangd-extensions.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.clangd-extensions.settings

Options provided to the require('clangd_extensions').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  ast = {
    role_icons = {
      declaration = "";
      expression = "";
      specifier = "";
      statement = "";
      "template argument" = "";
      type = "";
    };
  };
}

Declared by:

plugins.clangd-extensions.settings.ast.highlights.detail

The color of the hints.

Type: null or string or raw lua code

Default: null

Plugin default: "Comment"

Declared by:

plugins.clangd-extensions.settings.ast.kind_icons.Cecovery

Cecovery icon.

Type: null or string or raw lua code

Default: null

Plugin default: "🅁"

Declared by:

plugins.clangd-extensions.settings.ast.kind_icons.Compound

Compound icon.

Type: null or string or raw lua code

Default: null

Plugin default: "🄲"

Declared by:

plugins.clangd-extensions.settings.ast.kind_icons.PackExpansion

PackExpansion icon.

Type: null or string or raw lua code

Default: null

Plugin default: "🄿"

Declared by:

plugins.clangd-extensions.settings.ast.kind_icons.TemplateParamObject

TemplateParamObject icon.

Type: null or string or raw lua code

Default: null

Plugin default: "🅃"

Declared by:

plugins.clangd-extensions.settings.ast.kind_icons.TemplateTemplateParm

TemplateTemplateParm icon.

Type: null or string or raw lua code

Default: null

Plugin default: "🅃"

Declared by:

plugins.clangd-extensions.settings.ast.kind_icons.TemplateTypeParm

TemplateTypeParm icon.

Type: null or string or raw lua code

Default: null

Plugin default: "🅃"

Declared by:

plugins.clangd-extensions.settings.ast.kind_icons.TranslationUnit

TranslationUnit icon.

Type: null or string or raw lua code

Default: null

Plugin default: "🅄"

Declared by:

plugins.clangd-extensions.settings.ast.role_icons.declaration

Icon for the declaration role.

Type: null or string or raw lua code

Default: null

Plugin default: "🄓"

Declared by:

plugins.clangd-extensions.settings.ast.role_icons.expression

Icon for the expression role.

Type: null or string or raw lua code

Default: null

Plugin default: "🄔"

Declared by:

plugins.clangd-extensions.settings.ast.role_icons.specifier

Icon for the specifier role.

Type: null or string or raw lua code

Default: null

Plugin default: "🄢"

Declared by:

plugins.clangd-extensions.settings.ast.role_icons.statement

Icon for the statement role.

Type: null or string or raw lua code

Default: null

Plugin default: ";"

Declared by:

plugins.clangd-extensions.settings.ast.role_icons."template argument"

Icon for the template argument role.

Type: null or string or raw lua code

Default: null

Plugin default: "🆃"

Declared by:

plugins.clangd-extensions.settings.ast.role_icons.type

Icon for the type role.

Type: null or string or raw lua code

Default: null

Plugin default: "🄣"

Declared by:

plugins.clangd-extensions.settings.memory_usage.border

Border character for memory usage window.

Defines the border to use for clangd-extensions. Accepts same border values as nvim_open_win(). See :help nvim_open_win() for more info.

Type: null or string or list of string or list of list of string or raw lua code

Default: null

Plugin default: "none"

Declared by:

plugins.clangd-extensions.settings.symbol_info.border

Border character for symbol info window.

Defines the border to use for clangd-extensions. Accepts same border values as nvim_open_win(). See :help nvim_open_win() for more info.

Type: null or string or list of string or list of list of string or raw lua code

Default: null

Plugin default: "none"

Declared by:

claude-code

URL: https://github.com/greggh/claude-code.nvim/

Maintainers: Austin Horstman

plugins.claude-code.enable

Whether to enable claude-code.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.claude-code.package

The claude-code.nvim package to use.

Type: package

Default: pkgs.vimPlugins.claude-code-nvim

Declared by:

plugins.claude-code.autoLoad

Whether to automatically load claude-code.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.claude-code.settings

Options provided to the require('claude-code').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  window = {
    hide_numbers = false;
    hide_signcolumn = false;
    position = "vertical";
    split_ratio = 0.4;
  };
}

Declared by:

plugins.claude-code.lazyLoad

Lazy-load settings for claude-code.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.claude-code.lazyLoad.enable

lazy-loading for claude-code.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.claude-code.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.claude-code.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.claude-code.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.claude-code.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

clipboard-image

URL: https://github.com/ekickx/clipboard-image.nvim/

Maintainers: Gaetan Lepage


Plugin to paste images from clipboard into Neovim.

plugins.clipboard-image.enable

Whether to enable clipboard-image.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.clipboard-image.package

The clipboard-image.nvim package to use.

Type: package

Default: pkgs.vimPlugins.clipboard-image-nvim

Declared by:

plugins.clipboard-image.autoLoad

Whether to automatically load clipboard-image.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.clipboard-image.clipboardPackage

The clipboard provider package to use.

Recommended:

  • X11: pkgs.xclip
  • Wayland: pkgs.wl-clipboard
  • MacOS: pkgs.pngpaste

Type: null or package

Default: null

Example: pkgs.wl-clipboard

Declared by:

plugins.clipboard-image.lazyLoad

Lazy-load settings for clipboard-image.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.clipboard-image.lazyLoad.enable

lazy-loading for clipboard-image.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.clipboard-image.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.clipboard-image.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.clipboard-image.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.clipboard-image.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.clipboard-image.settings

Options provided to the require('clipboard-image').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  settings = {
    affix = "![]({img_path})";
    img_dir = "img";
    img_dir_txt = "img";
    img_handler = {
      __raw = "function(img) end";
    };
    img_name = {
      __raw = "function() return os.date('%Y-%m-%d-%H-%M-%S') end";
    };
  };
}

Declared by:

plugins.clipboard-image.settings.default.affix

String that sandwiches the image’s path.

Type: null or string or raw lua code

Default: null

Plugin default: default: "{img_path}" markdown: "![]({img_path})"

Example:

<div class="mdbook-alerts mdbook-alerts-note">
<p class="mdbook-alerts-title">
  <span class="mdbook-alerts-icon"></span>
  note
</p>


 ```nix
 # You can use line break escape sequence
 affix = "<\n  %s\n>";
 ```

</div>


>  ```nix
>  # Or lua's double square brackets
>  affix.__raw = \'\'
>    [[<
>      %s
>    >]]
>  \'\'
>  ```

Declared by:

plugins.clipboard-image.settings.default.img_dir

Directory name where the image will be pasted to.

note

If you want to create nested dir, it is better to use table since windows and unix have different path separator.

Type: null or string or list of string or raw lua code

Default: null

Plugin default: "img"

Declared by:

plugins.clipboard-image.settings.default.img_dir_txt

Directory that will be inserted into text/buffer.

Type: null or string or list of string or raw lua code

Default: null

Plugin default: "img"

Declared by:

plugins.clipboard-image.settings.default.img_handler

Function that will handle image after pasted.

note

img is a table that contain pasted image’s {name} and {path}.

Type: null or lua function string

Default: null

Plugin default: "function(img) end"

Declared by:

plugins.clipboard-image.settings.default.img_name

Image’s name.

Type: null or string or raw lua code

Default: null

Plugin default:

{
  __raw = "function() return os.date('%Y-%m-%d-%H-%M-%S') end";
}

Declared by:

cloak

URL: https://github.com/laytan/cloak.nvim/

Maintainers: Gaetan Lepage

plugins.cloak.enable

Whether to enable cloak.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cloak.package

The cloak.nvim package to use.

Type: package

Default: pkgs.vimPlugins.cloak-nvim

Declared by:

plugins.cloak.autoLoad

Whether to automatically load cloak.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.cloak.lazyLoad

Lazy-load settings for cloak.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.cloak.lazyLoad.enable

lazy-loading for cloak.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.cloak.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.cloak.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.cloak.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.cloak.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.cloak.settings

Options provided to the require('cloak').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  cloak_character = "*";
  enabled = true;
  highlight_group = "Comment";
  patterns = [
    {
      cloak_pattern = "=.+";
      file_pattern = [
        ".env*"
        "wrangler.toml"
        ".dev.vars"
      ];
    }
  ];
}

Declared by:

plugins.cloak.settings.enabled

Whether to enable the plugin.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.cloak.settings.cloak_character

Define the cloak character.

Type: null or string or raw lua code

Default: null

Plugin default: "*"

Declared by:

plugins.cloak.settings.cloak_length

Provide a number if you want to hide the true length of the value. Applies the length of the replacement characters for all matched patterns, defaults to the length of the matched pattern.

Type: null or (unsigned integer, meaning >=0)

Default: null

Declared by:

plugins.cloak.settings.cloak_telescope

Set to true to cloak Telescope preview buffers. (Required feature not in 0.1.x)

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.cloak.settings.highlight_group

The applied highlight group (colors) on the cloaking, see :h highlight.

Type: null or string or raw lua code

Default: null

Plugin default: "Comment"

Declared by:

plugins.cloak.settings.patterns

List of pattern configurations.

Type: null or (list of ((submodule) or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  {
    cloak_pattern = "=.+";
    file_pattern = ".env*";
    replace = null;
  }
]

Declared by:

plugins.cloak.settings.try_all_patterns

Whether it should try every pattern to find the best fit or stop after the first.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

cmake-tools

URL: https://github.com/Civitasv/cmake-tools.nvim/

Maintainers: Nathan Felber

plugins.cmake-tools.enable

Whether to enable cmake-tools.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmake-tools.package

The cmake-tools.nvim package to use.

Type: package

Default: pkgs.vimPlugins.cmake-tools-nvim

Declared by:

plugins.cmake-tools.autoLoad

Whether to automatically load cmake-tools.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.cmake-tools.lazyLoad

Lazy-load settings for cmake-tools.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.cmake-tools.lazyLoad.enable

lazy-loading for cmake-tools.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.cmake-tools.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.cmake-tools.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.cmake-tools.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.cmake-tools.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.cmake-tools.settings

Options provided to the require('cmake-tools').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  cmake_build_directory = "build/\${variant:buildtype}";
  cmake_dap_configuration = {
    cwd = "\${workspaceFolder}";
    name = "Launch file";
    program = {
      __raw = ''
        function()
          return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
        end
      '';
    };
    request = "launch";
    stopOnEntry = false;
    type = "codelldb";
  };
  cmake_executor = {
    name = "toggleterm";
  };
  cmake_notifications = {
    refresh_rate_ms = 80;
    spinner = [
      "▱▱▱▱▱▱▱"
      "▰▱▱▱▱▱▱"
      "▰▰▱▱▱▱▱"
      "▰▰▰▱▱▱▱"
      "▰▰▰▰▱▱▱"
      "▰▰▰▰▰▱▱"
      "▰▰▰▰▰▰▱"
      "▰▰▰▰▰▰▰"
    ];
  };
  cmake_regenerate_on_save = false;
  cmake_runner = {
    name = "toggleterm";
  };
  cmake_soft_link_compile_commands = false;
}

Declared by:

plugins.cmake-tools.settings.cmake_build_directory

This is used to specify generate directory for cmake, allows macro expansion, relative to vim.loop.cwd().

Type: null or string or raw lua code

Default: null

Plugin default: "out/\${variant:buildType}"

Declared by:

plugins.cmake-tools.settings.cmake_build_options

This will be passed when invoke CMakeBuild.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.cmake-tools.settings.cmake_command

This is used to specify cmake command path.

Type: null or string or raw lua code

Default: null

Plugin default: "cmake"

Declared by:

plugins.cmake-tools.settings.cmake_compile_commands_from_lsp

This will automatically set compile commands file location using lsp, to use it, please set cmake_soft_link_compile_commands to false.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.cmake-tools.settings.cmake_generate_options

This will be passed when invoke CMakeGenerate.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "-DCMAKE_EXPORT_COMPILE_COMMANDS" = 1;
}

Declared by:

plugins.cmake-tools.settings.cmake_kits_path

This is used to specify global cmake kits path, see CMakeKits for detailed usage.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.cmake-tools.settings.cmake_regenerate_on_save

Auto generate when save CMakeLists.txt.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

This will automatically make a soft link from compile commands file to project root dir.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.cmake-tools.settings.ctest_command

This is used to specify ctest command path.

Type: null or string or raw lua code

Default: null

Plugin default: "ctest"

Declared by:

plugins.cmake-tools.settings.cmake_dap_configuration.name

Name of the launch configuration.

Type: null or string or raw lua code

Default: null

Plugin default: "cpp"

Declared by:

plugins.cmake-tools.settings.cmake_dap_configuration.request

Session initiation method.

Type: null or string or raw lua code

Default: null

Plugin default: "launch"

Declared by:

plugins.cmake-tools.settings.cmake_dap_configuration.type

Debug adapter to use.

Type: null or string or raw lua code

Default: null

Plugin default: "codelldb"

Declared by:

plugins.cmake-tools.settings.cmake_executor.name

Name of the executor.

Type: null or string or raw lua code

Default: null

Plugin default: "quickfix"

Declared by:

plugins.cmake-tools.settings.cmake_executor.opts

The options the executor will get, possible values depend on the executor type.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.cmake-tools.settings.cmake_notifications.refresh_rate_ms

How often to iterate icons.

Type: null or positive integer, meaning >0, or raw lua code

Default: null

Plugin default: 100

Declared by:

plugins.cmake-tools.settings.cmake_notifications.spinner

Icons used for progress display.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "⠋"
  "⠙"
  "⠹"
  "⠸"
  "⠼"
  "⠴"
  "⠦"
  "⠧"
  "⠇"
  "⠏"
]

Declared by:

plugins.cmake-tools.settings.cmake_notifications.executor.enabled

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.cmake-tools.settings.cmake_notifications.runner.enabled

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.cmake-tools.settings.cmake_runner.name

Name of the runner.

Type: null or string or raw lua code

Default: null

Plugin default: "terminal"

Declared by:

plugins.cmake-tools.settings.cmake_runner.opts

The options the runner will get, possible values depend on the runner type.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.cmake-tools.settings.cmake_variants_message.long

Whether to show long message.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  max_length = 40;
  show = true;
}

Declared by:

plugins.cmake-tools.settings.cmake_variants_message.short

Whether to show short message.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  show = true;
}

Declared by:

cmp

URL: https://github.com/hrsh7th/nvim-cmp

Maintainers: Gaetan Lepage


Completion Source Installation

If plugins.cmp.autoEnableSources is true Nixivm will automatically enable the corresponding source plugins. This is the default behavior, but will work only when this option is set to a list.

If you use a raw lua string or set plugins.cmp.autoEnableSources to false, you will need to explicitly enable the relevant source plugins in your nixvim configuration.

With auto-enabled sources

plugins.cmp = {
  autoEnableSources = true;
  settings.sources = [
    { name = "nvim_lsp"; }
    { name = "path"; }
    { name = "buffer"; }
  ];
};

Without auto-enabled sources

plugins = {
  cmp = {
    autoEnableSources = false;
    settings.sources = [
      { name = "nvim_lsp"; }
      { name = "path"; }
      { name = "buffer"; }
    ];
  };
  cmp-nvim-lsp.enable = true;
  cmp-path.enable = true;
  cmp-buffer.enable = true;
};

plugins.cmp.enable

Whether to enable nvim-cmp.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp.package

The nvim-cmp package to use.

Type: package

Default: pkgs.vimPlugins.nvim-cmp

Declared by:

plugins.cmp.autoEnableSources

Scans the sources array and enable the corresponding plugins if they are known to nixvim.

Type: boolean

Default: true

Example: false

Declared by:

plugins.cmp.autoLoad

Whether to automatically load nvim-cmp when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.cmp.cmdline

Options provided to the require('cmp').setup.cmdline function.

Type: attribute set of (attribute set of anything)

Default: { }

Example:

{
  "/" = {
    mapping = {
      __raw = "cmp.mapping.preset.cmdline()";
    };
    sources = [
      {
        name = "buffer";
      }
    ];
  };
  ":" = {
    mapping = {
      __raw = "cmp.mapping.preset.cmdline()";
    };
    sources = [
      {
        name = "path";
      }
      {
        name = "cmdline";
        option = {
          ignore_cmds = [
            "Man"
            "!"
          ];
        };
      }
    ];
  };
}

Declared by:

plugins.cmp.cmdline.<name>.experimental

Experimental features.

Type: null or (attribute set of anything)

Default: null

Declared by:

plugins.cmp.cmdline.<name>.mapping

cmp mappings declaration. See :h cmp-mapping for more information.

Type: (attribute set of lua code string) or raw lua code

Default: { }

Example:

{
  "<C-Space>" = "cmp.mapping.complete()";
  "<C-d>" = "cmp.mapping.scroll_docs(-4)";
  "<C-e>" = "cmp.mapping.close()";
  "<C-f>" = "cmp.mapping.scroll_docs(4)";
  "<CR>" = "cmp.mapping.confirm({ select = true })";
  "<S-Tab>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
  "<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
}

Declared by:

plugins.cmp.cmdline.<name>.preselect

  • “cmp.PreselectMode.Item”: nvim-cmp will preselect the item that the source specified.
  • “cmp.PreselectMode.None”: nvim-cmp will not preselect any items.

Type: null or lua code string

Default: null

Plugin default: "cmp.PreselectMode.Item"

Declared by:

plugins.cmp.cmdline.<name>.sources

The sources to use. Can either be a list of sourceConfigs which will be made directly to a Lua object. Or it can be a raw lua string which might be necessary for more advanced use cases.

WARNING: If plugins.cmp.autoEnableSources Nixivm will automatically enable the corresponding source plugins. This will work only when this option is set to a list. If you use a raw lua string, you will need to explicitly enable the relevant source plugins in your nixvim configuration.

Type: (list of (attribute set of anything)) or raw lua code

Default: [ ]

Example:

[
  {
    name = "nvim_lsp";
  }
  {
    name = "luasnip";
  }
  {
    name = "path";
  }
  {
    name = "buffer";
  }
]

Declared by:

plugins.cmp.cmdline.<name>.completion.autocomplete

The event to trigger autocompletion. If set to false, then completion is only invoked manually (e.g. by calling cmp.complete).

Type: null or value false (singular enum) or list of lua code string

Default: null

Plugin default:

[
  "require('cmp.types').cmp.TriggerEvent.TextChanged"
]

Declared by:

plugins.cmp.cmdline.<name>.completion.completeopt

Like vim’s completeopt setting. In general, you don’t need to change this.

Type: null or string or raw lua code

Default: null

Plugin default: "menu,menuone,noselect"

Declared by:

plugins.cmp.cmdline.<name>.completion.keyword_length

The number of characters needed to trigger auto-completion.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.cmp.cmdline.<name>.completion.keyword_pattern

The default keyword pattern.

Type: null or lua code string

Default: null

Plugin default: "[[\\%(-\\?\\d\\+\\%(\\.\\d\\+\\)\\?\\|\\h\\w*\\%(-\\w*\\)*\\)]]"

Declared by:

plugins.cmp.cmdline.<name>.confirmation.get_commit_characters

You can append or exclude commitCharacters via this configuration option function. The commitCharacters are defined by the LSP spec.

Type: null or lua function string

Default: null

Plugin default:

''
  function(commit_characters)
    return commit_characters
  end
''

Declared by:

plugins.cmp.cmdline.<name>.formatting.expandable_indicator

Boolean to show the ~ expandable indicator in cmp’s floating window.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.cmp.cmdline.<name>.formatting.fields

An array of completion fields to specify their order.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "abbr"
  "kind"
  "menu"
]

Declared by:

plugins.cmp.cmdline.<name>.formatting.format

fun(entry: cmp.Entry, vim_item: vim.CompletedItem): vim.CompletedItem

The function used to customize the appearance of the completion menu. See |complete-items|. This value can also be used to modify the dup property.

NOTE: The vim.CompletedItem can contain the special properties abbr_hl_group, kind_hl_group and menu_hl_group.

Type: null or lua function string

Default: null

Plugin default:

''
  function(_, vim_item)
    return vim_item
  end
''

Declared by:

plugins.cmp.cmdline.<name>.matching.disallow_fullfuzzy_matching

Whether to allow full-fuzzy matching.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.cmp.cmdline.<name>.matching.disallow_fuzzy_matching

Whether to allow fuzzy matching.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.cmp.cmdline.<name>.matching.disallow_partial_fuzzy_matching

Whether to allow fuzzy matching without prefix matching.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.cmp.cmdline.<name>.matching.disallow_partial_matching

Whether to allow partial matching.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.cmp.cmdline.<name>.matching.disallow_prefix_unmatching

Whether to allow prefix unmatching.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.cmp.cmdline.<name>.performance.async_budget

Maximum time (in ms) an async function is allowed to run during one step of the event loop.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.cmp.cmdline.<name>.performance.confirm_resolve_timeout

Sets the timeout for resolving item before confirmation.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 80

Declared by:

plugins.cmp.cmdline.<name>.performance.debounce

Sets debounce time. This is the interval used to group up completions from different sources for filtering and displaying.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 60

Declared by:

plugins.cmp.cmdline.<name>.performance.fetching_timeout

Sets the timeout of candidate fetching process. The nvim-cmp will wait to display the most prioritized source.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 500

Declared by:

plugins.cmp.cmdline.<name>.performance.max_view_entries

Maximum number of items to show in the entries list.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 200

Declared by:

plugins.cmp.cmdline.<name>.performance.throttle

Sets throttle time. This is used to delay filtering and displaying completions.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 30

Declared by:

plugins.cmp.cmdline.<name>.snippet.expand

The snippet expansion function. That’s how nvim-cmp interacts with a particular snippet engine.

Common engines:

  function(args)
    # vsnip
    vim.fn["vsnip#anonymous"](args.body)

    # luasnip
    require('luasnip').lsp_expand(args.body)

    # snippy
    require('snippy').expand_snippet(args.body)

    # ultisnips
    vim.fn["UltiSnips#Anon"](args.body)
  end

You can also provide a custom function:

  function(args)
    vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users.
    -- require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
    -- require('snippy').expand_snippet(args.body) -- For `snippy` users.
    -- vim.fn["UltiSnips#Anon"](args.body) -- For `ultisnips` users.
  end

Type: null or lua function string

Default: null

Example:

''
  function(args)
    require('luasnip').lsp_expand(args.body)
  end
''

Declared by:

plugins.cmp.cmdline.<name>.sorting.comparators

The function to customize the sorting behavior. You can use built-in comparators via cmp.config.compare.*.

Signature: (fun(entry1: cmp.Entry, entry2: cmp.Entry): boolean | nil)[]

Default:

[
  "require('cmp.config.compare').offset"
  "require('cmp.config.compare').exact"
  "require('cmp.config.compare').score"
  "require('cmp.config.compare').recently_used"
  "require('cmp.config.compare').locality"
  "require('cmp.config.compare').kind"
  "require('cmp.config.compare').length"
  "require('cmp.config.compare').order"
]

Type: null or (list of lua function string)

Default: null

Declared by:

plugins.cmp.cmdline.<name>.sorting.priority_weight

Each item’s original priority (given by its corresponding source) will be increased by #sources - (source_index - 1) and multiplied by priority_weight.

That is, the final priority is calculated by the following formula: final_score = orig_score + ((#sources - (source_index - 1)) * sorting.priority_weight)

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 2

Declared by:

plugins.cmp.cmdline.<name>.view.entries

The view class used to customize nvim-cmp’s appearance.

Type: null or string or attribute set of anything

Default: null

Plugin default:

{
  name = "custom";
  selection_order = "top_down";
}

Declared by:

plugins.cmp.cmdline.<name>.view.docs.auto_open

Specify whether to show the docs_view when selecting an item.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.cmp.cmdline.<name>.window.completion.border

Defines the border to use for nvim-cmp completion popup menu. Accepts same border values as nvim_open_win(). See :help nvim_open_win() for more info.

Type: null or string or list of string or list of list of string or raw lua code

Default: null

Plugin default:

[
  ""
  ""
  ""
  ""
  ""
  ""
  ""
  ""
]

Declared by:

plugins.cmp.cmdline.<name>.window.completion.col_offset

Offsets the completion window relative to the cursor.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.cmp.cmdline.<name>.window.completion.scrollbar

Whether the scrollbar should be enabled if there are more items that fit.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.cmp.cmdline.<name>.window.completion.scrolloff

Specify the window’s scrolloff option. See |‘scrolloff’|.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.cmp.cmdline.<name>.window.completion.side_padding

The amount of padding to add on the completion window’s sides.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.cmp.cmdline.<name>.window.completion.winhighlight

Specify the window’s winhighlight option. See |nvim_open_win|.

Type: null or string or raw lua code

Default: null

Plugin default: "Normal:Pmenu,FloatBorder:Pmenu,CursorLine:PmenuSel,Search:None"

Declared by:

plugins.cmp.cmdline.<name>.window.completion.zindex

The window’s zindex. See |nvim_open_win|.

Type: null or (unsigned integer, meaning >=0)

Default: null

Declared by:

plugins.cmp.cmdline.<name>.window.documentation.border

Defines the border to use for nvim-cmp documentation popup menu. Accepts same border values as nvim_open_win(). See :help nvim_open_win() for more info.

Type: null or string or list of string or list of list of string or raw lua code

Default: null

Plugin default:

[
  ""
  ""
  ""
  ""
  ""
  ""
  ""
  ""
]

Declared by:

plugins.cmp.cmdline.<name>.window.documentation.max_height

The documentation window’s max height.

Default: “math.floor(40 * (40 / vim.o.lines))”

Type: null or lua code string or (unsigned integer, meaning >=0)

Default: null

Declared by:

plugins.cmp.cmdline.<name>.window.documentation.max_width

The documentation window’s max width.

Default: “math.floor((40 * 2) * (vim.o.columns / (40 * 2 * 16 / 9)))”

Type: null or lua code string or (unsigned integer, meaning >=0)

Default: null

Declared by:

plugins.cmp.cmdline.<name>.window.documentation.winhighlight

Specify the window’s winhighlight option. See |nvim_open_win|.

Type: null or string or raw lua code

Default: null

Plugin default: "FloatBorder:NormalFloat"

Declared by:

plugins.cmp.cmdline.<name>.window.documentation.zindex

The window’s zindex. See |nvim_open_win|.

Type: null or (unsigned integer, meaning >=0)

Default: null

Declared by:

plugins.cmp.filetype

Options provided to the require('cmp').setup.filetype function.

Type: attribute set of (attribute set of anything)

Default: { }

Example:

{
  python = {
    sources = [
      {
        name = "nvim_lsp";
      }
    ];
  };
}

Declared by:

plugins.cmp.filetype.<name>.experimental

Experimental features.

Type: null or (attribute set of anything)

Default: null

Declared by:

plugins.cmp.filetype.<name>.mapping

cmp mappings declaration. See :h cmp-mapping for more information.

Type: (attribute set of lua code string) or raw lua code

Default: { }

Example:

{
  "<C-Space>" = "cmp.mapping.complete()";
  "<C-d>" = "cmp.mapping.scroll_docs(-4)";
  "<C-e>" = "cmp.mapping.close()";
  "<C-f>" = "cmp.mapping.scroll_docs(4)";
  "<CR>" = "cmp.mapping.confirm({ select = true })";
  "<S-Tab>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
  "<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
}

Declared by:

plugins.cmp.filetype.<name>.preselect

  • “cmp.PreselectMode.Item”: nvim-cmp will preselect the item that the source specified.
  • “cmp.PreselectMode.None”: nvim-cmp will not preselect any items.

Type: null or lua code string

Default: null

Plugin default: "cmp.PreselectMode.Item"

Declared by:

plugins.cmp.filetype.<name>.sources

The sources to use. Can either be a list of sourceConfigs which will be made directly to a Lua object. Or it can be a raw lua string which might be necessary for more advanced use cases.

WARNING: If plugins.cmp.autoEnableSources Nixivm will automatically enable the corresponding source plugins. This will work only when this option is set to a list. If you use a raw lua string, you will need to explicitly enable the relevant source plugins in your nixvim configuration.

Type: (list of (attribute set of anything)) or raw lua code

Default: [ ]

Example:

[
  {
    name = "nvim_lsp";
  }
  {
    name = "luasnip";
  }
  {
    name = "path";
  }
  {
    name = "buffer";
  }
]

Declared by:

plugins.cmp.filetype.<name>.completion.autocomplete

The event to trigger autocompletion. If set to false, then completion is only invoked manually (e.g. by calling cmp.complete).

Type: null or value false (singular enum) or list of lua code string

Default: null

Plugin default:

[
  "require('cmp.types').cmp.TriggerEvent.TextChanged"
]

Declared by:

plugins.cmp.filetype.<name>.completion.completeopt

Like vim’s completeopt setting. In general, you don’t need to change this.

Type: null or string or raw lua code

Default: null

Plugin default: "menu,menuone,noselect"

Declared by:

plugins.cmp.filetype.<name>.completion.keyword_length

The number of characters needed to trigger auto-completion.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.cmp.filetype.<name>.completion.keyword_pattern

The default keyword pattern.

Type: null or lua code string

Default: null

Plugin default: "[[\\%(-\\?\\d\\+\\%(\\.\\d\\+\\)\\?\\|\\h\\w*\\%(-\\w*\\)*\\)]]"

Declared by:

plugins.cmp.filetype.<name>.confirmation.get_commit_characters

You can append or exclude commitCharacters via this configuration option function. The commitCharacters are defined by the LSP spec.

Type: null or lua function string

Default: null

Plugin default:

''
  function(commit_characters)
    return commit_characters
  end
''

Declared by:

plugins.cmp.filetype.<name>.formatting.expandable_indicator

Boolean to show the ~ expandable indicator in cmp’s floating window.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.cmp.filetype.<name>.formatting.fields

An array of completion fields to specify their order.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "abbr"
  "kind"
  "menu"
]

Declared by:

plugins.cmp.filetype.<name>.formatting.format

fun(entry: cmp.Entry, vim_item: vim.CompletedItem): vim.CompletedItem

The function used to customize the appearance of the completion menu. See |complete-items|. This value can also be used to modify the dup property.

NOTE: The vim.CompletedItem can contain the special properties abbr_hl_group, kind_hl_group and menu_hl_group.

Type: null or lua function string

Default: null

Plugin default:

''
  function(_, vim_item)
    return vim_item
  end
''

Declared by:

plugins.cmp.filetype.<name>.matching.disallow_fullfuzzy_matching

Whether to allow full-fuzzy matching.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.cmp.filetype.<name>.matching.disallow_fuzzy_matching

Whether to allow fuzzy matching.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.cmp.filetype.<name>.matching.disallow_partial_fuzzy_matching

Whether to allow fuzzy matching without prefix matching.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.cmp.filetype.<name>.matching.disallow_partial_matching

Whether to allow partial matching.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.cmp.filetype.<name>.matching.disallow_prefix_unmatching

Whether to allow prefix unmatching.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.cmp.filetype.<name>.performance.async_budget

Maximum time (in ms) an async function is allowed to run during one step of the event loop.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.cmp.filetype.<name>.performance.confirm_resolve_timeout

Sets the timeout for resolving item before confirmation.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 80

Declared by:

plugins.cmp.filetype.<name>.performance.debounce

Sets debounce time. This is the interval used to group up completions from different sources for filtering and displaying.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 60

Declared by:

plugins.cmp.filetype.<name>.performance.fetching_timeout

Sets the timeout of candidate fetching process. The nvim-cmp will wait to display the most prioritized source.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 500

Declared by:

plugins.cmp.filetype.<name>.performance.max_view_entries

Maximum number of items to show in the entries list.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 200

Declared by:

plugins.cmp.filetype.<name>.performance.throttle

Sets throttle time. This is used to delay filtering and displaying completions.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 30

Declared by:

plugins.cmp.filetype.<name>.snippet.expand

The snippet expansion function. That’s how nvim-cmp interacts with a particular snippet engine.

Common engines:

  function(args)
    # vsnip
    vim.fn["vsnip#anonymous"](args.body)

    # luasnip
    require('luasnip').lsp_expand(args.body)

    # snippy
    require('snippy').expand_snippet(args.body)

    # ultisnips
    vim.fn["UltiSnips#Anon"](args.body)
  end

You can also provide a custom function:

  function(args)
    vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users.
    -- require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
    -- require('snippy').expand_snippet(args.body) -- For `snippy` users.
    -- vim.fn["UltiSnips#Anon"](args.body) -- For `ultisnips` users.
  end

Type: null or lua function string

Default: null

Example:

''
  function(args)
    require('luasnip').lsp_expand(args.body)
  end
''

Declared by:

plugins.cmp.filetype.<name>.sorting.comparators

The function to customize the sorting behavior. You can use built-in comparators via cmp.config.compare.*.

Signature: (fun(entry1: cmp.Entry, entry2: cmp.Entry): boolean | nil)[]

Default:

[
  "require('cmp.config.compare').offset"
  "require('cmp.config.compare').exact"
  "require('cmp.config.compare').score"
  "require('cmp.config.compare').recently_used"
  "require('cmp.config.compare').locality"
  "require('cmp.config.compare').kind"
  "require('cmp.config.compare').length"
  "require('cmp.config.compare').order"
]

Type: null or (list of lua function string)

Default: null

Declared by:

plugins.cmp.filetype.<name>.sorting.priority_weight

Each item’s original priority (given by its corresponding source) will be increased by #sources - (source_index - 1) and multiplied by priority_weight.

That is, the final priority is calculated by the following formula: final_score = orig_score + ((#sources - (source_index - 1)) * sorting.priority_weight)

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 2

Declared by:

plugins.cmp.filetype.<name>.view.entries

The view class used to customize nvim-cmp’s appearance.

Type: null or string or attribute set of anything

Default: null

Plugin default:

{
  name = "custom";
  selection_order = "top_down";
}

Declared by:

plugins.cmp.filetype.<name>.view.docs.auto_open

Specify whether to show the docs_view when selecting an item.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.cmp.filetype.<name>.window.completion.border

Defines the border to use for nvim-cmp completion popup menu. Accepts same border values as nvim_open_win(). See :help nvim_open_win() for more info.

Type: null or string or list of string or list of list of string or raw lua code

Default: null

Plugin default:

[
  ""
  ""
  ""
  ""
  ""
  ""
  ""
  ""
]

Declared by:

plugins.cmp.filetype.<name>.window.completion.col_offset

Offsets the completion window relative to the cursor.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.cmp.filetype.<name>.window.completion.scrollbar

Whether the scrollbar should be enabled if there are more items that fit.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.cmp.filetype.<name>.window.completion.scrolloff

Specify the window’s scrolloff option. See |‘scrolloff’|.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.cmp.filetype.<name>.window.completion.side_padding

The amount of padding to add on the completion window’s sides.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.cmp.filetype.<name>.window.completion.winhighlight

Specify the window’s winhighlight option. See |nvim_open_win|.

Type: null or string or raw lua code

Default: null

Plugin default: "Normal:Pmenu,FloatBorder:Pmenu,CursorLine:PmenuSel,Search:None"

Declared by:

plugins.cmp.filetype.<name>.window.completion.zindex

The window’s zindex. See |nvim_open_win|.

Type: null or (unsigned integer, meaning >=0)

Default: null

Declared by:

plugins.cmp.filetype.<name>.window.documentation.border

Defines the border to use for nvim-cmp documentation popup menu. Accepts same border values as nvim_open_win(). See :help nvim_open_win() for more info.

Type: null or string or list of string or list of list of string or raw lua code

Default: null

Plugin default:

[
  ""
  ""
  ""
  ""
  ""
  ""
  ""
  ""
]

Declared by:

plugins.cmp.filetype.<name>.window.documentation.max_height

The documentation window’s max height.

Default: “math.floor(40 * (40 / vim.o.lines))”

Type: null or lua code string or (unsigned integer, meaning >=0)

Default: null

Declared by:

plugins.cmp.filetype.<name>.window.documentation.max_width

The documentation window’s max width.

Default: “math.floor((40 * 2) * (vim.o.columns / (40 * 2 * 16 / 9)))”

Type: null or lua code string or (unsigned integer, meaning >=0)

Default: null

Declared by:

plugins.cmp.filetype.<name>.window.documentation.winhighlight

Specify the window’s winhighlight option. See |nvim_open_win|.

Type: null or string or raw lua code

Default: null

Plugin default: "FloatBorder:NormalFloat"

Declared by:

plugins.cmp.filetype.<name>.window.documentation.zindex

The window’s zindex. See |nvim_open_win|.

Type: null or (unsigned integer, meaning >=0)

Default: null

Declared by:

plugins.cmp.lazyLoad

Lazy-load settings for nvim-cmp.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.cmp.lazyLoad.enable

lazy-loading for nvim-cmp

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.cmp.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.cmp.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.cmp.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.cmp.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.cmp.settings

Options provided to the require('cmp').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  mapping = {
    __raw = ''
      cmp.mapping.preset.insert({
        ['<C-b>'] = cmp.mapping.scroll_docs(-4),
        ['<C-f>'] = cmp.mapping.scroll_docs(4),
        ['<C-Space>'] = cmp.mapping.complete(),
        ['<C-e>'] = cmp.mapping.abort(),
        ['<CR>'] = cmp.mapping.confirm({ select = true }),
      })
    '';
  };
  snippet = {
    expand = "function(args) require('luasnip').lsp_expand(args.body) end";
  };
  sources = {
    __raw = ''
      cmp.config.sources({
        { name = 'nvim_lsp' },
        { name = 'vsnip' },
        -- { name = 'luasnip' },
        -- { name = 'ultisnips' },
        -- { name = 'snippy' },
      }, {
        { name = 'buffer' },
      })
    '';
  };
}

Declared by:

plugins.cmp.settings.experimental

Experimental features.

Type: null or (attribute set of anything)

Default: null

Declared by:

plugins.cmp.settings.mapping

cmp mappings declaration. See :h cmp-mapping for more information.

Type: (attribute set of lua code string) or raw lua code

Default: { }

Example:

{
  "<C-Space>" = "cmp.mapping.complete()";
  "<C-d>" = "cmp.mapping.scroll_docs(-4)";
  "<C-e>" = "cmp.mapping.close()";
  "<C-f>" = "cmp.mapping.scroll_docs(4)";
  "<CR>" = "cmp.mapping.confirm({ select = true })";
  "<S-Tab>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
  "<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
}

Declared by:

plugins.cmp.settings.preselect

  • “cmp.PreselectMode.Item”: nvim-cmp will preselect the item that the source specified.
  • “cmp.PreselectMode.None”: nvim-cmp will not preselect any items.

Type: null or lua code string

Default: null

Plugin default: "cmp.PreselectMode.Item"

Declared by:

plugins.cmp.settings.sources

The sources to use. Can either be a list of sourceConfigs which will be made directly to a Lua object. Or it can be a raw lua string which might be necessary for more advanced use cases.

WARNING: If plugins.cmp.autoEnableSources Nixivm will automatically enable the corresponding source plugins. This will work only when this option is set to a list. If you use a raw lua string, you will need to explicitly enable the relevant source plugins in your nixvim configuration.

Type: (list of (attribute set of anything)) or raw lua code

Default: [ ]

Example:

[
  {
    name = "nvim_lsp";
  }
  {
    name = "luasnip";
  }
  {
    name = "path";
  }
  {
    name = "buffer";
  }
]

Declared by:

plugins.cmp.settings.completion.autocomplete

The event to trigger autocompletion. If set to false, then completion is only invoked manually (e.g. by calling cmp.complete).

Type: null or value false (singular enum) or list of lua code string

Default: null

Plugin default:

[
  "require('cmp.types').cmp.TriggerEvent.TextChanged"
]

Declared by:

plugins.cmp.settings.completion.completeopt

Like vim’s completeopt setting. In general, you don’t need to change this.

Type: null or string or raw lua code

Default: null

Plugin default: "menu,menuone,noselect"

Declared by:

plugins.cmp.settings.completion.keyword_length

The number of characters needed to trigger auto-completion.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.cmp.settings.completion.keyword_pattern

The default keyword pattern.

Type: null or lua code string

Default: null

Plugin default: "[[\\%(-\\?\\d\\+\\%(\\.\\d\\+\\)\\?\\|\\h\\w*\\%(-\\w*\\)*\\)]]"

Declared by:

plugins.cmp.settings.confirmation.get_commit_characters

You can append or exclude commitCharacters via this configuration option function. The commitCharacters are defined by the LSP spec.

Type: null or lua function string

Default: null

Plugin default:

''
  function(commit_characters)
    return commit_characters
  end
''

Declared by:

plugins.cmp.settings.formatting.expandable_indicator

Boolean to show the ~ expandable indicator in cmp’s floating window.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.cmp.settings.formatting.fields

An array of completion fields to specify their order.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "abbr"
  "kind"
  "menu"
]

Declared by:

plugins.cmp.settings.formatting.format

fun(entry: cmp.Entry, vim_item: vim.CompletedItem): vim.CompletedItem

The function used to customize the appearance of the completion menu. See |complete-items|. This value can also be used to modify the dup property.

NOTE: The vim.CompletedItem can contain the special properties abbr_hl_group, kind_hl_group and menu_hl_group.

Type: null or lua function string

Default: null

Plugin default:

''
  function(_, vim_item)
    return vim_item
  end
''

Declared by:

plugins.cmp.settings.matching.disallow_fullfuzzy_matching

Whether to allow full-fuzzy matching.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.cmp.settings.matching.disallow_fuzzy_matching

Whether to allow fuzzy matching.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.cmp.settings.matching.disallow_partial_fuzzy_matching

Whether to allow fuzzy matching without prefix matching.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.cmp.settings.matching.disallow_partial_matching

Whether to allow partial matching.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.cmp.settings.matching.disallow_prefix_unmatching

Whether to allow prefix unmatching.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.cmp.settings.performance.async_budget

Maximum time (in ms) an async function is allowed to run during one step of the event loop.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.cmp.settings.performance.confirm_resolve_timeout

Sets the timeout for resolving item before confirmation.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 80

Declared by:

plugins.cmp.settings.performance.debounce

Sets debounce time. This is the interval used to group up completions from different sources for filtering and displaying.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 60

Declared by:

plugins.cmp.settings.performance.fetching_timeout

Sets the timeout of candidate fetching process. The nvim-cmp will wait to display the most prioritized source.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 500

Declared by:

plugins.cmp.settings.performance.max_view_entries

Maximum number of items to show in the entries list.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 200

Declared by:

plugins.cmp.settings.performance.throttle

Sets throttle time. This is used to delay filtering and displaying completions.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 30

Declared by:

plugins.cmp.settings.snippet.expand

The snippet expansion function. That’s how nvim-cmp interacts with a particular snippet engine.

Common engines:

  function(args)
    # vsnip
    vim.fn["vsnip#anonymous"](args.body)

    # luasnip
    require('luasnip').lsp_expand(args.body)

    # snippy
    require('snippy').expand_snippet(args.body)

    # ultisnips
    vim.fn["UltiSnips#Anon"](args.body)
  end

You can also provide a custom function:

  function(args)
    vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users.
    -- require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
    -- require('snippy').expand_snippet(args.body) -- For `snippy` users.
    -- vim.fn["UltiSnips#Anon"](args.body) -- For `ultisnips` users.
  end

Type: null or lua function string

Default: null

Example:

''
  function(args)
    require('luasnip').lsp_expand(args.body)
  end
''

Declared by:

plugins.cmp.settings.sorting.comparators

The function to customize the sorting behavior. You can use built-in comparators via cmp.config.compare.*.

Signature: (fun(entry1: cmp.Entry, entry2: cmp.Entry): boolean | nil)[]

Default:

[
  "require('cmp.config.compare').offset"
  "require('cmp.config.compare').exact"
  "require('cmp.config.compare').score"
  "require('cmp.config.compare').recently_used"
  "require('cmp.config.compare').locality"
  "require('cmp.config.compare').kind"
  "require('cmp.config.compare').length"
  "require('cmp.config.compare').order"
]

Type: null or (list of lua function string)

Default: null

Declared by:

plugins.cmp.settings.sorting.priority_weight

Each item’s original priority (given by its corresponding source) will be increased by #sources - (source_index - 1) and multiplied by priority_weight.

That is, the final priority is calculated by the following formula: final_score = orig_score + ((#sources - (source_index - 1)) * sorting.priority_weight)

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 2

Declared by:

plugins.cmp.settings.view.entries

The view class used to customize nvim-cmp’s appearance.

Type: null or string or attribute set of anything

Default: null

Plugin default:

{
  name = "custom";
  selection_order = "top_down";
}

Declared by:

plugins.cmp.settings.view.docs.auto_open

Specify whether to show the docs_view when selecting an item.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.cmp.settings.window.completion.border

Defines the border to use for nvim-cmp completion popup menu. Accepts same border values as nvim_open_win(). See :help nvim_open_win() for more info.

Type: null or string or list of string or list of list of string or raw lua code

Default: null

Plugin default:

[
  ""
  ""
  ""
  ""
  ""
  ""
  ""
  ""
]

Declared by:

plugins.cmp.settings.window.completion.col_offset

Offsets the completion window relative to the cursor.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.cmp.settings.window.completion.scrollbar

Whether the scrollbar should be enabled if there are more items that fit.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.cmp.settings.window.completion.scrolloff

Specify the window’s scrolloff option. See |‘scrolloff’|.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.cmp.settings.window.completion.side_padding

The amount of padding to add on the completion window’s sides.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.cmp.settings.window.completion.winhighlight

Specify the window’s winhighlight option. See |nvim_open_win|.

Type: null or string or raw lua code

Default: null

Plugin default: "Normal:Pmenu,FloatBorder:Pmenu,CursorLine:PmenuSel,Search:None"

Declared by:

plugins.cmp.settings.window.completion.zindex

The window’s zindex. See |nvim_open_win|.

Type: null or (unsigned integer, meaning >=0)

Default: null

Declared by:

plugins.cmp.settings.window.documentation.border

Defines the border to use for nvim-cmp documentation popup menu. Accepts same border values as nvim_open_win(). See :help nvim_open_win() for more info.

Type: null or string or list of string or list of list of string or raw lua code

Default: null

Plugin default:

[
  ""
  ""
  ""
  ""
  ""
  ""
  ""
  ""
]

Declared by:

plugins.cmp.settings.window.documentation.max_height

The documentation window’s max height.

Default: “math.floor(40 * (40 / vim.o.lines))”

Type: null or lua code string or (unsigned integer, meaning >=0)

Default: null

Declared by:

plugins.cmp.settings.window.documentation.max_width

The documentation window’s max width.

Default: “math.floor((40 * 2) * (vim.o.columns / (40 * 2 * 16 / 9)))”

Type: null or lua code string or (unsigned integer, meaning >=0)

Default: null

Declared by:

plugins.cmp.settings.window.documentation.winhighlight

Specify the window’s winhighlight option. See |nvim_open_win|.

Type: null or string or raw lua code

Default: null

Plugin default: "FloatBorder:NormalFloat"

Declared by:

plugins.cmp.settings.window.documentation.zindex

The window’s zindex. See |nvim_open_win|.

Type: null or (unsigned integer, meaning >=0)

Default: null

Declared by:

cmp-ai

URL: https://github.com/tzachar/cmp-ai/

Maintainers: Gaetan Lepage

plugins.cmp-ai.enable

Whether to enable cmp-ai.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-ai.package

The cmp-ai package to use.

Type: package

Default: pkgs.vimPlugins.cmp-ai

Declared by:

plugins.cmp-ai.autoLoad

Whether to automatically load cmp-ai when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.cmp-ai.lazyLoad

Lazy-load settings for cmp-ai.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.cmp-ai.lazyLoad.enable

lazy-loading for cmp-ai

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.cmp-ai.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.cmp-ai.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.cmp-ai.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.cmp-ai.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.cmp-ai.settings

Options provided to the require('cmp_ai.config'):setup function.

Type: attribute set of anything

Default: { }

Example:

{
  ignored_file_types = {
    lua = true;
  };
  max_lines = 1000;
  notify = true;
  notify_callback = ''
    function(msg)
      vim.notify(msg)
    end
  '';
  provider = "HF";
  run_on_every_keystroke = true;
}

Declared by:

plugins.cmp-ai.settings.ignored_file_types

Which filetypes to ignore.

Type: null or (attribute set of (boolean or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Example:

{
  html = true;
  lua = true;
}

Declared by:

plugins.cmp-ai.settings.max_lines

How many lines of buffer context to use.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 50

Declared by:

plugins.cmp-ai.settings.notify

As some completion sources can be quit slow, setting this to true will trigger a notification when a completion starts and ends using vim.notify.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.cmp-ai.settings.notify_callback

The default notify function uses vim.notify, but an override can be configured.

Type: null or lua function string

Default: null

Plugin default:

''
  function(msg)
    vim.notify(msg)
  end
''

Example:

''
  function(msg)
    require('notify').notify(msg, vim.log.levels.INFO, {
      title = 'OpenAI',
      render = 'compact',
    })
  end
''

Declared by:

plugins.cmp-ai.settings.provider

Which AI provider to use.

Check the README to learn about available options.

Type: null or string or raw lua code

Default: null

Plugin default: "HF"

Declared by:

plugins.cmp-ai.settings.provider_options

Options to forward to the provider.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.cmp-ai.settings.run_on_every_keystroke

Generate new completion items on every keystroke.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

cmp-async-path

URL: https://codeberg.org/FelipeLema/cmp-async-path/

Maintainers: Gaetan Lepage

plugins.cmp-async-path.enable

Whether to enable cmp-async-path.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-async-path.package

The cmp-async-path package to use.

Type: package

Default: pkgs.vimPlugins.cmp-async-path

Declared by:

plugins.cmp-async-path.autoLoad

Whether to automatically load cmp-async-path when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-buffer

URL: https://github.com/hrsh7th/cmp-buffer/

Maintainers: Gaetan Lepage

plugins.cmp-buffer.enable

Whether to enable cmp-buffer.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-buffer.package

The cmp-buffer package to use.

Type: package

Default: pkgs.vimPlugins.cmp-buffer

Declared by:

plugins.cmp-buffer.autoLoad

Whether to automatically load cmp-buffer when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-calc

URL: https://github.com/hrsh7th/cmp-calc/

Maintainers: Gaetan Lepage

plugins.cmp-calc.enable

Whether to enable cmp-calc.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-calc.package

The cmp-calc package to use.

Type: package

Default: pkgs.vimPlugins.cmp-calc

Declared by:

plugins.cmp-calc.autoLoad

Whether to automatically load cmp-calc when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-clippy

URL: https://github.com/vappolinario/cmp-clippy/

Maintainers: Gaetan Lepage

plugins.cmp-clippy.enable

Whether to enable cmp-clippy.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-clippy.package

The cmp-clippy package to use.

Type: package

Default: pkgs.vimPlugins.cmp-clippy

Declared by:

plugins.cmp-clippy.autoLoad

Whether to automatically load cmp-clippy when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-cmdline

URL: https://github.com/hrsh7th/cmp-cmdline/

Maintainers: Gaetan Lepage

plugins.cmp-cmdline.enable

Whether to enable cmp-cmdline.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-cmdline.package

The cmp-cmdline package to use.

Type: package

Default: pkgs.vimPlugins.cmp-cmdline

Declared by:

plugins.cmp-cmdline.autoLoad

Whether to automatically load cmp-cmdline when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-cmdline-history

URL: https://github.com/dmitmel/cmp-cmdline-history/

Maintainers: Gaetan Lepage

plugins.cmp-cmdline-history.enable

Whether to enable cmp-cmdline-history.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-cmdline-history.package

The cmp-cmdline-history package to use.

Type: package

Default: pkgs.vimPlugins.cmp-cmdline-history

Declared by:

plugins.cmp-cmdline-history.autoLoad

Whether to automatically load cmp-cmdline-history when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-conventionalcommits

URL: https://github.com/davidsierradz/cmp-conventionalcommits/

Maintainers: Gaetan Lepage

plugins.cmp-conventionalcommits.enable

Whether to enable cmp-conventionalcommits.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-conventionalcommits.package

The cmp-conventionalcommits package to use.

Type: package

Default: pkgs.vimPlugins.cmp-conventionalcommits

Declared by:

plugins.cmp-conventionalcommits.autoLoad

Whether to automatically load cmp-conventionalcommits when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-dap

URL: https://github.com/rcarriga/cmp-dap/

Maintainers: Gaetan Lepage

plugins.cmp-dap.enable

Whether to enable cmp-dap.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-dap.package

The cmp-dap package to use.

Type: package

Default: pkgs.vimPlugins.cmp-dap

Declared by:

plugins.cmp-dap.autoLoad

Whether to automatically load cmp-dap when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-dictionary

URL: https://github.com/uga-rosa/cmp-dictionary/

Maintainers: Gaetan Lepage

plugins.cmp-dictionary.enable

Whether to enable cmp-dictionary.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-dictionary.package

The cmp-dictionary package to use.

Type: package

Default: pkgs.vimPlugins.cmp-dictionary

Declared by:

plugins.cmp-dictionary.autoLoad

Whether to automatically load cmp-dictionary when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-digraphs

URL: https://github.com/dmitmel/cmp-digraphs/

Maintainers: Gaetan Lepage

plugins.cmp-digraphs.enable

Whether to enable cmp-digraphs.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-digraphs.package

The cmp-digraphs package to use.

Type: package

Default: pkgs.vimPlugins.cmp-digraphs

Declared by:

plugins.cmp-digraphs.autoLoad

Whether to automatically load cmp-digraphs when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-emoji

URL: https://github.com/hrsh7th/cmp-emoji/

Maintainers: Gaetan Lepage

plugins.cmp-emoji.enable

Whether to enable cmp-emoji.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-emoji.package

The cmp-emoji package to use.

Type: package

Default: pkgs.vimPlugins.cmp-emoji

Declared by:

plugins.cmp-emoji.autoLoad

Whether to automatically load cmp-emoji when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-fish

URL: https://github.com/mtoohey31/cmp-fish/

Maintainers: Gaetan Lepage

plugins.cmp-fish.enable

Whether to enable cmp-fish.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-fish.package

The cmp-fish package to use.

Type: package

Default: pkgs.vimPlugins.cmp-fish

Declared by:

plugins.cmp-fish.autoLoad

Whether to automatically load cmp-fish when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-fuzzy-buffer

URL: https://github.com/tzachar/cmp-fuzzy-buffer/

Maintainers: Gaetan Lepage

plugins.cmp-fuzzy-buffer.enable

Whether to enable cmp-fuzzy-buffer.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-fuzzy-buffer.package

The cmp-fuzzy-buffer package to use.

Type: package

Default: pkgs.vimPlugins.cmp-fuzzy-buffer

Declared by:

plugins.cmp-fuzzy-buffer.autoLoad

Whether to automatically load cmp-fuzzy-buffer when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-fuzzy-path

URL: https://github.com/tzachar/cmp-fuzzy-path/

Maintainers: Gaetan Lepage

plugins.cmp-fuzzy-path.enable

Whether to enable cmp-fuzzy-path.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-fuzzy-path.package

The cmp-fuzzy-path package to use.

Type: package

Default: pkgs.vimPlugins.cmp-fuzzy-path

Declared by:

plugins.cmp-fuzzy-path.autoLoad

Whether to automatically load cmp-fuzzy-path when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-git

URL: https://github.com/petertriho/cmp-git/

Maintainers: Gaetan Lepage

plugins.cmp-git.enable

Whether to enable cmp-git.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-git.package

The cmp-git package to use.

Type: package

Default: pkgs.vimPlugins.cmp-git

Declared by:

plugins.cmp-git.autoLoad

Whether to automatically load cmp-git when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.cmp-git.lazyLoad

Lazy-load settings for cmp-git.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.cmp-git.lazyLoad.enable

lazy-loading for cmp-git

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.cmp-git.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.cmp-git.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.cmp-git.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.cmp-git.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.cmp-git.settings

Options provided to the require('cmp_git').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  github = {
    issues = {
      filter = "all";
      format = ''
        function(_, issue)
          local icon = ({
            open = '',
            closed = '',
          })[string.lower(issue.state)]
          return string.format('%s #%d: %s', icon, issue.number, issue.title)
        end
      '';
      limit = 250;
      sort_by = ''
        function(issue)
          local kind_rank = issue.pull_request and 1 or 0
          local state_rank = issue.state == 'open' and 0 or 1
          local age = os.difftime(os.time(), require('cmp_git.utils').parse_github_date(issue.updatedAt))
          return string.format('%d%d%010d', kind_rank, state_rank, age)
        end
      '';
      state = "all";
    };
  };
  remotes = [
    "upstream"
    "origin"
    "foo"
  ];
  trigger_actions = [
    {
      action = ''
        function(sources, trigger_char, callback, params, git_info)
          return sources.git:get_commits(callback, params, trigger_char)
        end
      '';
      debug_name = "git_commits";
      trigger_character = ":";
    }
    {
      action = ''
        function(sources, trigger_char, callback, params, git_info)
          return sources.github:get_issues(callback, git_info, trigger_char)
        end
      '';
      debug_name = "github_issues";
      trigger_character = "#";
    }
  ];
}

Declared by:

plugins.cmp-git.settings.enableRemoteUrlRewrites

Whether to enable remote URL rewrites.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.cmp-git.settings.filetypes

Filetypes for which to trigger.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "gitcommit"
  "octo"
]

Declared by:

plugins.cmp-git.settings.remotes

List of git remotes.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "upstream"
  "origin"
]

Declared by:

plugins.cmp-git.settings.trigger_actions

If you want specific behaviour for a trigger or new behaviour for a trigger, you need to add an entry in the trigger_actions list of the config. The two necessary fields are the trigger_character and the action.

Type: null or (list of ((submodule) or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  {
    action = ''
      function(sources, trigger_char, callback, params, git_info)
        return sources.git:get_commits(callback, params, trigger_char)
      end
    '';
    debug_name = "git_commits";
    trigger_character = ":";
  }
  {
    action = ''
      function(sources, trigger_char, callback, params, git_info)
          return sources.gitlab:get_issues(callback, git_info, trigger_char)
      end
    '';
    debug_name = "gitlab_issues";
    trigger_character = "#";
  }
  {
    action = ''
      function(sources, trigger_char, callback, params, git_info)
          return sources.gitlab:get_mentions(callback, git_info, trigger_char)
      end
    '';
    debug_name = "gitlab_mentions";
    trigger_character = "@";
  }
  {
    action = ''
      function(sources, trigger_char, callback, params, git_info)
        return sources.gitlab:get_merge_requests(callback, git_info, trigger_char)
      end
    '';
    debug_name = "gitlab_mrs";
    trigger_character = "!";
  }
  {
    action = ''
      function(sources, trigger_char, callback, params, git_info)
        return sources.github:get_issues_and_prs(callback, git_info, trigger_char)
      end
    '';
    debug_name = "github_issues_and_pr";
    trigger_character = "#";
  }
  {
    action = ''
      function(sources, trigger_char, callback, params, git_info)
        return sources.github:get_mentions(callback, git_info, trigger_char)
      end
    '';
    debug_name = "github_mentions";
    trigger_character = "@";
  }
]

Declared by:

plugins.cmp-git.settings.git.commits.format

Function used to format the commits.

Type: null or lua function string

Default: null

Plugin default: "require('cmp_git.format').git.commits"

Declared by:

plugins.cmp-git.settings.git.commits.limit

Max number of git commits to fetch.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 100

Declared by:

plugins.cmp-git.settings.git.commits.sort_by

Function used to sort the commits.

Type: null or lua function string

Default: null

Plugin default: "require('cmp_git.sort').git.commits"

Declared by:

plugins.cmp-git.settings.github.hosts

List of private instances of github.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.cmp-git.settings.github.issues.fields

The fields used for issues.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "title"
  "number"
  "body"
  "updatedAt"
  "state"
]

Declared by:

plugins.cmp-git.settings.github.issues.filter

The filter to use when fetching issues.

Type: null or string or raw lua code

Default: null

Plugin default: "all"

Declared by:

plugins.cmp-git.settings.github.issues.format

Function used to format the issues.

Type: null or lua function string

Default: null

Plugin default: "require('cmp_git.format').git.issues"

Declared by:

plugins.cmp-git.settings.github.issues.limit

Max number of issues to fetch.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 100

Declared by:

plugins.cmp-git.settings.github.issues.sort_by

Function used to sort the issues.

Type: null or lua function string

Default: null

Plugin default: "require('cmp_git.sort').git.issues"

Declared by:

plugins.cmp-git.settings.github.issues.state

Which issues to fetch ("open", "closed" or "all").

Type: null or string or raw lua code

Default: null

Plugin default: "open"

Declared by:

plugins.cmp-git.settings.github.mentions.format

Function used to format the mentions.

Type: null or lua function string

Default: null

Plugin default: "require('cmp_git.format').git.mentions"

Declared by:

plugins.cmp-git.settings.github.mentions.limit

Max number of mentions to fetch.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 100

Declared by:

plugins.cmp-git.settings.github.mentions.sort_by

Function used to sort the mentions.

Type: null or lua function string

Default: null

Plugin default: "require('cmp_git.sort').git.mentions"

Declared by:

plugins.cmp-git.settings.github.pull_requests.fields

The fields used for pull requests.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "title"
  "number"
  "body"
  "updatedAt"
  "state"
]

Declared by:

plugins.cmp-git.settings.github.pull_requests.format

Function used to format the pull requests.

Type: null or lua function string

Default: null

Plugin default: "require('cmp_git.format').git.pull_requests"

Declared by:

plugins.cmp-git.settings.github.pull_requests.limit

Max number of pull requests to fetch.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 100

Declared by:

plugins.cmp-git.settings.github.pull_requests.sort_by

Function used to sort the pull requests.

Type: null or lua function string

Default: null

Plugin default: "require('cmp_git.sort').git.pull_requests"

Declared by:

plugins.cmp-git.settings.github.pull_requests.state

Which issues to fetch ("open", "closed", "merged" or "all").

Type: null or string or raw lua code

Default: null

Plugin default: "open"

Declared by:

plugins.cmp-git.settings.gitlab.hosts

List of private instances of gitlab.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.cmp-git.settings.gitlab.issues.format

Function used to format the issues.

Type: null or lua function string

Default: null

Plugin default: "require('cmp_git.format').git.issues"

Declared by:

plugins.cmp-git.settings.gitlab.issues.limit

Max number of issues to fetch.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 100

Declared by:

plugins.cmp-git.settings.gitlab.issues.sort_by

Function used to sort the issues.

Type: null or lua function string

Default: null

Plugin default: "require('cmp_git.sort').git.issues"

Declared by:

plugins.cmp-git.settings.gitlab.issues.state

Which issues to fetch ("open", "closed" or "all").

Type: null or string or raw lua code

Default: null

Plugin default: "open"

Declared by:

plugins.cmp-git.settings.gitlab.mentions.format

Function used to format the mentions.

Type: null or lua function string

Default: null

Plugin default: "require('cmp_git.format').git.mentions"

Declared by:

plugins.cmp-git.settings.gitlab.mentions.limit

Max number of mentions to fetch.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 100

Declared by:

plugins.cmp-git.settings.gitlab.mentions.sort_by

Function used to sort the mentions.

Type: null or lua function string

Default: null

Plugin default: "require('cmp_git.sort').git.mentions"

Declared by:

plugins.cmp-git.settings.gitlab.merge_requests.format

Function used to format the merge requests.

Type: null or lua function string

Default: null

Plugin default: "require('cmp_git.format').git.merge_requests"

Declared by:

plugins.cmp-git.settings.gitlab.merge_requests.limit

Max number of merge requests to fetch.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 100

Declared by:

plugins.cmp-git.settings.gitlab.merge_requests.sort_by

Function used to sort the merge requests.

Type: null or lua function string

Default: null

Plugin default: "require('cmp_git.sort').git.merge_requests"

Declared by:

plugins.cmp-git.settings.gitlab.merge_requests.state

Which issues to fetch ("open", "closed", "locked" or "merged").

Type: null or string or raw lua code

Default: null

Plugin default: "open"

Declared by:

cmp-greek

URL: https://github.com/max397574/cmp-greek/

Maintainers: Gaetan Lepage

plugins.cmp-greek.enable

Whether to enable cmp-greek.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-greek.package

The cmp-greek package to use.

Type: package

Default: pkgs.vimPlugins.cmp-greek

Declared by:

plugins.cmp-greek.autoLoad

Whether to automatically load cmp-greek when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-latex-symbols

URL: https://github.com/kdheepak/cmp-latex-symbols/

Maintainers: Gaetan Lepage

plugins.cmp-latex-symbols.enable

Whether to enable cmp-latex-symbols.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-latex-symbols.package

The cmp-latex-symbols package to use.

Type: package

Default: pkgs.vimPlugins.cmp-latex-symbols

Declared by:

plugins.cmp-latex-symbols.autoLoad

Whether to automatically load cmp-latex-symbols when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-look

URL: https://github.com/octaltree/cmp-look/

Maintainers: Gaetan Lepage

plugins.cmp-look.enable

Whether to enable cmp-look.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-look.package

The cmp-look package to use.

Type: package

Default: pkgs.vimPlugins.cmp-look

Declared by:

plugins.cmp-look.autoLoad

Whether to automatically load cmp-look when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-nixpkgs-maintainers

URL: https://github.com/GaetanLepage/cmp-nixpkgs-maintainers/

Maintainers: Gaetan Lepage

plugins.cmp-nixpkgs-maintainers.enable

Whether to enable cmp-nixpkgs-maintainers.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-nixpkgs-maintainers.package

The cmp-nixpkgs-maintainers package to use.

Type: package

Default: pkgs.vimPlugins.cmp-nixpkgs-maintainers

Declared by:

plugins.cmp-nixpkgs-maintainers.autoLoad

Whether to automatically load cmp-nixpkgs-maintainers when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-npm

URL: https://github.com/David-Kunz/cmp-npm/

Maintainers: Gaetan Lepage

plugins.cmp-npm.enable

Whether to enable cmp-npm.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-npm.package

The cmp-npm package to use.

Type: package

Default: pkgs.vimPlugins.cmp-npm

Declared by:

plugins.cmp-npm.autoLoad

Whether to automatically load cmp-npm when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-nvim-lsp

URL: https://github.com/hrsh7th/cmp-nvim-lsp/

Maintainers: Gaetan Lepage

plugins.cmp-nvim-lsp.enable

Whether to enable cmp-nvim-lsp.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-nvim-lsp.package

The cmp-nvim-lsp package to use.

Type: package

Default: pkgs.vimPlugins.cmp-nvim-lsp

Declared by:

plugins.cmp-nvim-lsp.autoLoad

Whether to automatically load cmp-nvim-lsp when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-nvim-lsp-document-symbol

URL: https://github.com/hrsh7th/cmp-nvim-lsp-document-symbol/

Maintainers: Gaetan Lepage

plugins.cmp-nvim-lsp-document-symbol.enable

Whether to enable cmp-nvim-lsp-document-symbol.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-nvim-lsp-document-symbol.package

The cmp-nvim-lsp-document-symbol package to use.

Type: package

Default: pkgs.vimPlugins.cmp-nvim-lsp-document-symbol

Declared by:

plugins.cmp-nvim-lsp-document-symbol.autoLoad

Whether to automatically load cmp-nvim-lsp-document-symbol when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-nvim-lsp-signature-help

URL: https://github.com/hrsh7th/cmp-nvim-lsp-signature-help/

Maintainers: Gaetan Lepage

plugins.cmp-nvim-lsp-signature-help.enable

Whether to enable cmp-nvim-lsp-signature-help.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-nvim-lsp-signature-help.package

The cmp-nvim-lsp-signature-help package to use.

Type: package

Default: pkgs.vimPlugins.cmp-nvim-lsp-signature-help

Declared by:

plugins.cmp-nvim-lsp-signature-help.autoLoad

Whether to automatically load cmp-nvim-lsp-signature-help when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-nvim-lua

URL: https://github.com/hrsh7th/cmp-nvim-lua/

Maintainers: Gaetan Lepage

plugins.cmp-nvim-lua.enable

Whether to enable cmp-nvim-lua.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-nvim-lua.package

The cmp-nvim-lua package to use.

Type: package

Default: pkgs.vimPlugins.cmp-nvim-lua

Declared by:

plugins.cmp-nvim-lua.autoLoad

Whether to automatically load cmp-nvim-lua when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-nvim-ultisnips

URL: https://github.com/quangnguyen30192/cmp-nvim-ultisnips/

Maintainers: Gaetan Lepage

plugins.cmp-nvim-ultisnips.enable

Whether to enable cmp-nvim-ultisnips.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-nvim-ultisnips.package

The cmp-nvim-ultisnips package to use.

Type: package

Default: pkgs.vimPlugins.cmp-nvim-ultisnips

Declared by:

plugins.cmp-nvim-ultisnips.autoLoad

Whether to automatically load cmp-nvim-ultisnips when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-omni

URL: https://github.com/hrsh7th/cmp-omni/

Maintainers: Gaetan Lepage

plugins.cmp-omni.enable

Whether to enable cmp-omni.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-omni.package

The cmp-omni package to use.

Type: package

Default: pkgs.vimPlugins.cmp-omni

Declared by:

plugins.cmp-omni.autoLoad

Whether to automatically load cmp-omni when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-pandoc-nvim

URL: https://github.com/aspeddro/cmp-pandoc.nvim/

Maintainers: Gaetan Lepage

plugins.cmp-pandoc-nvim.enable

Whether to enable cmp-pandoc-nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-pandoc-nvim.package

The cmp-pandoc-nvim package to use.

Type: package

Default: pkgs.vimPlugins.cmp-pandoc-nvim

Declared by:

plugins.cmp-pandoc-nvim.autoLoad

Whether to automatically load cmp-pandoc-nvim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-pandoc-references

URL: https://github.com/jc-doyle/cmp-pandoc-references/

Maintainers: Gaetan Lepage

plugins.cmp-pandoc-references.enable

Whether to enable cmp-pandoc-references.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-pandoc-references.package

The cmp-pandoc-references package to use.

Type: package

Default: pkgs.vimPlugins.cmp-pandoc-references

Declared by:

plugins.cmp-pandoc-references.autoLoad

Whether to automatically load cmp-pandoc-references when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-path

URL: https://github.com/hrsh7th/cmp-path/

Maintainers: Gaetan Lepage

plugins.cmp-path.enable

Whether to enable cmp-path.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-path.package

The cmp-path package to use.

Type: package

Default: pkgs.vimPlugins.cmp-path

Declared by:

plugins.cmp-path.autoLoad

Whether to automatically load cmp-path when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-rg

URL: https://github.com/lukas-reineke/cmp-rg/

Maintainers: Gaetan Lepage

plugins.cmp-rg.enable

Whether to enable cmp-rg.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-rg.package

The cmp-rg package to use.

Type: package

Default: pkgs.vimPlugins.cmp-rg

Declared by:

plugins.cmp-rg.autoLoad

Whether to automatically load cmp-rg when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-snippy

URL: https://github.com/dcampos/cmp-snippy/

Maintainers: Gaetan Lepage

plugins.cmp-snippy.enable

Whether to enable cmp-snippy.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-snippy.package

The cmp-snippy package to use.

Type: package

Default: pkgs.vimPlugins.cmp-snippy

Declared by:

plugins.cmp-snippy.autoLoad

Whether to automatically load cmp-snippy when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-spell

URL: https://github.com/f3fora/cmp-spell/

Maintainers: Gaetan Lepage

plugins.cmp-spell.enable

Whether to enable cmp-spell.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-spell.package

The cmp-spell package to use.

Type: package

Default: pkgs.vimPlugins.cmp-spell

Declared by:

plugins.cmp-spell.autoLoad

Whether to automatically load cmp-spell when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-tabby

URL: https://github.com/nzlov/cmp-tabby/

Maintainers: Gaetan Lepage

plugins.cmp-tabby.enable

Whether to enable cmp-tabby.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-tabby.package

The cmp-tabby package to use.

Type: package

Default: pkgs.vimPlugins.cmp-tabby

Declared by:

plugins.cmp-tabby.autoLoad

Whether to automatically load cmp-tabby when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.cmp-tabby.lazyLoad

Lazy-load settings for cmp-tabby.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.cmp-tabby.lazyLoad.enable

lazy-loading for cmp-tabby

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.cmp-tabby.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.cmp-tabby.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.cmp-tabby.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.cmp-tabby.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.cmp-tabby.settings

Options provided to the require('cmp_tabby.config'):setup function.

Type: attribute set of anything

Default: { }

Example:

{
  host = "http://localhost:5000";
  max_lines = 100;
  run_on_every_keystroke = true;
  stop = [
    ''
      
    ''
  ];
}

Declared by:

plugins.cmp-tabby.settings.host

The address of the tabby host server.

Type: null or string or raw lua code

Default: null

Plugin default: "http://localhost:5000"

Declared by:

plugins.cmp-tabby.settings.max_lines

The max number of lines to complete.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 100

Declared by:

plugins.cmp-tabby.settings.run_on_every_keystroke

Whether to run the completion on every keystroke.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.cmp-tabby.settings.stop

Stop character.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  ''
    
  ''
]

Declared by:

cmp-tabnine

URL: https://github.com/tzachar/cmp-tabnine/

Maintainers: Gaetan Lepage

plugins.cmp-tabnine.enable

Whether to enable cmp-tabnine.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-tabnine.package

The cmp-tabnine package to use.

Type: package

Default: pkgs.vimPlugins.cmp-tabnine

Declared by:

plugins.cmp-tabnine.autoLoad

Whether to automatically load cmp-tabnine when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.cmp-tabnine.lazyLoad

Lazy-load settings for cmp-tabnine.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.cmp-tabnine.lazyLoad.enable

lazy-loading for cmp-tabnine

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.cmp-tabnine.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.cmp-tabnine.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.cmp-tabnine.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.cmp-tabnine.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.cmp-tabnine.settings

Options provided to the require('cmp_tabnine.config'):setup function.

Type: attribute set of anything

Default: { }

Example:

{
  max_lines = 600;
  max_num_results = 10;
  sort = false;
}

Declared by:

plugins.cmp-tabnine.settings.ignored_file_types

Which file types to ignore.

Type: null or (attribute set of (boolean or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Example:

{
  lua = true;
}

Declared by:

plugins.cmp-tabnine.settings.max_lines

How many lines of buffer context to pass to TabNine.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1000

Declared by:

plugins.cmp-tabnine.settings.max_num_results

How many results to return.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 20

Declared by:

plugins.cmp-tabnine.settings.min_percent

Eliminate items with a percentage less than min_percent.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Plugin default: 0

Declared by:

plugins.cmp-tabnine.settings.run_on_every_keystroke

Generate new completion items on every keystroke.

For more info, check out #18.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.cmp-tabnine.settings.snippet_placeholder

Indicates where the cursor will be placed in case a completion item is asnippet. Any string is accepted.

For this to work properly, you need to setup snippet support for nvim-cmp.

Type: null or string or raw lua code

Default: null

Plugin default: ".."

Declared by:

plugins.cmp-tabnine.settings.sort

Sort results by returned priority.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

cmp-tmux

URL: https://github.com/andersevenrud/cmp-tmux/

Maintainers: Gaetan Lepage

plugins.cmp-tmux.enable

Whether to enable cmp-tmux.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-tmux.package

The cmp-tmux package to use.

Type: package

Default: pkgs.vimPlugins.cmp-tmux

Declared by:

plugins.cmp-tmux.autoLoad

Whether to automatically load cmp-tmux when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-treesitter

URL: https://github.com/ray-x/cmp-treesitter/

Maintainers: Gaetan Lepage

plugins.cmp-treesitter.enable

Whether to enable cmp-treesitter.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-treesitter.package

The cmp-treesitter package to use.

Type: package

Default: pkgs.vimPlugins.cmp-treesitter

Declared by:

plugins.cmp-treesitter.autoLoad

Whether to automatically load cmp-treesitter when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-vim-lsp

URL: https://github.com/dmitmel/cmp-vim-lsp/

Maintainers: Gaetan Lepage

plugins.cmp-vim-lsp.enable

Whether to enable cmp-vim-lsp.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-vim-lsp.package

The cmp-vim-lsp package to use.

Type: package

Default: pkgs.vimPlugins.cmp-vim-lsp

Declared by:

plugins.cmp-vim-lsp.autoLoad

Whether to automatically load cmp-vim-lsp when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-vimtex

URL: https://github.com/micangl/cmp-vimtex/

Maintainers: Gaetan Lepage

plugins.cmp-vimtex.enable

Whether to enable cmp-vimtex.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-vimtex.package

The cmp-vimtex package to use.

Type: package

Default: pkgs.vimPlugins.cmp-vimtex

Declared by:

plugins.cmp-vimtex.autoLoad

Whether to automatically load cmp-vimtex when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-vimwiki-tags

URL: https://github.com/pontusk/cmp-vimwiki-tags/

Maintainers: Gaetan Lepage

plugins.cmp-vimwiki-tags.enable

Whether to enable cmp-vimwiki-tags.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-vimwiki-tags.package

The cmp-vimwiki-tags package to use.

Type: package

Default: pkgs.vimPlugins.cmp-vimwiki-tags

Declared by:

plugins.cmp-vimwiki-tags.autoLoad

Whether to automatically load cmp-vimwiki-tags when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-vsnip

URL: https://github.com/hrsh7th/cmp-vsnip/

Maintainers: Gaetan Lepage

plugins.cmp-vsnip.enable

Whether to enable cmp-vsnip.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-vsnip.package

The cmp-vsnip package to use.

Type: package

Default: pkgs.vimPlugins.cmp-vsnip

Declared by:

plugins.cmp-vsnip.autoLoad

Whether to automatically load cmp-vsnip when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp-zsh

URL: https://github.com/tamago324/cmp-zsh/

Maintainers: Gaetan Lepage

plugins.cmp-zsh.enable

Whether to enable cmp-zsh.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp-zsh.package

The cmp-zsh package to use.

Type: package

Default: pkgs.vimPlugins.cmp-zsh

Declared by:

plugins.cmp-zsh.autoLoad

Whether to automatically load cmp-zsh when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp_luasnip

URL: https://github.com/saadparwaiz1/cmp_luasnip/

Maintainers: Gaetan Lepage

plugins.cmp_luasnip.enable

Whether to enable cmp_luasnip.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp_luasnip.package

The cmp_luasnip package to use.

Type: package

Default: pkgs.vimPlugins.cmp_luasnip

Declared by:

plugins.cmp_luasnip.autoLoad

Whether to automatically load cmp_luasnip when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

cmp_yanky

URL: https://github.com/chrisgrieser/cmp_yanky/

Maintainers: Gaetan Lepage

plugins.cmp_yanky.enable

Whether to enable cmp_yanky.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cmp_yanky.package

The cmp_yanky package to use.

Type: package

Default: pkgs.vimPlugins.cmp_yanky

Declared by:

plugins.cmp_yanky.autoLoad

Whether to automatically load cmp_yanky when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

codecompanion

URL: https://github.com/olimorris/codecompanion.nvim/

Maintainers: Gaetan Lepage

plugins.codecompanion.enable

Whether to enable codecompanion.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.codecompanion.package

The codecompanion.nvim package to use.

Type: package

Default: pkgs.vimPlugins.codecompanion-nvim

Declared by:

plugins.codecompanion.autoLoad

Whether to automatically load codecompanion.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.codecompanion.lazyLoad

Lazy-load settings for codecompanion.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.codecompanion.lazyLoad.enable

lazy-loading for codecompanion.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.codecompanion.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.codecompanion.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.codecompanion.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.codecompanion.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.codecompanion.settings

Options provided to the require('codecompanion').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  adapters = {
    ollama = {
      __raw = ''
        function()
          return require('codecompanion.adapters').extend('ollama', {
              env = {
                  url = "http://127.0.0.1:11434",
              },
              schema = {
                  model = {
                      default = 'qwen2.5-coder:latest',
                      -- default = "llama3.1:8b-instruct-q8_0",
                  },
                  num_ctx = {
                      default = 32768,
                  },
              },
          })
        end
      '';
    };
  };
  opts = {
    log_level = "TRACE";
    send_code = true;
    use_default_actions = true;
    use_default_prompts = true;
  };
  strategies = {
    agent = {
      adapter = "ollama";
    };
    chat = {
      adapter = "ollama";
    };
    inline = {
      adapter = "ollama";
    };
  };
}

Declared by:

plugins.codecompanion.settings.adapters

In CodeCompanion, adapters are interfaces that act as a bridge between the plugin’s functionality and an LLM.

Refer to the documentation to learn about the adapters spec.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  anthropic = "anthropic";
  azure_openai = "azure_openai";
  copilot = "copilot";
  gemini = "gemini";
  non_llms = {
    jina = "jina";
  };
  ollama = "ollama";
  openai = "openai";
  opts = {
    allow_insecure = false;
    proxy = null;
  };
  xai = "xai";
}

Example:

{
  ollama = {
    __raw = ''
      function()
        return require("codecompanion.adapters").extend("ollama", {
          schema = {
            model = {
              default = "llama3:latest"
            }
          }
        })
      end
    '';
  };
  openai = {
    __raw = ''
      function()
        return require("codecompanion.adapters").extend("openai", {
          schema = {
            model = {
              default = "gpt-4o"
            }
          }
        })
      end
    '';
  };
}

Declared by:

plugins.codecompanion.settings.display

Appearance settings.

Type: null or (attribute set of anything)

Default: null

Plugin default: See upstream documentation

Example:

{
  display = {
    action_palette = {
      opts = {
        show_default_prompt_library = true;
      };
      provider = "default";
    };
    chat = {
      window = {
        layout = "vertical";
        opts = {
          breakindent = true;
        };
      };
    };
  };
}

Declared by:

plugins.codecompanion.settings.opts

General settings for the plugin.

Type: null or (attribute set of anything)

Default: null

Plugin default: See upstream documentation

Example:

{
  log_level = "TRACE";
  send_code = true;
  use_default_actions = true;
  use_default_prompts = true;
}

Declared by:

plugins.codecompanion.settings.prompt_library

The plugin comes with a number of pre-built prompts.

As per the config, these can be called via keymaps or via the cmdline. These prompts have been carefully curated to mimic those in GitHub’s Copilot Chat.

Of course, you can create your own prompts and add them to the Action Palette or even to the slash command completion menu in the chat buffer. Please see the RECIPES guide for more information.

Type: null or (attribute set of ((attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default: See upstream documentation

Example:

{
  "Custom Prompt" = {
    description = "Prompt the LLM from Neovim";
    opts = {
      index = 3;
      is_default = true;
      is_slash_cmd = false;
      user_prompt = true;
    };
    prompts = [
      {
        content = {
          __raw = ''
            function(context)
              return fmt(
                [[I want you to act as a senior %s developer. I will ask you specific questions and I want you to return raw code only (no codeblocks and no explanations). If you can't respond with code, respond with nothing]],
                context.filetype
              )
            end
          '';
        };
        opts = {
          tag = "system_tag";
          visible = false;
        };
        role = {
          __raw = "system";
        };
      }
    ];
    strategy = "inline";
  };
  "Generate a Commit Message" = {
    description = "Generate a commit message";
    opts = {
      auto_submit = true;
      index = 10;
      is_default = true;
      is_slash_cmd = true;
      short_name = "commit";
    };
    prompts = [
      {
        content = {
          __raw = ''
            function()
              return fmt(
                [[You are an expert at following the Conventional Commit specification. Given the git diff listed below, please generate a commit message for me:
            
                ```diff
                %s
                ```
                ]],
                vim.fn.system("git diff --no-ext-diff --staged")
              )
            end
          '';
        };
        opts = {
          contains_code = true;
        };
        role = "user";
      }
    ];
    strategy = "chat";
  };
}

Declared by:

plugins.codecompanion.settings.strategies

The plugin utilises objects called Strategies. These are the different ways that a user can interact with the plugin.

  • The chat strategy harnesses a buffer to allow direct conversation with the LLM.
  • The inline strategy allows for output from the LLM to be written directly into a pre-existing Neovim buffer.
  • The agent and workflow strategies are wrappers for the chat strategy, allowing for tool use and agentic workflows.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: See upstream documentation

Example:

{
  agent = {
    adapter = "ollama";
  };
  chat = {
    adapter = "ollama";
  };
  inline = {
    adapter = "ollama";
  };
}

Declared by:

codesnap

URL: https://github.com/mistricky/codesnap.nvim/

Maintainers: Gaetan Lepage

plugins.codesnap.enable

Whether to enable codesnap.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.codesnap.package

The codesnap.nvim package to use.

Type: package

Default: pkgs.vimPlugins.codesnap-nvim

Declared by:

plugins.codesnap.autoLoad

Whether to automatically load codesnap.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.codesnap.lazyLoad

Lazy-load settings for codesnap.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.codesnap.lazyLoad.enable

lazy-loading for codesnap.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.codesnap.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.codesnap.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.codesnap.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.codesnap.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.codesnap.settings

Options provided to the require('codesnap').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  breadcrumbs_separator = "/";
  has_breadcrumbs = true;
  has_line_number = false;
  mac_window_bar = true;
  save_path = "~/Pictures/Screenshots/";
  title = "CodeSnap.nvim";
  watermark = "";
}

Declared by:

plugins.codesnap.settings.bg_color

If you prefer solid color background, you can set bg_color to your preferred color.

Type: null or string or raw lua code

Default: null

Plugin default: null

Example: "#535c68"

Declared by:

plugins.codesnap.settings.bg_theme

Background theme name.

Check the upstream README for available options.

Type: null or string or raw lua code

Default: null

Plugin default: "default"

Declared by:

plugins.codesnap.settings.breadcrumbs_separator

Separator for breadcrumbs. The CodeSnap.nvim uses / as the separator of the file path by default, of course, you can specify any symbol you prefer as the custom separator.

Type: null or string or raw lua code

Default: null

Plugin default: "/"

Declared by:

plugins.codesnap.settings.code_font_family

Which font to use for the code.

Type: null or string or raw lua code

Default: null

Plugin default: "CaskaydiaCove Nerd Font"

Declared by:

plugins.codesnap.settings.has_breadcrumbs

Whether to display the current snapshot file path.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.codesnap.settings.has_line_number

Whether to display line numbers.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.codesnap.settings.mac_window_bar

Whether to display the MacOS style title bar.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.codesnap.settings.min_width

Minimum width for the snapshot.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.codesnap.settings.save_path

The save_path must be ends with .png, unless when you specified a directory path, CodeSnap will append an auto-generated filename to the specified directory path.

For example:

  • save_path = "~/Pictures"; parsed: "~/Pictures/CodeSnap_y-m-d_at_h:m:s.png"
  • save_path = "~/Pictures/foo.png"; parsed: "~/Pictures/foo.png"

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.codesnap.settings.show_workspace

Breadcrumbs hide the workspace name by default, if you want to display workspace in breadcrumbs, you can just set this option to true.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.codesnap.settings.title

The editor title.

Type: null or string or raw lua code

Default: null

Plugin default: "CodeSnap.nvim"

Declared by:

plugins.codesnap.settings.watermark

Wartermark of the code snapshot.

Type: null or string or raw lua code

Default: null

Plugin default: "CodeSnap.nvim"

Declared by:

plugins.codesnap.settings.watermark_font_family

Which font to use for watermarks.

Type: null or string or raw lua code

Default: null

Plugin default: "Pacifico"

Declared by:

colorful-menu

URL: https://github.com/xzbdmw/colorful-menu.nvim/

Maintainers: Gaetan Lepage


To use this in nvim-cmp for example,

plugins.cmp.settings.formatting.format.__raw = \'\'
  function(entry, vim_item)
    local highlights_info = require("colorful-menu").cmp_highlights(entry)

    -- highlight_info is nil means we are missing the ts parser, it's
    -- better to fallback to use default `vim_item.abbr`. What this plugin
    -- offers is two fields: `vim_item.abbr_hl_group` and `vim_item.abbr`.
    if highlights_info ~= nil then
        vim_item.abbr_hl_group = highlights_info.highlights
        vim_item.abbr = highlights_info.text
    end

    return vim_item
  end
\'\';

Learn more in the README.

plugins.colorful-menu.enable

Whether to enable colorful-menu.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.colorful-menu.package

The colorful-menu.nvim package to use.

Type: package

Default: pkgs.vimPlugins.colorful-menu-nvim

Declared by:

plugins.colorful-menu.autoLoad

Whether to automatically load colorful-menu.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.colorful-menu.settings

Options provided to the require('colorful-menu').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  fallback_highlight = "@variable";
  ls = {
    fallback = true;
    lua_ls = {
      arguments_hl = "@comment";
    };
    pyright = {
      extra_info_hl = "@comment";
    };
  };
  max_width = 60;
}

Declared by:

plugins.colorful-menu.lazyLoad

Lazy-load settings for colorful-menu.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.colorful-menu.lazyLoad.enable

lazy-loading for colorful-menu.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.colorful-menu.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.colorful-menu.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.colorful-menu.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.colorful-menu.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

colorizer

URL: https://github.com/catgoose/nvim-colorizer.lua/

Maintainers: Gaetan Lepage

plugins.colorizer.enable

Whether to enable nvim-colorizer.lua.

Type: boolean

Default: false

Example: true

Declared by:

plugins.colorizer.package

The nvim-colorizer.lua package to use.

Type: package

Default: pkgs.vimPlugins.nvim-colorizer-lua

Declared by:

plugins.colorizer.autoLoad

Whether to automatically load nvim-colorizer.lua when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.colorizer.lazyLoad

Lazy-load settings for nvim-colorizer.lua.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.colorizer.lazyLoad.enable

lazy-loading for nvim-colorizer.lua

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.colorizer.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.colorizer.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.colorizer.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.colorizer.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.colorizer.settings

Options provided to the require('colorizer').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  filetypes = {
    __unkeyed-1 = "*";
    __unkeyed-2 = "!vim";
    css = {
      rgb_fn = true;
    };
    html = {
      names = false;
    };
  };
  user_commands = [
    "ColorizerToggle"
    "ColorizerReloadAllBuffers"
  ];
  user_default_options = {
    mode = "virtualtext";
    names = false;
    virtualtext = "■ ";
  };
}

Declared by:

plugins.colorizer.settings.buftypes

Per-buftype options. Buftype value is fetched by vim.bo.buftype.

Type: null or (attribute set of (string or (attribute set of anything))) or list of string

Default: null

Plugin default: [ ]

Example:

[
  "*"
  "!prompt"
  "!popup"
]

Declared by:

plugins.colorizer.settings.filetypes

Per-filetype options.

Type: null or (attribute set of (string or (attribute set of anything))) or list of string

Default: null

Plugin default: [ ]

Example:

{
  __unkeyed-1 = "css";
  __unkeyed-2 = "javascript";
  html = {
    mode = "background";
  };
}

Declared by:

plugins.colorizer.settings.user_commands

Enable all or some usercommands.

Type: null or boolean or list of string

Default: null

Plugin default: true

Declared by:

plugins.colorizer.settings.user_default_options.AARRGGBB

Whether to highlight 0xAARRGGBB hex codes.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.colorizer.settings.user_default_options.RGB

Whether to highlight #RGB hex codes.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.colorizer.settings.user_default_options.RRGGBB

Whether to highlight #RRGGBB hex codes.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.colorizer.settings.user_default_options.RRGGBBAA

Whether to highlight #RRGGBBAA hex codes.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.colorizer.settings.user_default_options.always_update

Update color values even if buffer is not focused. Example use: cmp_menu, cmp_docs.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.colorizer.settings.user_default_options.css

Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.colorizer.settings.user_default_options.css_fn

Enable all CSS functions: rgb_fn, hsl_fn.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.colorizer.settings.user_default_options.hsl_fn

Whether to highlight CSS hsl() and hsla() functions.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.colorizer.settings.user_default_options.mode

Set the display mode.

Type: null or one of “foreground”, “background”, “virtualtext” or raw lua code

Default: null

Plugin default: "background"

Declared by:

plugins.colorizer.settings.user_default_options.names

Whether to highlight name codes like Blue or blue.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.colorizer.settings.user_default_options.rgb_fn

Whether to highlight CSS rgb() and rgba() functions.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.colorizer.settings.user_default_options.tailwind

Enable tailwind colors. It can be a boolean, "normal", "lsp" or "both". true is same as "normal".

Type: null or boolean or one of “normal”, “lsp”, “both”

Default: null

Plugin default: false

Declared by:

plugins.colorizer.settings.user_default_options.virtualtext

Virtualtext character to use.

Type: null or string or raw lua code

Default: null

Plugin default: "■"

Declared by:

plugins.colorizer.settings.user_default_options.virtualtext_inline

Display virtualtext inline with color.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.colorizer.settings.user_default_options.virtualtext_mode

Virtualtext highlight mode.

Type: null or one of “background”, “foreground” or raw lua code

Default: null

Plugin default: "foreground"

Declared by:

plugins.colorizer.settings.user_default_options.sass.enable

Enable sass colors.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.colorizer.settings.user_default_options.sass.parsers

Parsers can contain values used in user_default_options.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "css"
]

Declared by:

comment

URL: https://github.com/numtostr/comment.nvim/

Maintainers: Gaetan Lepage

plugins.comment.enable

Whether to enable Comment.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.comment.package

The Comment.nvim package to use.

Type: package

Default: pkgs.vimPlugins.comment-nvim

Declared by:

plugins.comment.autoLoad

Whether to automatically load Comment.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.comment.lazyLoad

Lazy-load settings for Comment.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.comment.lazyLoad.enable

lazy-loading for Comment.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.comment.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.comment.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.comment.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.comment.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.comment.settings

Options provided to the require('Comment').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  ignore = "^const(.*)=(%s?)%((.*)%)(%s?)=>";
  opleader = {
    block = "gb";
    line = "gc";
  };
  post_hook = ''
    function(ctx)
        if ctx.range.srow == ctx.range.erow then
            -- do something with the current line
        else
            -- do something with lines range
        end
    end
  '';
  pre_hook = "require('ts_context_commentstring.integrations.comment_nvim').create_pre_hook()";
  toggler = {
    block = "gbc";
    line = "gcc";
  };
}

Declared by:

plugins.comment.settings.ignore

Lines to be ignored while (un)comment.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.comment.settings.mappings

Enables keybindings. NOTE: If given ‘false’, then the plugin won’t create any mappings.

Type: null or value false (singular enum) or (submodule)

Default: null

Plugin default:

{
  basic = true;
  extra = true;
}

Declared by:

plugins.comment.settings.padding

Add a space b/w comment and the line.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.comment.settings.post_hook

Lua function called after (un)comment.

Type: null or lua code string

Default: null

Declared by:

plugins.comment.settings.pre_hook

Lua function called before (un)comment.

Type: null or lua code string

Default: null

Declared by:

plugins.comment.settings.sticky

Whether the cursor should stay at its position.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.comment.settings.extra.above

Add comment on the line above.

Type: null or string or raw lua code

Default: null

Plugin default: "gcO"

Declared by:

plugins.comment.settings.extra.below

Add comment on the line below.

Type: null or string or raw lua code

Default: null

Plugin default: "gco"

Declared by:

plugins.comment.settings.extra.eol

Add comment at the end of line.

Type: null or string or raw lua code

Default: null

Plugin default: "gcA"

Declared by:

plugins.comment.settings.opleader.block

Block-comment operator-pending keymap in NORMAL and VISUAL mode.

Type: null or string or raw lua code

Default: null

Plugin default: "gb"

Declared by:

plugins.comment.settings.opleader.line

Line-comment operator-pending keymap in NORMAL and VISUAL mode.

Type: null or string or raw lua code

Default: null

Plugin default: "gc"

Declared by:

plugins.comment.settings.toggler.block

Block-comment toggle keymap in NORMAL mode.

Type: null or string or raw lua code

Default: null

Plugin default: "gbc"

Declared by:

plugins.comment.settings.toggler.line

Line-comment toggle keymap in NORMAL mode.

Type: null or string or raw lua code

Default: null

Plugin default: "gcc"

Declared by:

comment-box

URL: https://github.com/LudoPinelli/comment-box.nvim/

Maintainers: gwen


Clarify and beautify your comments and plain text files using boxes and lines.

plugins.comment-box.enable

Whether to enable comment-box.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.comment-box.package

The comment-box.nvim package to use.

Type: package

Default: pkgs.vimPlugins.comment-box-nvim

Declared by:

plugins.comment-box.autoLoad

Whether to automatically load comment-box.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.comment-box.lazyLoad

Lazy-load settings for comment-box.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.comment-box.lazyLoad.enable

lazy-loading for comment-box.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.comment-box.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.comment-box.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.comment-box.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.comment-box.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.comment-box.settings

Options provided to the require('comment-box').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  borders = {
    bottom_left = "X";
    bottom_right = "X";
    top_left = "X";
    top_right = "X";
  };
  box_width = 120;
  comment_style = "block";
  doc_width = 100;
  inner_blank_lines = true;
  line_width = 40;
  lines = {
    line = "*";
  };
  outer_blank_lines_below = true;
}

Declared by:

plugins.comment-box.settings.box_width

Width of the boxes.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 60

Declared by:

plugins.comment-box.settings.comment_style

Select the type of comments.

Type: null or one of “line”, “block”, “auto” or raw lua code

Default: null

Plugin default: "line"

Declared by:

plugins.comment-box.settings.doc_width

Width of the document.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 80

Declared by:

plugins.comment-box.settings.line_width

Width of the lines.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 70

Declared by:

plugins.comment-box.settings.borders.bottom

Symbol used to draw the bottom border of a box.

Type: null or string or raw lua code

Default: null

Plugin default: "─"

Declared by:

plugins.comment-box.settings.borders.bottom_left

Symbol used to draw the bottom left corner of a box.

Type: null or string or raw lua code

Default: null

Plugin default: "╰"

Declared by:

plugins.comment-box.settings.borders.bottom_right

Symbol used to draw the bottom right corner of a box.

Type: null or string or raw lua code

Default: null

Plugin default: "╯"

Declared by:

plugins.comment-box.settings.borders.left

Symbol used to draw the left border of a box.

Type: null or string or raw lua code

Default: null

Plugin default: "│"

Declared by:

plugins.comment-box.settings.borders.right

Symbol used to draw the right border of a box.

Type: null or string or raw lua code

Default: null

Plugin default: "│"

Declared by:

plugins.comment-box.settings.borders.top

Symbol used to draw the top border of a box.

Type: null or string or raw lua code

Default: null

Plugin default: "─"

Declared by:

plugins.comment-box.settings.borders.top_left

Symbol used to draw the top left corner of a box.

Type: null or string or raw lua code

Default: null

Plugin default: "╭"

Declared by:

plugins.comment-box.settings.borders.top_right

Symbol used to draw the top right corner of a box.

Type: null or string or raw lua code

Default: null

Plugin default: "╮"

Declared by:

plugins.comment-box.settings.lines.inner_blank_lines

Insert a blank line above and below the text.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.comment-box.settings.lines.line

Symbol used to draw a line.

Type: null or string or raw lua code

Default: null

Plugin default: "─"

Declared by:

plugins.comment-box.settings.lines.line_blank_line_above

Insert a blank line above the line.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.comment-box.settings.lines.line_blank_line_below

Insert a blank line below the line.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.comment-box.settings.lines.line_end

Symbol used to draw the end of a line.

Type: null or string or raw lua code

Default: null

Plugin default: "─"

Declared by:

plugins.comment-box.settings.lines.line_start

Symbol used to draw the start of a line.

Type: null or string or raw lua code

Default: null

Plugin default: "─"

Declared by:

plugins.comment-box.settings.lines.outer_blank_lines_above

Insert a blank line above the box.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.comment-box.settings.lines.outer_blank_lines_below

Insert a blank line below the box.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.comment-box.settings.lines.title_left

Symbol used to draw the left border of the title.

Type: null or string or raw lua code

Default: null

Plugin default: "─"

Declared by:

plugins.comment-box.settings.lines.title_right

Symbol used to draw the right border of the title.

Type: null or string or raw lua code

Default: null

Plugin default: "─"

Declared by:

commentary

URL: https://github.com/tpope/vim-commentary/

Maintainers: Gaetan Lepage

plugins.commentary.enable

Whether to enable vim-commentary.

Type: boolean

Default: false

Example: true

Declared by:

plugins.commentary.package

The vim-commentary package to use.

Type: package

Default: pkgs.vimPlugins.vim-commentary

Declared by:

plugins.commentary.autoLoad

Whether to automatically load vim-commentary when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

committia

URL: https://github.com/rhysd/committia.vim/

Maintainers: Alison Jenkins

plugins.committia.enable

Whether to enable committia.vim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.committia.package

The committia.vim package to use.

Type: package

Default: pkgs.vimPlugins.committia-vim

Declared by:

plugins.committia.autoLoad

Whether to automatically load committia.vim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.committia.settings

The configuration options for committia without the committia_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal committia_foo_bar=1
  • hello = "world" -> :setglobal committia_hello="world"
  • some_toggle = true -> :setglobal committia_some_toggle
  • other_toggle = false -> :setglobal nocommittia_other_toggle

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.committia.settings.diff_window_opencmd

Vim command which opens a diff window in multi-columns mode.

Type: null or string or raw lua code

Default: null

Plugin default: "botright vsplit"

Declared by:

plugins.committia.settings.edit_window_width

If committia.vim is in multi-columns mode, specifies the width of the edit window.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 80

Declared by:

plugins.committia.settings.min_window_width

If the width of window is narrower than the value, committia.vim employs single column mode.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 160

Declared by:

plugins.committia.settings.open_only_vim_starting

If 0, committia.vim always attempts to open committia’s buffer when COMMIT_EDITMSG buffer is opened. If you use vim-fugitive, I recommend to set this value to 1.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.committia.settings.singlecolumn_diff_window_opencmd

Vim command which opens a diff window in single-column mode.

Type: null or string or raw lua code

Default: null

Plugin default: "belowright split"

Declared by:

plugins.committia.settings.status_window_min_height

Minimum height of a status window.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.committia.settings.status_window_opencmd

Vim command which opens a status window in multi-columns mode.

Type: null or string or raw lua code

Default: null

Plugin default: "belowright split"

Declared by:

plugins.committia.settings.use_singlecolumn

If the value is ‘always’, committia.vim always employs single column mode.

Type: null or string or raw lua code

Default: null

Plugin default: "always"

Declared by:

competitest

URL: https://github.com/xeluxee/competitest.nvim/

Maintainers: svl

plugins.competitest.enable

Whether to enable competitest.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.competitest.package

The competitest.nvim package to use.

Type: package

Default: pkgs.vimPlugins.competitest-nvim

Declared by:

plugins.competitest.autoLoad

Whether to automatically load competitest.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.competitest.lazyLoad

Lazy-load settings for competitest.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.competitest.lazyLoad.enable

lazy-loading for competitest.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.competitest.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.competitest.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.competitest.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.competitest.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.competitest.settings

Options provided to the require('competitest').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  compile_command = {
    cpp = {
      args = [
        "-DLOCAL"
        "$(FNAME)"
        "-o"
        "$(FNOEXT)"
        "-Wall"
        "-Wextra"
      ];
      exec = "g++";
    };
  };
  evaluate_template_modifiers = true;
  received_problems_path = "$(HOME)/cp/$(JUDGE)/$(CONTEST)/$(PROBLEM)/main.$(FEXT)";
  template_file = "$(HOME)/cp/templates/template.$(FEXT)";
}

Declared by:

plugins.competitest.settings.companion_port

Competitive companion port number.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 27121

Declared by:

plugins.competitest.settings.compile_directory

Execution directory of compiler, relatively to current file’s path.

Type: null or string or raw lua code

Default: null

Plugin default: "."

Declared by:

plugins.competitest.settings.date_format

String used to format $(DATE) modifier (see receive modifiers). The string should follow the formatting rules as per Lua’s [os.date](https://www.lua.org/pil/22.1.html) function.

Type: null or string or raw lua code

Default: null

Plugin default: "%c"

Declared by:

plugins.competitest.settings.evaluate_template_modifiers

Whether to evaluate receive modifiers inside a template file or not.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.competitest.settings.local_config_file_name

You can use a different configuration for every different folder. See local configuration.

Type: null or string or raw lua code

Default: null

Plugin default: ".competitest.lua"

Declared by:

plugins.competitest.settings.maximum_time

Maximum time, in milliseconds, given to processes. If it’s exceeded process will be killed.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 5000

Declared by:

plugins.competitest.settings.multiple_testing

How many testcases to run at the same time

  • Set it to -1 to make the most of the amount of available parallelism. Often the number of testcases run at the same time coincides with the number of CPUs.
  • Set it to 0 if you want to run all the testcases together.
  • Set it to any positive integer to run that number of testcases contemporarily.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: -1

Declared by:

plugins.competitest.settings.open_received_contests

Automatically open source files when receiving a contest.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.competitest.settings.open_received_problems

Automatically open source files when receiving a single problem.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.competitest.settings.output_compare_method

How given output (stdout) and expected output should be compared. It can be a string, representing the method to use, or a custom function. Available options follows:

  • “exact”: character by character comparison.
  • “squish”: compare stripping extra white spaces and newlines.
  • custom function: you can use a function accepting two arguments, two strings representing output and expected output. It should return true if the given output is acceptable, false otherwise.

Type: null or one of “exact”, “squish” or raw lua code

Default: null

Plugin default: "squish"

Declared by:

plugins.competitest.settings.receive_print_message

If true notify user that plugin is ready to receive testcases, problems and contests or that they have just been received.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.competitest.settings.received_contests_directory

Directory where received contests are stored. It can be string or function, exactly as received_problems_path.

Type: null or string or raw lua code

Default: null

Plugin default: "$(CWD)"

Declared by:

plugins.competitest.settings.received_contests_problems_path

Relative path from contest root directory, each problem of a received contest is stored following this option. It can be string or function, exactly as received_problems_path.

Type: null or string or raw lua code

Default: null

Plugin default: "$(PROBLEM).$(FEXT)"

Declared by:

plugins.competitest.settings.received_contests_prompt_directory

Whether to ask user confirmation about the directory where received contests are stored or not.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.competitest.settings.received_contests_prompt_extension

Whether to ask user confirmation about what file extension to use when receiving a contest or not.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.competitest.settings.received_files_extension

Default file extension for received problems.

Type: null or string or raw lua code

Default: null

Plugin default: "cpp"

Declared by:

plugins.competitest.settings.received_problems_path

Path where received problems (not contests) are stored. Can be one of the following:

  • string with receive modifiers.
  • function: function accepting two arguments, a table with task details and a string with preferred file extension. It should return the absolute path to store received problem.

Type: null or string or raw lua code

Default: null

Plugin default: "$(CWD)/$(PROBLEM).$(FEXT)"

Declared by:

plugins.competitest.settings.received_problems_prompt_path

Whether to ask user confirmation about path where the received problem is stored or not.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.competitest.settings.replace_received_testcases

This option applies when receiving only testcases. If true replace existing testcases with received ones, otherwise ask user what to do.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.competitest.settings.running_directory

Execution directory of your solutions, relatively to current file’s path.

Type: null or string or raw lua code

Default: null

Plugin default: "."

Declared by:

plugins.competitest.settings.save_all_files

If true save all the opened files before running testcases.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.competitest.settings.save_current_file

If true save current file before running testcases.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.competitest.settings.template_file

Templates to use when creating source files for received problems or contests. Can be one of the following:

  • false: do not use templates.
  • string with file-format modifiers: useful when templates for different file types have a regular file naming.
  • table with paths: table associating file extension to template file.

Type: null or value false (singular enum) or string or attribute set of string

Default: null

Declared by:

plugins.competitest.settings.testcases_auto_detect_storage

If true testcases storage method will be detected automatically. When both text files and single file are available, testcases will be loaded according to the preference specified in testcases_use_single_file.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.competitest.settings.testcases_directory

Where testcases files are located, relatively to current file’s path.

Type: null or string or raw lua code

Default: null

Plugin default: "."

Declared by:

plugins.competitest.settings.testcases_input_file_format

String representing how testcases input files should be named (see file-format modifiers).

Type: null or string or raw lua code

Default: null

Plugin default: "$(FNOEXT)_input$(TCNUM).txt"

Declared by:

plugins.competitest.settings.testcases_output_file_format

String representing how testcases output files should be named (see file-format modifiers).

Type: null or string or raw lua code

Default: null

Plugin default: "$(FNOEXT)_output$(TCNUM).txt"

Declared by:

plugins.competitest.settings.testcases_single_file_format

String representing how single testcases files should be named (see file-format modifiers).

Type: null or string or raw lua code

Default: null

Plugin default: "$(FNOEXT).testcases"

Declared by:

plugins.competitest.settings.testcases_use_single_file

If true testcases will be stored in a single file instead of using multiple text files. If you want to change the way already existing testcases are stored see conversion.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.competitest.settings.view_output_diff

View diff between actual output and expected output in their respective windows.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.competitest.settings.compile_command

Configure the command used to compile code for every different language, see here.

Type: null or (attribute set of (submodule))

Default: null

Declared by:

plugins.competitest.settings.compile_command.<name>.args

Arguments to the command.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.competitest.settings.compile_command.<name>.exec

Command to execute

Type: string

Declared by:

plugins.competitest.settings.run_command

Configure the command used to run your solutions for every different language, see here.

Type: null or (attribute set of (submodule))

Default: null

Declared by:

plugins.competitest.settings.run_command.<name>.args

Arguments to the command.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.competitest.settings.run_command.<name>.exec

Command to execute.

Type: string

Declared by:

compiler

URL: https://github.com/Zeioth/compiler.nvim/

Maintainers: Austin Horstman


note

Some languages require you manually install their compilers in your machine, so compiler.nvim is able to call them. Please check here, as the packages will be different depending your operative system.

plugins.compiler.enable

Whether to enable compiler.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.compiler.package

The compiler.nvim package to use.

Type: package

Default: pkgs.vimPlugins.compiler-nvim

Declared by:

plugins.compiler.autoLoad

Whether to automatically load compiler.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.compiler.settings

Options provided to the require('compiler').setup function.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.compiler.lazyLoad

Lazy-load settings for compiler.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.compiler.lazyLoad.enable

lazy-loading for compiler.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.compiler.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.compiler.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.compiler.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.compiler.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

conform-nvim

URL: https://github.com/stevearc/conform.nvim/

Maintainers: Austin Horstman

plugins.conform-nvim.enable

Whether to enable conform.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.conform-nvim.package

The conform.nvim package to use.

Type: package

Default: pkgs.vimPlugins.conform-nvim

Declared by:

plugins.conform-nvim.autoLoad

Whether to automatically load conform.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.conform-nvim.lazyLoad

Lazy-load settings for conform.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.conform-nvim.lazyLoad.enable

lazy-loading for conform.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.conform-nvim.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.conform-nvim.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.conform-nvim.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.conform-nvim.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.conform-nvim.settings

Options provided to the require('conform').setup function.

Type: attribute set of anything

Default: { }

Example:

  {
    formatters_by_ft = {
      bash = [
        "shellcheck"
        "shellharden"
        "shfmt"
      ];
      cpp = [ "clang_format" ];
      javascript = {
        __unkeyed-1 = "prettierd";
        __unkeyed-2 = "prettier";
        timeout_ms = 2000;
        stop_after_first = true;
      };
      "_" = [
        "squeeze_blanks"
        "trim_whitespace"
        "trim_newlines"
      ];
    };
    format_on_save = # Lua
      ''
        function(bufnr)
          if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then
            return
          end

          if slow_format_filetypes[vim.bo[bufnr].filetype] then
            return
          end

          local function on_format(err)
            if err and err:match("timeout$") then
              slow_format_filetypes[vim.bo[bufnr].filetype] = true
            end
          end

          return { timeout_ms = 200, lsp_fallback = true }, on_format
         end
      '';
    format_after_save = # Lua
      ''
        function(bufnr)
          if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then
            return
          end

          if not slow_format_filetypes[vim.bo[bufnr].filetype] then
            return
          end

          return { lsp_fallback = true }
        end
      '';
    log_level = "warn";
    notify_on_error = false;
    notify_no_formatters = false;
    formatters = {
      shellcheck = {
        command = lib.getExe pkgs.shellcheck;
      };
      shfmt = {
        command = lib.getExe pkgs.shfmt;
      };
      shellharden = {
        command = lib.getExe pkgs.shellharden;
      };
      squeeze_blanks = {
        command = lib.getExe' pkgs.coreutils "cat";
      };
    };
  }

Declared by:

plugins.conform-nvim.settings.format_after_save

If this is set, Conform will run the formatter asynchronously after save.

Conform will pass the table from format_after_save to conform.format(). This can also be a function that returns the table.

See :help conform.format for details.

Type: null or lua function string or (attribute set of anything)

Default: null

Plugin default: { }

Declared by:

plugins.conform-nvim.settings.format_on_save

If this is set, Conform will run the formatter asynchronously on save.

Conform will pass the table from format_on_save to conform.format(). This can also be a function that returns the table.

See :help conform.format for details.

Type: null or lua function string or (attribute set of anything)

Default: null

Plugin default: { }

Declared by:

plugins.conform-nvim.settings.formatters

Custom formatters and changes to built-in formatters.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.conform-nvim.settings.formatters_by_ft

Creates a table mapping filetypes to formatters.

You can run multiple formatters in a row by adding them in a list. If you’d like to stop after the first successful formatter, set stop_after_first.

  # Map of filetype to formatters
  formatters_by_ft =
    {
      lua = [ "stylua" ];
      # Conform will run multiple formatters sequentially
      python = [ "isort" "black" ];
      # Use stop_after_first to run only the first available formatter
      javascript = {
        __unkeyed-1 = "prettierd";
        __unkeyed-2 = "prettier";
        stop_after_first = true;
      };
      # Use the "*" filetype to run formatters on all filetypes.
      "*" = [ "codespell" ];
      # Use the "_" filetype to run formatters on filetypes that don't
      # have other formatters configured.
      "_" = [ "trim_whitespace" ];
    };

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.conform-nvim.settings.log_level

Set the log level. Use :ConformInfo to see the location of the log file.

Type: null or unsigned integer, meaning >=0, or one of “off”, “error”, “warn”, “info”, “debug”, “trace”

Default: null

Plugin default: "error"

Declared by:

plugins.conform-nvim.settings.notify_no_formatters

Conform will notify you when no formatters are available for the buffer.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.conform-nvim.settings.notify_on_error

Conform will notify you when a formatter errors.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.conform-nvim.settings.default_format_opts

The default options to use when calling conform.format().

Type: null or (attribute set of anything)

Default: null

Plugin default: { }

Declared by:

plugins.conform-nvim.settings.default_format_opts.lsp_format

Option for choosing lsp formatting preference.

  • never: never use the LSP for formatting.
  • fallback: LSP formatting is used when no other formatters are available.
  • prefer: Use only LSP formatting when available.
  • first: LSP formatting is used when available and then other formatters.
  • last: Other formatters are used then LSP formatting when available.

Type: null or one of “never”, “fallback”, “prefer”, “first”, “last” or raw lua code

Default: null

Plugin default: "never"

Declared by:

plugins.conform-nvim.settings.default_format_opts.quiet

Don’t show any notifications for warnings or failures.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.conform-nvim.settings.default_format_opts.stop_after_first

Only run the first available formatter in the list.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.conform-nvim.settings.default_format_opts.timeout_ms

Time in milliseconds to block for formatting.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1000

Declared by:

conjure

URL: https://github.com/Olical/conjure/

Maintainers: Gaetan Lepage

plugins.conjure.enable

Whether to enable conjure.

Type: boolean

Default: false

Example: true

Declared by:

plugins.conjure.package

The conjure package to use.

Type: package

Default: pkgs.vimPlugins.conjure

Declared by:

plugins.conjure.autoLoad

Whether to automatically load conjure when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

copilot-chat

URL: https://github.com/CopilotC-Nvim/CopilotChat.nvim/

Maintainers: Gaetan Lepage

plugins.copilot-chat.enable

Whether to enable CopilotChat.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.copilot-chat.package

The CopilotChat.nvim package to use.

Type: package

Default: pkgs.vimPlugins.CopilotChat-nvim

Declared by:

plugins.copilot-chat.autoLoad

Whether to automatically load CopilotChat.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.copilot-chat.lazyLoad

Lazy-load settings for CopilotChat.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.copilot-chat.lazyLoad.enable

lazy-loading for CopilotChat.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.copilot-chat.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.copilot-chat.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.copilot-chat.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.copilot-chat.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.copilot-chat.settings

Options provided to the require('CopilotChat').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  answer_header = "## Copilot ";
  auto_follow_cursor = false;
  error_header = "## Error ";
  mappings = {
    close = {
      insert = "<C-c>";
      normal = "q";
    };
    complete = {
      detail = "Use @<Tab> or /<Tab> for options.";
      insert = "<Tab>";
    };
  };
  prompts = {
    Explain = "Please explain how the following code works.";
    Review = "Please review the following code and provide suggestions for improvement.";
    Tests = "Please explain how the selected code works, then generate unit tests for it.";
  };
  question_header = "## User ";
  show_help = false;
}

Declared by:

plugins.copilot-chat.settings.allow_insecure

Allow insecure server connections.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.copilot-chat.settings.answer_header

Header to use for AI answers.

Type: null or string or raw lua code

Default: null

Plugin default: "## Copilot "

Declared by:

plugins.copilot-chat.settings.auto_follow_cursor

Auto-follow cursor in chat.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.copilot-chat.settings.auto_insert_mode

Automatically enter insert mode when opening window and if auto follow cursor is enabled on new prompt.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.copilot-chat.settings.callback

Callback to use when ask response is received.

fun(response: string, source: CopilotChat.config.source)

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.copilot-chat.settings.clear_chat_on_new_prompt

Clears chat on every new prompt.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.copilot-chat.settings.context

Default context to use, "buffers", "buffer" or null (can be specified manually in prompt via @).

Type: null or one of “buffers”, “buffer” or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.copilot-chat.settings.debug

Enable debug logging.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.copilot-chat.settings.error_header

Header to use for errors.

Type: null or string or raw lua code

Default: null

Plugin default: "## Error "

Declared by:

plugins.copilot-chat.settings.highlight_selection

Highlight selection.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.copilot-chat.settings.history_path

Default path to stored history.

Type: null or string or raw lua code

Default: null

Plugin default:

{
  __raw = "vim.fn.stdpath('data') .. '/copilotchat_history'";
}

Declared by:

plugins.copilot-chat.settings.mappings

Mappings for CopilotChat.

Type: null or (attribute set of ((attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  accept_diff = {
    insert = "<C-y>";
    normal = "<C-y>";
  };
  close = {
    insert = "<C-c>";
    normal = "q";
  };
  complete = {
    insert = "<Tab>";
  };
  jump_to_diff = {
    normal = "gj";
  };
  quickfix_diffs = {
    normal = "gq";
  };
  reset = {
    insert = "<C-l>";
    normal = "<C-l>";
  };
  show_context = {
    normal = "gc";
  };
  show_diff = {
    normal = "gd";
  };
  show_help = {
    normal = "gh";
  };
  show_info = {
    normal = "gi";
  };
  submit_prompt = {
    insert = "<C-s>";
    normal = "<CR>";
  };
  toggle_sticky = {
    detail = "Makes line under cursor sticky or deletes sticky line.";
    normal = "gr";
  };
  yank_diff = {
    normal = "gy";
    register = "\"";
  };
}

Declared by:

plugins.copilot-chat.settings.model

GPT model to use, ‘gpt-3.5-turbo’ or ‘gpt-4’.

Type: null or string or raw lua code

Default: null

Plugin default: "gpt-4"

Declared by:

plugins.copilot-chat.settings.prompts

Default prompts.

Type: null or (attribute set of (string or (attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  Commit = {
    prompt = "Write commit message for the change with commitizen convention. Make sure the title has maximum 50 characters and message is wrapped at 72 characters. Wrap the whole message in code block with language gitcommit.";
    selection = "require('CopilotChat.select').gitdiff";
  };
  CommitStaged = {
    prompt = "Write commit message for the change with commitizen convention. Make sure the title has maximum 50 characters and message is wrapped at 72 characters. Wrap the whole message in code block with language gitcommit.";
    selection = ''
      function(source)
        return select.gitdiff(source, true)
      end
    '';
  };
  Docs = {
    prompt = "/COPILOT_GENERATE Please add documentation comment for the selection.";
  };
  Explain = {
    prompt = "/COPILOT_EXPLAIN Write an explanation for the active selection as paragraphs of text.";
  };
  Fix = {
    prompt = "/COPILOT_GENERATE There is a problem in this code. Rewrite the code to show it with the bug fixed.";
  };
  FixDiagnostic = {
    prompt = "Please assist with the following diagnostic issue in file:";
    selection = "require('CopilotChat.select').diagnostics";
  };
  Optimize = {
    prompt = "/COPILOT_GENERATE Optimize the selected code to improve performance and readablilty.";
  };
  Review = {
    callback = ''
      function(response, source)
        -- see config.lua for implementation
      end
    '';
    prompt = "/COPILOT_REVIEW Review the selected code.";
  };
  Tests = {
    prompt = "/COPILOT_GENERATE Please generate tests for my code.";
  };
}

Declared by:

plugins.copilot-chat.settings.proxy

Custom proxy to use, formatted as [protocol://]host[:port].

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.copilot-chat.settings.question_header

Header to use for user questions.

Type: null or string or raw lua code

Default: null

Plugin default: "## User "

Declared by:

plugins.copilot-chat.settings.selection

Default selection (visual or line). fun(source: CopilotChat.config.source):CopilotChat.config.selection

Type: null or lua function string

Default: null

Plugin default:

''
  function(source)
    local select = require('CopilotChat.select')
    return select.visual(source) or select.line(source)
  end
''

Declared by:

plugins.copilot-chat.settings.separator

Separator to use in chat.

Type: null or string or raw lua code

Default: null

Plugin default: "───"

Declared by:

plugins.copilot-chat.settings.show_folds

Shows folds for sections in chat.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.copilot-chat.settings.show_help

Shows help message as virtual lines when waiting for user input.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.copilot-chat.settings.system_prompt

System prompt to use.

Type: null or lua code string

Default: null

Plugin default: "require('CopilotChat.prompts').COPILOT_INSTRUCTIONS"

Declared by:

plugins.copilot-chat.settings.temperature

GPT temperature.

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.1

Declared by:

plugins.copilot-chat.settings.window.border

Border for this window. (Only for floating windows.)

Type: null or one of “none”, “single”, “double”, “rounded”, “solid”, “shadow” or raw lua code

Default: null

Plugin default: "single"

Declared by:

plugins.copilot-chat.settings.window.col

Column position of the window, default is centered. (Only for floating windows.)

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.copilot-chat.settings.window.footer

Footer of chat window.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.copilot-chat.settings.window.height

Fractional height of parent, or absolute height in rows when > 1.

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or (positive integer, meaning >0) or raw lua code

Default: null

Plugin default: 0.5

Declared by:

plugins.copilot-chat.settings.window.layout

Layout for the window.

Type: null or one of “vertical”, “horizontal”, “float”, “replace” or raw lua code

Default: null

Plugin default: "vertical"

Declared by:

plugins.copilot-chat.settings.window.relative

Relative position. (Only for floating windows.)

Type: null or one of “editor”, “win”, “cursor”, “mouse” or raw lua code

Default: null

Plugin default: "editor"

Declared by:

plugins.copilot-chat.settings.window.row

Row position of the window, default is centered. (Only for floating windows.)

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.copilot-chat.settings.window.title

Title of chat window.

Type: null or string or raw lua code

Default: null

Plugin default: "Copilot Chat"

Declared by:

plugins.copilot-chat.settings.window.width

Fractional width of parent, or absolute width in columns when > 1.

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or (positive integer, meaning >0) or raw lua code

Default: null

Plugin default: 0.5

Declared by:

plugins.copilot-chat.settings.window.zindex

Determines if window is on top or below other floating windows.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1

Declared by:

copilot-cmp

URL: https://github.com/zbirenbaum/copilot-cmp/

Maintainers: Gaetan Lepage

plugins.copilot-cmp.enable

Whether to enable copilot-cmp.

Type: boolean

Default: false

Example: true

Declared by:

plugins.copilot-cmp.package

The copilot-cmp package to use.

Type: package

Default: pkgs.vimPlugins.copilot-cmp

Declared by:

plugins.copilot-cmp.autoLoad

Whether to automatically load copilot-cmp when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.copilot-cmp.lazyLoad

Lazy-load settings for copilot-cmp.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.copilot-cmp.lazyLoad.enable

lazy-loading for copilot-cmp

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.copilot-cmp.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.copilot-cmp.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.copilot-cmp.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.copilot-cmp.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.copilot-cmp.settings

Options provided to the require('copilot_cmp').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  event = [
    "InsertEnter"
    "LspAttach"
  ];
  fix_pairs = false;
}

Declared by:

plugins.copilot-cmp.settings.event

Configures when the source is registered.

Unless you have a unique problem for your particular configuration you probably don’t want to touch this.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "InsertEnter"
  "LspAttach"
]

Declared by:

plugins.copilot-cmp.settings.fix_pairs

Suppose you have the following code: print('h'). Copilot might try to account for the ' and ) and complete it with this: print('hello.

This is not good behavior for consistency reasons and will just end up deleting the two ending characters. This option fixes that. Don’t turn this off unless you are having problems with pairs and believe this might be causing them.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

copilot-lua

URL: https://github.com/zbirenbaum/copilot.lua/

Maintainers: Heitor Augusto

plugins.copilot-lua.enable

Whether to enable copilot.lua.

Type: boolean

Default: false

Example: true

Declared by:

plugins.copilot-lua.package

The copilot.lua package to use.

Type: package

Default: pkgs.vimPlugins.copilot-lua

Declared by:

plugins.copilot-lua.autoLoad

Whether to automatically load copilot.lua when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.copilot-lua.lazyLoad

Lazy-load settings for copilot.lua.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.copilot-lua.lazyLoad.enable

lazy-loading for copilot.lua

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.copilot-lua.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.copilot-lua.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.copilot-lua.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.copilot-lua.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.copilot-lua.settings

Options provided to the require('copilot').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  panel = {
    auto_refresh = true;
    enabled = true;
  };
  suggestion = {
    auto_trigger = false;
    debounce = 90;
    enabled = true;
    hide_during_completion = false;
    keymap = {
      accept_line = false;
      accept_word = false;
    };
  };
}

Declared by:

plugins.copilot-lua.settings.copilot_node_command

Define the node command to use for copilot-lua. Node.js version must be 20.x or newer.

Type: null or string or raw lua code

Default: null

Plugin default: "node"

Declared by:

plugins.copilot-lua.settings.filetypes

Specify filetypes for attaching copilot. Each value can be either a boolean or a lua function that returns a boolean.

Type: null or (attribute set of (boolean or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "." = false;
  cvs = false;
  gitcommit = false;
  gitrebase = false;
  help = false;
  hgcommit = false;
  markdown = false;
  svn = false;
  yaml = true;
}

Example:

{
  markdown = true; # overrides default
  terraform = false; # disallow specific filetype
  sh.__raw = ''
    function()
      if string.match(vim.fs.basename(vim.api.nvim_buf_get_name(0)), '^%.env.*') then
        -- disable for .env files
        return false
      end
      return true
    end
  '';
  javascript = true; # allow specific type
  "*" = false; # disable for all other filetypes and ignore default filetypes
}

Declared by:

plugins.copilot-lua.settings.server_opts_overrides

Override copilot lsp client settings. The settings field is where you can set the values of the options defined in https://github.com/zbirenbaum/copilot.lua/blob/master/SettingsOpts.md. These options are specific to the copilot lsp and can be used to customize its behavior.

Ensure that the name field is not overridden as is is used for efficiency reasons in numerous checks to verify copilot is actually running.

See :h vim.lsp.start_client for list of options.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Example:

{
  settings = {
    advanced = {
      inlineSuggestCount = 3;
      listCount = 10;
    };
  };
  trace = "verbose";
}

Declared by:

plugins.copilot-lua.settings.panel.enabled

Enable the panel.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.copilot-lua.settings.panel.auto_refresh

Enable auto-refresh.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.copilot-lua.settings.panel.keymap.accept

Keymap to accept the proposed suggestion.

Type: null or value false (singular enum) or string or raw lua code

Default: null

Plugin default: "<CR>"

Declared by:

plugins.copilot-lua.settings.panel.keymap.jump_next

Keymap for jumping to the next suggestion.

Type: null or value false (singular enum) or string or raw lua code

Default: null

Plugin default: "]]"

Declared by:

plugins.copilot-lua.settings.panel.keymap.jump_prev

Keymap for jumping to the previous suggestion.

Type: null or value false (singular enum) or string or raw lua code

Default: null

Plugin default: "[["

Declared by:

plugins.copilot-lua.settings.panel.keymap.open

Keymap to open.

Type: null or value false (singular enum) or string or raw lua code

Default: null

Plugin default: "<M-CR>"

Declared by:

plugins.copilot-lua.settings.panel.keymap.refresh

Keymap to refresh the suggestions.

Type: null or value false (singular enum) or string or raw lua code

Default: null

Plugin default: "gr"

Declared by:

plugins.copilot-lua.settings.panel.layout.position

The panel position.

Type: null or one of “bottom”, “top”, “left”, “right”, “horizontal”, “vertical” or raw lua code

Default: null

Plugin default: "bottom"

Declared by:

plugins.copilot-lua.settings.panel.layout.ratio

The panel ratio.

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.4

Declared by:

plugins.copilot-lua.settings.suggestion.enabled

Enable suggestion.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.copilot-lua.settings.suggestion.auto_trigger

Enable auto-trigger.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.copilot-lua.settings.suggestion.debounce

Debounce.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 75

Declared by:

plugins.copilot-lua.settings.suggestion.hide_during_completion

Hide during completion.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.copilot-lua.settings.suggestion.keymap.accept

Keymap for accepting the suggestion.

Type: null or value false (singular enum) or string or raw lua code

Default: null

Plugin default: "<M-l>"

Declared by:

plugins.copilot-lua.settings.suggestion.keymap.accept_line

Keymap for accepting a line suggestion.

Type: null or value false (singular enum) or string or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.copilot-lua.settings.suggestion.keymap.accept_word

Keymap for accepting a word suggestion.

Type: null or value false (singular enum) or string or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.copilot-lua.settings.suggestion.keymap.dismiss

Keymap to dismiss the suggestion.

Type: null or value false (singular enum) or string or raw lua code

Default: null

Plugin default: "<C-]>"

Declared by:

plugins.copilot-lua.settings.suggestion.keymap.next

Keymap for accepting the next suggestion.

Type: null or value false (singular enum) or string or raw lua code

Default: null

Plugin default: "<M-]>"

Declared by:

plugins.copilot-lua.settings.suggestion.keymap.prev

Keymap for accepting the previous suggestion.

Type: null or value false (singular enum) or string or raw lua code

Default: null

Plugin default: "<M-[>"

Declared by:

copilot-vim

URL: https://github.com/github/copilot.vim/

Maintainers: Gaetan Lepage

plugins.copilot-vim.enable

Whether to enable copilot.vim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.copilot-vim.package

The copilot.vim package to use.

Type: package

Default: pkgs.vimPlugins.copilot-vim

Declared by:

plugins.copilot-vim.autoLoad

Whether to automatically load copilot.vim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.copilot-vim.settings

The configuration options for copilot-vim without the copilot_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal copilot_foo_bar=1
  • hello = "world" -> :setglobal copilot_hello="world"
  • some_toggle = true -> :setglobal copilot_some_toggle
  • other_toggle = false -> :setglobal nocopilot_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  filetypes = {
    "*" = false;
    python = true;
  };
  proxy = "localhost:3128";
  proxy_strict_ssl = false;
  workspace_folders = [
    "~/Projects/myproject"
  ];
}

Declared by:

plugins.copilot-vim.settings.filetypes

A dictionary mapping file types to their enabled status.

Type: null or (attribute set of boolean)

Default: null

Example:

{
  "*" = false;
  python = true;
}

Declared by:

plugins.copilot-vim.settings.node_command

Tell Copilot what node binary to use.

Type: null or string

Default: lib.getExe pkgs.nodejs_20

Declared by:

plugins.copilot-vim.settings.proxy

Tell Copilot what proxy server to use.

If this is not set, Copilot will use the value of environment variables like $HTTPS_PROXY.

Type: null or string

Default: null

Example: "localhost:3128"

Declared by:

plugins.copilot-vim.settings.proxy_strict_ssl

Corporate proxies sometimes use a man-in-the-middle SSL certificate which is incompatible with GitHub Copilot. To work around this, SSL certificate verification can be disabled by setting this option to false.

You can also tell Node.js to disable SSL verification by setting the $NODE_TLS_REJECT_UNAUTHORIZED environment variable to "0".

Type: null or boolean

Default: null

Declared by:

plugins.copilot-vim.settings.workspace_folders

A list of “workspace folders” or project roots that Copilot may use to improve to improve the quality of suggestions.

Example: [“~/Projects/myproject”]

You can also set b:workspace_folder for an individual buffer and newly seen values will be added automatically.

Type: null or (list of string)

Default: null

Declared by:

coq-nvim

URL: https://github.com/ms-jpq/coq_nvim/

Maintainers: Quentin Boyer, Kareem Medhat

plugins.coq-nvim.enable

Whether to enable coq_nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.coq-nvim.package

The coq_nvim package to use.

Type: package

Default: pkgs.vimPlugins.coq_nvim

Declared by:

plugins.coq-nvim.artifactsPackage

The coq-artifacts package to use. Installed when installArtifacts is enabled.

Type: package

Default: pkgs.vimPlugins.coq-artifacts

Declared by:

plugins.coq-nvim.autoLoad

Whether to automatically load coq_nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.coq-nvim.installArtifacts

Whether to enable and install coq-artifacts.

Type: boolean

Default: false

Example: true

Declared by:

plugins.coq-nvim.lazyLoad

Lazy-load settings for coq_nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.coq-nvim.lazyLoad.enable

lazy-loading for coq_nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.coq-nvim.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.coq-nvim.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.coq-nvim.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.coq-nvim.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.coq-nvim.settings

Options provided to the require('coq-nvim').setup function.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.coq-nvim.settings.auto_start

Auto-start or shut up

Type: null or boolean or value “shut-up” (singular enum) or raw lua code

Default: null

Declared by:

plugins.coq-nvim.settings.xdg

Use XDG paths. May be required when installing coq with Nix.

Type: boolean

Default: true

Declared by:

plugins.coq-nvim.settings.completion.always

Always trigger completion on keystroke

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.coq-nvim.settings.keymap.recommended

Use the recommended keymaps

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.coq-thirdparty.enable

Whether to enable coq-thirdparty.

Type: boolean

Default: false

Example: true

Declared by:

plugins.coq-thirdparty.package

The coq-thirdparty package to use.

Type: package

Default: pkgs.vimPlugins.coq-thirdparty

Declared by:

plugins.coq-thirdparty.sources

List of sources. Each source is a free-form type, so additional settings like accept_key may be specified even if they are not declared by nixvim.

Type: list of (attribute set)

Default: [ ]

Example:

[
  {
    short_name = "nLUA";
    src = "nvimlua";
  }
  {
    short_name = "vTEX";
    src = "vimtex";
  }
  {
    src = "demo";
  }
]

Declared by:

plugins.coq-thirdparty.sources.*.short_name

A short name for the source. If not specified, it is uppercase src.

Type: null or string

Default: null

Example: "nLUA"

Declared by:

plugins.coq-thirdparty.sources.*.src

The name of the source

Type: string

Declared by:

cord

URL: https://github.com/vyfor/cord.nvim

Maintainers: Eveeifyeve

plugins.cord.enable

Whether to enable cord.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cord.package

The cord.nvim package to use.

Type: package

Default: pkgs.vimPlugins.cord-nvim

Declared by:

plugins.cord.autoLoad

Whether to automatically load cord.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.cord.settings

Options provided to the require('cord').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  display = {
    show_time = true;
    swap_fields = false;
    swap_icons = false;
  };
  ide = {
    enable = true;
    show_status = true;
    text = "Idle";
    timeout = 300000;
    tooltip = "💤";
  };
  text = {
    editing = "Editing {}";
    file_browser = "Browsing files in {}";
    vcs = "Committing changes in {}";
    viewing = "Viewing {}";
    workspace = "In {}";
  };
  usercmd = false;
}

Declared by:

plugins.cord.lazyLoad

Lazy-load settings for cord.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.cord.lazyLoad.enable

lazy-loading for cord.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.cord.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.cord.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.cord.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.cord.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

cornelis

URL: https://github.com/agda/cornelis/

Maintainers: Gaetan Lepage

plugins.cornelis.enable

Whether to enable cornelis.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cornelis.package

The cornelis package to use.

Type: package

Default: pkgs.vimPlugins.cornelis

Declared by:

plugins.cornelis.autoLoad

Whether to automatically load cornelis when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.cornelis.settings

The configuration options for cornelis without the cornelis_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal cornelis_foo_bar=1
  • hello = "world" -> :setglobal cornelis_hello="world"
  • some_toggle = true -> :setglobal cornelis_some_toggle
  • other_toggle = false -> :setglobal nocornelis_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  agda_prefix = "<Tab>";
  bind_input_hook = "MyCustomHook";
  no_agda_input = 1;
  use_global_binary = 1;
}

Declared by:

plugins.cornelis.settings.agda_prefix

Prefix used for agda keybindings.

Type: null or string or raw lua code

Default: null

Plugin default: "<localleader>"

Example: "<Tab>"

Declared by:

plugins.cornelis.settings.bind_input_hook

If you’d prefer to manage agda-input entirely on your own (perhaps in a snippet system), you can customize the bind input hook.

Type: null or string or raw lua code

Default: null

Plugin default: null

Example: "MyCustomHook"

Declared by:

plugins.cornelis.settings.no_agda_input

Disable the default keybindings.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.cornelis.settings.use_global_binary

Whether to use global binary instead of stack.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.coverage.enable

Whether to enable nvim-coverage.

Type: boolean

Default: false

Example: true

Declared by:

plugins.coverage.package

The nvim-coverage package to use.

Type: package

Default: pkgs.vimPlugins.nvim-coverage

Declared by:

plugins.coverage.autoReload

If true, the coverage_file for a language will be watched for changes after executing :CoverageLoad or coverage.load(). The file watcher will be stopped after executing :CoverageClear or coverage.clear().

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.coverage.autoReloadTimeoutMs

The number of milliseconds to wait before auto-reloading coverage after detecting a change.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 500

Declared by:

plugins.coverage.commands

If true, create commands.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.coverage.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.coverage.keymapsSilent

Whether nvim-coverage keymaps should be silent

Type: boolean

Default: false

Declared by:

plugins.coverage.lang

Each key corresponds with the filetype of the language and maps to an attrs of configuration values that differ.

See plugin documentation for language specific options.

Type: null or (attribute set) or raw lua code

Default: null

Example:

{
  python = {
    coverage_command = "coverage json --fail-under=0 -q -o -";
    coverage_file = ".coverage";
  };
  ruby = {
    coverage_file = "coverage/coverage.json";
  };
}

Declared by:

plugins.coverage.lcovFile

File that the plugin will try to read lcov coverage from.

Type: null or string

Default: null

Declared by:

plugins.coverage.loadCoverageCb

A lua function that will be called when a coverage file is loaded.

Type: null or lua function string

Default: null

Plugin default: "nil"

Example:

''
  function(ftype)
    vim.notify("Loaded " .. ftype .. " coverage")
  end
''

Declared by:

plugins.coverage.signGroup

Name of the sign group used when placing the signs. See :h sign-group.

Type: null or string or raw lua code

Default: null

Plugin default: "coverage"

Declared by:

plugins.coverage.highlights.covered

Highlight group for covered signs.

Type: null or (attribute set) or raw lua code

Default: null

Plugin default:

{
  fg = "#B7F071";
}

Declared by:

plugins.coverage.highlights.partial

Highlight group for partial coverage signs.

Type: null or (attribute set) or raw lua code

Default: null

Plugin default:

{
  fg = "#AA71F0";
}

Declared by:

plugins.coverage.highlights.summaryBorder

Border highlight group of the summary pop-up.

Type: null or (attribute set) or raw lua code

Default: null

Plugin default:

{
  link = "FloatBorder";
}

Declared by:

plugins.coverage.highlights.summaryCursorLine

Cursor line highlight group of the summary pop-up.

Type: null or (attribute set) or raw lua code

Default: null

Plugin default:

{
  link = "CursorLine";
}

Declared by:

plugins.coverage.highlights.summaryFail

Fail text highlight group of the summary pop-up.

Type: null or (attribute set) or raw lua code

Default: null

Plugin default:

{
  link = "CoverageUncovered";
}

Declared by:

plugins.coverage.highlights.summaryHeader

Header text highlight group of the summary pop-up.

Type: null or (attribute set) or raw lua code

Default: null

Plugin default:

{
  sp = "bg";
  style = "bold,underline";
}

Declared by:

plugins.coverage.highlights.summaryNormal

Normal text highlight group of the summary pop-up.

Type: null or (attribute set) or raw lua code

Default: null

Plugin default:

{
  link = "NormalFloat";
}

Declared by:

plugins.coverage.highlights.summaryPass

Pass text highlight group of the summary pop-up.

Type: null or (attribute set) or raw lua code

Default: null

Plugin default:

{
  link = "CoverageCovered";
}

Declared by:

plugins.coverage.highlights.uncovered

Highlight group for uncovered signs.

Type: null or (attribute set) or raw lua code

Default: null

Plugin default:

{
  fg = "#F07178";
}

Declared by:

plugins.coverage.keymaps.clear

Unloads the cached coverage signs. :Coverage or :CoverageLoad must be called again to relad the data.

Type: null or string

Default: null

Declared by:

plugins.coverage.keymaps.coverage

Loads a coverage report and immediately displays the coverage signs.

Type: null or string

Default: null

Declared by:

plugins.coverage.keymaps.hide

Hides the coverage signs. Must call :Coverage or :CoverageLoad first.

Type: null or string

Default: null

Declared by:

plugins.coverage.keymaps.load

Loads a coverage report but does not display the coverage signs.

Type: null or string

Default: null

Declared by:

plugins.coverage.keymaps.loadLcov

Loads a coverage report from an lcov file but does not display the coverage signs. Uses the lcov file configuration option.

Type: null or string

Default: null

Declared by:

plugins.coverage.keymaps.show

Shows the coverage signs. Must call :Coverage or :CoverageLoad first.

Type: null or string

Default: null

Declared by:

plugins.coverage.keymaps.summary

Displays a coverage summary report in a floating window.

Type: null or string

Default: null

Declared by:

plugins.coverage.keymaps.toggle

Toggles the coverage signs. Must call :Coverage or :CoverageLoad first.

Type: null or string

Default: null

Declared by:

plugins.coverage.signs.covered.hl

The highlight group used for covered signs.

Type: null or string or raw lua code

Default: null

Plugin default: "CoverageCovered"

Declared by:

plugins.coverage.signs.covered.text

The text used for covered signs.

Type: null or string or raw lua code

Default: null

Plugin default: "▎"

Declared by:

plugins.coverage.signs.partial.hl

The highlight group used for partial coverage signs.

Type: null or string or raw lua code

Default: null

Plugin default: "CoveragePartial"

Declared by:

plugins.coverage.signs.partial.text

The text used for partial coverage signs.

Type: null or string or raw lua code

Default: null

Plugin default: "▎"

Declared by:

plugins.coverage.signs.uncovered.hl

The highlight group used for uncovered signs.

Type: null or string or raw lua code

Default: null

Plugin default: "CoverageUncovered"

Declared by:

plugins.coverage.signs.uncovered.text

The text used for uncovered signs.

Type: null or string or raw lua code

Default: null

Plugin default: "▎"

Declared by:

plugins.coverage.summary.heightPercentage

Height of the pop-up window.

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.5

Declared by:

plugins.coverage.summary.minCoverage

Minimum coverage percentage. Values below this are highlighted with the fail group, values above are highlighted with the pass group.

Type: null or integer or floating point number between 0 and 100 (both inclusive)

Default: null

Plugin default: 80

Declared by:

plugins.coverage.summary.widthPercentage

Width of the pop-up window.

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.7

Declared by:

plugins.coverage.summary.borders.bot

Type: null or string or raw lua code

Default: null

Plugin default: "─"

Declared by:

plugins.coverage.summary.borders.botleft

Type: null or string or raw lua code

Default: null

Plugin default: "╰"

Declared by:

plugins.coverage.summary.borders.botright

Type: null or string or raw lua code

Default: null

Plugin default: "╯"

Declared by:

plugins.coverage.summary.borders.highlight

Type: null or string or raw lua code

Default: null

Plugin default: "Normal:CoverageSummaryBorder"

Declared by:

plugins.coverage.summary.borders.left

Type: null or string or raw lua code

Default: null

Plugin default: "│"

Declared by:

plugins.coverage.summary.borders.right

Type: null or string or raw lua code

Default: null

Plugin default: "│"

Declared by:

plugins.coverage.summary.borders.top

Type: null or string or raw lua code

Default: null

Plugin default: "─"

Declared by:

plugins.coverage.summary.borders.topleft

Type: null or string or raw lua code

Default: null

Plugin default: "╭"

Declared by:

plugins.coverage.summary.borders.topright

Type: null or string or raw lua code

Default: null

Plugin default: "╮"

Declared by:

crates

URL: https://github.com/saecki/crates.nvim/

Maintainers: Gaetan Lepage

plugins.crates.enable

Whether to enable crates.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.crates.package

The crates.nvim package to use.

Type: package

Default: pkgs.vimPlugins.crates-nvim

Declared by:

plugins.crates.autoLoad

Whether to automatically load crates.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.crates.settings

Options provided to the require('crates').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  autoload = true;
  autoupdate = true;
  smart_insert = true;
}

Declared by:

plugins.crates.lazyLoad

Lazy-load settings for crates.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.crates.lazyLoad.enable

lazy-loading for crates.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.crates.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.crates.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.crates.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.crates.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

csvview

URL: https://github.com/hat0uma/csvview.nvim/

Maintainers: Gaetan Lepage

plugins.csvview.enable

Whether to enable csvview.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.csvview.package

The csvview.nvim package to use.

Type: package

Default: pkgs.vimPlugins.csvview-nvim

Declared by:

plugins.csvview.autoLoad

Whether to automatically load csvview.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.csvview.lazyLoad

Lazy-load settings for csvview.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.csvview.lazyLoad.enable

lazy-loading for csvview.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.csvview.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.csvview.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.csvview.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.csvview.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.csvview.settings

Options provided to the require('csvview').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  parser = {
    async_chunksize = 30;
  };
  view = {
    display_mode = "border";
    spacing = 4;
  };
}

Declared by:

plugins.csvview.settings.parser.async_chunksize

The number of lines that the asynchronous parser processes per cycle.

This setting is used to prevent monopolization of the main thread when displaying large files.

If the UI freezes, try reducing this value.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 50

Declared by:

plugins.csvview.settings.parser.comments

The comment prefix characters.

If the line starts with one of these characters, it is treated as a comment. Comment lines are not displayed in tabular format.

You can also specify it on the command line. e.g:

:CsvViewEnable comment=#

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "#"
  "--"
  "//"
]

Declared by:

plugins.csvview.settings.parser.delimiter

The delimiter character.

You can specify a string, an attrs of delimiter characters for each file type, or a function that returns a delimiter character.

Type: null or string or (attribute set of anything)

Default: null

Plugin default:

{
  default = ",";
  ft = {
    tsv = "	";
  };
}

Example:

{
  __raw = "function(bufnr) return ',' end";
}

Declared by:

plugins.csvview.settings.parser.quote_char

The quote character.

If a field is enclosed in this character, it is treated as a single field and the delimiter in it will be ignored.

You can also specify it on the command line. e.g:

:CsvViewEnable quote_char='

Type: null or string or raw lua code

Default: null

Plugin default: "\""

Example: "'"

Declared by:

plugins.csvview.settings.view.display_mode

The display method of the delimiter.

  • "highlight" highlights the delimiter
  • "border" displays the delimiter with

see Features section of the README.

Type: null or one of “highlight”, “border” or raw lua code

Default: null

Plugin default: "highlight"

Declared by:

plugins.csvview.settings.view.min_column_width

Minimum width of a column.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 5

Declared by:

plugins.csvview.settings.view.spacing

Spacing between columns.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 2

Declared by:

cursorline

URL: https://github.com/ya2s/nvim-cursorline/

Maintainers: Austin Horstman


A Neovim plugin to highlight the cursor line and word under the cursor.

plugins.cursorline.enable

Whether to enable nvim-cursorline.

Type: boolean

Default: false

Example: true

Declared by:

plugins.cursorline.package

The nvim-cursorline package to use.

Type: package

Default: pkgs.vimPlugins.nvim-cursorline

Declared by:

plugins.cursorline.autoLoad

Whether to automatically load nvim-cursorline when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.cursorline.lazyLoad

Lazy-load settings for nvim-cursorline.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.cursorline.lazyLoad.enable

lazy-loading for nvim-cursorline

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.cursorline.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.cursorline.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.cursorline.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.cursorline.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.cursorline.settings

Options provided to the require('nvim-cursorline').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  settings = {
    cursorline = {
      enable = true;
      number = false;
      timeout = 1000;
    };
    cursorword = {
      enable = true;
      hl = {
        underline = true;
      };
      min_length = 3;
    };
  };
}

Declared by:

plugins.cursorline.settings.cursorline.enable

Show / hide cursorline in connection with cursor moving.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.cursorline.settings.cursorline.number

Whether to also highlight the line number.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.cursorline.settings.cursorline.timeout

Time (in ms) after which the cursorline appears.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 1000

Declared by:

plugins.cursorline.settings.cursorword.enable

Underlines the word under the cursor.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.cursorline.settings.cursorword.hl

Highlight definition map for cursorword highlighting.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  underline = true;
}

Declared by:

plugins.cursorline.settings.cursorword.min_length

Minimum length for underlined words.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 3

Declared by:

dap

URL: https://github.com/mfussenegger/nvim-dap/

Maintainers: Austin Horstman

plugins.dap.enable

Whether to enable nvim-dap.

Type: boolean

Default: false

Example: true

Declared by:

plugins.dap.package

The nvim-dap package to use.

Type: package

Default: pkgs.vimPlugins.nvim-dap

Declared by:

plugins.dap.autoLoad

Whether to automatically load nvim-dap when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.dap.configurations

Debugger configurations, see :h dap-configuration for more info.

Type: null or (attribute set of list of ((attribute set) or raw lua code))

Default: null

Declared by:

plugins.dap.settings

Options provided to the require('dap').setup function.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.dap.adapters

Dap adapters.

Type: null or (submodule)

Default: null

Declared by:

plugins.dap.adapters.executables

Debug adapters of executable type. The adapters can also be set to a function which takes three arguments:

  • A on_config callback. This must be called with the actual adapter table.
  • The |dap-configuration| which the user wants to use.
  • An optional parent session. This is only available if the debug-adapter wants to start a child-session via a startDebugging request.

This can be used to defer the resolving of the values to when a configuration is used. A use-case for this is starting an adapter asynchronous.

Type: null or (attribute set of (string or (submodule)))

Default: null

Declared by:

plugins.dap.adapters.servers

Debug adapters of server type. The adapters can also be set to a function which takes three arguments:

  • A on_config callback. This must be called with the actual adapter table.
  • The |dap-configuration| which the user wants to use.
  • An optional parent session. This is only available if the debug-adapter wants to start a child-session via a startDebugging request.

This can be used to defer the resolving of the values to when a configuration is used. A use-case for this is starting an adapter asynchronous.

Type: null or (attribute set of (string or (submodule)))

Default: null

Declared by:

plugins.dap.lazyLoad

Lazy-load settings for nvim-dap.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.dap.lazyLoad.enable

lazy-loading for nvim-dap

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.dap.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.dap.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.dap.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.dap.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.dap.signs

Signs for dap.

Type: null or (submodule)

Default: null

Declared by:

plugins.dap.signs.dapBreakpoint.linehl

linehl for sign.

Type: null or string

Default: null

Declared by:

plugins.dap.signs.dapBreakpoint.numhl

numhl for sign.

Type: null or string

Default: null

Declared by:

plugins.dap.signs.dapBreakpoint.text

Sign for breakpoints.

Type: null or string or raw lua code

Default: null

Plugin default: "B"

Declared by:

plugins.dap.signs.dapBreakpoint.texthl

texthl for sign.

Type: null or string

Default: null

Declared by:

plugins.dap.signs.dapBreakpointCondition.linehl

linehl for sign.

Type: null or string

Default: null

Declared by:

plugins.dap.signs.dapBreakpointCondition.numhl

numhl for sign.

Type: null or string

Default: null

Declared by:

plugins.dap.signs.dapBreakpointCondition.text

Sign for conditional breakpoints.

Type: null or string or raw lua code

Default: null

Plugin default: "C"

Declared by:

plugins.dap.signs.dapBreakpointCondition.texthl

texthl for sign.

Type: null or string

Default: null

Declared by:

plugins.dap.signs.dapBreakpointRejected.linehl

linehl for sign.

Type: null or string

Default: null

Declared by:

plugins.dap.signs.dapBreakpointRejected.numhl

numhl for sign.

Type: null or string

Default: null

Declared by:

plugins.dap.signs.dapBreakpointRejected.text

Sign to indicate breakpoints rejected by the debug adapter.

Type: null or string or raw lua code

Default: null

Plugin default: "R"

Declared by:

plugins.dap.signs.dapBreakpointRejected.texthl

texthl for sign.

Type: null or string

Default: null

Declared by:

plugins.dap.signs.dapLogPoint.linehl

linehl for sign.

Type: null or string

Default: null

Declared by:

plugins.dap.signs.dapLogPoint.numhl

numhl for sign.

Type: null or string

Default: null

Declared by:

plugins.dap.signs.dapLogPoint.text

Sign for log points.

Type: null or string or raw lua code

Default: null

Plugin default: "L"

Declared by:

plugins.dap.signs.dapLogPoint.texthl

texthl for sign.

Type: null or string

Default: null

Declared by:

plugins.dap.signs.dapStopped.linehl

linehl for sign.

Type: null or string

Default: null

Declared by:

plugins.dap.signs.dapStopped.numhl

numhl for sign.

Type: null or string

Default: null

Declared by:

plugins.dap.signs.dapStopped.text

Sign to indicate where the debuggee is stopped.

Type: null or string or raw lua code

Default: null

Plugin default: "→"

Declared by:

plugins.dap.signs.dapStopped.texthl

texthl for sign.

Type: null or string

Default: null

Declared by:

dap-go

URL: https://github.com/leoluz/nvim-dap-go/

Maintainers: Austin Horstman

plugins.dap-go.enable

Whether to enable dap-go.

Type: boolean

Default: false

Example: true

Declared by:

plugins.dap-go.package

The dap-go package to use.

Type: package

Default: pkgs.vimPlugins.nvim-dap-go

Declared by:

plugins.dap-go.autoLoad

Whether to automatically load dap-go when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.dap-go.lazyLoad

Lazy-load settings for dap-go.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.dap-go.lazyLoad.enable

lazy-loading for dap-go

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.dap-go.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.dap-go.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.dap-go.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.dap-go.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.dap-go.settings

Options provided to the require('dap-go').setup function.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.dap-go.settings.dap_configurations

Additional dap configurations. See :h dap-configuration for more detail.

Type: null or (list of ((attribute set) or raw lua code))

Default: null

Declared by:

plugins.dap-go.settings.delve.args

Additional args to pass to dlv.

Type: null or (list of string)

Default: null

Declared by:

plugins.dap-go.settings.delve.build_flags

Build flags to pass to dlv.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.dap-go.settings.delve.initialize_timeout_sec

Time to wait for delve to initialize the debug session.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 20

Declared by:

plugins.dap-go.settings.delve.path

The path to the executable dlv which will be used for debugging.

Type: null or string or raw lua code

Default: null

Plugin default: "dlv"

Declared by:

plugins.dap-go.settings.delve.port

A string that defines the port to start delve debugger.

Defaults to string “$${port}” which instructs dap to start the process in a random available port.

Type: null or string or raw lua code

Default: null

Plugin default: "$\${port}"

Declared by:

dap-lldb

URL: https://github.com/julianolf/nvim-dap-lldb/

Maintainers: Austin Horstman

plugins.dap-lldb.enable

Whether to enable nvim-dap-lldb.

Type: boolean

Default: false

Example: true

Declared by:

plugins.dap-lldb.package

The nvim-dap-lldb package to use.

Type: package

Default: pkgs.vimPlugins.nvim-dap-lldb

Declared by:

plugins.dap-lldb.autoLoad

Whether to automatically load nvim-dap-lldb when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.dap-lldb.lazyLoad

Lazy-load settings for nvim-dap-lldb.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.dap-lldb.lazyLoad.enable

lazy-loading for nvim-dap-lldb

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.dap-lldb.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.dap-lldb.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.dap-lldb.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.dap-lldb.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.dap-lldb.settings

Options provided to the require('dap-lldb').setup function.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.dap-lldb.settings.codelldb_path

Path to codelldb executable.

Type: null or string or absolute path or raw lua code

Default: null

Plugin default: "codelldb"

Declared by:

plugins.dap-lldb.settings.configurations

Per programming language configuration.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  c = [
    {
      cwd = "$\${workspaceFolder}";
      name = "Debug";
      program = {
        __raw = ''
          function()
             local cwd = string.format("%s%s", vim.fn.getcwd(), sep)
             return vim.fn.input("Path to executable: ", cwd, "file")
          end
        '';
      };
      request = "launch";
      stopOnEntry = false;
      type = "lldb";
    }
    {
      args = {
        __raw = ''
          function()
             local args = vim.fn.input("Enter args: ")
             return vim.split(args, " ", { trimempty = true })
          end
        '';
      };
      cwd = "$\${workspaceFolder}";
      name = "Debug (+args)";
      program = {
        __raw = ''
          function()
             local cwd = string.format("%s%s", vim.fn.getcwd(), sep)
             return vim.fn.input("Path to executable: ", cwd, "file")
          end
        '';
      };
      request = "launch";
      stopOnEntry = false;
      type = "lldb";
    }
    {
      cwd = "$\${workspaceFolder}";
      name = "Attach debugger";
      program = {
        __raw = ''
          function()
             local cwd = string.format("%s%s", vim.fn.getcwd(), sep)
             return vim.fn.input("Path to executable: ", cwd, "file")
          end
        '';
      };
      request = "attach";
      stopOnEntry = false;
      type = "lldb";
    }
  ];
  cpp = [
    {
      cwd = "$\${workspaceFolder}";
      name = "Debug";
      program = {
        __raw = ''
          function()
             local cwd = string.format("%s%s", vim.fn.getcwd(), sep)
             return vim.fn.input("Path to executable: ", cwd, "file")
          end
        '';
      };
      request = "launch";
      stopOnEntry = false;
      type = "lldb";
    }
    {
      args = {
        __raw = ''
          function()
             local args = vim.fn.input("Enter args: ")
             return vim.split(args, " ", { trimempty = true })
          end
        '';
      };
      cwd = "$\${workspaceFolder}";
      name = "Debug (+args)";
      program = {
        __raw = ''
          function()
             local cwd = string.format("%s%s", vim.fn.getcwd(), sep)
             return vim.fn.input("Path to executable: ", cwd, "file")
          end
        '';
      };
      request = "launch";
      stopOnEntry = false;
      type = "lldb";
    }
    {
      cwd = "$\${workspaceFolder}";
      name = "Attach debugger";
      program = {
        __raw = ''
          function()
             local cwd = string.format("%s%s", vim.fn.getcwd(), sep)
             return vim.fn.input("Path to executable: ", cwd, "file")
          end
        '';
      };
      request = "attach";
      stopOnEntry = false;
      type = "lldb";
    }
  ];
  rust = [
    {
      cwd = "$\${workspaceFolder}";
      name = "Debug";
      program = {
        __raw = ''
          function(selection)
             local targets = list_targets(selection)
          
             if targets == nil then
                return nil
             end
          
             if #targets == 0 then
                return read_target()
             end
          
             if #targets == 1 then
                return targets[1]
             end
          
             local options = { "Select a target:" }
          
             for index, target in ipairs(targets) do
                local parts = vim.split(target, sep, { trimempty = true })
                local option = string.format("%d. %s", index, parts[#parts])
                table.insert(options, option)
             end
          
             local choice = vim.fn.inputlist(options)
          
             return targets[choice]
          end
        '';
      };
      request = "launch";
      stopOnEntry = false;
      type = "lldb";
    }
    {
      args = {
        __raw = ''
          function()
             local args = vim.fn.input("Enter args: ")
             return vim.split(args, " ", { trimempty = true })
          end
        '';
      };
      cwd = "$\${workspaceFolder}";
      name = "Debug (+args)";
      program = {
        __raw = ''
          function(selection)
             local targets = list_targets(selection)
          
             if targets == nil then
                return nil
             end
          
             if #targets == 0 then
                return read_target()
             end
          
             if #targets == 1 then
                return targets[1]
             end
          
             local options = { "Select a target:" }
          
             for index, target in ipairs(targets) do
                local parts = vim.split(target, sep, { trimempty = true })
                local option = string.format("%d. %s", index, parts[#parts])
                table.insert(options, option)
             end
          
             local choice = vim.fn.inputlist(options)
          
             return targets[choice]
          end
        '';
      };
      request = "launch";
      stopOnEntry = false;
      type = "lldb";
    }
    {
      args = [
        "--test-threads=1"
      ];
      cwd = "$\${workspaceFolder}";
      name = "Debug tests";
      program = {
        __raw = ''
          function()
            return select_target("tests")
          end
        '';
      };
      request = "launch";
      stopOnEntry = false;
      type = "lldb";
    }
    {
      args = {
        __raw = ''
          function()
              return vim.list_extend(read_args(), { "--test-threads=1" })
          end
        '';
      };
      cwd = "$\${workspaceFolder}";
      name = "Debug tests (+args)";
      program = {
        __raw = ''
          function()
            return select_target("tests")
          end
        '';
      };
      request = "launch";
      stopOnEntry = false;
      type = "lldb";
    }
    {
      args = {
        __raw = ''
          function()
            local test = select_test()
            local args = test and { "--exact", test } or {}
            return vim.list_extend(args, { "--test-threads=1" })
          end
        '';
      };
      cwd = "$\${workspaceFolder}";
      name = "Debug tests (cursor)";
      program = {
        __raw = ''
          function()
            return select_target("tests")
          end
        '';
      };
      request = "launch";
      stopOnEntry = false;
      type = "lldb";
    }
    {
      cwd = "$\${workspaceFolder}";
      name = "Attach debugger";
      program = {
        __raw = ''
          function()
             local cwd = string.format("%s%s", vim.fn.getcwd(), sep)
             return vim.fn.input("Path to executable: ", cwd, "file")
          end
        '';
      };
      request = "attach";
      stopOnEntry = false;
      type = "lldb";
    }
  ];
}

Declared by:

dap-python

URL: https://github.com/mfussenegger/nvim-dap-python/

Maintainers: Austin Horstman

plugins.dap-python.enable

Whether to enable dap-python.

Type: boolean

Default: false

Example: true

Declared by:

plugins.dap-python.package

The dap-python package to use.

Type: package

Default: pkgs.vimPlugins.nvim-dap-python

Declared by:

plugins.dap-python.adapterPythonPath

Path to the python interpreter. Path must be absolute or in $PATH and needs to have the debugpy package installed.

Type: string

Default:

lib.getExe (pkgs.python3.withPackages (ps: [ ps.debugpy ]))

Declared by:

plugins.dap-python.autoLoad

Whether to automatically load dap-python when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.dap-python.customConfigurations

Custom python configurations for dap.

Type: null or (list of ((attribute set) or raw lua code))

Default: null

Declared by:

plugins.dap-python.resolvePython

Function to resolve path to python to use for program or test execution. By default the VIRTUAL_ENV and CONDA_PREFIX environment variables are used if present.

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.dap-python.testRunner

The name of test runner to use by default.

Type: null or lua function string

Default: null

Plugin default: The default value is dynamic and depends on pytest.ini or manage.py markers. If neither are found, "unittest" is used.

Declared by:

plugins.dap-python.testRunners

Set to register test runners.

Built-in test runners include: unittest, pytest and django.

The key is the test runner name, the value a function to generate the module name to run and its arguments.

See |dap-python.TestRunner|.

Type: null or (attribute set of lua function string)

Default: null

Declared by:

plugins.dap-python.lazyLoad

Lazy-load settings for dap-python.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.dap-python.lazyLoad.enable

lazy-loading for dap-python

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.dap-python.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.dap-python.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.dap-python.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.dap-python.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.dap-python.settings

Options provided to the require('dap-python').setup function.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.dap-python.settings.console

Debugpy console.

Type: null or one of “integratedTerminal”, “internalConsole”, “externalTerminal” or raw lua code

Default: null

Plugin default: "integratedTerminal"

Declared by:

plugins.dap-python.settings.includeConfigs

Add default configurations.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

dap-rr

URL: https://github.com/jonboh/nvim-dap-rr/

Maintainers: Gaetan Lepage

plugins.dap-rr.enable

Whether to enable nvim-dap-rr.

Type: boolean

Default: false

Example: true

Declared by:

plugins.dap-rr.package

The nvim-dap-rr package to use.

Type: package

Default: pkgs.vimPlugins.nvim-dap-rr

Declared by:

plugins.dap-rr.autoLoad

Whether to automatically load nvim-dap-rr when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.dap-rr.lazyLoad

Lazy-load settings for nvim-dap-rr.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.dap-rr.lazyLoad.enable

lazy-loading for nvim-dap-rr

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.dap-rr.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.dap-rr.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.dap-rr.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.dap-rr.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.dap-rr.settings

Options provided to the require('dap-rr').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  mappings = {
    continue = "<f4>";
    reverse_continue = "<f4>";
    reverse_step_into = "<s-f11>";
    reverse_step_out = "<s-f8>";
    reverse_step_over = "<s-f10>";
    step_into = "<f11>";
    step_out = "<f8>";
    step_over = "<f10>";
  };
}

Declared by:

plugins.dap-rr.settings.mappings

Keyboard mappings for nvim-dap-rr.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  continue = "<F7>";
  reverse_continue = "<F19>";
  reverse_step_into = "<F22>";
  reverse_step_into_i = "<F46>";
  reverse_step_out = "<F21>";
  reverse_step_out_i = "<F45>";
  reverse_step_over = "<F20>";
  reverse_step_over_i = "<F44>";
  step_into = "<F10>";
  step_into_i = "<F34>";
  step_out = "<F9>";
  step_out_i = "<F33>";
  step_over = "<F8>";
  step_over_i = "<F32>";
}

Declared by:

dap-ui

URL: https://github.com/rcarriga/nvim-dap-ui/

Maintainers: Austin Horstman

plugins.dap-ui.enable

Whether to enable nvim-dap-ui.

Type: boolean

Default: false

Example: true

Declared by:

plugins.dap-ui.package

The nvim-dap-ui package to use.

Type: package

Default: pkgs.vimPlugins.nvim-dap-ui

Declared by:

plugins.dap-ui.autoLoad

Whether to automatically load nvim-dap-ui when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.dap-ui.lazyLoad

Lazy-load settings for nvim-dap-ui.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.dap-ui.lazyLoad.enable

lazy-loading for nvim-dap-ui

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.dap-ui.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.dap-ui.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.dap-ui.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.dap-ui.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.dap-ui.settings

Options provided to the require('dapui').setup function.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.dap-ui.settings.expand_lines

Expand current line to hover window if larger than window size.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.dap-ui.settings.force_buffers

Prevents other buffers being loaded into dap-ui windows.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.dap-ui.settings.layouts

List of layouts for dap-ui.

Type: null or (list of ((submodule) or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  {
    elements = [
      {
        id = "scopes";
        size = 0.25;
      }
      {
        id = "breakpoints";
        size = 0.25;
      }
      {
        id = "stacks";
        size = 0.25;
      }
      {
        id = "watches";
        size = 0.25;
      }
    ];
    position = "left";
    size = 40;
  }
  {
    elements = [
      {
        id = "repl";
        size = 0.5;
      }
      {
        id = "console";
        size = 0.5;
      }
    ];
    position = "bottom";
    size = 10;
  }
]

Declared by:

plugins.dap-ui.settings.select_window

A function which returns a window to be used for opening buffers such as a stack frame location.

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.dap-ui.settings.controls.enabled

Enable controls

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.dap-ui.settings.controls.element

Element to show the controls on.

Type: null or one of “repl”, “scopes”, “stacks”, “watches”, “breakpoints”, “console” or raw lua code

Default: null

Plugin default: "repl"

Declared by:

plugins.dap-ui.settings.controls.icons.disconnect

The icon for disconnect.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.dap-ui.settings.controls.icons.pause

The icon for pause.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.dap-ui.settings.controls.icons.play

The icon for play.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.dap-ui.settings.controls.icons.run_last

The icon for run_last.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.dap-ui.settings.controls.icons.step_back

The icon for step_back.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.dap-ui.settings.controls.icons.step_into

The icon for step_into.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.dap-ui.settings.controls.icons.step_out

The icon for step_out.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.dap-ui.settings.controls.icons.step_over

The icon for step_over.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.dap-ui.settings.controls.icons.terminate

The icon for terminate.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.dap-ui.settings.element_mappings

Per-element overrides of global mappings.

Type: null or (attribute set of (submodule))

Default: null

Declared by:

plugins.dap-ui.settings.element_mappings.<name>.edit

Map edit for element mapping overrides

Type: null or string or list of string

Default: null

Plugin default: "e"

Declared by:

plugins.dap-ui.settings.element_mappings.<name>.expand

Map expand for element mapping overrides

Type: null or string or list of string

Default: null

Plugin default:

[
  "<CR>"
  "<2-LeftMouse>"
]

Declared by:

plugins.dap-ui.settings.element_mappings.<name>.open

Map open for element mapping overrides

Type: null or string or list of string

Default: null

Plugin default: "o"

Declared by:

plugins.dap-ui.settings.element_mappings.<name>.remove

Map remove for element mapping overrides

Type: null or string or list of string

Default: null

Plugin default: "d"

Declared by:

plugins.dap-ui.settings.element_mappings.<name>.repl

Map repl for element mapping overrides

Type: null or string or list of string

Default: null

Plugin default: "r"

Declared by:

plugins.dap-ui.settings.element_mappings.<name>.toggle

Map toggle for element mapping overrides

Type: null or string or list of string

Default: null

Plugin default: "t"

Declared by:

plugins.dap-ui.settings.floating.border

Defines the border to use for dap-ui floating window. Accepts same border values as nvim_open_win(). See :help nvim_open_win() for more info.

Type: null or string or list of string or list of list of string or raw lua code

Default: null

Plugin default: "single"

Declared by:

plugins.dap-ui.settings.floating.max_height

Maximum height of the floating window.

Type: null or signed integer or integer or floating point number between 0.0 and 1.0 (both inclusive)

Default: null

Declared by:

plugins.dap-ui.settings.floating.max_width

Maximum width of the floating window.

Type: null or signed integer or integer or floating point number between 0.0 and 1.0 (both inclusive)

Default: null

Declared by:

plugins.dap-ui.settings.floating.mappings

Keys to trigger actions in elements.

Type: null or (submodule)

Default: null

Declared by:

plugins.dap-ui.settings.floating.mappings.close

Map close for dap-ui floating

Type: null or string or list of string

Default: null

Plugin default:

[
  "<ESC>"
  "q"
]

Declared by:

plugins.dap-ui.settings.icons.collapsed

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.dap-ui.settings.icons.current_frame

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.dap-ui.settings.icons.expanded

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.dap-ui.settings.mappings

Keys to trigger actions in elements.

Type: null or (submodule)

Default: null

Declared by:

plugins.dap-ui.settings.mappings.edit

Map edit for dap-ui

Type: null or string or list of string

Default: null

Plugin default: "e"

Declared by:

plugins.dap-ui.settings.mappings.expand

Map expand for dap-ui

Type: null or string or list of string

Default: null

Plugin default:

[
  "<CR>"
  "<2-LeftMouse>"
]

Declared by:

plugins.dap-ui.settings.mappings.open

Map open for dap-ui

Type: null or string or list of string

Default: null

Plugin default: "o"

Declared by:

plugins.dap-ui.settings.mappings.remove

Map remove for dap-ui

Type: null or string or list of string

Default: null

Plugin default: "d"

Declared by:

plugins.dap-ui.settings.mappings.repl

Map repl for dap-ui

Type: null or string or list of string

Default: null

Plugin default: "r"

Declared by:

plugins.dap-ui.settings.mappings.toggle

Map toggle for dap-ui

Type: null or string or list of string

Default: null

Plugin default: "t"

Declared by:

plugins.dap-ui.settings.render.indent

Default indentation size.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.dap-ui.settings.render.max_type_length

Maximum number of characters to allow a type name to fill before trimming.

Type: null or signed integer

Default: null

Declared by:

plugins.dap-ui.settings.render.max_value_lines

Maximum number of lines to allow a value to fill before trimming.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 100

Declared by:

dap-view

URL: https://github.com/igorlfs/nvim-dap-view/

Maintainers: Austin Horstman

plugins.dap-view.enable

Whether to enable nvim-dap-view.

Type: boolean

Default: false

Example: true

Declared by:

plugins.dap-view.package

The nvim-dap-view package to use.

Type: package

Default: pkgs.vimPlugins.nvim-dap-view

Declared by:

plugins.dap-view.autoLoad

Whether to automatically load nvim-dap-view when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.dap-view.settings

Options provided to the require('dap-view').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  winbar = {
    controls = {
      enabled = true;
    };
  };
  windows = {
    terminal = {
      position = "right";
      start_hidden = true;
    };
  };
}

Declared by:

plugins.dap-view.lazyLoad

Lazy-load settings for nvim-dap-view.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.dap-view.lazyLoad.enable

lazy-loading for nvim-dap-view

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.dap-view.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.dap-view.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.dap-view.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.dap-view.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

dap-virtual-text

URL: https://github.com/theHamsta/nvim-dap-virtual-text/

Maintainers: Austin Horstman

plugins.dap-virtual-text.enable

Whether to enable nvim-dap-virtual-text.

Type: boolean

Default: false

Example: true

Declared by:

plugins.dap-virtual-text.package

The nvim-dap-virtual-text package to use.

Type: package

Default: pkgs.vimPlugins.nvim-dap-virtual-text

Declared by:

plugins.dap-virtual-text.autoLoad

Whether to automatically load nvim-dap-virtual-text when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.dap-virtual-text.lazyLoad

Lazy-load settings for nvim-dap-virtual-text.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.dap-virtual-text.lazyLoad.enable

lazy-loading for nvim-dap-virtual-text

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.dap-virtual-text.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.dap-virtual-text.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.dap-virtual-text.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.dap-virtual-text.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.dap-virtual-text.settings

Options provided to the require('nvim-dap-virtual-text').setup function.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.dap-virtual-text.settings.enabled_commands

Create commands DapVirtualTextEnable, DapVirtualTextDisable, DapVirtualTextToggle.

(DapVirtualTextForceRefresh for refreshing when debug adapter did not notify its termination).

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.dap-virtual-text.settings.all_frames

Show virtual text for all stack frames not only current.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.dap-virtual-text.settings.all_references

Show virtual text on all references of the variable (not only definitions).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.dap-virtual-text.settings.clear_on_continue

Clear virtual text on continue (might cause flickering when stepping).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.dap-virtual-text.settings.commented

Prefix virtual text with comment string.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.dap-virtual-text.settings.display_callback

A callback that determines how a variable is displayed or whether it should be omitted.

Type: null or lua function string

Default: null

Plugin default:

''
  function(variable, buf, stackframe, node, options)
    if options.virt_text_pos == 'inline' then
      return ' = ' .. variable.value
    else
      return variable.name .. ' = ' .. variable.value
    end
  end,
''

Declared by:

plugins.dap-virtual-text.settings.highlight_changed_variables

Highlight changed values with NvimDapVirtualTextChanged, else always NvimDapVirtualText.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.dap-virtual-text.settings.highlight_new_as_changed

Highlight new variables in the same way as changed variables (if highlight_changed_variables).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.dap-virtual-text.settings.only_first_definition

Only show virtual text at first definition (if there are multiple).

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.dap-virtual-text.settings.show_stop_reason

Show stop reason when stopped for exceptions.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.dap-virtual-text.settings.virt_lines

Show virtual lines instead of virtual text (will flicker!).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.dap-virtual-text.settings.virt_text_pos

Position of virtual text, see :h nvim_buf_set_extmark(). Default tries to inline the virtual text. Use ‘eol’ to set to end of line.

Type: null or string or raw lua code

Default: null

Plugin default: "vim.fn.has 'nvim-0.10' == 1 and 'inline' or 'eol'"

Declared by:

plugins.dap-virtual-text.settings.virt_text_win_col

Position the virtual text at a fixed window column (starting from the first text column). See :h nvim_buf_set_extmark().

Type: null or signed integer

Default: null

Declared by:

dashboard

URL: https://github.com/nvimdev/dashboard-nvim/

Maintainers: Matt Sturgeon

plugins.dashboard.enable

Whether to enable dashboard-nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.dashboard.package

The dashboard-nvim package to use.

Type: package

Default: pkgs.vimPlugins.dashboard-nvim

Declared by:

plugins.dashboard.autoLoad

Whether to automatically load dashboard-nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.dashboard.lazyLoad

Lazy-load settings for dashboard-nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.dashboard.lazyLoad.enable

lazy-loading for dashboard-nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.dashboard.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.dashboard.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.dashboard.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.dashboard.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.dashboard.settings

Options provided to the require('dashboard').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  change_to_vcs_root = true;
  config = {
    footer = [
      "Made with ❤️"
    ];
    header = [
      "███╗   ██╗██╗██╗  ██╗██╗   ██╗██╗███╗   ███╗"
      "████╗  ██║██║╚██╗██╔╝██║   ██║██║████╗ ████║"
      "██╔██╗ ██║██║ ╚███╔╝ ██║   ██║██║██╔████╔██║"
      "██║╚██╗██║██║ ██╔██╗ ╚██╗ ██╔╝██║██║╚██╔╝██║"
      "██║ ╚████║██║██╔╝ ██╗ ╚████╔╝ ██║██║ ╚═╝ ██║"
      "╚═╝  ╚═══╝╚═╝╚═╝  ╚═╝  ╚═══╝  ╚═╝╚═╝     ╚═╝"
    ];
    mru = {
      limit = 20;
    };
    project = {
      enable = false;
    };
    shortcut = [
      {
        action = {
          __raw = "function(path) vim.cmd('Telescope find_files') end";
        };
        desc = "Files";
        group = "Label";
        icon = " ";
        icon_hl = "@variable";
        key = "f";
      }
      {
        action = "Telescope app";
        desc = " Apps";
        group = "DiagnosticHint";
        key = "a";
      }
      {
        action = "Telescope dotfiles";
        desc = " dotfiles";
        group = "Number";
        key = "d";
      }
    ];
    week_header = {
      enable = true;
    };
  };
  theme = "hyper";
}

Declared by:

plugins.dashboard.settings.change_to_vcs_root

When opening a file in the “hyper” theme’s “recent files” list (mru), vim will change to the root of vcs.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.dashboard.settings.shortcut_type

The shortcut type.

Type: null or one of “letter”, “number” or raw lua code

Default: null

Plugin default: "letter"

Declared by:

plugins.dashboard.settings.theme

Dashboard comes with two themes, that each have their own distinct config options.

  • “hyper” includes a header, custom shortcuts, recent projects, recent files, and a footer.
  • “doom” is simpler, consisting of a header, center, and footer.

Some options have a note stating which theme they relate to.

Type: null or one of “hyper”, “doom” or raw lua code

Default: null

Plugin default: "hyper"

Declared by:

plugins.dashboard.settings.config.disable_move

Disable movement keymaps in the dashboard buffer.

Specifically, the following keymaps are disabled:

w, f, b, h, j, k, l, <Up>, <Down>, <Left>, <Right>

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.dashboard.settings.config.footer

The footer text, displayed at the bottom of the buffer.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.dashboard.settings.config.header

The header text, displayed at the top of the buffer.

Type: null or string or list of (string or raw lua code) or raw lua code

Default: null

Plugin default:

[
  ""
  " ██████╗  █████╗ ███████╗██╗  ██╗██████╗  ██████╗  █████╗ ██████╗ ██████╗  "
  " ██╔══██╗██╔══██╗██╔════╝██║  ██║██╔══██╗██╔═══██╗██╔══██╗██╔══██╗██╔══██╗ "
  " ██║  ██║███████║███████╗███████║██████╔╝██║   ██║███████║██████╔╝██║  ██║ "
  " ██║  ██║██╔══██║╚════██║██╔══██║██╔══██╗██║   ██║██╔══██║██╔══██╗██║  ██║ "
  " ██████╔╝██║  ██║███████║██║  ██║██████╔╝╚██████╔╝██║  ██║██║  ██║██████╔╝ "
  " ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═╝╚═════╝  "
  ""
]

Declared by:

plugins.dashboard.settings.config.center

Actions to be added to the center section of the “doom” theme.

Note: This option is only compatible with the “doom” theme.

Type: null or (list of (attribute set of anything))

Default: null

Example:

[
  {
    action = "lua print(2)";
    desc = "Find File           ";
    desc_hl = "String";
    icon = " ";
    icon_hl = "Title";
    key = "b";
    key_format = " %s";
    key_hl = "Number";
    keymap = "SPC f f";
  }
  {
    action = {
      __raw = "function() print(3) end";
    };
    desc = "Find Dotfiles";
    icon = " ";
    key = "f";
    key_format = " %s";
    keymap = "SPC f d";
  }
]

Declared by:

plugins.dashboard.settings.config.center.*.action

Action done when you press key. Can be a command or a function.

To use a lua function, pass a raw type instead of a string, e.g:

  action.__raw = "function(path) vim.cmd('Telescope find_files cwd=' .. path) end";

Is equivialent to:

  action = "Telescope find_files cwd=";

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.dashboard.settings.config.center.*.desc

The action’s description, shown next to the icon.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.dashboard.settings.config.center.*.desc_hl

The highlight group to use for the description.

Type: null or string or raw lua code

Default: null

Plugin default: "DashboardDesc"

Declared by:

plugins.dashboard.settings.config.center.*.icon

The icon to display with this action.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.dashboard.settings.config.center.*.icon_hl

The highlight group for the icon.

Type: null or string or raw lua code

Default: null

Plugin default: "DashboardIcon"

Declared by:

plugins.dashboard.settings.config.center.*.key

Shortcut key available in the dashboard buffer.

Note: this will not create an actual keymap.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.dashboard.settings.config.center.*.key_format

Format string used when rendering the key. %s will be substituted with value of key.

Type: null or string or raw lua code

Default: null

Plugin default: "[%s]"

Declared by:

plugins.dashboard.settings.config.center.*.key_hl

The highlight group to use for the key.

Type: null or string or raw lua code

Default: null

Plugin default: "DashboardKey"

Declared by:

plugins.dashboard.settings.config.mru

Options relating to the “hyper” theme’s recent files list.

Note: This option is only compatible with the “hyper” theme.

Type: null or (submodule)

Default: null

Declared by:

plugins.dashboard.settings.config.mru.cwd_only

Whether to only include files from the current working directory.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.dashboard.settings.config.mru.icon

Icon used in the section header.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.dashboard.settings.config.mru.icon_hl

Highlight group used for the icon.

Type: null or string or raw lua code

Default: null

Plugin default: "DashboardMruIcon"

Declared by:

plugins.dashboard.settings.config.mru.label

Text used in the section header.

Type: null or string or raw lua code

Default: null

Plugin default: " Most Recent Files:"

Declared by:

plugins.dashboard.settings.config.mru.limit

The maximum number of files to list.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.dashboard.settings.config.packages.enable

Show how many vim plugins are loaded.

Note: This option is only compatible with the “hyper” theme.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.dashboard.settings.config.project

Options relating to the “hyper” theme’s recent projects list.

Note: This option is only compatible with the “hyper” theme.

Type: null or (submodule)

Default: null

Declared by:

plugins.dashboard.settings.config.project.enable

Whether to display the recent projects list.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.dashboard.settings.config.project.action

When you press key or enter it will run this action

Type: null or string or raw lua code

Default: null

Plugin default: "Telescope find_files cwd="

Declared by:

plugins.dashboard.settings.config.project.icon

Icon used in the section header.

Type: null or string or raw lua code

Default: null

Plugin default: "󰏓 "

Declared by:

plugins.dashboard.settings.config.project.icon_hl

Highlight group used for the icon.

Type: null or string or raw lua code

Default: null

Plugin default: "DashboardRecentProjectIcon"

Declared by:

plugins.dashboard.settings.config.project.label

Text used in the section header.

Type: null or string or raw lua code

Default: null

Plugin default: " Recent Projects:"

Declared by:

plugins.dashboard.settings.config.project.limit

The maximum number of projects to list.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 8

Declared by:

plugins.dashboard.settings.config.shortcut

Shortcut actions to be added to the “hyper” theme.

Note: This option is only compatible with the “hyper” theme.

Type: null or (list of (attribute set of anything))

Default: null

Example:

[
  {
    action = {
      __raw = "function(path) vim.cmd('Telescope find_files') end";
    };
    desc = "Files";
    group = "Label";
    icon = " ";
    icon_hl = "@variable";
    key = "f";
  }
  {
    action = "Telescope app";
    desc = " Apps";
    group = "DiagnosticHint";
    key = "a";
  }
  {
    action = "Telescope dotfiles";
    desc = " dotfiles";
    group = "Number";
    key = "d";
  }
]

Declared by:

plugins.dashboard.settings.config.shortcut.*.action

Action done when you press key. Can be a command or a function.

To use a lua function, pass a raw type instead of a string, e.g:

  action.__raw = "function(path) vim.cmd('Telescope find_files cwd=' .. path) end";

Is equivialent to:

  action = "Telescope find_files cwd=";

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.dashboard.settings.config.shortcut.*.desc

The action’s description, shown next to the icon.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.dashboard.settings.config.shortcut.*.desc_hl

The highlight group to use for the description.

Type: null or string or raw lua code

Default: null

Plugin default: "DashboardDesc"

Declared by:

plugins.dashboard.settings.config.shortcut.*.group

Highlight group used with the “hyper” theme,

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.dashboard.settings.config.shortcut.*.icon

The icon to display with this action.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.dashboard.settings.config.shortcut.*.icon_hl

The highlight group for the icon.

Type: null or string or raw lua code

Default: null

Plugin default: "DashboardIcon"

Declared by:

plugins.dashboard.settings.config.shortcut.*.key

Shortcut key available in the dashboard buffer.

Note: this will not create an actual keymap.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.dashboard.settings.config.shortcut.*.key_hl

The highlight group to use for the key.

Type: null or string or raw lua code

Default: null

Plugin default: "DashboardKey"

Declared by:

plugins.dashboard.settings.config.week_header.enable

Whether to use a header based on the current day of the week, instead of the default “DASHBOARD” header.

A subheading showing the current time is also displayed.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.dashboard.settings.config.week_header.append

Additional header lines to append after the the time line.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.dashboard.settings.config.week_header.concat

Additional text to append at the end of the time line.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.dashboard.settings.hide.statusline

Whether to hide the status line.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.dashboard.settings.hide.tabline

Whether to hide the status line.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.dashboard.settings.preview.command

Command to print file contents.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.dashboard.settings.preview.file_height

The height of the preview file.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.dashboard.settings.preview.file_path

Path to preview file.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.dashboard.settings.preview.file_width

The width of the preview file.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

dbee

URL: https://github.com/kndndrj/nvim-dbee

Maintainers: Gaetan Lepage

plugins.dbee.enable

Whether to enable nvim-dbee.

Type: boolean

Default: false

Example: true

Declared by:

plugins.dbee.package

The nvim-dbee package to use.

Type: package

Default: pkgs.vimPlugins.nvim-dbee

Declared by:

plugins.dbee.autoLoad

Whether to automatically load nvim-dbee when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.dbee.settings

Options provided to the require('dbee').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  default_connection = "wtg";
  sources = [
    lib.nixvim.mkRaw "require('dbee.sources').FileSource:new(vim.fn.stdpath('cache') .. '/dbee/persistence.json')"
  ];
}

Declared by:

plugins.dbee.lazyLoad

Lazy-load settings for nvim-dbee.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.dbee.lazyLoad.enable

lazy-loading for nvim-dbee

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.dbee.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.dbee.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.dbee.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.dbee.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

debugprint

URL: https://github.com/andrewferrier/debugprint.nvim/

Maintainers: Gaetan Lepage

plugins.debugprint.enable

Whether to enable debugprint.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.debugprint.package

The debugprint.nvim package to use.

Type: package

Default: pkgs.vimPlugins.debugprint-nvim

Declared by:

plugins.debugprint.autoLoad

Whether to automatically load debugprint.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.debugprint.lazyLoad

Lazy-load settings for debugprint.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.debugprint.lazyLoad.enable

lazy-loading for debugprint.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.debugprint.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.debugprint.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.debugprint.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.debugprint.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.debugprint.settings

Options provided to the require('debugprint').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  commands = {
    delete_debug_prints = "DeleteDebugPrints";
    toggle_comment_debug_prints = "ToggleCommentDebugPrints";
  };
  display_counter = true;
  display_snippet = true;
  filetypes = {
    python = {
      left = "print(f'";
      mid_var = "{";
      right = "')";
      right_var = "}')";
    };
  };
  keymaps = {
    normal = {
      variable_above = "g?V";
      variable_above_alwaysprompt = {
        __raw = "nil";
      };
      variable_below = "g?v";
      variable_below_alwaysprompt = {
        __raw = "nil";
      };
    };
    visual = {
      variable_above = "g?V";
      variable_below = "g?v";
    };
  };
  move_to_debugline = false;
  print_tag = "DEBUGPRINT";
}

Declared by:

plugins.debugprint.settings.commands

By default, the plugin will create some commands for use ‘out of the box’. There are also some function invocations which are not mapped to any commands by default, but could be. This can be overridden using this option.

You only need to include the commands which you wish to override, others will default as shown in the documentation. Setting any command to nil (warning: use __raw) will skip it.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  delete_debug_prints = "DeleteDebugPrints";
  toggle_comment_debug_prints = "ToggleCommentDebugPrints";
}

Declared by:

plugins.debugprint.settings.display_counter

Whether to display/include the monotonically increasing counter in each debug message.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.debugprint.settings.display_snippet

Whether to include a snippet of the line above/below in plain debug lines.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.debugprint.settings.keymaps

By default, the plugin will create some keymappings for use ‘out of the box’. There are also some function invocations which are not mapped to any keymappings by default, but could be. This can be overridden using this option.

You only need to include the keys which you wish to override, others will default as shown in the documentation. Setting any key to nil (warning: use __raw) will skip it.

The default keymappings are chosen specifically because ordinarily in NeoVim they are used to convert sections to ROT-13, which most folks don’t use.

Type: null or (attribute set of ((attribute set of (string or raw lua code)) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  normal = {
    delete_debug_prints = {
      __raw = "nil";
    };
    plain_above = "g?P";
    plain_below = "g?p";
    textobj_above = "g?O";
    textobj_below = "g?o";
    toggle_comment_debug_prints = {
      __raw = "nil";
    };
    variable_above = "g?V";
    variable_above_alwaysprompt = {
      __raw = "nil";
    };
    variable_below = "g?v";
    variable_below_alwaysprompt = {
      __raw = "nil";
    };
  };
  visual = {
    variable_above = "g?V";
    variable_below = "g?v";
  };
}

Declared by:

plugins.debugprint.settings.move_to_debugline

When adding a debug line, moves the cursor to that line.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.debugprint.settings.print_tag

The string inserted into each print statement, which can be used to uniquely identify statements inserted by debugprint.

Type: null or string or raw lua code

Default: null

Plugin default: "DEBUGPRINT"

Declared by:

plugins.debugprint.settings.filetypes

Custom filetypes. Your new file format will be merged in with those that already exist. If you pass in one that already exists, your configuration will override the built-in configuration.

Example:

  filetypes = {
    python = {
      left = "print(f'";
      right = "')";
      mid_var = "{";
      right_var = "}')";
    };
  };

Type: null or (attribute set of (submodule))

Default: null

Plugin default: { }

Declared by:

plugins.debugprint.settings.filetypes.<name>.left

Left part of snippet to insert.

Type: string

Declared by:

plugins.debugprint.settings.filetypes.<name>.mid_var

Middle part of snippet to insert (variable debug line mode).

Type: string

Declared by:

plugins.debugprint.settings.filetypes.<name>.right

Right part of snippet to insert (plain debug line mode).

Type: string

Declared by:

plugins.debugprint.settings.filetypes.<name>.right_var

Right part of snippet to insert (variable debug line mode).

Type: string

Declared by:

devdocs

URL: https://github.com/maskudo/devdocs.nvim/

Maintainers: Gaetan Lepage

plugins.devdocs.enable

Whether to enable devdocs.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.devdocs.package

The devdocs.nvim package to use.

Type: package

Default: pkgs.vimPlugins.devdocs-nvim

Declared by:

plugins.devdocs.autoLoad

Whether to automatically load devdocs.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.devdocs.settings

Options provided to the require('devdocs').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  ensure_installed = [
    "go"
    "html"
    "http"
    "lua~5.1"
  ];
}

Declared by:

plugins.devdocs.lazyLoad

Lazy-load settings for devdocs.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.devdocs.lazyLoad.enable

lazy-loading for devdocs.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.devdocs.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.devdocs.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.devdocs.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.devdocs.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

diagram

URL: https://github.com/3rd/diagram.nvim/

Maintainers: Gaetan Lepage

plugins.diagram.enable

Whether to enable diagram.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.diagram.package

The diagram.nvim package to use.

Type: package

Default: pkgs.vimPlugins.diagram-nvim

Declared by:

plugins.diagram.autoLoad

Whether to automatically load diagram.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.diagram.settings

Options provided to the require('diagram').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  integrations = [
    {
      __raw = "require('diagram.integrations.markdown')";
    }
    {
      __raw = "require('diagram.integrations.neorg')";
    }
  ];
  renderer_options = {
    d2 = {
      theme_id = 1;
    };
    gnuplot = {
      size = "800,600";
      theme = "dark";
    };
    mermaid = {
      theme = "forest";
    };
    plantuml = {
      charset = "utf-8";
    };
  };
}

Declared by:

plugins.diagram.lazyLoad

Lazy-load settings for diagram.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.diagram.lazyLoad.enable

lazy-loading for diagram.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.diagram.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.diagram.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.diagram.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.diagram.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

dial

URL: https://github.com/monaqa/dial.nvim/

Maintainers: Gaetan Lepage

plugins.dial.enable

Whether to enable dial.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.dial.package

The dial.nvim package to use.

Type: package

Default: pkgs.vimPlugins.dial-nvim

Declared by:

plugins.dial.autoLoad

Whether to automatically load dial.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.dial.lazyLoad

Lazy-load settings for dial.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.dial.lazyLoad.enable

lazy-loading for dial.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.dial.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.dial.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.dial.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.dial.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.diffview.enable

Whether to enable diffview.

Type: boolean

Default: false

Example: true

Declared by:

plugins.diffview.package

The diffview package to use.

Type: package

Default: pkgs.vimPlugins.diffview-nvim

Declared by:

plugins.diffview.diffBinaries

Show diffs for binaries

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.diffview.disableDefaultKeymaps

Disable the default keymaps;

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.diffview.enhancedDiffHl

See ‘:h diffview-config-enhanced_diff_hl’

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.diffview.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.diffview.gitCmd

The git executable followed by default args.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "git"
]

Declared by:

plugins.diffview.hgCmd

The hg executable followed by default args.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "hg"
]

Declared by:

plugins.diffview.showHelpHints

Show hints for how to open the help panel

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.diffview.useIcons

Requires nvim-web-devicons

Type: boolean

Default: true

Declared by:

plugins.diffview.watchIndex

Update views and index buffers when the git index changes.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.diffview.commitLogPanel.winConfig.height

The height of the window (in character cells). If type is "split" then this is only applicable when position is "top"|"bottom".

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.diffview.commitLogPanel.winConfig.position

Determines where the panel is positioned (only when type="split").

Type: null or one of “left”, “top”, “right”, “bottom” or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.diffview.commitLogPanel.winConfig.relative

Determines what the position is relative to (when type="split").

Type: null or one of “editor”, “win” or raw lua code

Default: null

Plugin default: "editor"

Declared by:

plugins.diffview.commitLogPanel.winConfig.type

Determines whether the window should be a float or a normal split.

Type: null or one of “split”, “float” or raw lua code

Default: null

Plugin default: "float"

Declared by:

plugins.diffview.commitLogPanel.winConfig.width

The width of the window (in character cells). If type is "split" then this is only applicable when position is "left"|"right".

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.diffview.commitLogPanel.winConfig.win

The window handle of the target relative window (when type="split". Only when relative="win"). Use 0 for current window.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.diffview.commitLogPanel.winConfig.winOpts

Table of window local options (see |vim.opt_local|). These options are applied whenever the window is opened.

Type: null or (attribute set) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.diffview.defaultArgs.diffviewFileHistory

Default args prepended to the arg-list for the listed commands

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.diffview.defaultArgs.diffviewOpen

Default args prepended to the arg-list for the listed commands

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.multiFile.all

Include all refs.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.multiFile.author

Limit the commits output to ones with author/committer header lines that match the specified pattern (regular expression).

Type: null or string

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.multiFile.base

Specify a base git rev from which the right side of the diff will be created. Use the special value LOCAL to use the local version of the file.

Type: null or string

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.multiFile.cherryPick

Omit commits that introduce the same change as another commit on the “other side” when the set of commits are limited with symmetric difference.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.multiFile.diffMerges

Determines how merge commits are treated.

Type: null or one of “off”, “on”, “first-parent”, “separate”, “combined”, “dense-combined”, “remerge”

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.multiFile.firstParent

Follow only the first parent upon seeing a merge commit.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.multiFile.follow

Follow renames (only for single file).

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.multiFile.g

Look for differences whose patch text contains added/removed lines that match the specified pattern (extended regular expression).

Type: null or string

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.multiFile.grep

Limit the commits output to ones with log message that matches the specified pattern (regular expression).

Type: null or string

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.multiFile.l

{ ("<start>,<end>:<file>" | ":<funcname>:<file>")... }

Trace the evolution of the line range given by <start>,<end>, or by the function name regex <funcname>, within the <file>.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.multiFile.leftOnly

List only the commits on the left side of a symmetric difference.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.multiFile.maxCount

Limit the number of commits.

Type: null or signed integer

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.multiFile.merges

List only merge commits.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.multiFile.noMerges

List no merge commits.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.multiFile.pathArgs

Limit the target files to only the files matching the given path arguments (git pathspec is supported).

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.multiFile.reflog

Include all reachable objects mentioned by reflogs.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.multiFile.revRange

List only the commits in the specified revision range.

Type: null or string

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.multiFile.reverse

List commits in reverse order.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.multiFile.rightOnly

List only the commits on the right side of a symmetric difference.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.multiFile.s

Look for differences that change the number of occurrences of the specified pattern (extended regular expression) in a file.

Type: null or string

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.multiFile.showPulls

Show merge commits that are not TREESAME to its first parent, but are to a later parent.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.singleFile.all

Include all refs.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.singleFile.author

Limit the commits output to ones with author/committer header lines that match the specified pattern (regular expression).

Type: null or string

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.singleFile.base

Specify a base git rev from which the right side of the diff will be created. Use the special value LOCAL to use the local version of the file.

Type: null or string

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.singleFile.cherryPick

Omit commits that introduce the same change as another commit on the “other side” when the set of commits are limited with symmetric difference.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.singleFile.diffMerges

Determines how merge commits are treated.

Type: null or one of “off”, “on”, “first-parent”, “separate”, “combined”, “dense-combined”, “remerge”

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.singleFile.firstParent

Follow only the first parent upon seeing a merge commit.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.singleFile.follow

Follow renames (only for single file).

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.singleFile.g

Look for differences whose patch text contains added/removed lines that match the specified pattern (extended regular expression).

Type: null or string

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.singleFile.grep

Limit the commits output to ones with log message that matches the specified pattern (regular expression).

Type: null or string

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.singleFile.l

{ ("<start>,<end>:<file>" | ":<funcname>:<file>")... }

Trace the evolution of the line range given by <start>,<end>, or by the function name regex <funcname>, within the <file>.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.singleFile.leftOnly

List only the commits on the left side of a symmetric difference.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.singleFile.maxCount

Limit the number of commits.

Type: null or signed integer

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.singleFile.merges

List only merge commits.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.singleFile.noMerges

List no merge commits.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.singleFile.pathArgs

Limit the target files to only the files matching the given path arguments (git pathspec is supported).

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.singleFile.reflog

Include all reachable objects mentioned by reflogs.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.singleFile.revRange

List only the commits in the specified revision range.

Type: null or string

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.singleFile.reverse

List commits in reverse order.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.singleFile.rightOnly

List only the commits on the right side of a symmetric difference.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.singleFile.s

Look for differences that change the number of occurrences of the specified pattern (extended regular expression) in a file.

Type: null or string

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.git.singleFile.showPulls

Show merge commits that are not TREESAME to its first parent, but are to a later parent.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.multiFile.all

Include all refs.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.multiFile.author

Limit the commits output to ones with author/committer header lines that match the specified pattern (regular expression).

Type: null or string

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.multiFile.base

Specify a base git rev from which the right side of the diff will be created. Use the special value LOCAL to use the local version of the file.

Type: null or string

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.multiFile.cherryPick

Omit commits that introduce the same change as another commit on the “other side” when the set of commits are limited with symmetric difference.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.multiFile.diffMerges

Determines how merge commits are treated.

Type: null or one of “off”, “on”, “first-parent”, “separate”, “combined”, “dense-combined”, “remerge”

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.multiFile.firstParent

Follow only the first parent upon seeing a merge commit.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.multiFile.follow

Follow renames (only for single file).

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.multiFile.g

Look for differences whose patch text contains added/removed lines that match the specified pattern (extended regular expression).

Type: null or string

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.multiFile.grep

Limit the commits output to ones with log message that matches the specified pattern (regular expression).

Type: null or string

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.multiFile.l

{ ("<start>,<end>:<file>" | ":<funcname>:<file>")... }

Trace the evolution of the line range given by <start>,<end>, or by the function name regex <funcname>, within the <file>.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.multiFile.leftOnly

List only the commits on the left side of a symmetric difference.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.multiFile.maxCount

Limit the number of commits.

Type: null or signed integer

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.multiFile.merges

List only merge commits.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.multiFile.noMerges

List no merge commits.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.multiFile.pathArgs

Limit the target files to only the files matching the given path arguments (git pathspec is supported).

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.multiFile.reflog

Include all reachable objects mentioned by reflogs.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.multiFile.revRange

List only the commits in the specified revision range.

Type: null or string

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.multiFile.reverse

List commits in reverse order.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.multiFile.rightOnly

List only the commits on the right side of a symmetric difference.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.multiFile.s

Look for differences that change the number of occurrences of the specified pattern (extended regular expression) in a file.

Type: null or string

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.multiFile.showPulls

Show merge commits that are not TREESAME to its first parent, but are to a later parent.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.singleFile.all

Include all refs.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.singleFile.author

Limit the commits output to ones with author/committer header lines that match the specified pattern (regular expression).

Type: null or string

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.singleFile.base

Specify a base git rev from which the right side of the diff will be created. Use the special value LOCAL to use the local version of the file.

Type: null or string

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.singleFile.cherryPick

Omit commits that introduce the same change as another commit on the “other side” when the set of commits are limited with symmetric difference.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.singleFile.diffMerges

Determines how merge commits are treated.

Type: null or one of “off”, “on”, “first-parent”, “separate”, “combined”, “dense-combined”, “remerge”

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.singleFile.firstParent

Follow only the first parent upon seeing a merge commit.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.singleFile.follow

Follow renames (only for single file).

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.singleFile.g

Look for differences whose patch text contains added/removed lines that match the specified pattern (extended regular expression).

Type: null or string

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.singleFile.grep

Limit the commits output to ones with log message that matches the specified pattern (regular expression).

Type: null or string

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.singleFile.l

{ ("<start>,<end>:<file>" | ":<funcname>:<file>")... }

Trace the evolution of the line range given by <start>,<end>, or by the function name regex <funcname>, within the <file>.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.singleFile.leftOnly

List only the commits on the left side of a symmetric difference.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.singleFile.maxCount

Limit the number of commits.

Type: null or signed integer

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.singleFile.merges

List only merge commits.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.singleFile.noMerges

List no merge commits.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.singleFile.pathArgs

Limit the target files to only the files matching the given path arguments (git pathspec is supported).

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.singleFile.reflog

Include all reachable objects mentioned by reflogs.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.singleFile.revRange

List only the commits in the specified revision range.

Type: null or string

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.singleFile.reverse

List commits in reverse order.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.singleFile.rightOnly

List only the commits on the right side of a symmetric difference.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.singleFile.s

Look for differences that change the number of occurrences of the specified pattern (extended regular expression) in a file.

Type: null or string

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.logOptions.hg.singleFile.showPulls

Show merge commits that are not TREESAME to its first parent, but are to a later parent.

Type: null or boolean

Default: null

Declared by:

plugins.diffview.fileHistoryPanel.winConfig.height

The height of the window (in character cells). If type is "split" then this is only applicable when position is "top"|"bottom".

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 16

Declared by:

plugins.diffview.fileHistoryPanel.winConfig.position

Determines where the panel is positioned (only when type="split").

Type: null or one of “left”, “top”, “right”, “bottom” or raw lua code

Default: null

Plugin default: "bottom"

Declared by:

plugins.diffview.fileHistoryPanel.winConfig.relative

Determines what the position is relative to (when type="split").

Type: null or one of “editor”, “win” or raw lua code

Default: null

Plugin default: "editor"

Declared by:

plugins.diffview.fileHistoryPanel.winConfig.type

Determines whether the window should be a float or a normal split.

Type: null or one of “split”, “float” or raw lua code

Default: null

Plugin default: "split"

Declared by:

plugins.diffview.fileHistoryPanel.winConfig.width

The width of the window (in character cells). If type is "split" then this is only applicable when position is "left"|"right".

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.diffview.fileHistoryPanel.winConfig.win

The window handle of the target relative window (when type="split". Only when relative="win"). Use 0 for current window.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.diffview.fileHistoryPanel.winConfig.winOpts

Table of window local options (see |vim.opt_local|). These options are applied whenever the window is opened.

Type: null or (attribute set) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.diffview.filePanel.listingStyle

One of ‘list’ or ‘tree’

Type: null or one of “list”, “tree” or raw lua code

Default: null

Plugin default: "tree"

Declared by:

plugins.diffview.filePanel.treeOptions.flattenDirs

Flatten dirs that only contain one single dir Only applies when listing_style is ‘tree’

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.diffview.filePanel.treeOptions.folderStatuses

One of ‘never’, ‘only_folded’ or ‘always’. Only applies when listing_style is ‘tree’

Type: null or one of “never”, “only_folded”, “always” or raw lua code

Default: null

Plugin default: "only_folded"

Declared by:

plugins.diffview.filePanel.winConfig.height

The height of the window (in character cells). If type is "split" then this is only applicable when position is "top"|"bottom".

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.diffview.filePanel.winConfig.position

Determines where the panel is positioned (only when type="split").

Type: null or one of “left”, “top”, “right”, “bottom” or raw lua code

Default: null

Plugin default: "left"

Declared by:

plugins.diffview.filePanel.winConfig.relative

Determines what the position is relative to (when type="split").

Type: null or one of “editor”, “win” or raw lua code

Default: null

Plugin default: "editor"

Declared by:

plugins.diffview.filePanel.winConfig.type

Determines whether the window should be a float or a normal split.

Type: null or one of “split”, “float” or raw lua code

Default: null

Plugin default: "split"

Declared by:

plugins.diffview.filePanel.winConfig.width

The width of the window (in character cells). If type is "split" then this is only applicable when position is "left"|"right".

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 35

Declared by:

plugins.diffview.filePanel.winConfig.win

The window handle of the target relative window (when type="split". Only when relative="win"). Use 0 for current window.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.diffview.filePanel.winConfig.winOpts

Table of window local options (see |vim.opt_local|). These options are applied whenever the window is opened.

Type: null or (attribute set) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.diffview.hooks.diffBufRead

{diff_buf_read} (fun(bufnr: integer, ctx: table))

Emitted after a new diff buffer is ready (the first time it's
created and loaded into a window). Diff buffers are all
buffers with |diff-mode| enabled. That includes buffers of
local files (not created from git).

This is always called with the new buffer as the current
buffer and the correct diff window as the current window such
that |:setlocal| will apply settings to the relevant buffer /
window.

Callback Parameters:
    {bufnr} (`integer`)
        The buffer number of the new buffer.
    {ctx} (`table`)
        • {symbol} (string)
          A symbol that identifies the window's position in
          the layout. These symbols correspond with the
          figures under |diffview-config-view.x.layout|.
        • {layout_name} (string)
          The name of the current layout.

Type: null or string

Default: null

Declared by:

plugins.diffview.hooks.diffBufWinEnter

{diff_buf_win_enter} (fun(bufnr: integer, winid: integer, ctx: table))

Emitted after a diff buffer is displayed in a window.

This is always called with the new buffer as the current
buffer and the correct diff window as the current window such
that |:setlocal| will apply settings to the relevant buffer /
window.

Callback Parameters:
    {bufnr} (`integer`)
        The buffer number of the new buffer.
    {winid} (`integer`)
        The window id of window inside which the buffer was
        displayed.
    {ctx} (`table`)
        • {symbol} (string)
          A symbol that identifies the window's position in
          the layout. These symbols correspond with the
          figures under |diffview-config-view.x.layout|.
        • {layout_name} (string)
          The name of the current layout.

Type: null or string

Default: null

Declared by:

plugins.diffview.hooks.viewClosed

{view_closed} (fun(view: View))

Emitted after closing a view.

Callback Parameters:
    {view} (`View`)
        The `View` instance that was closed.

Type: null or string

Default: null

Declared by:

plugins.diffview.hooks.viewEnter

{view_enter} (fun(view: View))

Emitted just after entering the tabpage of a view.

Callback Parameters:
    {view} (`View`)
        The `View` instance that was entered.

Type: null or string

Default: null

Declared by:

plugins.diffview.hooks.viewLeave

{view_leave} (fun(view: View))

Emitted just before leaving the tabpage of a view.

Callback Parameters:
    {view} (`View`)
        The `View` instance that's about to be left.

Type: null or string

Default: null

Declared by:

plugins.diffview.hooks.viewOpened

{view_opened} (fun(view: View))

Emitted after a new view has been opened. It’s called after initializing the layout in the new tabpage (all windows are ready).

Callback Parameters: {view} (View) The View instance that was opened.

Type: null or string

Default: null

Declared by:

plugins.diffview.hooks.viewPostLayout

{view_post_layout} (fun(view: View))

Emitted after the window layout in a view has been adjusted.

Callback Parameters:
    {view} (`View`)
        The `View` whose layout was adjusted.

Type: null or string

Default: null

Declared by:

plugins.diffview.icons.folderClosed

Only applies when use_icons is true.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.diffview.icons.folderOpen

Only applies when use_icons is true.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.diffview.keymaps.disableDefaults

Disable the default keymaps.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.diffview.keymaps.diff1

List of keybindings. Mappings in single window diff layouts

Type: list of (submodule)

Default: [ ]

Example:

[
  {
    action = "actions.select_next_entry";
    description = "Open the diff for the next file";
    key = "<tab>";
    mode = "n";
  }
]

Declared by:

plugins.diffview.keymaps.diff1.*.action

action for keybinding

Type: string

Example: "action.select_next_entry"

Declared by:

plugins.diffview.keymaps.diff1.*.description

description for keybinding

Type: null or string

Default: null

Declared by:

plugins.diffview.keymaps.diff1.*.key

key to bind keybinding to

Type: string

Example: "<tab>"

Declared by:

plugins.diffview.keymaps.diff1.*.mode

mode to bind keybinding to

Type: string

Example: "n"

Declared by:

plugins.diffview.keymaps.diff2

List of keybindings. Mappings in 2-way diff layouts

Type: list of (submodule)

Default: [ ]

Example:

[
  {
    action = "actions.select_next_entry";
    description = "Open the diff for the next file";
    key = "<tab>";
    mode = "n";
  }
]

Declared by:

plugins.diffview.keymaps.diff2.*.action

action for keybinding

Type: string

Example: "action.select_next_entry"

Declared by:

plugins.diffview.keymaps.diff2.*.description

description for keybinding

Type: null or string

Default: null

Declared by:

plugins.diffview.keymaps.diff2.*.key

key to bind keybinding to

Type: string

Example: "<tab>"

Declared by:

plugins.diffview.keymaps.diff2.*.mode

mode to bind keybinding to

Type: string

Example: "n"

Declared by:

plugins.diffview.keymaps.diff3

List of keybindings. Mappings in 3-way diff layouts

Type: list of (submodule)

Default: [ ]

Example:

[
  {
    action = "actions.select_next_entry";
    description = "Open the diff for the next file";
    key = "<tab>";
    mode = "n";
  }
]

Declared by:

plugins.diffview.keymaps.diff3.*.action

action for keybinding

Type: string

Example: "action.select_next_entry"

Declared by:

plugins.diffview.keymaps.diff3.*.description

description for keybinding

Type: null or string

Default: null

Declared by:

plugins.diffview.keymaps.diff3.*.key

key to bind keybinding to

Type: string

Example: "<tab>"

Declared by:

plugins.diffview.keymaps.diff3.*.mode

mode to bind keybinding to

Type: string

Example: "n"

Declared by:

plugins.diffview.keymaps.diff4

List of keybindings. Mappings in 4-way diff layouts

Type: list of (submodule)

Default: [ ]

Example:

[
  {
    action = "actions.select_next_entry";
    description = "Open the diff for the next file";
    key = "<tab>";
    mode = "n";
  }
]

Declared by:

plugins.diffview.keymaps.diff4.*.action

action for keybinding

Type: string

Example: "action.select_next_entry"

Declared by:

plugins.diffview.keymaps.diff4.*.description

description for keybinding

Type: null or string

Default: null

Declared by:

plugins.diffview.keymaps.diff4.*.key

key to bind keybinding to

Type: string

Example: "<tab>"

Declared by:

plugins.diffview.keymaps.diff4.*.mode

mode to bind keybinding to

Type: string

Example: "n"

Declared by:

plugins.diffview.keymaps.fileHistoryPanel

List of keybindings. Mappings in file history panel.

Type: list of (submodule)

Default: [ ]

Example:

[
  {
    action = "actions.select_next_entry";
    description = "Open the diff for the next file";
    key = "<tab>";
    mode = "n";
  }
]

Declared by:

plugins.diffview.keymaps.fileHistoryPanel.*.action

action for keybinding

Type: string

Example: "action.select_next_entry"

Declared by:

plugins.diffview.keymaps.fileHistoryPanel.*.description

description for keybinding

Type: null or string

Default: null

Declared by:

plugins.diffview.keymaps.fileHistoryPanel.*.key

key to bind keybinding to

Type: string

Example: "<tab>"

Declared by:

plugins.diffview.keymaps.fileHistoryPanel.*.mode

mode to bind keybinding to

Type: string

Example: "n"

Declared by:

plugins.diffview.keymaps.filePanel

List of keybindings. Mappings in file panel.

Type: list of (submodule)

Default: [ ]

Example:

[
  {
    action = "actions.select_next_entry";
    description = "Open the diff for the next file";
    key = "<tab>";
    mode = "n";
  }
]

Declared by:

plugins.diffview.keymaps.filePanel.*.action

action for keybinding

Type: string

Example: "action.select_next_entry"

Declared by:

plugins.diffview.keymaps.filePanel.*.description

description for keybinding

Type: null or string

Default: null

Declared by:

plugins.diffview.keymaps.filePanel.*.key

key to bind keybinding to

Type: string

Example: "<tab>"

Declared by:

plugins.diffview.keymaps.filePanel.*.mode

mode to bind keybinding to

Type: string

Example: "n"

Declared by:

plugins.diffview.keymaps.helpPanel

List of keybindings. Mappings in help panel.

Type: list of (submodule)

Default: [ ]

Example:

[
  {
    action = "actions.select_next_entry";
    description = "Open the diff for the next file";
    key = "<tab>";
    mode = "n";
  }
]

Declared by:

plugins.diffview.keymaps.helpPanel.*.action

action for keybinding

Type: string

Example: "action.select_next_entry"

Declared by:

plugins.diffview.keymaps.helpPanel.*.description

description for keybinding

Type: null or string

Default: null

Declared by:

plugins.diffview.keymaps.helpPanel.*.key

key to bind keybinding to

Type: string

Example: "<tab>"

Declared by:

plugins.diffview.keymaps.helpPanel.*.mode

mode to bind keybinding to

Type: string

Example: "n"

Declared by:

plugins.diffview.keymaps.optionPanel

List of keybindings. Mappings in options panel.

Type: list of (submodule)

Default: [ ]

Example:

[
  {
    action = "actions.select_next_entry";
    description = "Open the diff for the next file";
    key = "<tab>";
    mode = "n";
  }
]

Declared by:

plugins.diffview.keymaps.optionPanel.*.action

action for keybinding

Type: string

Example: "action.select_next_entry"

Declared by:

plugins.diffview.keymaps.optionPanel.*.description

description for keybinding

Type: null or string

Default: null

Declared by:

plugins.diffview.keymaps.optionPanel.*.key

key to bind keybinding to

Type: string

Example: "<tab>"

Declared by:

plugins.diffview.keymaps.optionPanel.*.mode

mode to bind keybinding to

Type: string

Example: "n"

Declared by:

plugins.diffview.keymaps.view

List of keybindings. The view bindings are active in the diff buffers, only when the current tabpage is a Diffview.

Type: list of (submodule)

Default: [ ]

Example:

[
  {
    action = "actions.select_next_entry";
    description = "Open the diff for the next file";
    key = "<tab>";
    mode = "n";
  }
]

Declared by:

plugins.diffview.keymaps.view.*.action

action for keybinding

Type: string

Example: "action.select_next_entry"

Declared by:

plugins.diffview.keymaps.view.*.description

description for keybinding

Type: null or string

Default: null

Declared by:

plugins.diffview.keymaps.view.*.key

key to bind keybinding to

Type: string

Example: "<tab>"

Declared by:

plugins.diffview.keymaps.view.*.mode

mode to bind keybinding to

Type: string

Example: "n"

Declared by:

plugins.diffview.signs.done

Type: null or string or raw lua code

Default: null

Plugin default: "✓"

Declared by:

plugins.diffview.signs.foldClosed

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.diffview.signs.foldOpen

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.diffview.view.default.layout

Config for changed files, and staged files in diff views. Configure the layout and behavior of different types of views. For more info, see ‘:h diffview-config-view.x.layout’.

  • A: Old state
  • B: New state

diff2_horizontal:

| A | B |

diff2_vertical:

A

B

Type: null or one of “diff2_horizontal”, “diff2_vertical” or raw lua code

Default: null

Plugin default: "diff2_horizontal"

Declared by:

plugins.diffview.view.default.winbarInfo

See ‘:h diffview-config-view.x.winbar_info’

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.diffview.view.fileHistory.layout

Config for changed files in file history views. Configure the layout and behavior of different types of views. For more info, see ‘:h diffview-config-view.x.layout’.

  • A: Old state
  • B: New state

diff2_horizontal:

| A | B |

diff2_vertical:

A

B

Type: null or one of “diff2_horizontal”, “diff2_vertical” or raw lua code

Default: null

Plugin default: "diff2_horizontal"

Declared by:

plugins.diffview.view.fileHistory.winbarInfo

See ‘:h diffview-config-view.x.winbar_info’

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.diffview.view.mergeTool.disableDiagnostics

Temporarily disable diagnostics for conflict buffers while in the view.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.diffview.view.mergeTool.layout

Config for conflicted files in diff views during a merge or rebase. Configure the layout and behavior of different types of views. For more info, see ‘:h diffview-config-view.x.layout’.

  • A: OURS (current branch)
  • B: LOCAL (the file as it currently exists on disk)
  • C: THEIRS (incoming branch)
  • D: BASE (common ancestor)

diff1_plain:

B

diff3_horizontal:

A | B | C

diff3_vertical:

A

B

C

diff3_mixed:

A | C

B

diff4_mixed:

A | D | C

B

Type: null or one of “diff1_plain”, “diff3_horizontal”, “diff3_vertical”, “diff3_mixed”, “diff4_mixed” or raw lua code

Default: null

Plugin default: "diff3_horizontal"

Declared by:

plugins.diffview.view.mergeTool.winbarInfo

See ‘:h diffview-config-view.x.winbar_info’

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

direnv

URL: https://github.com/direnv/direnv.vim/

Maintainers: Alison Jenkins

plugins.direnv.enable

Whether to enable direnv.vim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.direnv.package

The direnv.vim package to use.

Type: package

Default: pkgs.vimPlugins.direnv-vim

Declared by:

plugins.direnv.autoLoad

Whether to automatically load direnv.vim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.direnv.settings

The configuration options for direnv without the direnv_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal direnv_foo_bar=1
  • hello = "world" -> :setglobal direnv_hello="world"
  • some_toggle = true -> :setglobal direnv_some_toggle
  • other_toggle = false -> :setglobal nodirenv_other_toggle

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.direnv.settings.direnv_auto

It will not execute :DirenvExport automatically if the value is 0.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.direnv.settings.direnv_edit_mode

Select the command to open buffers to edit. Default: ‘edit’.

Type: null or one of “edit”, “split”, “tabedit”, “vsplit” or raw lua code

Default: null

Plugin default: "edit"

Declared by:

plugins.direnv.settings.direnv_silent_load

Stop echoing output from Direnv command.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

distant

URL: https://github.com/chipsenkbeil/distant.nvim/

Maintainers: Gaetan Lepage

plugins.distant.enable

Whether to enable distant.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.distant.package

The distant.nvim package to use.

Type: package

Default: pkgs.vimPlugins.distant-nvim

Declared by:

plugins.distant.autoLoad

Whether to automatically load distant.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.distant.lazyLoad

Lazy-load settings for distant.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.distant.lazyLoad.enable

lazy-loading for distant.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.distant.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.distant.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.distant.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.distant.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.distant.settings

Options provided to the require('distant'):setup function.

Type: attribute set of anything

Default: { }

Example:

{
  "network.unix_socket" = "/tmp/distant.sock";
  servers = {
    "192.168.1.42" = {
      default = {
        port = 11451;
        username = "me";
      };
    };
  };
}

Declared by:

plugins.distant.settings.buffer.watch.enabled

If true, will watch buffers for changes.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.distant.settings.buffer.watch.retry_timeout

Time in milliseconds between attempts to retry a watch request for a buffer when the path represented by the buffer does not exist.

Set to 0 to disable.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 5000

Declared by:

plugins.distant.settings.client.bin

Binary to use locally with the client.

Defaults to "distant" on Unix platforms and "distant.exe" on Windows.

Type: null or string or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  (function()
    local os_name = require('distant-core').utils.detect_os_arch()
    return os_name == 'windows' and 'distant.exe' or 'distant'
  end)()
''

Example: “${lib.getExe distant}”

Declared by:

plugins.distant.settings.client.log_file

Log file path.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.distant.settings.client.log_level

Log level.

Type: null or one of “trace”, “debug”, “info”, “warn”, “error”, “off” or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.distant.settings.keymap.dir.enabled

If true, will apply keybindings when the buffer is created.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.distant.settings.keymap.dir.copy

Keymap to copy the file or directory under the cursor.

Type: null or string or list of string

Default: null

Plugin default: "C"

Declared by:

plugins.distant.settings.keymap.dir.edit

Keymap to edit the file or directory under the cursor.

Type: null or string or list of string

Default: null

Plugin default: "<Return>"

Declared by:

plugins.distant.settings.keymap.dir.metadata

Keymap to display metadata for the file or directory under the cursor.

Type: null or string or list of string

Default: null

Plugin default: "M"

Declared by:

plugins.distant.settings.keymap.dir.newdir

Keymap to create a new directory within the open directory.

Type: null or string or list of string

Default: null

Plugin default: "K"

Declared by:

plugins.distant.settings.keymap.dir.newfile

Keymap to create a new file within the open directory.

Type: null or string or list of string

Default: null

Plugin default: "N"

Declared by:

plugins.distant.settings.keymap.dir.remove

Keymap to remove the file or directory under the cursor.

Type: null or string or list of string

Default: null

Plugin default: "D"

Declared by:

plugins.distant.settings.keymap.dir.rename

Keymap to rename the file or directory under the cursor.

Type: null or string or list of string

Default: null

Plugin default: "R"

Declared by:

plugins.distant.settings.keymap.dir.tabedit

Keymap to open the file or directory under the cursor in a new tab.

Type: null or string or list of string

Default: null

Plugin default: "<C-t>"

Declared by:

plugins.distant.settings.keymap.dir.up

Keymap to navigate up into the parent directory.

Type: null or string or list of string

Default: null

Plugin default: "-"

Declared by:

plugins.distant.settings.keymap.file.enabled

If true, will apply keybindings when the buffer is created.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.distant.settings.keymap.file.up

Keymap to navigate up into the parent directory.

Type: null or string or list of string

Default: null

Plugin default: "-"

Declared by:

plugins.distant.settings.keymap.ui.exit

Keymap used to exit the window.

Type: null or string or list of string

Default: null

Plugin default:

[
  "q"
  "<Esc>"
]

Declared by:

plugins.distant.settings.keymap.ui.main.connections.kill

Kill the connection under cursor.

Type: null or string or list of string

Default: null

Plugin default: "K"

Declared by:

plugins.distant.settings.keymap.ui.main.connections.toggle_info

Toggle information about the server/connection under cursor.

Type: null or string or list of string

Default: null

Plugin default: "I"

Declared by:

plugins.distant.settings.keymap.ui.main.tabs.goto_connections

Keymap used to bring up the connections tab.

Type: null or string or list of string

Default: null

Plugin default: "1"

Declared by:

plugins.distant.settings.keymap.ui.main.tabs.goto_help

Keymap used to bring up the help menu.

Type: null or string or list of string

Default: null

Plugin default: "?"

Declared by:

plugins.distant.settings.keymap.ui.main.tabs.goto_system_info

Keymap used to bring up the system info tab.

Type: null or string or list of string

Default: null

Plugin default: "2"

Declared by:

plugins.distant.settings.keymap.ui.main.tabs.refresh

Keymap used to refresh data in a tab.

Type: null or string or list of string

Default: null

Plugin default: "R"

Declared by:

plugins.distant.settings.manager.daemon

If true, when neovim starts a manager, it will be run as a daemon, which will detach it from the neovim process. This means that the manager will persist after neovim itself exits.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.distant.settings.manager.lazy

If true, will avoid starting the manager until first needed.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.distant.settings.manager.log_file

Log file path.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.distant.settings.manager.log_level

Log level.

Type: null or one of “trace”, “debug”, “info”, “warn”, “error”, “off” or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.distant.settings.manager.user

If true, when neovim starts a manager, it will listen on a user-local domain socket or windows pipe rather than the globally-accessible variant.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.distant.settings.network.private

If true, will create a private network for all operations associated with a singular neovim instance.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.distant.settings.network.unix_socket

If provided, will overwrite the unix socket path used for network communication on Unix machines.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.distant.settings.network.windows_pipe

If provided, will overwrite the pipe name used for network communication on Windows machines.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.distant.settings.network.timeout.interval

Time to wait (in milliseconds) inbetween checks to see if a request timed out

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 256

Declared by:

plugins.distant.settings.network.timeout.max

Maximum time to wait (in milliseconds) for requests to finish.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 15000

Declared by:

plugins.distant.settings.servers

Collection of settings for servers defined by their hostname.

A key of "*" is special in that it is considered the default for all servers and will be applied first with any host-specific settings overwriting the default.

Type: null or (attribute set of (attribute set of anything))

Default: null

Plugin default:

{
  "*" = {
    connect = {
      default = { };
    };
    cwd = null;
    launch = {
      default = { };
    };
    lsp = { };
  };
}

Example:

{
  "192.168.1.42" = {
    default = {
      port = 11451;
      username = "me";
    };
  };
}

Declared by:

plugins.distant.settings.servers.<name>.cwd

If specified, will apply the current working directory to any cases of spawning processes, opening directories & files, starting shells, and wrapping commands.

Will be overwritten if an explicit cwd or absolute path is provided in those situations.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.distant.settings.servers.<name>.lsp

Settings to use to start LSP instances. Mapping of a label to the settings for that specific LSP server

Type: null or (attribute set of ((attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.distant.settings.servers.<name>.connect.default.options

Options to pass along to distant when connecting (e.g. ssh backend).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.distant.settings.servers.<name>.connect.default.port

Port to use when connecting.

Type: null or (unsigned integer, meaning >=0)

Default: null

Declared by:

plugins.distant.settings.servers.<name>.connect.default.scheme

Scheme to use in place of letting distant infer an appropriate scheme (e.g. "ssh").

Type: null or string or raw lua code

Default: null

Declared by:

plugins.distant.settings.servers.<name>.connect.default.username

Username when connecting to the server (defaults to user running neovim).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.distant.settings.servers.<name>.launch.default.args

Additional CLI arguments for binary upon launch.

Type: null or (list of string)

Default: null

Declared by:

plugins.distant.settings.servers.<name>.launch.default.bin

Path to distant binary on remote machine.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.distant.settings.servers.<name>.launch.default.options

Options to pass along to distant when launching (e.g. ssh backend).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.distant.settings.servers.<name>.launch.default.port

Port to use when launching (not same as what server listens on).

Type: null or (unsigned integer, meaning >=0)

Default: null

Declared by:

plugins.distant.settings.servers.<name>.launch.default.scheme

Scheme to use in place of letting distant infer an appropriate scheme (e.g. "ssh").

Type: null or string or raw lua code

Default: null

Declared by:

plugins.distant.settings.servers.<name>.launch.default.username

Username when accessing machine to launch server (defaults to user running neovim).

Type: null or string or raw lua code

Default: null

Declared by:

dotnet

URL: https://github.com/MoaidHathot/dotnet.nvim/

Maintainers: Austin Horstman

plugins.dotnet.enable

Whether to enable dotnet.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.dotnet.package

The dotnet.nvim package to use.

Type: package

Default: pkgs.vimPlugins.dotnet-nvim

Declared by:

plugins.dotnet.autoLoad

Whether to automatically load dotnet.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.dotnet.lazyLoad

Lazy-load settings for dotnet.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.dotnet.lazyLoad.enable

lazy-loading for dotnet.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.dotnet.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.dotnet.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.dotnet.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.dotnet.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.dotnet.settings

Options provided to the require('dotnet').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  bootstrap = {
    auto_bootstrap = false;
  };
  project_selection = {
    path_display = "truncate";
  };
}

Declared by:

plugins.dotnet.settings.bootstrap.auto_bootstrap

Automatically call “bootstrap” when creating a new file, adding a namespace and a class to the files.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.dotnet.settings.project_selection.path_display

Determines how file paths are displayed. All of Telescope’s path_display options are supported.

Type: null or string or raw lua code

Default: null

Plugin default: "filename_first"

Declared by:

dressing

URL: https://github.com/stevearc/dressing.nvim/

Maintainers: Andres Bermeo Marinelli

plugins.dressing.enable

Whether to enable dressing.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.dressing.package

The dressing.nvim package to use.

Type: package

Default: pkgs.vimPlugins.dressing-nvim

Declared by:

plugins.dressing.autoLoad

Whether to automatically load dressing.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.dressing.lazyLoad

Lazy-load settings for dressing.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.dressing.lazyLoad.enable

lazy-loading for dressing.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.dressing.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.dressing.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.dressing.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.dressing.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.dressing.settings

Options provided to the require('dressing').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  input = {
    enabled = true;
    mappings = {
      i = {
        "<C-c>" = "Close";
        "<CR>" = "Confirm";
        "<Down>" = "HistoryNext";
        "<Up>" = "HistoryPrev";
      };
      n = {
        "<CR>" = "Confirm";
        "<Esc>" = "Close";
      };
    };
  };
  select = {
    backend = [
      "telescope"
      "fzf_lua"
      "fzf"
      "builtin"
      "nui"
    ];
    builtin = {
      mappings = {
        "<C-c>" = "Close";
        "<CR>" = "Confirm";
        "<Esc>" = "Close";
      };
    };
    enabled = true;
  };
}

Declared by:

plugins.dressing.settings.input.enabled

Enable the vim.ui.input implementation.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.dressing.settings.input.border

Defines the border to use for the input window. Accepts same border values as nvim_open_win(). See :help nvim_open_win() for more info.

Type: null or string or list of string or list of list of string or raw lua code

Default: null

Plugin default: "rounded"

Declared by:

plugins.dressing.settings.input.buf_options

An attribute set of neovim buffer options.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.dressing.settings.input.default_prompt

Default prompt string for vim.ui.input.

Type: null or string or raw lua code

Default: null

Plugin default: "Input"

Declared by:

plugins.dressing.settings.input.get_config

This can be a function that accepts the opts parameter that is passed in to ‘vim.select’ or ‘vim.input’. It must return either nil or config values to use in place of the global config values for that module.

See :h dressing_get_config for more info.

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.dressing.settings.input.insert_only

When true, <Esc> will close the modal.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.dressing.settings.input.mappings

Mappings for defined modes.

To disable a default mapping in a specific mode, set it to false.

Type: null or (attribute set of ((attribute set of (string or value false (singular enum))) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  i = {
    "<C-c>" = "Close";
    "<CR>" = "Confirm";
    "<Down>" = "HistoryNext";
    "<Up>" = "HistoryPrev";
  };
  n = {
    "<CR>" = "Confirm";
    "<Esc>" = "Close";
  };
}

Declared by:

plugins.dressing.settings.input.max_width

Max width of window.

Can be a list of mixed types, e.g. [140 0.9] means “less than 140 columns or 90% of total.”

Type: null or unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive) or list of (unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive))

Default: null

Plugin default:

[
  140
  0.9
]

Declared by:

plugins.dressing.settings.input.min_width

Min width of window.

Can be a list of mixed types, e.g. [140 0.9] means “less than 140 columns or 90% of total.”

Type: null or unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive) or list of (unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive))

Default: null

Plugin default:

[
  20
  0.2
]

Declared by:

plugins.dressing.settings.input.override

Lua function that takes config that is passed to nvim_open_win. Used to customize the layout.

Type: null or lua function string

Default: null

Plugin default: "function(conf) return conf end"

Declared by:

plugins.dressing.settings.input.prefer_width

Can be an integer or a float between 0 and 1 (e.g. 0.4 for 40%).

Type: null or unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive)

Default: null

Plugin default: 40

Declared by:

plugins.dressing.settings.input.relative

Affects the dimensions of the window with respect to this setting. If ‘editor’ or ‘win’, will default to being centered.

Type: null or one of “cursor”, “win”, “editor” or raw lua code

Default: null

Plugin default: "cursor"

Declared by:

plugins.dressing.settings.input.start_in_insert

When true, input will start in insert mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.dressing.settings.input.title_pos

Position of title.

Type: null or one of “left”, “right”, “center” or raw lua code

Default: null

Plugin default: "left"

Declared by:

plugins.dressing.settings.input.trim_prompt

Trim trailing : from prompt.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.dressing.settings.input.width

Can be an integer or a float between 0 and 1 (e.g. 0.4 for 40%).

Type: null or unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive)

Default: null

Plugin default: null

Declared by:

plugins.dressing.settings.input.win_options

An attribute set of window options.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  list = true;
  listchars = "precedes:...,extends:...";
  sidescrolloff = 0;
  wrap = false;
}

Declared by:

plugins.dressing.settings.select.enabled

Enable the vim.ui.select implementation.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.dressing.settings.select.backend

Priority list of preferred vim.select implementations.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "telescope"
  "fzf_lua"
  "fzf"
  "builtin"
  "nui"
]

Declared by:

plugins.dressing.settings.select.format_item_override

Override the formatting/display for a specific “kind” when using vim.ui.select. For example, code actions from vim.lsp.buf.code_action use a kind=“codeaction”. You can override the format function when selecting for that kind, e.g.

{
  codeaction = \'\'
    function(action_tuple)
      local title = action_tuple[2].title:gsub("\r\n", "\\r\\n")
      local client = vim.lsp.get_client_by_id(action_tuple[1])
      return string.format("%s\t[%s]", title:gsub("\n", "\\n"), client.name)
    end
   \'\';
}

Type: null or (attribute set of (lua function string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.dressing.settings.select.fzf_lua

Options for fzf-lua selector.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.dressing.settings.select.get_config

This can be a function that accepts the opts parameter that is passed in to ‘vim.select’ or ‘vim.input’. It must return either nil or config values to use in place of the global config values for that module.

See :h dressing_get_config for more info.

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.dressing.settings.select.nui

Options for nui selector.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  border = {
    style = "rounded";
  };
  buf_options = {
    filetype = "DressingSelect";
    swapfile = false;
  };
  max_height = 40;
  max_width = 80;
  min_height = 10;
  min_width = 40;
  position = "50%";
  relative = "editor";
  size = null;
  win_options = {
    winblend = 0;
  };
}

Declared by:

plugins.dressing.settings.select.telescope

Options for telescope selector.

Can be a raw lua string like:

telescope = \'\'require("telescope.themes").get_ivy({})\'\'

or an attribute set of telescope settings.

Type: null or lua code string or attribute set of anything

Default: null

Plugin default: null

Declared by:

plugins.dressing.settings.select.trim_prompt

Trim trailing : from prompt.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.dressing.settings.select.builtin.border

Defines the border to use for the select window. Accepts same border values as nvim_open_win(). See :help nvim_open_win() for more info.

Type: null or string or list of string or list of list of string or raw lua code

Default: null

Plugin default: "rounded"

Declared by:

plugins.dressing.settings.select.builtin.buf_options

An attribute set of buffer options.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.dressing.settings.select.builtin.height

Can be an integer or a float between 0 and 1 (e.g. 0.4 for 40%).

Type: null or unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive)

Default: null

Plugin default: null

Declared by:

plugins.dressing.settings.select.builtin.mappings

Mappings in normal mode for the builtin selector.

To disable a default mapping in a specific mode, set it to false.

Type: null or (attribute set of (string or value false (singular enum) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "<C-c>" = "Close";
  "<CR>" = "Confirm";
  "<Esc>" = "Close";
}

Declared by:

plugins.dressing.settings.select.builtin.max_height

Max height of window.

Can be a list of mixed types, e.g. [140 0.8] means “less than 140 rows or 80% of total.”

Type: null or unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive) or list of (unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive))

Default: null

Plugin default: 0.9

Declared by:

plugins.dressing.settings.select.builtin.max_width

Max width of window.

Can be a list of mixed types, e.g. [140 0.8] means “less than 140 columns or 80% of total.”

Type: null or unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive) or list of (unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive))

Default: null

Plugin default:

[
  140
  0.8
]

Declared by:

plugins.dressing.settings.select.builtin.min_height

Min height of window.

Can be a list of mixed types, e.g. [10 0.2] means “less than 10 rows or 20% of total.”

Type: null or unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive) or list of (unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive))

Default: null

Plugin default:

[
  10
  0.2
]

Declared by:

plugins.dressing.settings.select.builtin.min_width

Min width of window.

Can be a list of mixed types, e.g. [40 0.2] means “less than 40 columns or 20% of total.”

Type: null or unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive) or list of (unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive))

Default: null

Plugin default:

[
  40
  0.2
]

Declared by:

plugins.dressing.settings.select.builtin.override

Lua function that takes config that is passed to nvim_open_win. Used to customize the layout.

Type: null or lua function string

Default: null

Plugin default: "function(conf) return conf end"

Declared by:

plugins.dressing.settings.select.builtin.relative

Affects the dimensions of the window with respect to this setting. If ‘editor’ or ‘win’, will default to being centered.

Type: null or one of “editor”, “win”, “cursor” or raw lua code

Default: null

Plugin default: "editor"

Declared by:

plugins.dressing.settings.select.builtin.show_numbers

Display numbers for options and set up keymaps.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.dressing.settings.select.builtin.width

Can be an integer or a float between 0 and 1 (e.g. 0.4 for 40%).

Type: null or unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive)

Default: null

Plugin default: null

Declared by:

plugins.dressing.settings.select.builtin.win_options

An attribute set of window options.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  cursorline = true;
  cursorlineopt = "both";
}

Declared by:

plugins.dressing.settings.select.fzf.window

Window options for fzf selector.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  height = 0.4;
  width = 0.5;
}

Declared by:

dropbar

URL: https://github.com/Bekaboo/dropbar.nvim/

Maintainers: Gaetan Lepage


A polished, IDE-like, highly-customizable winbar for Neovim with drop-down menu support and multiple backends.

plugins.dropbar.enable

Whether to enable dropbar.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.dropbar.package

The dropbar.nvim package to use.

Type: package

Default: pkgs.vimPlugins.dropbar-nvim

Declared by:

plugins.dropbar.autoLoad

Whether to automatically load dropbar.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.dropbar.lazyLoad

Lazy-load settings for dropbar.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.dropbar.lazyLoad.enable

lazy-loading for dropbar.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.dropbar.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.dropbar.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.dropbar.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.dropbar.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.dropbar.settings

Options provided to the require('dropbar').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  bar = {
    enable = true;
    sources = {
      __raw = ''
        function(buf, _)
          local sources = require('dropbar.sources')
          return {
            require('dropbar.utils').source.fallback({
              sources.lsp,
              sources.treesitter,
              sources.markdown,
            })
          }
        end
      '';
    };
  };
  menu = {
    keymaps = {
      h = "<C-w>q";
      l = {
        __raw = ''
          function()
            local dropbar = require('dropbar')
            local utils = require('dropbar.utils')
            local menu = utils.menu.get_current()
            if not menu then
              return
            end
            local cursor = vim.api.nvim_win_get_cursor(menu.win)
            local component = menu.entries[cursor[1]]:first_clickable(cursor[2])
            if component then
              menu:click_on(component, nil, 1, 'l')
            end
          end
        '';
      };
    };
  };
}

Declared by:

plugins.dropbar.settings.bar.enable

Controls whether to enable the plugin for the current buffer and window.

If a function is provided, it will be called with the current bufnr and winid and should return a boolean.

Type: null or boolean or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(buf, win, _)
    if
      not vim.api.nvim_buf_is_valid(buf)
      or not vim.api.nvim_win_is_valid(win)
      or vim.fn.win_gettype(win) ~= ""
      or vim.wo[win].winbar ~= ""
      or vim.bo[buf].ft == 'help'
    then
      return false
    end
  
    local stat = vim.uv.fs_stat(vim.api.nvim_buf_get_name(buf))
    if stat and stat.size > 1024 * 1024 then
      return false
    end
  
    return vim.bo[buf].ft == 'markdown'
      or pcall(vim.treesitter.get_parser, buf)
      or not vim.tbl_isempty(vim.lsp.get_clients({
        bufnr = buf,
        method = 'textDocument/documentSymbol',
      }))
    end
''

Declared by:

plugins.dropbar.settings.bar.attach_events

Controls when to evaluate the enable() function and attach the plugin to corresponding buffer or window.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "OptionSet"
  "BufWinEnter"
  "BufWritePost"
]

Declared by:

plugins.dropbar.settings.bar.hover

Whether to highlight the symbol under the cursor.

This feature requires ‘mousemoveevent’ to be enabled.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.dropbar.settings.bar.sources

List of sources to show in the winbar.

If a function is provided, it will be called with the current bufnr and winid and should return a list of sources.

For more information about sources, see |dropbar-developers-classes-dropbar_source_t|.

Type: null or (list of ((attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(buf, _)
    local sources = require('dropbar.sources')
    local utils = require('dropbar.utils')
    if vim.bo[buf].ft == 'markdown' then
      return {
        sources.path,
        sources.markdown,
      }
    end
    if vim.bo[buf].buftype == 'terminal' then
      return {
        sources.terminal,
      }
    end
    return {
      sources.path,
      utils.source.fallback({
        sources.lsp,
        sources.treesitter,
      }),
    }
  end
''

Declared by:

plugins.dropbar.settings.bar.truncate

Whether to truncate the winbar if it doesn’t fit in the window.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.dropbar.settings.bar.update_debounce

Wait for a short time before updating the winbar, if another update request is received within this time, the previous request will be cancelled. This improves the performance when the user is holding down a key (e.g. 'j') to scroll the window.

If you encounter performance issues when scrolling the window, try setting this option to a number slightly larger than 1000 / key_repeat_rate.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.dropbar.settings.bar.padding

Padding to use between the winbar and the window border.

Type: null or (submodule)

Default: null

Plugin default:

{
  left = 1;
  right = 1;
}

Declared by:

plugins.dropbar.settings.bar.padding.left

Padding for the left side.

Type: unsigned integer, meaning >=0

Declared by:

plugins.dropbar.settings.bar.padding.right

Padding for the right side.

Type: unsigned integer, meaning >=0

Declared by:

plugins.dropbar.settings.bar.pick.pivots

Pivots to use in pick mode.

Type: null or string or raw lua code

Default: null

Plugin default: "abcdefghijklmnopqrstuvwxyz"

Declared by:

plugins.dropbar.settings.bar.update_events.buf

List of events that should trigger an update on all dropbars attached to a buffer.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "BufModifiedSet"
  "FileChangedShellPost"
  "TextChanged"
  "ModeChanged"
]

Declared by:

plugins.dropbar.settings.bar.update_events.global

List of events that should trigger an update on all dropbars in the current nvim session.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "DirChanged"
  "VimResized"
]

Declared by:

plugins.dropbar.settings.bar.update_events.win

List of events that should trigger an update on the dropbar attached to a single window.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "CursorMoved"
  "WinEnter"
  "WinResized"
]

Declared by:

plugins.dropbar.settings.fzf.char_pattern

Character pattern.

Type: null or string or raw lua code

Default: null

Plugin default: "[%w%p]"

Declared by:

plugins.dropbar.settings.fzf.fuzzy_find_on_click

When opening an entry with a submenu via the fuzzy finder, open the submenu in fuzzy finder mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.dropbar.settings.fzf.keymaps

The keymaps that will apply in insert mode, in the fzf prompt buffer.

See :h dropbar-configuration-options-fzf for the default value.

Type: null or (attribute set of (string or raw lua code))

Default: null

Declared by:

plugins.dropbar.settings.fzf.prompt

Prompt string that will be displayed in the statuscolumn of the fzf input window.

Can include highlight groups

Type: null or string or raw lua code

Default: null

Plugin default: "%#htmlTag# "

Declared by:

plugins.dropbar.settings.fzf.retain_inner_spaces

Whether to retain inner spaces.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.dropbar.settings.fzf.win_configs

Options passed to :h nvim_open_win.

The fuzzy finder will use its parent window’s config by default, but options set here will override those. Same config as menu.win_configs

See :h dropbar-configuration-options-fzf for the default value.

Type: null or (attribute set of anything)

Default: null

Declared by:

plugins.dropbar.settings.icons.enable

Whether to enable icons.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.dropbar.settings.icons.kinds.dir_icon

Directory icon and highlighting getter, set to empty string to disable.

Type: null or string or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(_)
    return M.opts.icons.kinds.symbols.Folder, 'DropBarIconKindFolder'
  end
''

Declared by:

plugins.dropbar.settings.icons.kinds.file_icon

File icon and highlighting getter, set to empty string to disable.

Type: null or string or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(path)
    return M.opts.icons.kinds.symbols.File, 'DropBarIconKindFile'
  end
''

Declared by:

plugins.dropbar.settings.icons.kinds.symbols

Table mapping the different kinds of symbols to their corresponding icons.

See :h dropbar-configuration-options-icons for the default value.

Type: null or (attribute set of string)

Default: null

Declared by:

plugins.dropbar.settings.icons.ui.bar

Controls the icons used in the winbar UI.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  extends = "…";
  separator = " ";
}

Declared by:

plugins.dropbar.settings.icons.ui.menu

Controls the icons used in the menu UI.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  indicator = " ";
  separator = " ";
}

Declared by:

plugins.dropbar.settings.menu.keymaps

Buffer-local keymaps in the menu.

Use <key> = <function|string> to map a key in normal mode in the menu buffer, or use <key> = table<mode, function|string> to map a key in specific modes.

See :h dropbar-configuration-options-menu for the default value.

Type: null or (attribute set of (string or attribute set of (string or raw lua code)))

Default: null

Declared by:

plugins.dropbar.settings.menu.preview

Whether to enable previewing for menu entries.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.dropbar.settings.menu.quick_navigation

When on, automatically set the cursor to the closest previous/next clickable component in the direction of cursor movement on |CursorMoved|.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.dropbar.settings.menu.scrollbar

Scrollbar configuration for the menu.

Type: null or (attribute set of (boolean or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  background = true;
  enable = true;
}

Declared by:

plugins.dropbar.settings.menu.win_configs

Window configurations for the menu, see :h nvim_open_win().

Each config key in menu.win_configs accepts either a plain value which will be passed directly to nvim_open_win(), or a function that takes the current menu (see |dropbar-developers-classes-dropbar_menu_t|) as an argument and returns a value to be passed to nvim_open_win().

See :h dropbar-configuration-options-menu for the default value.

Type: null or (attribute set of anything)

Default: null

Declared by:

plugins.dropbar.settings.menu.entry.padding

Padding to use between the menu entry and the menu border.

Type: null or (submodule)

Default: null

Plugin default:

{
  left = 1;
  right = 1;
}

Declared by:

plugins.dropbar.settings.menu.entry.padding.left

Padding for the left side.

Type: unsigned integer, meaning >=0

Declared by:

plugins.dropbar.settings.menu.entry.padding.right

Padding for the right side.

Type: unsigned integer, meaning >=0

Declared by:

plugins.dropbar.settings.sources.lsp.max_depth

Maximum number of symbols to return.

A smaller number can help to improve performance when the language server returns huge list of nested symbols.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 16

Declared by:

plugins.dropbar.settings.sources.lsp.valid_symbols

A list of LSP document symbols to include in the results.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "File"
  "Module"
  "Namespace"
  "Package"
  "Class"
  "Method"
  "Property"
  "Field"
  "Constructor"
  "Enum"
  "Interface"
  "Function"
  "Variable"
  "Constant"
  "String"
  "Number"
  "Boolean"
  "Array"
  "Object"
  "Keyword"
  "Null"
  "EnumMember"
  "Struct"
  "Event"
  "Operator"
  "TypeParameter"
]

Declared by:

plugins.dropbar.settings.sources.lsp.request.interval

Number of milliseconds to wait between retries.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1000

Declared by:

plugins.dropbar.settings.sources.lsp.request.ttl_init

Number of times to retry a request before giving up.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 60

Declared by:

plugins.dropbar.settings.sources.markdown.max_depth

Maximum number of symbols to return.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 6

Declared by:

plugins.dropbar.settings.sources.markdown.parse.look_ahead

Number of lines to update when cursor moves out of the parsed range.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 200

Declared by:

plugins.dropbar.settings.sources.path.max_depth

Maximum number of symbols to return.

A smaller number can help to improve performance in deeply nested paths.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 16

Declared by:

plugins.dropbar.settings.sources.path.modified

A function that takes the last symbol in the result got from the path source and returns an alternative symbol to show if the current buffer is modified.

For information about dropbar symbols, see |dropbar-developers-classes-dropbar_symbol_t|.

To set a different icon, name, or highlights when the buffer is modified, you can change the corresponding fields in the returned symbol:

function(sym)
  return sym:merge({
    name = sym.name .. ' [+]',
    icon = ' ',
    name_hl = 'DiffAdded',
    icon_hl = 'DiffAdded',
    -- ...
  })
end

Type: null or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "function(sym) return sym end"

Declared by:

plugins.dropbar.settings.sources.path.path_filter

A function that takes a file name and returns whether to include it in the results shown in the drop-down menu.

Type: null or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "function(_) return true end"

Declared by:

plugins.dropbar.settings.sources.path.preview

A boolean or a function that takes a file path and returns whether to preview the file under cursor.

Type: null or boolean or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(path)
    local stat = vim.uv.fs_stat(path)
    if not stat or stat.type ~= 'file' then
      return false
    end
    if stat.size > 524288 then
      vim.notify(
        string.format(
          '[dropbar.nvim] file "%s" too large to preview',
          path
        ),
        vim.log.levels.WARN
      )
      return false
    end
    return true
  end
''

Declared by:

plugins.dropbar.settings.sources.path.relative_to

The path to use as the root of the relative path.

If a function is provided, it will be called with the current buffer number and window id as arguments and should return a string to be used as the root of the relative path.

Notice: currently does not support .. relative paths.

Type: null or string or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(_, win)
    -- Workaround for Vim:E5002: Cannot find window number
    local ok, cwd = pcall(vim.fn.getcwd, win)
    return ok and cwd or vim.fn.getcwd()
  end
''

Declared by:

plugins.dropbar.settings.sources.terminal.icon

Icon to show before terminal names.

Type: null or string or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(_)
    return M.opts.icons.kinds.symbols.Terminal or ' '
  end
''

Declared by:

plugins.dropbar.settings.sources.terminal.name

Name for the current terminal buffer.

Type: null or string or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "vim.api.nvim_buf_get_name"

Declared by:

plugins.dropbar.settings.sources.terminal.show_current

Show the current terminal buffer in the menu.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.dropbar.settings.sources.treesitter.max_depth

Maximum number of symbols to return.

A smaller number can help to improve performance in deeply nested trees (e.g. in big nested json files).

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 16

Declared by:

plugins.dropbar.settings.sources.treesitter.name_regex

Vim regex used to extract a short name from the node text.

Type: null or string or raw lua code

Default: null

Plugin default: "[=[[#~!@*&.]*[[:keyword:]]+!?(((->)+|-+|.+|:+|s+)?[#~!@*&.]*[[:keyword:]]+!?)*]=]"

Declared by:

plugins.dropbar.settings.sources.treesitter.valid_types

A list of treesitter node types to include in the results.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "array"
  "boolean"
  "break_statement"
  "call"
  "case_statement"
  "class"
  "constant"
  "constructor"
  "continue_statement"
  "delete"
  "do_statement"
  "element"
  "enum"
  "enum_member"
  "event"
  "for_statement"
  "function"
  "h1_marker"
  "h2_marker"
  "h3_marker"
  "h4_marker"
  "h5_marker"
  "h6_marker"
  "if_statement"
  "interface"
  "keyword"
  "macro"
  "method"
  "module"
  "namespace"
  "null"
  "number"
  "operator"
  "package"
  "pair"
  "property"
  "reference"
  "repeat"
  "rule_set"
  "scope"
  "specifier"
  "struct"
  "switch_statement"
  "type"
  "type_parameter"
  "unit"
  "value"
  "variable"
  "while_statement"
  "declaration"
  "field"
  "identifier"
  "object"
  "statement"
]

Declared by:

plugins.dropbar.settings.symbol.on_click

function called when clicking or pressing <CR> on the symbol.

See :h dropbar-configuration-options-symbol for the default value.

Type: null or value false (singular enum) or raw lua code

Default: null

Declared by:

plugins.dropbar.settings.symbol.jump.reorient

Function to reorient the source window when jumping to symbol given the source window win and the range of the symbol range.

Type: null or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(win, range)
    local view = vim.fn.winsaveview()
    local win_height = vim.api.nvim_win_get_height(win)
    local topline = range.start.line - math.floor(win_height / 4)
    if
      topline > view.topline
      and topline + win_height < vim.fn.line('$')
    then
      view.topline = topline
      vim.fn.winrestview(view)
    end
  end
''

Declared by:

plugins.dropbar.settings.symbol.preview.reorient

Function to reorient the source window when previewing symbol given the source window win and the range of the symbol range.

Type: null or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(_, range)
    local invisible = range['end'].line - vim.fn.line('w$') + 1
    if invisible > 0 then
      local view = vim.fn.winsaveview() --[[@as vim.fn.winrestview.dict]]
      view.topline = math.min(
        view.topline + invisible,
        math.max(1, range.start.line - vim.wo.scrolloff + 1)
      )
      vim.fn.winrestview(view)
    end
  end
''

Declared by:

earthly

URL: https://github.com/earthly/earthly.vim

Maintainers: DataHearth


Earthfile syntax highlighting for vim

plugins.earthly.enable

Whether to enable earthly.vim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.earthly.package

The earthly.vim package to use.

Type: package

Default: pkgs.vimPlugins.earthly-vim

Declared by:

plugins.earthly.autoLoad

Whether to automatically load earthly.vim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

easy-dotnet

URL: https://github.com/GustavEikaas/easy-dotnet.nvim/

Maintainers: Gaetan Lepage

plugins.easy-dotnet.enable

Whether to enable easy-dotnet.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.easy-dotnet.package

The easy-dotnet.nvim package to use.

Type: package

Default: pkgs.vimPlugins.easy-dotnet-nvim

Declared by:

plugins.easy-dotnet.autoLoad

Whether to automatically load easy-dotnet.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.easy-dotnet.settings

Options provided to the require('easy-dotnet').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  test_runner = {
    enable_buffer_test_execution = true;
    viewmode = "float";
  };
  auto_bootstrap_namespace = true;
  terminal.__raw = ''
    function(path, action, args)
      local commands = {
        run = function()
          return string.format("dotnet run --project %s %s", path, args)
        end,
        test = function()
          return string.format("dotnet test %s %s", path, args)
        end,
        restore = function()
          return string.format("dotnet restore %s %s", path, args)
        end,
        build = function()
          return string.format("dotnet build %s %s", path, args)
        end,
      }

      local command = commands[action]() .. "\r"
      require("toggleterm").exec(command, nil, nil, nil, "float")
    end
  '';
  picker = "fzf";
}

Declared by:

plugins.easy-dotnet.lazyLoad

Lazy-load settings for easy-dotnet.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.easy-dotnet.lazyLoad.enable

lazy-loading for easy-dotnet.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.easy-dotnet.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.easy-dotnet.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.easy-dotnet.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.easy-dotnet.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

easyescape

URL: https://github.com/zhou13/vim-easyescape/

Maintainers: Gaetan Lepage

plugins.easyescape.enable

Whether to enable vim-easyescape.

Type: boolean

Default: false

Example: true

Declared by:

plugins.easyescape.package

The vim-easyescape package to use.

Type: package

Default: pkgs.vimPlugins.vim-easyescape

Declared by:

plugins.easyescape.autoLoad

Whether to automatically load vim-easyescape when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.easyescape.settings

The configuration options for easyescape without the easyescape_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal easyescape_foo_bar=1
  • hello = "world" -> :setglobal easyescape_hello="world"
  • some_toggle = true -> :setglobal easyescape_some_toggle
  • other_toggle = false -> :setglobal noeasyescape_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  chars = {
    j = 2;
  };
  timeout = 2000;
}

Declared by:

plugins.easyescape.settings.chars

Which keys can be used to escape insert mode and how many times they need to be pressed.

Type: null or (attribute set of (unsigned integer, meaning >=0, or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  j = 1;
  k = 1;
}

Example:

{
  j = 2;
}

Declared by:

plugins.easyescape.settings.timeout

The unit of timeout is in ms.

A very small timeout makes an input of real jk or kj possible (Python3 is required for this feature)!

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 100

Declared by:

edgy

URL: https://github.com/folke/edgy.nvim/

Maintainers: Gaetan Lepage

plugins.edgy.enable

Whether to enable edgy.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.edgy.package

The edgy.nvim package to use.

Type: package

Default: pkgs.vimPlugins.edgy-nvim

Declared by:

plugins.edgy.autoLoad

Whether to automatically load edgy.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.edgy.lazyLoad

Lazy-load settings for edgy.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.edgy.lazyLoad.enable

lazy-loading for edgy.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.edgy.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.edgy.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.edgy.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.edgy.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.edgy.settings

Options provided to the require('edgy').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  animate = {
    enabled = false;
  };
  bottom = [
    {
      filter = ''
        function(buf, win)
          return vim.api.nvim_win_get_config(win).relative == ""
        end
      '';
      ft = "toggleterm";
      size = 30;
    }
    {
      filter = ''
        function(buf)
          return vim.bo[buf].buftype == "help"
        end
      '';
      ft = "help";
      size = 20;
    }
  ];
  left = [
    {
      ft = "NvimTree";
      size = 30;
      title = "nvimtree";
    }
    {
      ft = "Outline";
      open = "SymbolsOutline";
    }
    {
      ft = "dapui_scopes";
    }
    {
      ft = "dapui_breakpoints";
    }
    {
      ft = "dap-repl";
    }
  ];
  wo = {
    signcolumn = "no";
    spell = false;
    winbar = false;
    winfixheight = false;
    winfixwidth = false;
    winhighlight = "";
  };
}

Declared by:

plugins.edgy.settings.bottom

List of the bottom edgebar configurations.

Type: null or (list of (string or (submodule) or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.edgy.settings.close_when_all_hidden

Close edgy when all windows are hidden instead of opening one of them. Disable to always keep at least one edgy split visible in each open section.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.edgy.settings.exit_when_last

Enable this to exit Neovim when only edgy windows are left.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.edgy.settings.keys

Buffer-local keymaps to be added to edgebar buffers. Existing buffer-local keymaps will never be overridden.

Each value is either:

  • A function declaration (as a raw lua string) -> fun(win:Edgy.Window)
  • false to disable this mapping.

Type: null or (attribute set of (lua function string or value false (singular enum) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "<c-q>" = ''
    function(win)
      win:hide()
    end
  '';
  "<c-w>+" = ''
    function(win)
      win:resize("height", 2)
    end
  '';
  "<c-w>-" = ''
    function(win)
      win:resize("height", -2)
    end
  '';
  "<c-w><lt>" = ''
    function(win)
      win:resize("width", -2)
    end
  '';
  "<c-w>=" = ''
    function(win)
      win.view.edgebar:equalize()
    end
  '';
  "<c-w>>" = ''
    function(win)
      win:resize("width", 2)
    end
  '';
  Q = ''
    function(win)
      win.view.edgebar:close()
    end
  '';
  "[W" = ''
    function(win)
      win:prev({ pinned = false, focus = true })
    end
  '';
  "[w" = ''
    function(win)
      win:prev({ visible = true, focus = true })
    end
  '';
  "]W" = ''
    function(win)
      win:next({ pinned = false, focus = true })
    end
  '';
  "]w" = ''
    function(win)
      win:next({ visible = true, focus = true })
    end
  '';
  q = ''
    function(win)
      win:close()
    end
  '';
}

Declared by:

plugins.edgy.settings.left

List of the left edgebar configurations.

Type: null or (list of (string or (submodule) or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.edgy.settings.right

List of the right edgebar configurations.

Type: null or (list of (string or (submodule) or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.edgy.settings.top

List of the top edgebar configurations.

Type: null or (list of (string or (submodule) or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.edgy.settings.wo

Global window options for edgebar windows.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  signcolumn = "no";
  spell = false;
  winbar = true;
  winfixheight = false;
  winfixwidth = true;
  winhighlight = "WinBar:EdgyWinBar,Normal:EdgyNormal";
}

Declared by:

plugins.edgy.settings.animate.enabled

Whether to enable animations.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.edgy.settings.animate.cps

Cells per second.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 120

Declared by:

plugins.edgy.settings.animate.fps

Frames per second.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 100

Declared by:

plugins.edgy.settings.animate.on_begin

Callback for the beginning of animations.

Type: null or lua function string

Default: null

Plugin default:

''
  function()
    vim.g.minianimate_disable = true
  end
''

Declared by:

plugins.edgy.settings.animate.on_end

Callback for the ending of animations.

Type: null or lua function string

Default: null

Plugin default:

''
  function()
    vim.g.minianimate_disable = false
  end
''

Declared by:

plugins.edgy.settings.animate.spinner

Spinner for pinned views that are loading.

Type: null or lua code string or (attribute set of anything)

Default: null

Plugin default:

{
  frames = [
    "⠋"
    "⠙"
    "⠹"
    "⠸"
    "⠼"
    "⠴"
    "⠦"
    "⠧"
    "⠇"
    "⠏"
  ];
  interval = 80;
}

Example: "require('noice.util.spinners').spinners.circleFull"

Declared by:

plugins.edgy.settings.icons.closed

Icon for closed edgebars.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.edgy.settings.icons.open

Icon for opened edgebars.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.edgy.settings.options.bottom.size

Size of the short edge of the edgebar. For edgebars, this is the minimum width. For panels, minimum height.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.edgy.settings.options.bottom.wo

View-specific window options.

Type: null or (attribute set of anything)

Default: null

Declared by:

plugins.edgy.settings.options.left.size

Size of the short edge of the edgebar. For edgebars, this is the minimum width. For panels, minimum height.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 30

Declared by:

plugins.edgy.settings.options.left.wo

View-specific window options.

Type: null or (attribute set of anything)

Default: null

Declared by:

plugins.edgy.settings.options.right.size

Size of the short edge of the edgebar. For edgebars, this is the minimum width. For panels, minimum height.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 30

Declared by:

plugins.edgy.settings.options.right.wo

View-specific window options.

Type: null or (attribute set of anything)

Default: null

Declared by:

plugins.edgy.settings.options.top.size

Size of the short edge of the edgebar. For edgebars, this is the minimum width. For panels, minimum height.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.edgy.settings.options.top.wo

View-specific window options.

Type: null or (attribute set of anything)

Default: null

Declared by:

plugins.efmls-configs.enable

Whether to enable efmls-configs, premade configurations for efm-langserver.

Type: boolean

Default: false

Example: true

Declared by:

plugins.efmls-configs.package

The efmls-configs-nvim package to use.

Type: package

Default: pkgs.vimPlugins.efmls-configs-nvim

Declared by:

plugins.efmls-configs.efmLangServerPackage

The efm-langserver package to use.

Type: null or package

Default: pkgs.efm-langserver

Declared by:

plugins.efmls-configs.externallyManagedPackages

Linters/Formatters to skip installing with nixvim. Set to all to install no packages

Type: value “all” (singular enum) or list of string

Default: [ ]

Declared by:

plugins.efmls-configs.setup

Configuration for each filetype. Use all to match any filetype.

Type: attribute set of anything

Default: { }

Declared by:

plugins.efmls-configs.setup.HTML.formatter

formatter tools for HTML

Type: impossible (empty enum) or raw lua code or list of (impossible (empty enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.HTML.linter

linter tools for HTML

Type: one of “markuplint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “markuplint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.JSON.formatter

formatter tools for JSON

Type: impossible (empty enum) or raw lua code or list of (impossible (empty enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.JSON.linter

linter tools for JSON

Type: one of “jsonlint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “jsonlint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.all.formatter

formatter tools for all languages

Type: impossible (empty enum) or raw lua code or list of (impossible (empty enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.all.linter

linter tools for all languages

Type: one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.bash.formatter

formatter tools for bash

Type: one of “beautysh”, “shfmt” or raw lua code or list of (one of “beautysh”, “shfmt” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.bash.linter

linter tools for bash

Type: one of “bashate”, “shellcheck”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “bashate”, “shellcheck”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.blade.formatter

formatter tools for blade

Type: value “blade_formatter” (singular enum) or raw lua code or list of (value “blade_formatter” (singular enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.blade.linter

linter tools for blade

Type: one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.c.formatter

formatter tools for c

Type: one of “astyle”, “clang_format”, “clang_tidy”, “uncrustify” or raw lua code or list of (one of “astyle”, “clang_format”, “clang_tidy”, “uncrustify” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.c.linter

linter tools for c

Type: one of “clang_format”, “clang_tidy”, “cppcheck”, “cpplint”, “flawfinder”, “gcc”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “clang_format”, “clang_tidy”, “cppcheck”, “cpplint”, “flawfinder”, “gcc”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup."c#".formatter

formatter tools for c#

Type: one of “dotnet_format”, “uncrustify” or raw lua code or list of (one of “dotnet_format”, “uncrustify” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup."c#".linter

linter tools for c#

Type: one of “mcs”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “mcs”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup."c++".formatter

formatter tools for c++

Type: one of “astyle”, “clang_format”, “clang_tidy”, “uncrustify” or raw lua code or list of (one of “astyle”, “clang_format”, “clang_tidy”, “uncrustify” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup."c++".linter

linter tools for c++

Type: one of “clang_format”, “clang_tidy”, “clazy”, “cppcheck”, “cpplint”, “gcc”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “clang_format”, “clang_tidy”, “clazy”, “cppcheck”, “cpplint”, “gcc”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.clojure.formatter

formatter tools for clojure

Type: one of “cljstyle”, “joker” or raw lua code or list of (one of “cljstyle”, “joker” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.clojure.linter

linter tools for clojure

Type: one of “clj_kondo”, “joker”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “clj_kondo”, “joker”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.cmake.formatter

formatter tools for cmake

Type: value “gersemi” (singular enum) or raw lua code or list of (value “gersemi” (singular enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.cmake.linter

linter tools for cmake

Type: one of “cmake_lint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “cmake_lint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.crystal.formatter

formatter tools for crystal

Type: impossible (empty enum) or raw lua code or list of (impossible (empty enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.crystal.linter

linter tools for crystal

Type: one of “ameba”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “ameba”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.csh.formatter

formatter tools for csh

Type: value “beautysh” (singular enum) or raw lua code or list of (value “beautysh” (singular enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.csh.linter

linter tools for csh

Type: one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.css.formatter

formatter tools for css

Type: one of “fecs”, “prettier”, “prettier_d”, “stylelint” or raw lua code or list of (one of “fecs”, “prettier”, “prettier_d”, “stylelint” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.css.linter

linter tools for css

Type: one of “stylelint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “stylelint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.d.formatter

formatter tools for d

Type: one of “dfmt”, “uncrustify” or raw lua code or list of (one of “dfmt”, “uncrustify” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.d.linter

linter tools for d

Type: one of “dmd”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “dmd”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.dart.formatter

formatter tools for dart

Type: value “dartfmt” (singular enum) or raw lua code or list of (value “dartfmt” (singular enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.dart.linter

linter tools for dart

Type: one of “dartanalyzer”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “dartanalyzer”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.docker.formatter

formatter tools for docker

Type: impossible (empty enum) or raw lua code or list of (impossible (empty enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.docker.linter

linter tools for docker

Type: one of “hadolint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “hadolint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.elixir.formatter

formatter tools for elixir

Type: value “mix” (singular enum) or raw lua code or list of (value “mix” (singular enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.elixir.linter

linter tools for elixir

Type: one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.fennel.formatter

formatter tools for fennel

Type: value “fnlfmt” (singular enum) or raw lua code or list of (value “fnlfmt” (singular enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.fennel.linter

linter tools for fennel

Type: one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.fish.formatter

formatter tools for fish

Type: value “fish_indent” (singular enum) or raw lua code or list of (value “fish_indent” (singular enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.fish.linter

linter tools for fish

Type: one of “fish”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “fish”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.gitcommit.formatter

formatter tools for gitcommit

Type: impossible (empty enum) or raw lua code or list of (impossible (empty enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.gitcommit.linter

linter tools for gitcommit

Type: one of “gitlint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “gitlint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.gleam.formatter

formatter tools for gleam

Type: value “gleam_format” (singular enum) or raw lua code or list of (value “gleam_format” (singular enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.gleam.linter

linter tools for gleam

Type: one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.go.formatter

formatter tools for go

Type: one of “djlint”, “gofmt”, “gofumpt”, “goimports”, “golines” or raw lua code or list of (one of “djlint”, “gofmt”, “gofumpt”, “goimports”, “golines” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.go.linter

linter tools for go

Type: one of “djlint”, “go_revive”, “golangci_lint”, “golint”, “staticcheck”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “djlint”, “go_revive”, “golangci_lint”, “golint”, “staticcheck”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.haskell.formatter

formatter tools for haskell

Type: value “fourmolu” (singular enum) or raw lua code or list of (value “fourmolu” (singular enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.haskell.linter

linter tools for haskell

Type: one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.html.formatter

formatter tools for html

Type: one of “djlint”, “fecs”, “prettier”, “prettier_d” or raw lua code or list of (one of “djlint”, “fecs”, “prettier”, “prettier_d” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.html.linter

linter tools for html

Type: one of “djlint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “djlint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.java.formatter

formatter tools for java

Type: one of “google_java_format”, “uncrustify” or raw lua code or list of (one of “google_java_format”, “uncrustify” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.java.linter

linter tools for java

Type: one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.javascript.formatter

formatter tools for javascript

Type: one of “biome”, “deno_fmt”, “dprint”, “eslint”, “eslint_d”, “fecs”, “js_standard”, “prettier”, “prettier_d”, “prettier_eslint”, “prettier_standard”, “rome”, “xo” or raw lua code or list of (one of “biome”, “deno_fmt”, “dprint”, “eslint”, “eslint_d”, “fecs”, “js_standard”, “prettier”, “prettier_d”, “prettier_eslint”, “prettier_standard”, “rome”, “xo” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.javascript.linter

linter tools for javascript

Type: one of “eslint”, “eslint_d”, “fecs”, “js_standard”, “xo”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “eslint”, “eslint_d”, “fecs”, “js_standard”, “xo”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.javascriptreact.formatter

formatter tools for javascriptreact

Type: value “deno_fmt” (singular enum) or raw lua code or list of (value “deno_fmt” (singular enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.javascriptreact.linter

linter tools for javascriptreact

Type: one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.json.formatter

formatter tools for json

Type: one of “biome”, “dprint”, “fixjson”, “jq”, “prettier”, “prettier_d”, “rome” or raw lua code or list of (one of “biome”, “dprint”, “fixjson”, “jq”, “prettier”, “prettier_d”, “rome” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.json.linter

linter tools for json

Type: one of “jq”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “jq”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.jsonc.formatter

formatter tools for jsonc

Type: value “biome” (singular enum) or raw lua code or list of (value “biome” (singular enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.jsonc.linter

linter tools for jsonc

Type: one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.kdl.formatter

formatter tools for kdl

Type: value “kdlfmt” (singular enum) or raw lua code or list of (value “kdlfmt” (singular enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.kdl.linter

linter tools for kdl

Type: one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.ksh.formatter

formatter tools for ksh

Type: value “beautysh” (singular enum) or raw lua code or list of (value “beautysh” (singular enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.ksh.linter

linter tools for ksh

Type: one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.less.formatter

formatter tools for less

Type: one of “prettier”, “prettier_d”, “stylelint” or raw lua code or list of (one of “prettier”, “prettier_d”, “stylelint” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.less.linter

linter tools for less

Type: one of “stylelint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “stylelint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.lua.formatter

formatter tools for lua

Type: one of “lua_format”, “stylua” or raw lua code or list of (one of “lua_format”, “stylua” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.lua.linter

linter tools for lua

Type: one of “luacheck”, “selene”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “luacheck”, “selene”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.make.formatter

formatter tools for make

Type: impossible (empty enum) or raw lua code or list of (impossible (empty enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.make.linter

linter tools for make

Type: one of “checkmake”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “checkmake”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.markdown.formatter

formatter tools for markdown

Type: one of “cbfmt”, “dprint”, “mdformat” or raw lua code or list of (one of “cbfmt”, “dprint”, “mdformat” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.markdown.linter

linter tools for markdown

Type: one of “markdownlint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “markdownlint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.misc.formatter

formatter tools for misc

Type: impossible (empty enum) or raw lua code or list of (impossible (empty enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.misc.linter

linter tools for misc

Type: one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.nix.formatter

formatter tools for nix

Type: one of “alejandra”, “nixfmt” or raw lua code or list of (one of “alejandra”, “nixfmt” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.nix.linter

linter tools for nix

Type: one of “statix”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “statix”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.objective-c.formatter

formatter tools for objective-c

Type: value “uncrustify” (singular enum) or raw lua code or list of (value “uncrustify” (singular enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.objective-c.linter

linter tools for objective-c

Type: one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup."objective-c++".formatter

formatter tools for objective-c++

Type: value “uncrustify” (singular enum) or raw lua code or list of (value “uncrustify” (singular enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup."objective-c++".linter

linter tools for objective-c++

Type: one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.pawn.formatter

formatter tools for pawn

Type: value “uncrustify” (singular enum) or raw lua code or list of (value “uncrustify” (singular enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.pawn.linter

linter tools for pawn

Type: one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.php.formatter

formatter tools for php

Type: one of “djlint”, “php_cs_fixer”, “phpcbf”, “pint” or raw lua code or list of (one of “djlint”, “php_cs_fixer”, “phpcbf”, “pint” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.php.linter

linter tools for php

Type: one of “djlint”, “phan”, “php”, “phpcs”, “phpstan”, “psalm”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “djlint”, “phan”, “php”, “phpcs”, “phpstan”, “psalm”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.proto.formatter

formatter tools for proto

Type: one of “buf”, “protolint” or raw lua code or list of (one of “buf”, “protolint” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.proto.linter

linter tools for proto

Type: one of “buf”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “buf”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.python.formatter

formatter tools for python

Type: one of “autopep8”, “black”, “djlint”, “isort”, “ruff”, “ruff_sort”, “yapf” or raw lua code or list of (one of “autopep8”, “black”, “djlint”, “isort”, “ruff”, “ruff_sort”, “yapf” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.python.linter

linter tools for python

Type: one of “djlint”, “flake8”, “mypy”, “pylint”, “ruff”, “vulture”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “djlint”, “flake8”, “mypy”, “pylint”, “ruff”, “vulture”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.roslyn.formatter

formatter tools for roslyn

Type: value “dprint” (singular enum) or raw lua code or list of (value “dprint” (singular enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.roslyn.linter

linter tools for roslyn

Type: one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.ruby.formatter

formatter tools for ruby

Type: impossible (empty enum) or raw lua code or list of (impossible (empty enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.ruby.linter

linter tools for ruby

Type: one of “debride”, “reek”, “rubocop”, “sorbet”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “debride”, “reek”, “rubocop”, “sorbet”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.rust.formatter

formatter tools for rust

Type: one of “dprint”, “rustfmt” or raw lua code or list of (one of “dprint”, “rustfmt” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.rust.linter

linter tools for rust

Type: one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.sass.formatter

formatter tools for sass

Type: one of “prettier”, “prettier_d”, “stylelint” or raw lua code or list of (one of “prettier”, “prettier_d”, “stylelint” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.sass.linter

linter tools for sass

Type: one of “stylelint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “stylelint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.scala.formatter

formatter tools for scala

Type: value “scalafmt” (singular enum) or raw lua code or list of (value “scalafmt” (singular enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.scala.linter

linter tools for scala

Type: one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.scss.formatter

formatter tools for scss

Type: one of “prettier”, “prettier_d”, “stylelint” or raw lua code or list of (one of “prettier”, “prettier_d”, “stylelint” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.scss.linter

linter tools for scss

Type: one of “stylelint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “stylelint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.sh.formatter

formatter tools for sh

Type: one of “beautysh”, “shellharden”, “shfmt” or raw lua code or list of (one of “beautysh”, “shellharden”, “shfmt” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.sh.linter

linter tools for sh

Type: one of “shellcheck”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “shellcheck”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.slim.formatter

formatter tools for slim

Type: impossible (empty enum) or raw lua code or list of (impossible (empty enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.slim.linter

linter tools for slim

Type: one of “slim_lint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “slim_lint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.sml.formatter

formatter tools for sml

Type: value “smlfmt” (singular enum) or raw lua code or list of (value “smlfmt” (singular enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.sml.linter

linter tools for sml

Type: one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.solidity.formatter

formatter tools for solidity

Type: value “forge_fmt” (singular enum) or raw lua code or list of (value “forge_fmt” (singular enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.solidity.linter

linter tools for solidity

Type: one of “slither”, “solhint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “slither”, “solhint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.sql.formatter

formatter tools for sql

Type: one of “sql-formatter”, “sqlfluff”, “sqruff” or raw lua code or list of (one of “sql-formatter”, “sqlfluff”, “sqruff” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.sql.linter

linter tools for sql

Type: one of “sqlfluff”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “sqlfluff”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.swift.formatter

formatter tools for swift

Type: value “swiftformat” (singular enum) or raw lua code or list of (value “swiftformat” (singular enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.swift.linter

linter tools for swift

Type: one of “swiftlint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “swiftlint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.terraform.formatter

formatter tools for terraform

Type: value “terraform_fmt” (singular enum) or raw lua code or list of (value “terraform_fmt” (singular enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.terraform.linter

linter tools for terraform

Type: one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.tex.formatter

formatter tools for tex

Type: value “latexindent” (singular enum) or raw lua code or list of (value “latexindent” (singular enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.tex.linter

linter tools for tex

Type: one of “chktex”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “chktex”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.toml.formatter

formatter tools for toml

Type: one of “dprint”, “taplo” or raw lua code or list of (one of “dprint”, “taplo” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.toml.linter

linter tools for toml

Type: one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.typescript.formatter

formatter tools for typescript

Type: one of “biome”, “deno_fmt”, “dprint”, “eslint”, “eslint_d”, “fecs”, “prettier”, “prettier_d”, “prettier_eslint”, “prettier_standard”, “rome”, “xo” or raw lua code or list of (one of “biome”, “deno_fmt”, “dprint”, “eslint”, “eslint_d”, “fecs”, “prettier”, “prettier_d”, “prettier_eslint”, “prettier_standard”, “rome”, “xo” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.typescript.linter

linter tools for typescript

Type: one of “eslint”, “eslint_d”, “xo”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “eslint”, “eslint_d”, “xo”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.typescriptreact.formatter

formatter tools for typescriptreact

Type: value “deno_fmt” (singular enum) or raw lua code or list of (value “deno_fmt” (singular enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.typescriptreact.linter

linter tools for typescriptreact

Type: one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.typst.formatter

formatter tools for typst

Type: one of “prettypst”, “typstfmt”, “typstyle” or raw lua code or list of (one of “prettypst”, “typstfmt”, “typstyle” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.typst.linter

linter tools for typst

Type: one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.vala.formatter

formatter tools for vala

Type: value “uncrustify” (singular enum) or raw lua code or list of (value “uncrustify” (singular enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.vala.linter

linter tools for vala

Type: one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.vim.formatter

formatter tools for vim

Type: impossible (empty enum) or raw lua code or list of (impossible (empty enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.vim.linter

linter tools for vim

Type: one of “vint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “vint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.yaml.formatter

formatter tools for yaml

Type: one of “prettier”, “yq” or raw lua code or list of (one of “prettier”, “yq” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.yaml.linter

linter tools for yaml

Type: one of “actionlint”, “ansible_lint”, “yamllint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “actionlint”, “ansible_lint”, “yamllint”, “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.zsh.formatter

formatter tools for zsh

Type: value “beautysh” (singular enum) or raw lua code or list of (value “beautysh” (singular enum) or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.setup.zsh.linter

linter tools for zsh

Type: one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code or list of (one of “alex”, “codespell”, “cspell”, “languagetool”, “proselint”, “redpen”, “textlint”, “vale”, “write_good” or raw lua code)

Default: [ ]

Declared by:

plugins.efmls-configs.toolPackages.actionlint

The actionlint package to use.

Type: null or package

Default: pkgs.actionlint if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.alejandra

The alejandra package to use.

Type: null or package

Default: pkgs.alejandra if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.alex

The alex package to use.

Type: null or package

Default: pkgs.nodePackages.alex if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.ameba

The ameba package to use.

Type: null or package

Default: pkgs.ameba if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.ansible_lint

The ansible_lint package to use.

Type: null or package

Default: pkgs.ansible-lint if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.astyle

The astyle package to use.

Type: null or package

Default: pkgs.astyle if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.autopep8

The autopep8 package to use.

Type: null or package

Default: pkgs.python3.pkgs.autopep8 if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.bashate

The bashate package to use.

Type: null or package

Default: pkgs.bashate if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.beautysh

The beautysh package to use.

Type: null or package

Default: pkgs.beautysh if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.biome

The biome package to use.

Type: null or package

Default: pkgs.biome if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.black

The black package to use.

Type: null or package

Default: pkgs.black if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.buf

The buf package to use.

Type: null or package

Default: pkgs.buf if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.cbfmt

The cbfmt package to use.

Type: null or package

Default: pkgs.cbfmt if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.checkmake

The checkmake package to use.

Type: null or package

Default: pkgs.checkmake if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.chktex

The chktex package to use.

Type: null or package

Default: pkgs.texliveMedium if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.clang_format

The clang_format package to use.

Type: null or package

Default: pkgs.clang-tools if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.clang_tidy

The clang_tidy package to use.

Type: null or package

Default: pkgs.clang-tools if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.clazy

The clazy package to use.

Type: null or package

Default: pkgs.clazy if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.clj_kondo

The clj_kondo package to use.

Type: null or package

Default: pkgs.clj-kondo if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.cmake_lint

The cmake_lint package to use.

Type: null or package

Default: pkgs.cmake-format if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.codespell

The codespell package to use.

Type: null or package

Default: pkgs.codespell if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.cppcheck

The cppcheck package to use.

Type: null or package

Default: pkgs.cppcheck if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.cpplint

The cpplint package to use.

Type: null or package

Default: pkgs.cpplint if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.dartfmt

The dartfmt package to use.

Type: null or package

Default: pkgs.dart if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.dfmt

The dfmt package to use.

Type: null or package

Default: pkgs.dfmt if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.djlint

The djlint package to use.

Type: null or package

Default: pkgs.djlint if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.dmd

The dmd package to use.

Type: null or package

Default: pkgs.dmd if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.dotnet_format

The dotnet_format package to use.

Type: null or package

Default: pkgs.dotnet-runtime if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.dprint

The dprint package to use.

Type: null or package

Default: pkgs.dprint if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.eslint

The eslint package to use.

Type: null or package

Default: pkgs.eslint if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.eslint_d

The eslint_d package to use.

Type: null or package

Default: pkgs.nodePackages.eslint_d if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.fish

The fish package to use.

Type: null or package

Default: pkgs.fish if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.fish_indent

The fish_indent package to use.

Type: null or package

Default: pkgs.fish if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.flake8

The flake8 package to use.

Type: null or package

Default: pkgs.python3.pkgs.flake8 if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.flawfinder

The flawfinder package to use.

Type: null or package

Default: pkgs.flawfinder if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.fnlfmt

The fnlfmt package to use.

Type: null or package

Default: pkgs.fnlfmt if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.fourmolu

The fourmolu package to use.

Type: null or package

Default: pkgs.haskellPackages.fourmolu if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.gcc

The gcc package to use.

Type: null or package

Default: pkgs.gcc if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.gitlint

The gitlint package to use.

Type: null or package

Default: pkgs.gitlint if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.go_revive

The go_revive package to use.

Type: null or package

Default: pkgs.revive if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.gofmt

The gofmt package to use.

Type: null or package

Default: pkgs.go if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.gofumpt

The gofumpt package to use.

Type: null or package

Default: pkgs.gofumpt if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.goimports

The goimports package to use.

Type: null or package

Default: pkgs.go-tools if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.golangci_lint

The golangci_lint package to use.

Type: null or package

Default: pkgs.golangci-lint if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.golines

The golines package to use.

Type: null or package

Default: pkgs.golines if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.golint

The golint package to use.

Type: null or package

Default: pkgs.golint if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.google_java_format

The google_java_format package to use.

Type: null or package

Default: pkgs.google-java-format if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.hadolint

The hadolint package to use.

Type: null or package

Default: pkgs.hadolint if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.isort

The isort package to use.

Type: null or package

Default: pkgs.isort if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.joker

The joker package to use.

Type: null or package

Default: pkgs.joker if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.jq

The jq package to use.

Type: null or package

Default: pkgs.jq if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.jsonlint

The jsonlint package to use.

Type: null or package

Default: pkgs.nodePackages.jsonlint if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.languagetool

The languagetool package to use.

Type: null or package

Default: pkgs.languagetool if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.latexindent

The latexindent package to use.

Type: null or package

Default: pkgs.texliveMedium if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.lua_format

The lua_format package to use.

Type: null or package

Default: pkgs.luaformatter if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.luacheck

The luacheck package to use.

Type: null or package

Default: pkgs.luaPackages.luacheck if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.markdownlint

The markdownlint package to use.

Type: null or package

Default: pkgs.markdownlint-cli if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.mcs

The mcs package to use.

Type: null or package

Default: pkgs.mono if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.mdformat

The mdformat package to use.

Type: null or package

Default: pkgs.python3.pkgs.mdformat if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.mypy

The mypy package to use.

Type: null or package

Default: pkgs.mypy if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.nixfmt

The nixfmt package to use.

Type: null or package

Default: pkgs.nixfmt-classic if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.phan

The phan package to use.

Type: null or package

Default: pkgs.phpPackages.phan if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.php

The php package to use.

Type: null or package

Default: pkgs.php if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.php_cs_fixer

The php_cs_fixer package to use.

Type: null or package

Default: pkgs.phpPackages.php-cs-fixer if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.phpcbf

The phpcbf package to use.

Type: null or package

Default: pkgs.phpPackages.php-codesniffer if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.phpcs

The phpcs package to use.

Type: null or package

Default: pkgs.phpPackages.php-codesniffer if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.phpstan

The phpstan package to use.

Type: null or package

Default: pkgs.phpPackages.phpstan if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.prettier

The prettier package to use.

Type: null or package

Default: pkgs.nodePackages.prettier if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.prettier_d

The prettier_d package to use.

Type: null or package

Default: pkgs.prettierd if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.prettypst

The prettypst package to use.

Type: null or package

Default: pkgs.prettypst if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.proselint

The proselint package to use.

Type: null or package

Default: pkgs.proselint if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.protolint

The protolint package to use.

Type: null or package

Default: pkgs.protolint if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.psalm

The psalm package to use.

Type: null or package

Default: pkgs.phpPackages.psalm if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.pylint

The pylint package to use.

Type: null or package

Default: pkgs.pylint if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.rubocop

The rubocop package to use.

Type: null or package

Default: pkgs.rubocop if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.ruff

The ruff package to use.

Type: null or package

Default: pkgs.ruff if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.rustfmt

The rustfmt package to use.

Type: null or package

Default: pkgs.rustfmt if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.scalafmt

The scalafmt package to use.

Type: null or package

Default: pkgs.scalafmt if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.selene

The selene package to use.

Type: null or package

Default: pkgs.selene if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.shellcheck

The shellcheck package to use.

Type: null or package

Default: pkgs.shellcheck if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.shellharden

The shellharden package to use.

Type: null or package

Default: pkgs.shellharden if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.shfmt

The shfmt package to use.

Type: null or package

Default: pkgs.shfmt if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.slither

The slither package to use.

Type: null or package

Default: pkgs.slither-analyzer if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.smlfmt

The smlfmt package to use.

Type: null or package

Default: pkgs.smlfmt if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.sql-formatter

The sql-formatter package to use.

Type: null or package

Default: pkgs.sql-formatter if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.sqlfluff

The sqlfluff package to use.

Type: null or package

Default: pkgs.sqlfluff if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.sqruff

The sqruff package to use.

Type: null or package

Default: pkgs.sqruff if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.staticcheck

The staticcheck package to use.

Type: null or package

Default: pkgs.go-tools if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.statix

The statix package to use.

Type: null or package

Default: pkgs.statix if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.stylelint

The stylelint package to use.

Type: null or package

Default: pkgs.nodePackages.stylelint if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.stylua

The stylua package to use.

Type: null or package

Default: pkgs.stylua if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.taplo

The taplo package to use.

Type: null or package

Default: pkgs.taplo if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.terraform_fmt

The terraform_fmt package to use.

Type: null or package

Default: pkgs.terraform if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.textlint

The textlint package to use.

Type: null or package

Default: pkgs.nodePackages.textlint if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.typstfmt

The typstfmt package to use.

Type: null or package

Default: pkgs.typstfmt if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.typstyle

The typstyle package to use.

Type: null or package

Default: pkgs.typstyle if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.uncrustify

The uncrustify package to use.

Type: null or package

Default: pkgs.uncrustify if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.vale

The vale package to use.

Type: null or package

Default: pkgs.vale if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.vint

The vint package to use.

Type: null or package

Default: pkgs.vim-vint if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.vulture

The vulture package to use.

Type: null or package

Default: pkgs.python3.pkgs.vulture if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.write_good

The write_good package to use.

Type: null or package

Default: pkgs.write-good if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.yamllint

The yamllint package to use.

Type: null or package

Default: pkgs.yamllint if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.yapf

The yapf package to use.

Type: null or package

Default: pkgs.yapf if available on the current system, otherwise null

Declared by:

plugins.efmls-configs.toolPackages.yq

The yq package to use.

Type: null or package

Default: pkgs.yq-go if available on the current system, otherwise null

Declared by:

emmet

URL: https://github.com/mattn/emmet-vim/

Maintainers: Gaetan Lepage

plugins.emmet.enable

Whether to enable emmet-vim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.emmet.package

The emmet-vim package to use.

Type: package

Default: pkgs.vimPlugins.emmet-vim

Declared by:

plugins.emmet.autoLoad

Whether to automatically load emmet-vim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.emmet.settings

The configuration options for emmet without the user_emmet_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal user_emmet_foo_bar=1
  • hello = "world" -> :setglobal user_emmet_hello="world"
  • some_toggle = true -> :setglobal user_emmet_some_toggle
  • other_toggle = false -> :setglobal nouser_emmet_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  leader = "<C-Z>";
  mode = "inv";
  settings = {
    html = {
      default_attributes = {
        option = {
          value = null;
        };
        textarea = {
          cols = 10;
          id = null;
          name = null;
          rows = 10;
        };
      };
      snippets = {
        "html:5" = ''
          <!DOCTYPE html>
          <html lang=\"$\{lang}\">
          <head>
          \t<meta charset=\"$\{charset}\">
          \t<title></title>
          \t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">
          </head>
          <body>\n\t$\{child}|\n</body>
          </html>
        '';
      };
    };
    variables = {
      lang = "ja";
    };
  };
}

Declared by:

plugins.emmet.settings.leader_key

Leading keys to run Emmet functions.

Type: null or string or raw lua code

Default: null

Plugin default: "<C-y>"

Declared by:

plugins.emmet.settings.mode

Choose modes, in which Emmet mappings will be created. Default value: ‘a’ - all modes.

  • ‘n’ - normal mode.
  • ‘i’ - insert mode.
  • ‘v’ - visual mode.

Examples:

  • create Emmet mappings only for normal mode: n
  • create Emmet mappings for insert, normal and visual modes: inv
  • create Emmet mappings for all modes: a

Type: null or string or raw lua code

Default: null

Plugin default: "a"

Declared by:

endwise

URL: https://github.com/tpope/vim-endwise/

Maintainers: Gaetan Lepage

plugins.endwise.enable

Whether to enable vim-endwise.

Type: boolean

Default: false

Example: true

Declared by:

plugins.endwise.package

The vim-endwise package to use.

Type: package

Default: pkgs.vimPlugins.vim-endwise

Declared by:

plugins.endwise.autoLoad

Whether to automatically load vim-endwise when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

fastaction

URL: https://github.com/Chaitanyabsprip/fastaction.nvim/

Maintainers: Gaetan Lepage

plugins.fastaction.enable

Whether to enable fastaction.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.fastaction.package

The fastaction.nvim package to use.

Type: package

Default: pkgs.vimPlugins.fastaction-nvim

Declared by:

plugins.fastaction.autoLoad

Whether to automatically load fastaction.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.fastaction.lazyLoad

Lazy-load settings for fastaction.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.fastaction.lazyLoad.enable

lazy-loading for fastaction.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.fastaction.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.fastaction.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.fastaction.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.fastaction.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.fastaction.settings

Options provided to the require('fastaction').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  dismiss_keys = [
    "j"
    "k"
    "<c-c>"
    "q"
  ];
  keys = "qwertyuiopasdfghlzxcvbnm";
  popup = {
    border = "rounded";
    hide_cursor = true;
    highlight = {
      divider = "FloatBorder";
      key = "MoreMsg";
      title = "Title";
      window = "NormalFloat";
    };
    title = "Select one of:";
  };
  priority = {
    dart = [
      {
        key = "o";
        order = 1;
        pattern = "organize import";
      }
      {
        key = "x";
        order = 2;
        pattern = "extract method";
      }
      {
        key = "e";
        order = 3;
        pattern = "extract widget";
      }
    ];
  };
  register_ui_select = false;
}

Declared by:

plugins.fastaction.settings.dismiss_keys

Keys to use to dismiss the popup.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "j"
  "k"
  "<c-c>"
  "q"
]

Declared by:

plugins.fastaction.settings.fallback_threshold

Configures number of options after which fastaction must fallback on vim.ui.select.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 26

Declared by:

plugins.fastaction.settings.keys

Keys to use to map options.

Type: null or string or list of string

Default: null

Plugin default: "qwertyuiopasdfghlzxcvbnm"

Declared by:

plugins.fastaction.settings.override_function

Override function to map keys to actions.

  fun(params: GetActionConfigParams): ActionConfig | nil

Type: null or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "function(_) end"

Declared by:

plugins.fastaction.settings.priority

Specifies the priority and keys to map to patterns matching code actions.

Type: null or (attribute set of ((list of (attribute set of anything)) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  default = [ ];
}

Example:

{
  dart = [
    {
      key = "o";
      order = 1;
      pattern = "organize import";
    }
    {
      key = "x";
      order = 2;
      pattern = "extract method";
    }
    {
      key = "e";
      order = 3;
      pattern = "extract widget";
    }
  ];
}

Declared by:

plugins.fastaction.settings.register_ui_select

Determines if the select popup should be registered as a vim.ui.select handler.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.fastaction.settings.popup.border

Style of the popup border. Can be “single”, “double”, “rounded”, “thick”, or a table of strings in the format:

  [
    "top left"
    "top"
    "top right"
    "right"
    "bottom right"
    "bottom"
    "bottom left"
    "left"
  ]

Type: null or string or list of string

Default: null

Plugin default: "rounded"

Declared by:

plugins.fastaction.settings.popup.hide_cursor

Whether to hide the cursor when the popup is shown.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.fastaction.settings.popup.highlight

Configures the highlights of different aspects of the popup.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  divider = "FloatBorder";
  key = "MoreMsg";
  title = "Title";
  window = "NormalFloat";
}

Declared by:

plugins.fastaction.settings.popup.relative

Specifies what the popup is relative to.

Type: null or string or raw lua code

Default: null

Plugin default: "cursor"

Declared by:

plugins.fastaction.settings.popup.title

Title of the popup.

Type: null or string or raw lua code

Default: null

Plugin default: "Select one of:"

Declared by:

plugins.fastaction.settings.popup.x_offset

Configures the horizontal position of the popup with respect to the relative value.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.fastaction.settings.popup.y_offset

Configures the vertical position of the popup with respect to the relative value.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

faust

URL: https://github.com/madskjeldgaard/faust-nvim/

Maintainers: Gaetan Lepage

plugins.faust.enable

Whether to enable faust-nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.faust.package

The faust-nvim package to use.

Type: package

Default: pkgs.vimPlugins.faust-nvim

Declared by:

plugins.faust.autoLoad

Whether to automatically load faust-nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.faust.faustPackage

If non-null, the provided package will be used to initialize the plugin’s settings:

  settings = {
    _examples_dir = "${cfg.faustPackage}/share/faust/examples";
    "2appls_dir" = "${cfg.faustPackage}/bin";
    lib_dir = "${cfg.faustPackage}/share/faust/";
  };

Type: null or package

Default: pkgs.faust

Declared by:

plugins.faust.settings

The configuration options for faust without the faust prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal faustfoo_bar=1
  • hello = "world" -> :setglobal fausthello="world"
  • some_toggle = true -> :setglobal faustsome_toggle
  • other_toggle = false -> :setglobal nofaustother_toggle

Type: attribute set of anything

Default: { }

Example:

{
  "2appls_dir" = "/bin/";
  _examples_dir = "/usr/share/faust/examples";
  lib_dir = "/usr/share/faust/";
}

Declared by:

plugins.faust.lazyLoad

Lazy-load settings for faust-nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.faust.lazyLoad.enable

lazy-loading for faust-nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.faust.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.faust.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.faust.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.faust.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

femaco

URL: https://github.com/AckslD/nvim-FeMaco.lua/

Maintainers: Gaetan Lepage

plugins.femaco.enable

Whether to enable nvim-FeMaco.lua.

Type: boolean

Default: false

Example: true

Declared by:

plugins.femaco.package

The nvim-FeMaco.lua package to use.

Type: package

Default: pkgs.vimPlugins.nvim-FeMaco-lua

Declared by:

plugins.femaco.autoLoad

Whether to automatically load nvim-FeMaco.lua when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.femaco.lazyLoad

Lazy-load settings for nvim-FeMaco.lua.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.femaco.lazyLoad.enable

lazy-loading for nvim-FeMaco.lua

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.femaco.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.femaco.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.femaco.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.femaco.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.femaco.settings

Options provided to the require('femaco').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  ensure_newline = {
    __raw = ''
      function(base_filetype)
        return true
      end
    '';
  };
  ft_from_lang = {
    __raw = ''
      function(lang)
        if mapped_filetype[lang] then
          return mapped_filetype[lang]
        end
        return lang
      end
    '';
  };
}

Declared by:

plugins.femaco.settings.create_tmp_filepath

Create the path to a temporary file.

Type: null or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(filetype)
    return os.tmpname()
  end
''

Declared by:

plugins.femaco.settings.ensure_newline

Whether a newline should always be used. This is useful for multiline injections which separators needs to be on separate lines such as markdown, neorg etc.

@param base_filetype: The filetype which FeMaco is called from, not the filetype of the injected language (this is the current buffer so you can get it from vim.bo.filetyp).

Type: null or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(base_filetype)
    return false
  end
''

Declared by:

plugins.femaco.settings.float_opts

Should return options passed to nvim_open_win @param code_block: data about the code-block with the keys

  • range
  • lines
  • lang

Type: null or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(code_block)
    return {
      relative = 'cursor',
      width = require('femaco.utils').clip_val(5, 120, vim.api.nvim_win_get_width(0) - 10),
      height = require('femaco.utils').clip_val(5, #code_block.lines, vim.api.nvim_win_get_height(0) - 6),
      anchor = 'NW',
      row = 0,
      col = 0,
      style = 'minimal',
      border = 'rounded',
      zindex = 1,
    }
  end
''

Declared by:

plugins.femaco.settings.ft_from_lang

Return filetype to use for a given lang. lang can be nil.

Type: null or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(lang)
    return lang
  end
''

Declared by:

plugins.femaco.settings.normalize_indent

Should return true if the indentation should be normalized.

Useful when the injected language inherits indentation from the construction scope (e.g. an inline multiline sql string).

If true, the leading indentation is detected, stripped, and restored before/after editing.

@param base_filetype: The filetype which FeMaco is called from, not the filetype of the injected language (this is the current buffer, so you can get it from vim.bo.filetype).

Type: null or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function (base_filetype)
    return false
  end
''

Declared by:

plugins.femaco.settings.post_open_float

What to do after opening the float.

Type: null or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(winnr)
    vim.wo.signcolumn = 'no'
  end
''

Declared by:

plugins.femaco.settings.prepare_buffer

This function should prepare a new buffer and return the winid. By default, it opens a floating window. Provide a different callback to change this behaviour.

@param opts: the return value from float_opts

Type: null or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(opts)
    local buf = vim.api.nvim_create_buf(false, false)
    return vim.api.nvim_open_win(buf, true, opts)
  end
''

Declared by:

fidget

URL: https://github.com/j-hui/fidget.nvim

Maintainers: Heitor Augusto

plugins.fidget.enable

Whether to enable fidget.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.fidget.package

The fidget.nvim package to use.

Type: package

Default: pkgs.vimPlugins.fidget-nvim

Declared by:

plugins.fidget.autoLoad

Whether to automatically load fidget.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.fidget.lazyLoad

Lazy-load settings for fidget.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.fidget.lazyLoad.enable

lazy-loading for fidget.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.fidget.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.fidget.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.fidget.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.fidget.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.fidget.settings

Options provided to the require('fidget').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  notification = {
    window = {
      winblend = 0;
    };
  };
  progress = {
    display = {
      done_icon = "";
      done_ttl = 7;
      format_message = lib.nixvim.mkRaw ''
  function(msg)
    if string.find(msg.title, "Indexing") then
      return nil -- Ignore "Indexing..." progress messages
    end
    if msg.message then
      return msg.message
    else
      return msg.done and "Completed" or "In progress..."
    end
  end
'';
    };
  };
  text = {
    spinner = "dots";
  };
}

Declared by:

plugins.fidget.settings.integration.nvim-tree.enable

Enable integration with nvim-tree. (if installed)

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.fidget.settings.integration.xcodebuild-nvim.enable

Enable integration with xcodebuild-nvim. (if installed)

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.fidget.settings.logger.float_precision

Limit the number of decimals displayed in floating point numbers.

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.01

Declared by:

plugins.fidget.settings.logger.level

Minimum logging level.

Type: null or unsigned integer, meaning >=0, or one of “off”, “error”, “warn”, “info”, “debug”, “trace”

Default: null

Plugin default: "warn"

Declared by:

plugins.fidget.settings.logger.max_size

Maximum log size file, in KB.

Type: null or signed integer or floating point number or value false (singular enum) or raw lua code

Default: null

Plugin default: 10000

Declared by:

plugins.fidget.settings.logger.path

Where fidget writes its log file.

Using vim.fn.stdpath("cache"), the default path usually ends up at ~/.cache/nvim/fidget.nvim.log.

Type: null or string or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "string.format(\"%s/fidget.nvim.log\", vim.fn.stdpath(\"cache\"))"

Declared by:

plugins.fidget.settings.notification.configs

How to configure notification groups when instantiated.

A configuration with the key "default" should always be specified, and is used as the fallback for notifications lacking a group key.

Type: null or (attribute set of (raw lua code or (attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  default = lib.nixvim.mkRaw "require(\"fidget.notification\").default_config";
}

Declared by:

plugins.fidget.settings.notification.filter

Minimum log level to display.

Type: null or unsigned integer, meaning >=0, or one of “off”, “error”, “warn”, “info”, “debug”, “trace”

Default: null

Plugin default: "info"

Declared by:

plugins.fidget.settings.notification.history_size

Number of removed messages to retain in history.

Set to 0 to keep around history indefinitely (until cleared).

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 128

Declared by:

plugins.fidget.settings.notification.override_vim_notify

Automatically override vim.notify() with Fidget.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.fidget.settings.notification.poll_rate

How frequently to update and render notifications. Measured in Hertz (frames per second).

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.fidget.settings.notification.redirect

Conditionally redirect notifications to another backend.

This option is useful for delegating notifications to another backend that supports features Fidget has not (yet) implemented.

For instance, Fidget uses a single, shared buffer and window for rendering all notifications, so it lacks a per-notification on_open callback that can be used to, e.g., set the |filetype| for a specific notification. For such notifications, Fidget’s default redirect delegates such notifications with an on_open callback to |nvim-notify| (if available).

Type: null or raw lua code or value false (singular enum)

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(msg, level, opts)
    if opts and opts.on_open then
      return require("fidget.integration.nvim-notify").delegate(msg, level, opts)
    end
  end
''

Declared by:

plugins.fidget.settings.notification.view.group_separator

Separator between notification groups.

Type: null or string or raw lua code

Default: null

Plugin default: "--"

Declared by:

plugins.fidget.settings.notification.view.group_separator_hl

Highlight group used for group separator.

Type: null or string or raw lua code

Default: null

Plugin default: "Comment"

Declared by:

plugins.fidget.settings.notification.view.icon_separator

Separator between group name and icon.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.fidget.settings.notification.view.render_message

How to render notification messages.

Messages that appear multiple times (have the same content_key) will only be rendered once, with a cnt greater than 1. This hook provides an opportunity to customize how such messages should appear.

Type: null or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(msg, cnt) return cnt == 1 and msg or string.format("(%dx) %s", cnt, msg) end
''

Declared by:

plugins.fidget.settings.notification.view.stack_upwards

Display notification items from bottom to top.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.fidget.settings.notification.window.align

How to align the notification window.

Type: null or one of “top”, “bottom”, “avoid_cursor” or raw lua code

Default: null

Plugin default: "bottom"

Declared by:

plugins.fidget.settings.notification.window.border

Defines the border to use for the notification window. Accepts same border values as nvim_open_win(). See :help nvim_open_win() for more info.

Type: null or string or list of string or list of list of string or raw lua code

Default: null

Plugin default: "none"

Declared by:

plugins.fidget.settings.notification.window.border_hl

Highlight group for the notification window border.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.fidget.settings.notification.window.max_height

Maximum height of the notification window.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.fidget.settings.notification.window.max_width

Maximum width of the notification window.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.fidget.settings.notification.window.normal_hl

Base highlight group in the notification window.

Type: null or string or raw lua code

Default: null

Plugin default: "Comment"

Declared by:

plugins.fidget.settings.notification.window.relative

What the notification window position is relative to.

Type: null or one of “editor”, “win” or raw lua code

Default: null

Plugin default: "editor"

Declared by:

plugins.fidget.settings.notification.window.winblend

Background color opacity in the notification window.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 100

Declared by:

plugins.fidget.settings.notification.window.x_padding

Horizontal padding of the notification window.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.fidget.settings.notification.window.y_padding

Vertical padding of the notification window.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.fidget.settings.notification.window.zindex

Stacking priority of the notification window.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 45

Declared by:

plugins.fidget.settings.progress.clear_on_detach

Clear notification group when LSP server detaches.

Set this option to false to disable this feature entirely.

Type: null or lua function string or raw lua code or value false (singular enum)

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(client_id)
    local client = vim.lsp.get_client_by_id(client_id)
    return client and client.name or nil
  end
''

Declared by:

plugins.fidget.settings.progress.ignore

List of filters to ignore LSP progress messages.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.fidget.settings.progress.ignore_done_already

Ignore new tasks that are already complete.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.fidget.settings.progress.ignore_empty_message

Ignore new tasks that don’t contain a message.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.fidget.settings.progress.notification_group

How to get a progress message’s notification group key.

Type: null or lua function string or raw lua code

Default: null

Plugin default:

''
  function(msg) return msg.lsp_client.name end
''

Declared by:

plugins.fidget.settings.progress.poll_rate

How and when to poll for progress messages.

Set to false to disable polling altogether. You can still manually pool progress messages by calling |fidget.progress.poll|.

Type: null or unsigned integer, meaning >=0, or value false (singular enum) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.fidget.settings.progress.suppress_on_insert

Suppress new messages while in insert mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.fidget.settings.progress.display.done_icon

Icon shown when all LSP progress tasks are complete.

  • When a string literal is given (e.g., "✔"), it is used as a static icon.
  • When a list or attrs (e.g., ["dots"] or {pattern = "clock"; period = 2;}) is given, it is used to generate an animation function.
  • When a function is specified (e.g., {__raw = "function(now) return now % 2 < 1 and '+' or '-' end";}), it is used as the animation function.

Type: null or string or raw lua code or list of string or attribute set of (string or (unsigned integer, meaning >=0))

Default: null

Plugin default: "✔"

Declared by:

plugins.fidget.settings.progress.display.done_style

Highlight group for completed LSP tasks.

Type: null or string or raw lua code

Default: null

Plugin default: "Constant"

Declared by:

plugins.fidget.settings.progress.display.done_ttl

How long a message should persist after completion.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 3

Declared by:

plugins.fidget.settings.progress.display.format_annote

How to format a progress annotation.

Type: null or lua function string or raw lua code

Default: null

Plugin default: "function(msg) return msg.title end"

Declared by:

plugins.fidget.settings.progress.display.format_group_name

How to format a progress notification’s group name.

Type: null or lua function string or raw lua code

Default: null

Plugin default: "function(group) tostring(group) end"

Declared by:

plugins.fidget.settings.progress.display.format_message

How to format a progress message.

Example:

  format_message = function(msg)
    if string.find(msg.title, "Indexing") then
      return nil -- Ignore "Indexing..." progress messages
    end
    if msg.message then
      return msg.message
    else
      return msg.done and "Completed" or "In progress..."
    end
  end

Type: null or lua code string or raw lua code

Default: null

Plugin default:

''
  require("fidget.progress.display").default_format_message
''

Declared by:

plugins.fidget.settings.progress.display.group_style

Highlight group for group name (LSP server name).

Type: null or string or raw lua code

Default: null

Plugin default: "Title"

Declared by:

plugins.fidget.settings.progress.display.icon_style

Highlight group for group icons.

Type: null or string or raw lua code

Default: null

Plugin default: "Question"

Declared by:

plugins.fidget.settings.progress.display.overrides

Override options from the default notification config. Keys of the table are each notification group’s key.

Type: null or (attribute set of ((attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  rust_analyzer = {
    name = "rust-analyzer";
  };
}

Declared by:

plugins.fidget.settings.progress.display.priority

Ordering priority for LSP notification group.

Type: null or signed integer or floating point number or value false (singular enum) or raw lua code

Default: null

Plugin default: 30

Declared by:

plugins.fidget.settings.progress.display.progress_icon

Icon shown when an LSP progress task is in progress.

  • When a string literal is given (e.g., "✔"), it is used as a static icon.
  • When a list or attrs (e.g., ["dots"] or {pattern = "clock"; period = 2;}) is given, it is used to generate an animation function.
  • When a function is specified (e.g., {__raw = "function(now) return now % 2 < 1 and '+' or '-' end";}), it is used as the animation function.

Type: null or string or raw lua code or list of string or attribute set of (string or (unsigned integer, meaning >=0))

Default: null

Plugin default:

[
  "dots"
]

Declared by:

plugins.fidget.settings.progress.display.progress_style

Highlight group for in-progress LSP tasks.

Type: null or string or raw lua code

Default: null

Plugin default: "WarningMsg"

Declared by:

plugins.fidget.settings.progress.display.progress_ttl

How long a message should persist when in progress.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "math.huge"

Declared by:

plugins.fidget.settings.progress.display.render_limit

How many LSP messages to show at once.

If set to false, no limit will be enforced.

Type: null or signed integer or floating point number or value false (singular enum) or raw lua code

Default: null

Plugin default: 16

Declared by:

plugins.fidget.settings.progress.display.skip_history

Whether progress notifications should be omitted from history.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.fidget.settings.progress.lsp.log_handler

Log $/progress handler invocations (for debugging).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.fidget.settings.progress.lsp.progress_ringbuf_size

Configure the nvim’s LSP progress ring buffer size.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

firenvim

URL: https://github.com/glacambre/firenvim/

Maintainers: Gaetan Lepage

plugins.firenvim.enable

Whether to enable firenvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.firenvim.package

The firenvim package to use.

Type: package

Default: pkgs.vimPlugins.firenvim

Declared by:

plugins.firenvim.autoLoad

Whether to automatically load firenvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.firenvim.lazyLoad

Lazy-load settings for firenvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.firenvim.lazyLoad.enable

lazy-loading for firenvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.firenvim.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.firenvim.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.firenvim.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.firenvim.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.firenvim.settings

Options fed to the vim.g.firenvim_config table.

Type: attribute set of anything

Default: { }

Example:

{
  globalSettings = {
    alt = "all";
  };
  localSettings = {
    ".*" = {
      cmdline = "neovim";
      content = "text";
      priority = 0;
      selector = "textarea";
      takeover = "always";
    };
    "https?://[^/]+\\.co\\.uk/" = {
      priority = 1;
      takeover = "never";
    };
  };
}

Declared by:

plugins.firenvim.settings.globalSettings

Default settings that apply to all URLs.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Example:

{
  alt = "all";
}

Declared by:

plugins.firenvim.settings.localSettings

Map regular expressions that are tested against the full URL to settings that are used for all URLs matched by that pattern.

When multiple patterns match a URL, the pattern with the highest “priority” value is used.

Note: regular expressions use the JavaScript flavor.

Type: null or (attribute set of ((attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Example:

{
  ".*" = {
    cmdline = "neovim";
    content = "text";
    priority = 0;
    selector = "textarea";
    takeover = "always";
  };
  "https?://[^/]+\\.co\\.uk/" = {
    priority = 1;
    takeover = "never";
  };
}

Declared by:

flash

URL: https://github.com/folke/flash.nvim/

Maintainers: Quentin Boyer, Matt Sturgeon

plugins.flash.enable

Whether to enable flash.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.flash.package

The flash.nvim package to use.

Type: package

Default: pkgs.vimPlugins.flash-nvim

Declared by:

plugins.flash.autoLoad

Whether to automatically load flash.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.flash.lazyLoad

Lazy-load settings for flash.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.flash.lazyLoad.enable

lazy-loading for flash.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.flash.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.flash.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.flash.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.flash.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.flash.settings

Options provided to the require('flash').setup function.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.flash.settings.action

action to perform when picking a label. defaults to the jumping logic depending on the mode.

@type fun(match:Flash.Match, state:Flash.State)

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.flash.settings.config

Set config to a function to dynamically change the config.

@type fun(opts:Flash.Config)

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.flash.settings.continue

When true, flash will try to continue the last search.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.labels

Labels appear next to the matches, allowing you to quickly jump to any location. Labels are guaranteed not to exist as a continuation of the search pattern.

Type: null or string or raw lua code

Default: null

Plugin default: "asdfghjklqwertyuiopzxcvbnm"

Declared by:

plugins.flash.settings.pattern

Initial pattern to use when opening flash.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.flash.settings.highlight.backdrop

Show a backdrop with hl FlashBackdrop.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.highlight.matches

Highlight the search matches.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.highlight.priority

Extmark priority.

Type: null or positive integer, meaning >0, or raw lua code

Default: null

Plugin default: 5000

Declared by:

plugins.flash.settings.highlight.groups.backdrop

FlashBackdrop

Type: null or string or raw lua code

Default: null

Plugin default: "FlashBackdrop"

Declared by:

plugins.flash.settings.highlight.groups.current

FlashCurrent

Type: null or string or raw lua code

Default: null

Plugin default: "FlashCurrent"

Declared by:

plugins.flash.settings.highlight.groups.label

FlashLabel

Type: null or string or raw lua code

Default: null

Plugin default: "FlashLabel"

Declared by:

plugins.flash.settings.highlight.groups.match

FlashMatch

Type: null or string or raw lua code

Default: null

Plugin default: "FlashMatch"

Declared by:

plugins.flash.settings.jump.autojump

Automatically jump when there is only one match

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.jump.history

Add pattern to search history.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.jump.inclusive

You can force inclusive/exclusive jumps by setting the inclusive option. By default it will be automatically set based on the mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.flash.settings.jump.jumplist

Save location in the jumplist.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.jump.nohlsearch

Clear highlight after jump

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.jump.offset

jump position offset. Not used for range jumps. 0: default 1: when pos == “end” and pos < current position

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.flash.settings.jump.pos

Jump position

Type: null or one of “start”, “end”, “range” or raw lua code

Default: null

Plugin default: "start"

Declared by:

plugins.flash.settings.jump.register

Add pattern to search register.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.label.after

Show the label after the match

Type: null or boolean or list of signed integer or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.label.before

Show the label before the match

Type: null or boolean or list of signed integer or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.label.current

Add a label for the first match in the current window. You can always jump to the first match with <CR>

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.label.distance

for the current window, label targets closer to the cursor first

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.label.exclude

add any labels with the correct case here, that you want to exclude

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.flash.settings.label.format

With format, you can change how the label is rendered. Should return a list of [text, highlight] tuples.

@class Flash.Format @field state Flash.State @field match Flash.Match @field hl_group string @field after boolean @type fun(opts:Flash.Format): string[][]

Type: null or lua function string

Default: null

Plugin default:

''
  function(opts)
    return { { opts.match.label, opts.hl_group } }
  end
''

Declared by:

plugins.flash.settings.label.min_pattern_length

minimum pattrn length to show labels Ignored for custom labelers.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.flash.settings.label.reuse

flash tries to re-use labels that were already assigned to a position, when typing more characters. By default only lower-case labels are re-used.

Type: null or one of “lowercase”, “all”, “none” or raw lua code

Default: null

Plugin default: "lowercase"

Declared by:

plugins.flash.settings.label.style

position of the label extmark

Type: null or one of “eol”, “overlay”, “right_align”, “inline” or raw lua code

Default: null

Plugin default: "overlay"

Declared by:

plugins.flash.settings.label.uppercase

Allow uppercase labels.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.label.rainbow.enabled

Enable this to use rainbow colors to highlight labels Can be useful for visualizing Treesitter ranges.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.label.rainbow.shade

Type: null or integer between 1 and 9 (both inclusive)

Default: null

Plugin default: 5

Declared by:

plugins.flash.settings.modes.char

Options used when flash is activated through f, F, t, T, ; and , motions.

Type: null or (attribute set of anything)

Default: null

Declared by:

plugins.flash.settings.modes.char.enabled

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.char.action

action to perform when picking a label. defaults to the jumping logic depending on the mode.

@type fun(match:Flash.Match, state:Flash.State)

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.flash.settings.modes.char.autohide

Hide after jump when not using jump labels.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.char.char_actions

The direction for prev and next is determined by the motion. left and right are always left and right.

Type: null or lua function string

Default: null

Plugin default:

''
  function(motion)
    return {
      [";"] = "next", -- set to `right` to always go right
      [","] = "prev", -- set to `left` to always go left
      -- clever-f style
      [motion:lower()] = "next",
      [motion:upper()] = "prev",
      -- jump2d style: same case goes next, opposite case goes prev
      -- [motion] = "next",
      -- [motion:match("%l") and motion:upper() or motion:lower()] = "prev",
    }
  end
''

Declared by:

plugins.flash.settings.modes.char.config

Set config to a function to dynamically change the config.

@type fun(opts:Flash.Config)

Type: null or lua function string

Default: null

Plugin default:

''
  -- dynamic configuration for ftFT motions
  function(opts)
    -- autohide flash when in operator-pending mode
    opts.autohide = opts.autohide or (vim.fn.mode(true):find("no") and vim.v.operator == "y")
  
    -- disable jump labels when not enabled, when using a count,
    -- or when recording/executing registers
    opts.jump_labels = opts.jump_labels
      and vim.v.count == 0
      and vim.fn.reg_executing() == ""
      and vim.fn.reg_recording() == ""
  
    -- Show jump labels only in operator-pending mode
    -- opts.jump_labels = vim.v.count == 0 and vim.fn.mode(true):find("o")
  end
''

Declared by:

plugins.flash.settings.modes.char.continue

When true, flash will try to continue the last search.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.char.jump_labels

Show jump labels.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.char.keys

By default all keymaps are enabled, but you can disable some of them, by removing them from the list.

If you rather use another key, you can map them to something else.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  __unkeyed-0 = "f";
  __unkeyed-1 = "F";
  __unkeyed-2 = "t";
  __unkeyed-3 = "T";
  __unkeyed-4 = ";";
  __unkeyed-5 = ",";
}

Example:

{
  "," = "H";
  ";" = "L";
}

Declared by:

plugins.flash.settings.modes.char.labels

Labels appear next to the matches, allowing you to quickly jump to any location. Labels are guaranteed not to exist as a continuation of the search pattern.

Type: null or string or raw lua code

Default: null

Plugin default: "asdfghjklqwertyuiopzxcvbnm"

Declared by:

plugins.flash.settings.modes.char.multi_line

Set to false to use the current line only.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.char.pattern

Initial pattern to use when opening flash.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.flash.settings.modes.char.highlight.backdrop

Show a backdrop with hl FlashBackdrop.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.char.highlight.matches

Highlight the search matches.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.char.highlight.priority

Extmark priority.

Type: null or positive integer, meaning >0, or raw lua code

Default: null

Plugin default: 5000

Declared by:

plugins.flash.settings.modes.char.highlight.groups.backdrop

FlashBackdrop

Type: null or string or raw lua code

Default: null

Plugin default: "FlashBackdrop"

Declared by:

plugins.flash.settings.modes.char.highlight.groups.current

FlashCurrent

Type: null or string or raw lua code

Default: null

Plugin default: "FlashCurrent"

Declared by:

plugins.flash.settings.modes.char.highlight.groups.label

FlashLabel

Type: null or string or raw lua code

Default: null

Plugin default: "FlashLabel"

Declared by:

plugins.flash.settings.modes.char.highlight.groups.match

FlashMatch

Type: null or string or raw lua code

Default: null

Plugin default: "FlashMatch"

Declared by:

plugins.flash.settings.modes.char.jump.autojump

Automatically jump when there is only one match

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.char.jump.history

Add pattern to search history.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.char.jump.inclusive

You can force inclusive/exclusive jumps by setting the inclusive option. By default it will be automatically set based on the mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.flash.settings.modes.char.jump.jumplist

Save location in the jumplist.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.char.jump.nohlsearch

Clear highlight after jump

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.char.jump.offset

jump position offset. Not used for range jumps. 0: default 1: when pos == “end” and pos < current position

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.flash.settings.modes.char.jump.pos

Jump position

Type: null or one of “start”, “end”, “range” or raw lua code

Default: null

Plugin default: "start"

Declared by:

plugins.flash.settings.modes.char.jump.register

Add pattern to search register.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.char.label.after

Show the label after the match

Type: null or boolean or list of signed integer or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.char.label.before

Show the label before the match

Type: null or boolean or list of signed integer or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.char.label.current

Add a label for the first match in the current window. You can always jump to the first match with <CR>

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.char.label.distance

for the current window, label targets closer to the cursor first

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.char.label.exclude

add any labels with the correct case here, that you want to exclude

Type: null or string or raw lua code

Default: null

Plugin default: "hjkliardc"

Declared by:

plugins.flash.settings.modes.char.label.format

With format, you can change how the label is rendered. Should return a list of [text, highlight] tuples.

@class Flash.Format @field state Flash.State @field match Flash.Match @field hl_group string @field after boolean @type fun(opts:Flash.Format): string[][]

Type: null or lua function string

Default: null

Plugin default:

''
  function(opts)
    return { { opts.match.label, opts.hl_group } }
  end
''

Declared by:

plugins.flash.settings.modes.char.label.min_pattern_length

minimum pattrn length to show labels Ignored for custom labelers.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.flash.settings.modes.char.label.reuse

flash tries to re-use labels that were already assigned to a position, when typing more characters. By default only lower-case labels are re-used.

Type: null or one of “lowercase”, “all”, “none” or raw lua code

Default: null

Plugin default: "lowercase"

Declared by:

plugins.flash.settings.modes.char.label.style

position of the label extmark

Type: null or one of “eol”, “overlay”, “right_align”, “inline” or raw lua code

Default: null

Plugin default: "overlay"

Declared by:

plugins.flash.settings.modes.char.label.uppercase

Allow uppercase labels.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.char.label.rainbow.enabled

Enable this to use rainbow colors to highlight labels Can be useful for visualizing Treesitter ranges.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.char.label.rainbow.shade

Type: null or integer between 1 and 9 (both inclusive)

Default: null

Plugin default: 5

Declared by:

plugins.flash.settings.modes.char.prompt.enabled

Options for the floating window that shows the prompt, for regular jumps.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.char.prompt.prefix

Type: null or (list of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  [
    "⚡"
    "FlashPromptIcon"
  ]
]

Declared by:

plugins.flash.settings.modes.char.prompt.win_config

See :h nvim_open_win for more details.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  col = 0;
  height = 1;
  relative = "editor";
  row = -1;
  width = 1;
  zindex = 1000;
}

Declared by:

plugins.flash.settings.modes.char.remote_op.motion

For jump.pos = "range", this setting is ignored.

  • true: always enter a new motion when doing a remote operation
  • false: use the window’s cursor position and jump target
  • nil: act as true for remote windows, false for the current window

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.char.remote_op.restore

Restore window views and cursor position after doing a remote operation.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.char.search.exclude

Excluded filetypes and custom window filters.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "notify"
  "cmp_menu"
  "noice"
  "flash_prompt"
  {
    __raw = ''
      function(win)
        -- exclude non-focusable windows
        return not vim.api.nvim_win_get_config(win).focusable
      end
    '';
  }
]

Declared by:

plugins.flash.settings.modes.char.search.forward

Search direction

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.char.search.incremental

Behave like incsearch.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.char.search.max_length

Max pattern length. If the pattern length is equal to this labels will no longer be skipped. When it exceeds this length it will either end in a jump or terminate the search.

Type: null or value false (singular enum) or signed integer

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.char.search.mode

Each mode will take ignorecase and smartcase into account.

  • exact: exact match
  • search: regular search
  • fuzzy: fuzzy search
  • __raw fun(str): custom search function that returns a pattern

For example, to only match at the beginning of a word:

  function(str)
    return "\\<" .. str
  end

Type: null or one of “exact”, “search”, “fuzzy” or raw lua code

Default: null

Plugin default: "exact"

Declared by:

plugins.flash.settings.modes.char.search.multi_window

Search/jump in all windows

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.char.search.trigger

Optional trigger character that needs to be typed before a jump label can be used. It’s NOT recommended to set this, unless you know what you’re doing.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.flash.settings.modes.char.search.wrap

Continue searching after reaching the start/end of the file. When false, find only matches in the given direction

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.remote

Options used for remote flash.

Type: null or (attribute set of anything)

Default: null

Declared by:

plugins.flash.settings.modes.remote.action

action to perform when picking a label. defaults to the jumping logic depending on the mode.

@type fun(match:Flash.Match, state:Flash.State)

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.flash.settings.modes.remote.config

Set config to a function to dynamically change the config.

@type fun(opts:Flash.Config)

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.flash.settings.modes.remote.continue

When true, flash will try to continue the last search.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.remote.labels

Labels appear next to the matches, allowing you to quickly jump to any location. Labels are guaranteed not to exist as a continuation of the search pattern.

Type: null or string or raw lua code

Default: null

Plugin default: "asdfghjklqwertyuiopzxcvbnm"

Declared by:

plugins.flash.settings.modes.remote.pattern

Initial pattern to use when opening flash.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.flash.settings.modes.remote.highlight.backdrop

Show a backdrop with hl FlashBackdrop.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.remote.highlight.matches

Highlight the search matches.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.remote.highlight.priority

Extmark priority.

Type: null or positive integer, meaning >0, or raw lua code

Default: null

Plugin default: 5000

Declared by:

plugins.flash.settings.modes.remote.highlight.groups.backdrop

FlashBackdrop

Type: null or string or raw lua code

Default: null

Plugin default: "FlashBackdrop"

Declared by:

plugins.flash.settings.modes.remote.highlight.groups.current

FlashCurrent

Type: null or string or raw lua code

Default: null

Plugin default: "FlashCurrent"

Declared by:

plugins.flash.settings.modes.remote.highlight.groups.label

FlashLabel

Type: null or string or raw lua code

Default: null

Plugin default: "FlashLabel"

Declared by:

plugins.flash.settings.modes.remote.highlight.groups.match

FlashMatch

Type: null or string or raw lua code

Default: null

Plugin default: "FlashMatch"

Declared by:

plugins.flash.settings.modes.remote.jump.autojump

Automatically jump when there is only one match

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.remote.jump.history

Add pattern to search history.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.remote.jump.inclusive

You can force inclusive/exclusive jumps by setting the inclusive option. By default it will be automatically set based on the mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.flash.settings.modes.remote.jump.jumplist

Save location in the jumplist.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.remote.jump.nohlsearch

Clear highlight after jump

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.remote.jump.offset

jump position offset. Not used for range jumps. 0: default 1: when pos == “end” and pos < current position

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.flash.settings.modes.remote.jump.pos

Jump position

Type: null or one of “start”, “end”, “range” or raw lua code

Default: null

Plugin default: "start"

Declared by:

plugins.flash.settings.modes.remote.jump.register

Add pattern to search register.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.remote.label.after

Show the label after the match

Type: null or boolean or list of signed integer or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.remote.label.before

Show the label before the match

Type: null or boolean or list of signed integer or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.remote.label.current

Add a label for the first match in the current window. You can always jump to the first match with <CR>

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.remote.label.distance

for the current window, label targets closer to the cursor first

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.remote.label.exclude

add any labels with the correct case here, that you want to exclude

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.flash.settings.modes.remote.label.format

With format, you can change how the label is rendered. Should return a list of [text, highlight] tuples.

@class Flash.Format @field state Flash.State @field match Flash.Match @field hl_group string @field after boolean @type fun(opts:Flash.Format): string[][]

Type: null or lua function string

Default: null

Plugin default:

''
  function(opts)
    return { { opts.match.label, opts.hl_group } }
  end
''

Declared by:

plugins.flash.settings.modes.remote.label.min_pattern_length

minimum pattrn length to show labels Ignored for custom labelers.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.flash.settings.modes.remote.label.reuse

flash tries to re-use labels that were already assigned to a position, when typing more characters. By default only lower-case labels are re-used.

Type: null or one of “lowercase”, “all”, “none” or raw lua code

Default: null

Plugin default: "lowercase"

Declared by:

plugins.flash.settings.modes.remote.label.style

position of the label extmark

Type: null or one of “eol”, “overlay”, “right_align”, “inline” or raw lua code

Default: null

Plugin default: "overlay"

Declared by:

plugins.flash.settings.modes.remote.label.uppercase

Allow uppercase labels.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.remote.label.rainbow.enabled

Enable this to use rainbow colors to highlight labels Can be useful for visualizing Treesitter ranges.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.remote.label.rainbow.shade

Type: null or integer between 1 and 9 (both inclusive)

Default: null

Plugin default: 5

Declared by:

plugins.flash.settings.modes.remote.prompt.enabled

Options for the floating window that shows the prompt, for regular jumps.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.remote.prompt.prefix

Type: null or (list of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  [
    "⚡"
    "FlashPromptIcon"
  ]
]

Declared by:

plugins.flash.settings.modes.remote.prompt.win_config

See :h nvim_open_win for more details.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  col = 0;
  height = 1;
  relative = "editor";
  row = -1;
  width = 1;
  zindex = 1000;
}

Declared by:

plugins.flash.settings.modes.remote.remote_op.motion

For jump.pos = "range", this setting is ignored.

  • true: always enter a new motion when doing a remote operation
  • false: use the window’s cursor position and jump target
  • nil: act as true for remote windows, false for the current window

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.remote.remote_op.restore

Restore window views and cursor position after doing a remote operation.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.remote.search.exclude

Excluded filetypes and custom window filters.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "notify"
  "cmp_menu"
  "noice"
  "flash_prompt"
  {
    __raw = ''
      function(win)
        -- exclude non-focusable windows
        return not vim.api.nvim_win_get_config(win).focusable
      end
    '';
  }
]

Declared by:

plugins.flash.settings.modes.remote.search.forward

Search direction

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.remote.search.incremental

Behave like incsearch.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.remote.search.max_length

Max pattern length. If the pattern length is equal to this labels will no longer be skipped. When it exceeds this length it will either end in a jump or terminate the search.

Type: null or value false (singular enum) or signed integer

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.remote.search.mode

Each mode will take ignorecase and smartcase into account.

  • exact: exact match
  • search: regular search
  • fuzzy: fuzzy search
  • __raw fun(str): custom search function that returns a pattern

For example, to only match at the beginning of a word:

  function(str)
    return "\\<" .. str
  end

Type: null or one of “exact”, “search”, “fuzzy” or raw lua code

Default: null

Plugin default: "exact"

Declared by:

plugins.flash.settings.modes.remote.search.multi_window

Search/jump in all windows

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.remote.search.trigger

Optional trigger character that needs to be typed before a jump label can be used. It’s NOT recommended to set this, unless you know what you’re doing.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.flash.settings.modes.remote.search.wrap

Continue searching after reaching the start/end of the file. When false, find only matches in the given direction

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.search

Options used when flash is activated through a regular search, e.g. with / or ?.

Type: null or (attribute set of anything)

Default: null

Declared by:

plugins.flash.settings.modes.search.enabled

When true, flash will be activated during regular search by default. You can always toggle when searching with require("flash").toggle()

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.search.action

action to perform when picking a label. defaults to the jumping logic depending on the mode.

@type fun(match:Flash.Match, state:Flash.State)

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.flash.settings.modes.search.config

Set config to a function to dynamically change the config.

@type fun(opts:Flash.Config)

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.flash.settings.modes.search.continue

When true, flash will try to continue the last search.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.search.labels

Labels appear next to the matches, allowing you to quickly jump to any location. Labels are guaranteed not to exist as a continuation of the search pattern.

Type: null or string or raw lua code

Default: null

Plugin default: "asdfghjklqwertyuiopzxcvbnm"

Declared by:

plugins.flash.settings.modes.search.pattern

Initial pattern to use when opening flash.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.flash.settings.modes.search.highlight.backdrop

Show a backdrop with hl FlashBackdrop.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.search.highlight.matches

Highlight the search matches.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.search.highlight.priority

Extmark priority.

Type: null or positive integer, meaning >0, or raw lua code

Default: null

Plugin default: 5000

Declared by:

plugins.flash.settings.modes.search.highlight.groups.backdrop

FlashBackdrop

Type: null or string or raw lua code

Default: null

Plugin default: "FlashBackdrop"

Declared by:

plugins.flash.settings.modes.search.highlight.groups.current

FlashCurrent

Type: null or string or raw lua code

Default: null

Plugin default: "FlashCurrent"

Declared by:

plugins.flash.settings.modes.search.highlight.groups.label

FlashLabel

Type: null or string or raw lua code

Default: null

Plugin default: "FlashLabel"

Declared by:

plugins.flash.settings.modes.search.highlight.groups.match

FlashMatch

Type: null or string or raw lua code

Default: null

Plugin default: "FlashMatch"

Declared by:

plugins.flash.settings.modes.search.jump.autojump

Automatically jump when there is only one match

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.search.jump.history

Add pattern to search history.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.search.jump.inclusive

You can force inclusive/exclusive jumps by setting the inclusive option. By default it will be automatically set based on the mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.flash.settings.modes.search.jump.jumplist

Save location in the jumplist.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.search.jump.nohlsearch

Clear highlight after jump

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.search.jump.offset

jump position offset. Not used for range jumps. 0: default 1: when pos == “end” and pos < current position

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.flash.settings.modes.search.jump.pos

Jump position

Type: null or one of “start”, “end”, “range” or raw lua code

Default: null

Plugin default: "start"

Declared by:

plugins.flash.settings.modes.search.jump.register

Add pattern to search register.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.search.label.after

Show the label after the match

Type: null or boolean or list of signed integer or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.search.label.before

Show the label before the match

Type: null or boolean or list of signed integer or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.search.label.current

Add a label for the first match in the current window. You can always jump to the first match with <CR>

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.search.label.distance

for the current window, label targets closer to the cursor first

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.search.label.exclude

add any labels with the correct case here, that you want to exclude

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.flash.settings.modes.search.label.format

With format, you can change how the label is rendered. Should return a list of [text, highlight] tuples.

@class Flash.Format @field state Flash.State @field match Flash.Match @field hl_group string @field after boolean @type fun(opts:Flash.Format): string[][]

Type: null or lua function string

Default: null

Plugin default:

''
  function(opts)
    return { { opts.match.label, opts.hl_group } }
  end
''

Declared by:

plugins.flash.settings.modes.search.label.min_pattern_length

minimum pattrn length to show labels Ignored for custom labelers.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.flash.settings.modes.search.label.reuse

flash tries to re-use labels that were already assigned to a position, when typing more characters. By default only lower-case labels are re-used.

Type: null or one of “lowercase”, “all”, “none” or raw lua code

Default: null

Plugin default: "lowercase"

Declared by:

plugins.flash.settings.modes.search.label.style

position of the label extmark

Type: null or one of “eol”, “overlay”, “right_align”, “inline” or raw lua code

Default: null

Plugin default: "overlay"

Declared by:

plugins.flash.settings.modes.search.label.uppercase

Allow uppercase labels.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.search.label.rainbow.enabled

Enable this to use rainbow colors to highlight labels Can be useful for visualizing Treesitter ranges.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.search.label.rainbow.shade

Type: null or integer between 1 and 9 (both inclusive)

Default: null

Plugin default: 5

Declared by:

plugins.flash.settings.modes.search.prompt.enabled

Options for the floating window that shows the prompt, for regular jumps.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.search.prompt.prefix

Type: null or (list of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  [
    "⚡"
    "FlashPromptIcon"
  ]
]

Declared by:

plugins.flash.settings.modes.search.prompt.win_config

See :h nvim_open_win for more details.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  col = 0;
  height = 1;
  relative = "editor";
  row = -1;
  width = 1;
  zindex = 1000;
}

Declared by:

plugins.flash.settings.modes.search.remote_op.motion

For jump.pos = "range", this setting is ignored.

  • true: always enter a new motion when doing a remote operation
  • false: use the window’s cursor position and jump target
  • nil: act as true for remote windows, false for the current window

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.search.remote_op.restore

Restore window views and cursor position after doing a remote operation.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.treesitter

Options used for treesitter selections in require("flash").treesitter().

Type: null or (attribute set of anything)

Default: null

Declared by:

plugins.flash.settings.modes.treesitter.action

action to perform when picking a label. defaults to the jumping logic depending on the mode.

@type fun(match:Flash.Match, state:Flash.State)

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.flash.settings.modes.treesitter.config

Set config to a function to dynamically change the config.

@type fun(opts:Flash.Config)

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.flash.settings.modes.treesitter.continue

When true, flash will try to continue the last search.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.treesitter.labels

Labels appear next to the matches, allowing you to quickly jump to any location. Labels are guaranteed not to exist as a continuation of the search pattern.

Type: null or string or raw lua code

Default: null

Plugin default: "abcdefghijklmnopqrstuvwxyz"

Declared by:

plugins.flash.settings.modes.treesitter.pattern

Initial pattern to use when opening flash.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.flash.settings.modes.treesitter.highlight.backdrop

Show a backdrop with hl FlashBackdrop.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.treesitter.highlight.matches

Highlight the search matches.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.treesitter.highlight.priority

Extmark priority.

Type: null or positive integer, meaning >0, or raw lua code

Default: null

Plugin default: 5000

Declared by:

plugins.flash.settings.modes.treesitter.highlight.groups.backdrop

FlashBackdrop

Type: null or string or raw lua code

Default: null

Plugin default: "FlashBackdrop"

Declared by:

plugins.flash.settings.modes.treesitter.highlight.groups.current

FlashCurrent

Type: null or string or raw lua code

Default: null

Plugin default: "FlashCurrent"

Declared by:

plugins.flash.settings.modes.treesitter.highlight.groups.label

FlashLabel

Type: null or string or raw lua code

Default: null

Plugin default: "FlashLabel"

Declared by:

plugins.flash.settings.modes.treesitter.highlight.groups.match

FlashMatch

Type: null or string or raw lua code

Default: null

Plugin default: "FlashMatch"

Declared by:

plugins.flash.settings.modes.treesitter.jump.autojump

Automatically jump when there is only one match

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.treesitter.jump.history

Add pattern to search history.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.treesitter.jump.inclusive

You can force inclusive/exclusive jumps by setting the inclusive option. By default it will be automatically set based on the mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.flash.settings.modes.treesitter.jump.jumplist

Save location in the jumplist.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.treesitter.jump.nohlsearch

Clear highlight after jump

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.treesitter.jump.offset

jump position offset. Not used for range jumps. 0: default 1: when pos == “end” and pos < current position

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.flash.settings.modes.treesitter.jump.pos

Jump position

Type: null or one of “start”, “end”, “range” or raw lua code

Default: null

Plugin default: "range"

Declared by:

plugins.flash.settings.modes.treesitter.jump.register

Add pattern to search register.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.treesitter.label.after

Show the label after the match

Type: null or boolean or list of signed integer or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.treesitter.label.before

Show the label before the match

Type: null or boolean or list of signed integer or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.treesitter.label.current

Add a label for the first match in the current window. You can always jump to the first match with <CR>

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.treesitter.label.distance

for the current window, label targets closer to the cursor first

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.treesitter.label.exclude

add any labels with the correct case here, that you want to exclude

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.flash.settings.modes.treesitter.label.format

With format, you can change how the label is rendered. Should return a list of [text, highlight] tuples.

@class Flash.Format @field state Flash.State @field match Flash.Match @field hl_group string @field after boolean @type fun(opts:Flash.Format): string[][]

Type: null or lua function string

Default: null

Plugin default:

''
  function(opts)
    return { { opts.match.label, opts.hl_group } }
  end
''

Declared by:

plugins.flash.settings.modes.treesitter.label.min_pattern_length

minimum pattrn length to show labels Ignored for custom labelers.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.flash.settings.modes.treesitter.label.reuse

flash tries to re-use labels that were already assigned to a position, when typing more characters. By default only lower-case labels are re-used.

Type: null or one of “lowercase”, “all”, “none” or raw lua code

Default: null

Plugin default: "lowercase"

Declared by:

plugins.flash.settings.modes.treesitter.label.style

position of the label extmark

Type: null or one of “eol”, “overlay”, “right_align”, “inline” or raw lua code

Default: null

Plugin default: "inline"

Declared by:

plugins.flash.settings.modes.treesitter.label.uppercase

Allow uppercase labels.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.treesitter.label.rainbow.enabled

Enable this to use rainbow colors to highlight labels Can be useful for visualizing Treesitter ranges.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.treesitter.label.rainbow.shade

Type: null or integer between 1 and 9 (both inclusive)

Default: null

Plugin default: 5

Declared by:

plugins.flash.settings.modes.treesitter.prompt.enabled

Options for the floating window that shows the prompt, for regular jumps.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.treesitter.prompt.prefix

Type: null or (list of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  [
    "⚡"
    "FlashPromptIcon"
  ]
]

Declared by:

plugins.flash.settings.modes.treesitter.prompt.win_config

See :h nvim_open_win for more details.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  col = 0;
  height = 1;
  relative = "editor";
  row = -1;
  width = 1;
  zindex = 1000;
}

Declared by:

plugins.flash.settings.modes.treesitter.remote_op.motion

For jump.pos = "range", this setting is ignored.

  • true: always enter a new motion when doing a remote operation
  • false: use the window’s cursor position and jump target
  • nil: act as true for remote windows, false for the current window

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.treesitter.remote_op.restore

Restore window views and cursor position after doing a remote operation.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.treesitter.search.exclude

Excluded filetypes and custom window filters.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "notify"
  "cmp_menu"
  "noice"
  "flash_prompt"
  {
    __raw = ''
      function(win)
        -- exclude non-focusable windows
        return not vim.api.nvim_win_get_config(win).focusable
      end
    '';
  }
]

Declared by:

plugins.flash.settings.modes.treesitter.search.forward

Search direction

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.treesitter.search.incremental

Behave like incsearch.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.treesitter.search.max_length

Max pattern length. If the pattern length is equal to this labels will no longer be skipped. When it exceeds this length it will either end in a jump or terminate the search.

Type: null or value false (singular enum) or signed integer

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.treesitter.search.mode

Each mode will take ignorecase and smartcase into account.

  • exact: exact match
  • search: regular search
  • fuzzy: fuzzy search
  • __raw fun(str): custom search function that returns a pattern

For example, to only match at the beginning of a word:

  function(str)
    return "\\<" .. str
  end

Type: null or one of “exact”, “search”, “fuzzy” or raw lua code

Default: null

Plugin default: "exact"

Declared by:

plugins.flash.settings.modes.treesitter.search.multi_window

Search/jump in all windows

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.treesitter.search.trigger

Optional trigger character that needs to be typed before a jump label can be used. It’s NOT recommended to set this, unless you know what you’re doing.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.flash.settings.modes.treesitter.search.wrap

Continue searching after reaching the start/end of the file. When false, find only matches in the given direction

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

Options used when flash is activated through require("flash").treesitter_search().

Type: null or (attribute set of anything)

Default: null

Declared by:

plugins.flash.settings.modes.treesitter_search.action

action to perform when picking a label. defaults to the jumping logic depending on the mode.

@type fun(match:Flash.Match, state:Flash.State)

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.flash.settings.modes.treesitter_search.config

Set config to a function to dynamically change the config.

@type fun(opts:Flash.Config)

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.flash.settings.modes.treesitter_search.continue

When true, flash will try to continue the last search.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.treesitter_search.labels

Labels appear next to the matches, allowing you to quickly jump to any location. Labels are guaranteed not to exist as a continuation of the search pattern.

Type: null or string or raw lua code

Default: null

Plugin default: "asdfghjklqwertyuiopzxcvbnm"

Declared by:

plugins.flash.settings.modes.treesitter_search.pattern

Initial pattern to use when opening flash.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.flash.settings.modes.treesitter_search.highlight.backdrop

Show a backdrop with hl FlashBackdrop.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.treesitter_search.highlight.matches

Highlight the search matches.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.treesitter_search.highlight.priority

Extmark priority.

Type: null or positive integer, meaning >0, or raw lua code

Default: null

Plugin default: 5000

Declared by:

plugins.flash.settings.modes.treesitter_search.highlight.groups.backdrop

FlashBackdrop

Type: null or string or raw lua code

Default: null

Plugin default: "FlashBackdrop"

Declared by:

plugins.flash.settings.modes.treesitter_search.highlight.groups.current

FlashCurrent

Type: null or string or raw lua code

Default: null

Plugin default: "FlashCurrent"

Declared by:

plugins.flash.settings.modes.treesitter_search.highlight.groups.label

FlashLabel

Type: null or string or raw lua code

Default: null

Plugin default: "FlashLabel"

Declared by:

plugins.flash.settings.modes.treesitter_search.highlight.groups.match

FlashMatch

Type: null or string or raw lua code

Default: null

Plugin default: "FlashMatch"

Declared by:

plugins.flash.settings.modes.treesitter_search.jump.autojump

Automatically jump when there is only one match

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.treesitter_search.jump.history

Add pattern to search history.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.treesitter_search.jump.inclusive

You can force inclusive/exclusive jumps by setting the inclusive option. By default it will be automatically set based on the mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.flash.settings.modes.treesitter_search.jump.jumplist

Save location in the jumplist.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.treesitter_search.jump.nohlsearch

Clear highlight after jump

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.treesitter_search.jump.offset

jump position offset. Not used for range jumps. 0: default 1: when pos == “end” and pos < current position

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.flash.settings.modes.treesitter_search.jump.pos

Jump position

Type: null or one of “start”, “end”, “range” or raw lua code

Default: null

Plugin default: "range"

Declared by:

plugins.flash.settings.modes.treesitter_search.jump.register

Add pattern to search register.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.treesitter_search.label.after

Show the label after the match

Type: null or boolean or list of signed integer or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.treesitter_search.label.before

Show the label before the match

Type: null or boolean or list of signed integer or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.treesitter_search.label.current

Add a label for the first match in the current window. You can always jump to the first match with <CR>

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.treesitter_search.label.distance

for the current window, label targets closer to the cursor first

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.treesitter_search.label.exclude

add any labels with the correct case here, that you want to exclude

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.flash.settings.modes.treesitter_search.label.format

With format, you can change how the label is rendered. Should return a list of [text, highlight] tuples.

@class Flash.Format @field state Flash.State @field match Flash.Match @field hl_group string @field after boolean @type fun(opts:Flash.Format): string[][]

Type: null or lua function string

Default: null

Plugin default:

''
  function(opts)
    return { { opts.match.label, opts.hl_group } }
  end
''

Declared by:

plugins.flash.settings.modes.treesitter_search.label.min_pattern_length

minimum pattrn length to show labels Ignored for custom labelers.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.flash.settings.modes.treesitter_search.label.reuse

flash tries to re-use labels that were already assigned to a position, when typing more characters. By default only lower-case labels are re-used.

Type: null or one of “lowercase”, “all”, “none” or raw lua code

Default: null

Plugin default: "lowercase"

Declared by:

plugins.flash.settings.modes.treesitter_search.label.style

position of the label extmark

Type: null or one of “eol”, “overlay”, “right_align”, “inline” or raw lua code

Default: null

Plugin default: "inline"

Declared by:

plugins.flash.settings.modes.treesitter_search.label.uppercase

Allow uppercase labels.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.treesitter_search.label.rainbow.enabled

Enable this to use rainbow colors to highlight labels Can be useful for visualizing Treesitter ranges.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.treesitter_search.label.rainbow.shade

Type: null or integer between 1 and 9 (both inclusive)

Default: null

Plugin default: 5

Declared by:

plugins.flash.settings.modes.treesitter_search.prompt.enabled

Options for the floating window that shows the prompt, for regular jumps.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.treesitter_search.prompt.prefix

Type: null or (list of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  [
    "⚡"
    "FlashPromptIcon"
  ]
]

Declared by:

plugins.flash.settings.modes.treesitter_search.prompt.win_config

See :h nvim_open_win for more details.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  col = 0;
  height = 1;
  relative = "editor";
  row = -1;
  width = 1;
  zindex = 1000;
}

Declared by:

plugins.flash.settings.modes.treesitter_search.remote_op.motion

For jump.pos = "range", this setting is ignored.

  • true: always enter a new motion when doing a remote operation
  • false: use the window’s cursor position and jump target
  • nil: act as true for remote windows, false for the current window

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.treesitter_search.remote_op.restore

Restore window views and cursor position after doing a remote operation.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.treesitter_search.search.exclude

Excluded filetypes and custom window filters.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "notify"
  "cmp_menu"
  "noice"
  "flash_prompt"
  {
    __raw = ''
      function(win)
        -- exclude non-focusable windows
        return not vim.api.nvim_win_get_config(win).focusable
      end
    '';
  }
]

Declared by:

plugins.flash.settings.modes.treesitter_search.search.forward

Search direction

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.treesitter_search.search.incremental

Behave like incsearch.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.treesitter_search.search.max_length

Max pattern length. If the pattern length is equal to this labels will no longer be skipped. When it exceeds this length it will either end in a jump or terminate the search.

Type: null or value false (singular enum) or signed integer

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.modes.treesitter_search.search.mode

Each mode will take ignorecase and smartcase into account.

  • exact: exact match
  • search: regular search
  • fuzzy: fuzzy search
  • __raw fun(str): custom search function that returns a pattern

For example, to only match at the beginning of a word:

  function(str)
    return "\\<" .. str
  end

Type: null or one of “exact”, “search”, “fuzzy” or raw lua code

Default: null

Plugin default: "exact"

Declared by:

plugins.flash.settings.modes.treesitter_search.search.multi_window

Search/jump in all windows

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.modes.treesitter_search.search.trigger

Optional trigger character that needs to be typed before a jump label can be used. It’s NOT recommended to set this, unless you know what you’re doing.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.flash.settings.modes.treesitter_search.search.wrap

Continue searching after reaching the start/end of the file. When false, find only matches in the given direction

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.prompt.enabled

Options for the floating window that shows the prompt, for regular jumps.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.prompt.prefix

Type: null or (list of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  [
    "⚡"
    "FlashPromptIcon"
  ]
]

Declared by:

plugins.flash.settings.prompt.win_config

See :h nvim_open_win for more details.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  col = 0;
  height = 1;
  relative = "editor";
  row = -1;
  width = 1;
  zindex = 1000;
}

Declared by:

plugins.flash.settings.remote_op.motion

For jump.pos = "range", this setting is ignored.

  • true: always enter a new motion when doing a remote operation
  • false: use the window’s cursor position and jump target
  • nil: act as true for remote windows, false for the current window

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.remote_op.restore

Restore window views and cursor position after doing a remote operation.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.search.exclude

Excluded filetypes and custom window filters.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "notify"
  "cmp_menu"
  "noice"
  "flash_prompt"
  {
    __raw = ''
      function(win)
        -- exclude non-focusable windows
        return not vim.api.nvim_win_get_config(win).focusable
      end
    '';
  }
]

Declared by:

plugins.flash.settings.search.forward

Search direction

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.search.incremental

Behave like incsearch.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.search.max_length

Max pattern length. If the pattern length is equal to this labels will no longer be skipped. When it exceeds this length it will either end in a jump or terminate the search.

Type: null or value false (singular enum) or signed integer

Default: null

Plugin default: false

Declared by:

plugins.flash.settings.search.mode

Each mode will take ignorecase and smartcase into account.

  • exact: exact match
  • search: regular search
  • fuzzy: fuzzy search
  • __raw fun(str): custom search function that returns a pattern

For example, to only match at the beginning of a word:

  function(str)
    return "\\<" .. str
  end

Type: null or one of “exact”, “search”, “fuzzy” or raw lua code

Default: null

Plugin default: "exact"

Declared by:

plugins.flash.settings.search.multi_window

Search/jump in all windows

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flash.settings.search.trigger

Optional trigger character that needs to be typed before a jump label can be used. It’s NOT recommended to set this, unless you know what you’re doing.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.flash.settings.search.wrap

Continue searching after reaching the start/end of the file. When false, find only matches in the given direction

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

flit

URL: https://github.com/ggandor/flit.nvim/

Maintainers: Johan Larsson


f/F/t/T motions on steroids, building on the Leap interface.

plugins.flit.enable

Whether to enable flit.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.flit.package

The flit.nvim package to use.

Type: package

Default: pkgs.vimPlugins.flit-nvim

Declared by:

plugins.flit.autoLoad

Whether to automatically load flit.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.flit.lazyLoad

Lazy-load settings for flit.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.flit.lazyLoad.enable

lazy-loading for flit.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.flit.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.flit.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.flit.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.flit.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.flit.settings

Options provided to the require('flit').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  keys = {
    F = "F";
    T = "T";
    f = "f";
    t = "t";
  };
  labeled_modes = "nv";
  multiline = true;
}

Declared by:

plugins.flit.settings.clever_repeat

Whether to repeat with the trigger key itself.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flit.settings.keys

Key mappings.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  F = "F";
  T = "T";
  f = "f";
  t = "t";
}

Declared by:

plugins.flit.settings.labeled_modes

A string like "nv", "nvo", "o", etc.

Type: null or string or raw lua code

Default: null

Plugin default: "v"

Declared by:

plugins.flit.settings.multiline

Whether to enable multiline support.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flit.settings.opts

Like leaps similar argument (call-specific overrides).

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Example:

{
  equivalence_classes.__empty = null;
}

Declared by:

floaterm

URL: https://github.com/voldikss/vim-floaterm/

Maintainers: Gaetan Lepage

plugins.floaterm.enable

Whether to enable vim-floaterm.

Type: boolean

Default: false

Example: true

Declared by:

plugins.floaterm.package

The vim-floaterm package to use.

Type: package

Default: pkgs.vimPlugins.vim-floaterm

Declared by:

plugins.floaterm.autoLoad

Whether to automatically load vim-floaterm when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.floaterm.settings

The configuration options for floaterm without the floaterm_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal floaterm_foo_bar=1
  • hello = "world" -> :setglobal floaterm_hello="world"
  • some_toggle = true -> :setglobal floaterm_some_toggle
  • other_toggle = false -> :setglobal nofloaterm_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  height = 0.9;
  keymap_kill = "<Leader>fk";
  keymap_new = "<Leader>ft";
  keymap_next = "<Leader>fn";
  keymap_prev = "<Leader>fp";
  keymap_toggle = "<Leader>t";
  opener = "edit ";
  rootmarkers = [
    "build/CMakeFiles"
    ".project"
    ".git"
    ".hg"
    ".svn"
    ".root"
  ];
  title = "";
  width = 0.9;
}

Declared by:

plugins.floaterm.settings.autoclose

Whether to close floaterm window once a job gets finished.

  • 0 - Always do NOT close floaterm window.
  • 1 - Close window only if the job exits normally
  • 2 - Always close floaterm window.

Type: null or one of 0, 1, 2 or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.floaterm.settings.autohide

Whether to hide previous floaterms before switching to or opening a another one.

  • 0 - Always do NOT hide previous floaterm windows
  • 1 - Only hide those whose position (b:floaterm_position) is identical to that of the floaterm which will be opened
  • 2 - Always hide them

Type: null or one of 0, 1, 2 or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.floaterm.settings.autoinsert

Whether to enter `|Terminal-mode|` after opening a floaterm.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.floaterm.settings.borderchars

8 characters of the floating window border (top, right, bottom, left, topleft, topright, botright, botleft).

Type: null or string or raw lua code

Default: null

Plugin default: "─│─│┌┐┘└"

Declared by:

plugins.floaterm.settings.giteditor

Whether to override $GIT_EDITOR in floaterm terminals so git commands can open open an editor in the same neovim instance.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.floaterm.settings.height

Width of the floaterm window. It can be either an integer (number of lines) or a float between 0.0 and 1.0. In this case, the width is relative to lines.

Type: null or unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive)

Default: null

Plugin default: 0.6

Declared by:

plugins.floaterm.settings.keymap_first

Keyboard shortcut to navigate to the first terminal.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.floaterm.settings.keymap_hide

Keyboard shortcut to hide the floaterm window.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.floaterm.settings.keymap_kill

Keyboard shortcut to kill the floaterm window.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.floaterm.settings.keymap_last

Keyboard shortcut to navigate to the last terminal.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.floaterm.settings.keymap_new

Keyboard shortcut to open the floaterm window.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Example: "<F7>"

Declared by:

plugins.floaterm.settings.keymap_next

Keyboard shortcut to navigate to the next terminal.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Example: "<F9>"

Declared by:

plugins.floaterm.settings.keymap_prev

Keyboard shortcut to navigate to the previous terminal.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Example: "<F8>"

Declared by:

plugins.floaterm.settings.keymap_show

Keyboard shortcut to show the floaterm window.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.floaterm.settings.keymap_toggle

Keyboard shortcut to toggle the floaterm window.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Example: "<F12>"

Declared by:

plugins.floaterm.settings.opener

Command used for opening a file in the outside nvim from within :terminal.

Available: "edit", "split", "vsplit", "tabe", "drop" or user-defined commands.

Type: null or string or raw lua code

Default: null

Plugin default: "split"

Declared by:

plugins.floaterm.settings.position

The position of the floaterm window.

It’s recommended to have a look at those options meanings, e.g. :help :leftabove.

  • If wintype is "split" or "vsplit":

    • "leftabove"
    • "aboveleft"
    • "rightbelow"
    • "belowright"
    • "topleft"
    • "botright" (default)
  • If wintype is "float":

    • "top"
    • "bottom"
    • "left"
    • "right"
    • "topleft"
    • "topright"
    • "bottomleft"
    • "bottomright"
    • "center" (default)
    • "auto" (at the cursor place)

Type: null or string or raw lua code

Default: null

Declared by:

plugins.floaterm.settings.rootmarkers

Markers used to detect the project root directory when running.

:FloatermNew --cwd=<root>

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  ".project"
  ".git"
  ".hg"
  ".svn"
  ".root"
]

Declared by:

plugins.floaterm.settings.shell

Which shell should floaterm use. Default value is the same as your shell option.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.floaterm.settings.title

Title format in the floating/popup terminal window. If empty, the title won’t be show.

Type: null or string or raw lua code

Default: null

Plugin default: "floaterm: $1/$2"

Declared by:

plugins.floaterm.settings.titleposition

The position of the floaterm title.

Type: null or one of “left”, “center”, “right” or raw lua code

Default: null

Plugin default: "left"

Declared by:

plugins.floaterm.settings.width

Width of the floaterm window. It can be either an integer (number of columns) or a float between 0.0 and 1.0. In this case, the width is relative to columns.

Type: null or unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive)

Default: null

Plugin default: 0.6

Declared by:

plugins.floaterm.settings.wintype

Set it to "split" or "vsplit" if you don’t want to use floating or popup window.

Type: null or string or raw lua code

Default: null

Plugin default: "float"

Declared by:

flutter-tools

URL: https://github.com/nvim-flutter/flutter-tools.nvim/

Maintainers: Austin Horstman

plugins.flutter-tools.enable

Whether to enable flutter-tools.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.flutter-tools.package

The flutter-tools.nvim package to use.

Type: package

Default: pkgs.vimPlugins.flutter-tools-nvim

Declared by:

plugins.flutter-tools.autoLoad

Whether to automatically load flutter-tools.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.flutter-tools.lazyLoad

Lazy-load settings for flutter-tools.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.flutter-tools.lazyLoad.enable

lazy-loading for flutter-tools.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.flutter-tools.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.flutter-tools.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.flutter-tools.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.flutter-tools.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.flutter-tools.settings

Options provided to the require('flutter-tools').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  closing_tags = {
    enabled = false;
    highlight = "ErrorMsg";
    prefix = ">";
    priority = 10;
  };
  decorations = {
    statusline = {
      app_version = true;
      device = true;
    };
  };
  dev_tools = {
    auto_open_browser = true;
    autostart = true;
  };
  lsp = {
    color = {
      enabled = true;
    };
  };
  widget_guides = {
    enabled = true;
  };
}

Declared by:

plugins.flutter-tools.settings.flutter_lookup_cmd

The command used to find the directory where flutter is installed.

Type: null or string or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function get_default_lookup()
    local exepath = fn.exepath("flutter")
    local is_snap_installation = exepath and exepath:match("snap") or false
    return (path.is_linux and is_snap_installation) and "flutter sdk-path" or nil
  end
''

Example: "dirname $(which flutter)"

Declared by:

plugins.flutter-tools.settings.flutter_path

Absolute path to the flutter binary.

This takes priority over the flutter_lookup_cmd.

Type: null or string or raw lua code

Default: null

Plugin default: null

Example: "<full/path/if/needed>"

Declared by:

plugins.flutter-tools.settings.fvm

Takes priority over path, uses <workspace>/.fvm/flutter_sdk if enabled.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flutter-tools.settings.root_patterns

Patterns to find the root of your flutter project.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  ".git"
  "pubspec.yaml"
]

Declared by:

plugins.flutter-tools.settings.closing_tags.enabled

Set to false to disable closing tags.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flutter-tools.settings.closing_tags.highlight

Highlight group for the closing tag.

Type: null or string or raw lua code

Default: null

Plugin default: "Comment"

Example: "ErrorMsg"

Declared by:

plugins.flutter-tools.settings.closing_tags.prefix

Character to use for close tag.

Type: null or string or raw lua code

Default: null

Plugin default: "// "

Example: ">"

Declared by:

plugins.flutter-tools.settings.closing_tags.priority

Priority of virtual text in current line.

Consider to configure this when there is a possibility of multiple virtual text items in one line.

See priority option in |:help nvim_buf_set_extmark| for more information.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.flutter-tools.settings.debugger.enabled

Enable nvim-dap integration.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flutter-tools.settings.debugger.evaluate_to_string_in_debug_views

Whether to call toString() on objects in debug views like hovers and the variables list.

Invoking toString() has a performance cost and may introduce side-effects, although users may expect this functionality.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flutter-tools.settings.debugger.exception_breakpoints

If empty, dap will not stop on any exceptions. Otherwise it will stop on those specified.

See |:help dap.set_exception_breakpoints()| for more information.

Type: null or (list of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.flutter-tools.settings.debugger.register_configurations

Function to register configurations.

Type: null or raw lua code

Default: null

Plugin default: null

Example:

lib.nixvim.mkRaw ''
  function(paths)
    require("dap").configurations.dart = {
      --put here config that you would find in .vscode/launch.json
    }
    -- If you want to load .vscode launch.json automatically run the following:
    -- require("dap.ext.vscode").load_launchjs()
  end
''

Declared by:

plugins.flutter-tools.settings.decorations.statusline.app_version

Set to true to be able use the flutter_tools_decorations.app_version in your statusline.

This will show the current version of the flutter app from the pubspec.yaml file.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flutter-tools.settings.decorations.statusline.device

Set to true to be able use the flutter_tools_decorations.device in your statusline.

This will show the currently running device if an application was started with a specific device.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flutter-tools.settings.decorations.statusline.project_config

Set to true to be able use the flutter_tools_decorations.project_config in your statusline.

This will show the currently selected project configuration.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flutter-tools.settings.dev_log.enabled

Whether to enable dev_log.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flutter-tools.settings.dev_log.filter

Optional callback to filter the log.

Takes a log_line as string argument; returns a boolean or nil.

The log_line is only added to the output if the function returns true.

Type: null or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.flutter-tools.settings.dev_log.focus_on_open

Whether to focus on the newly opened log window.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flutter-tools.settings.dev_log.notify_errors

Whether notify the user when there is an error whilst running.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flutter-tools.settings.dev_log.open_cmd

Command to use to open the log buffer.

Type: null or string or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "('botright %dvnew'):format(math.max(vim.o.columns * 0.4, 50))"

Example: "15split"

Declared by:

plugins.flutter-tools.settings.dev_tools.auto_open_browser

Automatically opens devtools in the browser.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flutter-tools.settings.dev_tools.autostart

Whether to autostart devtools server if not detected.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flutter-tools.settings.lsp.capabilities

Provide a custom value for capabilities. Example: lsp_status capabilities.

Type: null or raw lua code

Default: null

Example:

lib.nixvim.mkRaw ''
  function(config)
    config.specificThingIDontWant = false
    return config
  end
''

Declared by:

plugins.flutter-tools.settings.lsp.on_attach

Provide a custom on_attach function.

Type: null or raw lua code

Default: null

Declared by:

plugins.flutter-tools.settings.lsp.settings

Settings for the dart language server. See here for details on each option.

Type: null or (attribute set of anything)

Default: null

Example:

{
  analysisExcludedFolders = [
    "<path-to-flutter-sdk-packages>"
  ];
  completeFunctionCalls = true;
  enableSnippets = true;
  renameFilesWithClasses = "prompt";
  showTodos = true;
  updateImportsOnRename = true;
}

Declared by:

plugins.flutter-tools.settings.lsp.color.enabled

Show the derived colors for dart variables. Set this to true to enable color variables highlighting (only supported on flutter >= 2.10).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flutter-tools.settings.lsp.color.background

Whether to highlight the background.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flutter-tools.settings.lsp.color.background_color

Background color. Required, when background is transparent.

Type: null or string or attribute set of (unsigned integer, meaning >=0)

Default: null

Plugin default: null

Example:

{
  b = 24;
  g = 17;
  r = 19;
}

Declared by:

plugins.flutter-tools.settings.lsp.color.foreground

Whether to highlight the foreground.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flutter-tools.settings.lsp.color.virtual_text

Whether to show the highlight using virtual text.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.flutter-tools.settings.lsp.color.virtual_text_str

The virtual text character to highlight.

Type: null or string or raw lua code

Default: null

Plugin default: "■"

Declared by:

plugins.flutter-tools.settings.outline.auto_open

If true this will open the outline automatically when it is first populated.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.flutter-tools.settings.outline.open_cmd

Command to use to open the outline buffer.

Type: null or string or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "('botright %dvnew'):format(math.max(vim.o.columns * 0.3, 40))"

Example: "30vnew"

Declared by:

plugins.flutter-tools.settings.ui.border

Defines the border to use for all floating windows. Accepts same border values as nvim_open_win(). See :help nvim_open_win() for more info.

Type: null or string or list of string or list of list of string or raw lua code

Default: null

Plugin default: "single"

Example: "rounded"

Declared by:

plugins.flutter-tools.settings.widget_guides.enabled

Whether to enable widget guides.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

friendly-snippets

URL: https://github.com/rafamadriz/friendly-snippets/

Maintainers: Gaetan Lepage

plugins.friendly-snippets.enable

Whether to enable friendly-snippets.

Type: boolean

Default: false

Example: true

Declared by:

plugins.friendly-snippets.package

The friendly-snippets package to use.

Type: package

Default: pkgs.vimPlugins.friendly-snippets

Declared by:

plugins.friendly-snippets.autoLoad

Whether to automatically load friendly-snippets when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

fugit2

URL: https://github.com/SuperBo/fugit2.nvim/

Maintainers: Gaetan Lepage

plugins.fugit2.enable

Whether to enable fugit2.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.fugit2.package

The fugit2.nvim package to use.

Type: package

Default: pkgs.vimPlugins.fugit2-nvim

Declared by:

plugins.fugit2.autoLoad

Whether to automatically load fugit2.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.fugit2.lazyLoad

Lazy-load settings for fugit2.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.fugit2.lazyLoad.enable

lazy-loading for fugit2.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.fugit2.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.fugit2.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.fugit2.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.fugit2.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.fugit2.settings

Options provided to the require('fugit2').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  external_diffview = true;
  height = "90%";
  width = "62%";
}

Declared by:

plugins.fugit2.settings.blame_info_height

Height of blame hunk detail popup.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.fugit2.settings.blame_info_width

Width of blame hunk detail popup.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 60

Declared by:

plugins.fugit2.settings.blame_priority

Priority of blame virtual text.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.fugit2.settings.colorscheme

Custom colorscheme specification.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.fugit2.settings.content_width

File view content width.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 60

Declared by:

plugins.fugit2.settings.external_diffview

Whether to use external diffview.nvim or Fugit2 implementation.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.fugit2.settings.gpgme_path

Path to the gpgme lib.

Type: null or string or raw lua code

Default: null

Plugin default: "gpgme"

Declared by:

plugins.fugit2.settings.height

Main popup height.

Type: null or string or (unsigned integer, meaning >=0)

Default: null

Plugin default: "60%"

Declared by:

plugins.fugit2.settings.libgit2_path

Path to libgit2 lib if not set via environments.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.fugit2.settings.max_width

Main popup width when expand patch view.

Type: null or string or (unsigned integer, meaning >=0)

Default: null

Plugin default: "80%"

Declared by:

plugins.fugit2.settings.min_width

File view width when expand patch view.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 50

Declared by:

plugins.fugit2.settings.show_patch

Whether to show patch for active file when open fugit2 main window.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.fugit2.settings.width

Main popup width.

Type: null or string or (unsigned integer, meaning >=0)

Default: null

Plugin default: 100

Declared by:

fugitive

URL: https://github.com/tpope/vim-fugitive/

Maintainers: Gaetan Lepage

plugins.fugitive.enable

Whether to enable vim-fugitive.

Type: boolean

Default: false

Example: true

Declared by:

plugins.fugitive.package

The vim-fugitive package to use.

Type: package

Default: pkgs.vimPlugins.vim-fugitive

Declared by:

plugins.fugitive.autoLoad

Whether to automatically load vim-fugitive when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

fzf-lua

URL: https://github.com/ibhagwan/fzf-lua

Maintainers: Gaetan Lepage

plugins.fzf-lua.enable

Whether to enable fzf-lua.

Type: boolean

Default: false

Example: true

Declared by:

plugins.fzf-lua.package

The fzf-lua package to use.

Type: package

Default: pkgs.vimPlugins.fzf-lua

Declared by:

plugins.fzf-lua.autoLoad

Whether to automatically load fzf-lua when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.fzf-lua.keymaps

Keymaps for Fzf-Lua.

Type: attribute set of (string or (submodule))

Default: { }

Example:

{
  "<leader>fg" = "live_grep";
  "<C-p>" = {
    action = "git_files";
    settings = {
      previewers.cat.cmd = lib.getExe' pkgs.coreutils "cat";
      winopts.height = 0.5;
    };
    options = {
      silent = true;
      desc = "Fzf-Lua Git Files";
    };
  };
};

Declared by:

plugins.fzf-lua.profile

Preconfigured profile to use

Type: null or one of “default”, “fzf-native”, “fzf-tmux”, “fzf-vim”, “max-perf”, “telescope”, “skim” or raw lua code

Default: null

Plugin default: "default"

Declared by:

plugins.fzf-lua.lazyLoad

Lazy-load settings for fzf-lua.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.fzf-lua.lazyLoad.enable

lazy-loading for fzf-lua

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.fzf-lua.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.fzf-lua.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.fzf-lua.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.fzf-lua.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.fzf-lua.settings

Options provided to the require('fzf-lua').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  files = {
    color_icons = true;
    file_icons = true;
    find_opts = {
      __raw = "[[-type f -not -path '*.git/objects*' -not -path '*.env*']]";
    };
    multiprocess = true;
    prompt = "Files❯ ";
  };
  winopts = {
    col = 0.3;
    height = 0.4;
    row = 0.99;
    width = 0.93;
  };
}

Declared by:

plugins.fzf-lua.settings.fzf_bin

The path to the fzf binary to use.

Example: "skim"

Type: null or string or raw lua code

Default: null

Declared by:

git-conflict

URL: https://github.com/akinsho/git-conflict.nvim/

Maintainers: Gaetan Lepage

plugins.git-conflict.enable

Whether to enable git-conflict.

Type: boolean

Default: false

Example: true

Declared by:

plugins.git-conflict.package

The git-conflict package to use.

Type: package

Default: pkgs.vimPlugins.git-conflict-nvim

Declared by:

plugins.git-conflict.autoLoad

Whether to automatically load git-conflict when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.git-conflict.lazyLoad

Lazy-load settings for git-conflict.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.git-conflict.lazyLoad.enable

lazy-loading for git-conflict

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.git-conflict.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.git-conflict.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.git-conflict.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.git-conflict.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.git-conflict.settings

Options provided to the require('git-conflict').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  default_commands = true;
  default_mappings = {
    both = "b";
    next = "n";
    none = "0";
    ours = "o";
    prev = "p";
    theirs = "t";
  };
  disable_diagnostics = false;
  highlights = {
    current = "DiffText";
    incoming = "DiffAdd";
  };
  list_opener = "copen";
}

Declared by:

plugins.git-conflict.settings.default_commands

Set to false to disable commands created by this plugin.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.git-conflict.settings.default_mappings

This plugin offers default buffer local mappings inside conflicted files. This is primarily because applying these mappings only to relevant buffers is impossible through global mappings.

Set to false to disable mappings entirely.

Defaults (if left true):

  {
    ours = "co";
    theirs = "ct";
    none = "c0";
    both = "cb";
    next = "[x";
    prev = "]x";
  }

Type: null or boolean or attribute set of string

Default: null

Plugin default: true

Declared by:

plugins.git-conflict.settings.disable_diagnostics

This will disable the diagnostics in a buffer whilst it is conflicted.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.git-conflict.settings.list_opener

Command or function to open the conflicts list.

Type: null or string or raw lua code

Default: null

Plugin default: "copen"

Declared by:

plugins.git-conflict.settings.highlights.ancestor

Which highlight group to use for ancestor.

Plugin default: null

Type: null or string or raw lua code

Default: null

Declared by:

plugins.git-conflict.settings.highlights.current

Which highlight group to use for current changes.

Type: null or string or raw lua code

Default: null

Plugin default: "DiffText"

Declared by:

plugins.git-conflict.settings.highlights.incoming

Which highlight group to use for incoming changes.

Type: null or string or raw lua code

Default: null

Plugin default: "DiffAdd"

Declared by:

git-worktree

URL: https://github.com/polarmutex/git-worktree.nvim/

Maintainers: Austin Horstman

plugins.git-worktree.enable

Whether to enable git-worktree.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.git-worktree.enableTelescope

Whether to enable telescope integration.

Type: boolean

Default: false

Example: true

Declared by:

plugins.git-worktree.package

The git-worktree.nvim package to use.

Type: package

Default: pkgs.vimPlugins.git-worktree-nvim

Declared by:

plugins.git-worktree.autoLoad

Whether to automatically load git-worktree.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.git-worktree.lazyLoad

Lazy-load settings for git-worktree.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.git-worktree.lazyLoad.enable

lazy-loading for git-worktree.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.git-worktree.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.git-worktree.settings

Plugin configuration (vim.g.git_worktree).

Type: attribute set of anything

Default: { }

Example:

{
  autopush = true;
  change_directory_command = "z";
  clear_jumps_on_change = false;
  update_on_change = false;
}

Declared by:

plugins.git-worktree.settings.autopush

When creating a new worktree, it will push the branch to the upstream then perform a git rebase.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.git-worktree.settings.change_directory_command

The vim command used to change to the new worktree directory. Set this to tcd if you want to only change the pwd for the current vim Tab.

Type: null or string or raw lua code

Default: null

Plugin default: "cd"

Declared by:

plugins.git-worktree.settings.clear_jumps_on_change

If set to true every time you switch branches, your jumplist will be cleared so that you don’t accidentally go backward to a different branch and edit the wrong files.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.git-worktree.settings.update_on_change

If set to true updates the current buffer to point to the new work tree if the file is found in the new project. Otherwise, the following command will be run.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.git-worktree.settings.update_on_change_command

The vim command to run during the update_on_change event. Note, that this command will only be run when the current file is not found in the new worktree. This option defaults to e . which opens the root directory of the new worktree.

Type: null or string or raw lua code

Default: null

Plugin default: "e ."

Declared by:

gitblame

URL: https://github.com/f-person/git-blame.nvim/

Maintainers: Gaetan Lepage

plugins.gitblame.enable

Whether to enable git-blame.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.gitblame.package

The git-blame.nvim package to use.

Type: package

Default: pkgs.vimPlugins.git-blame-nvim

Declared by:

plugins.gitblame.autoLoad

Whether to automatically load git-blame.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.gitblame.lazyLoad

Lazy-load settings for git-blame.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.gitblame.lazyLoad.enable

lazy-loading for git-blame.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.gitblame.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.gitblame.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.gitblame.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.gitblame.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.gitblame.settings

Options provided to the require('gitblame').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  date_format = "%r";
  delay = 1000;
  display_virtual_text = false;
  highlight_group = "Question";
  ignored_filetypes = [
    "lua"
    "c"
  ];
  message_template = "<summary> • <date> • <author>";
  message_when_not_committed = "Oh please, commit this !";
  set_extmark_options = {
    priority = 7;
  };
  use_blame_commit_file_urls = true;
  virtual_text_column = 80;
}

Declared by:

plugins.gitblame.settings.enabled

Enables the plugin on Neovim startup. You can toggle git blame messages on/off with the :GitBlameToggle command.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitblame.settings.clear_event

If you are experiencing poor performance (e.g. in particularly large projects) you can use CursorHoldI instead of the default CursorMovedI autocommand to limit the frequency of events being run.

Type: null or string or raw lua code

Default: null

Plugin default: "CursorMovedI"

Declared by:

plugins.gitblame.settings.clipboard_register

By default the :GitBlameCopySHA, :GitBlameCopyFileURL and :GitBlameCopyCommitURL commands use the + register. Set this value if you would like to use a different register (such as *).

Type: null or string or raw lua code

Default: null

Plugin default: "+"

Declared by:

plugins.gitblame.settings.date_format

The format of the date fields in message_template.

See upstream doc for the available options.

Type: null or string or raw lua code

Default: null

Plugin default: "%c"

Declared by:

plugins.gitblame.settings.delay

The delay in milliseconds after which the blame info will be displayed.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 250

Declared by:

plugins.gitblame.settings.display_virtual_text

If the blame message should be displayed as virtual text. You may want to disable this if you display the blame message in statusline.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitblame.settings.highlight_group

The highlight group for virtual text.

Type: null or string or raw lua code

Default: null

Plugin default: "Comment"

Declared by:

plugins.gitblame.settings.ignored_filetypes

A list of filetypes for which gitblame information will not be displayed.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.gitblame.settings.message_template

The template for the blame message that will be shown.

Available options: <author>, <committer>, <date>, <committer-date>, <summary>, <sha>.

Type: null or string or raw lua code

Default: null

Plugin default: " <author> • <date> • <summary>"

Declared by:

plugins.gitblame.settings.message_when_not_committed

The blame message that will be shown when the current modification hasn’t been committed yet.

Supports the same template options as message_template.

Type: null or string or raw lua code

Default: null

Plugin default: " Not Committed Yet"

Declared by:

plugins.gitblame.settings.schedule_event

If you are experiencing poor performance (e.g. in particularly large projects) you can use CursorHold instead of the default CursorMoved autocommand to limit the frequency of events being run.

Type: null or string or raw lua code

Default: null

Plugin default: "CursorMoved"

Declared by:

plugins.gitblame.settings.set_extmark_options

nvim_buf_set_extmark is the function used for setting the virtual text. You can view an up-to-date full list of options in the Neovim documentation.

Warning: overwriting id and virt_text will break the plugin behavior.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.gitblame.settings.use_blame_commit_file_urls

By default the commands GitBlameOpenFileURL and GitBlameCopyFileURL open the current file at latest branch commit. If you would like to open these files at the latest blame commit (in other words, the commit marked by the blame), set this to true. For ranges, the blame selected will be the most recent blame from the range.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.gitblame.settings.virtual_text_column

Have the blame message start at a given column instead of EOL. If the current line is longer than the specified column value, the blame message will default to being displayed at EOL.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: null

Declared by:

gitgutter

URL: https://github.com/airblade/vim-gitgutter/

Maintainers: Gaetan Lepage

plugins.gitgutter.enable

Whether to enable vim-gitgutter.

Type: boolean

Default: false

Example: true

Declared by:

plugins.gitgutter.package

The vim-gitgutter package to use.

Type: package

Default: pkgs.vimPlugins.vim-gitgutter

Declared by:

plugins.gitgutter.autoLoad

Whether to automatically load vim-gitgutter when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.gitgutter.grepPackage

The gnugrep package to use.

Type: null or package

Default: pkgs.gnugrep

Declared by:

plugins.gitgutter.recommendedSettings

Set recommended neovim option.

Type: boolean

Default: true

Declared by:

plugins.gitgutter.settings

The configuration options for gitgutter without the gitgutter_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal gitgutter_foo_bar=1
  • hello = "world" -> :setglobal gitgutter_hello="world"
  • some_toggle = true -> :setglobal gitgutter_some_toggle
  • other_toggle = false -> :setglobal nogitgutter_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  preview_win_floating = true;
  set_sign_backgrounds = true;
  sign_modified_removed = "*";
  sign_priority = 20;
}

Declared by:

plugins.gitgutter.settings.enabled

Controls whether or not the plugin is on at startup.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitgutter.settings.async

Controls whether or not diffs are run in the background.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitgutter.settings.close_preview_on_escape

Whether pressing <Esc> in a preview window closes it.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.gitgutter.settings.diff_args

Use this option to pass any extra arguments to git-diff.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Example: "-w"

Declared by:

plugins.gitgutter.settings.diff_base

By default buffers are diffed against the index. Use this option to diff against a revision instead.

If you are looking at a previous version of a file with Fugitive (e.g. via :0Gclog), gitgutter sets the diff base to the parent of the current revision.

This setting is ignore when the diff is relative to the working tree (diff_relative_to).

Type: null or string or raw lua code

Default: null

Plugin default: ""

Example: ""

Declared by:

plugins.gitgutter.settings.diff_relative_to

By default buffers are diffed against the index. Use this option to diff against the working tree.

Type: null or string or raw lua code

Default: null

Plugin default: "index"

Example: "working_tree"

Declared by:

plugins.gitgutter.settings.floating_window_options

This dictionary is passed directly to |nvim_open_win()|.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  col = 0;
  height = "&previewheight";
  relative = "cursor";
  row = 1;
  style = "minimal";
  width = 42;
}

Declared by:

plugins.gitgutter.settings.git_args

Use this option to pass any extra arguments to git when running git-diff.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Example: "--gitdir=\"\""

Declared by:

plugins.gitgutter.settings.git_executable

This option determines what git binary to use. Set this if git is not on your path.

Type: null or string or raw lua code

Default: null

Plugin default: "git"

Example: lib.getExe pkgs.git

Declared by:

plugins.gitgutter.settings.grep

The plugin pipes the output of git-diff into grep to minimise the amount of data vim has to process. Set this option if grep is not on your path.

grep must produce plain-text output without any ANSI escape codes or colours. Use this option to turn off colours if necessary (grep --color=never for example).

If you do not want to use grep at all (perhaps to debug why signs are not showing), set this option to an empty string.

Type: null or string or raw lua code

Default: null

Plugin default: "grep"

Example: "grep --color=never"

Declared by:

plugins.gitgutter.settings.highlight_linenrs

Determines whether or not to show line number highlights.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.gitgutter.settings.highlight_lines

Determines whether or not to show line highlights.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.gitgutter.settings.log

When switched on, the plugin logs to gitgutter.log in the directory where it is installed. Additionally it logs channel activity to channel.log.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.gitgutter.settings.map_keys

Controls whether or not the plugin provides mappings. See |gitgutter-mappings|.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitgutter.settings.max_signs

Sets the maximum number of signs to show in a buffer.

To avoid slowing down the GUI the number of signs can be capped. When the number of changed lines exceeds this value, the plugin removes all signs and displays a warning message.

When set to -1 the limit is not applied.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: -1

Declared by:

plugins.gitgutter.settings.preview_win_floating

Whether to use floating/popup windows for hunk previews.

Note that if you use popup windows on Vim you will not be able to stage partial hunks via the preview window.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitgutter.settings.preview_win_location

This option determines where the preview window pops up as a result of the :GitGutterPreviewHunk command.

See the end of the |opening-window| docs.

Type: null or one of “bo”, “to”, “bel”, “abo” or raw lua code

Default: null

Plugin default: "bo"

Declared by:

plugins.gitgutter.settings.set_sign_backgrounds

Only applies to existing GitGutter* highlight groups. See |gitgutter-highlights|.

Controls whether to override the signs’ background colours to match the |hl-SignColumn|.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.gitgutter.settings.show_msg_on_hunk_jumping

When switched on, a message like “Hunk 4 of 11” is shown on hunk jumping.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitgutter.settings.sign_added

Icon for the added sign.

You can use unicode characters but not images. Signs must not take up more than 2 columns.

Type: null or string or raw lua code

Default: null

Plugin default: "+"

Declared by:

plugins.gitgutter.settings.sign_allow_clobber

Determines whether gitgutter preserves non-gitgutter signs. When true, gitgutter will not preserve non-gitgutter signs.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitgutter.settings.sign_modified

Icon for the modified sign.

You can use unicode characters but not images. Signs must not take up more than 2 columns.

Type: null or string or raw lua code

Default: null

Plugin default: "~"

Declared by:

plugins.gitgutter.settings.sign_modified_removed

Icon for the modified_removed sign.

You can use unicode characters but not images. Signs must not take up more than 2 columns.

Type: null or string or raw lua code

Default: null

Plugin default: "~_"

Declared by:

plugins.gitgutter.settings.sign_priority

Sets the |sign-priority| gitgutter assigns to its signs.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.gitgutter.settings.sign_removed

Icon for the removed sign.

You can use unicode characters but not images. Signs must not take up more than 2 columns.

Type: null or string or raw lua code

Default: null

Plugin default: "_"

Declared by:

plugins.gitgutter.settings.sign_removed_above_and_below

Icon for the removed_above_and_below sign.

You can use unicode characters but not images. Signs must not take up more than 2 columns.

Type: null or string or raw lua code

Default: null

Plugin default: "_¯"

Declared by:

plugins.gitgutter.settings.sign_removed_first_line

Icon for the removed_first_line sign.

You can use unicode characters but not images. Signs must not take up more than 2 columns.

Type: null or string or raw lua code

Default: null

Plugin default: "‾"

Declared by:

plugins.gitgutter.settings.signs

Determines whether or not to show signs.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitgutter.settings.terminal_reports_focus

Normally the plugin uses |FocusGained| to force-update all buffers when Vim receives focus. However some terminals do not report focus events and so the |FocusGained| autocommand never fires.

If this applies to you, either install something like Terminus to make |FocusGained| work or set this option to false.

If you use tmux, try this in your tmux.conf:

set -g focus-events on

When this option is false, the plugin force-updates the buffer on |BufEnter| (instead of only updating if the buffer’s contents has changed since the last update).

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitgutter.settings.use_location_list

When switched on, the :GitGutterQuickFix command populates the location list of the current window instead of the global quickfix list.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

gitignore

URL: https://github.com/wintermute-cell/gitignore.nvim/

Maintainers: Gaetan Lepage

plugins.gitignore.enable

Whether to enable gitignore.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.gitignore.package

The gitignore.nvim package to use.

Type: package

Default: pkgs.vimPlugins.gitignore-nvim

Declared by:

plugins.gitignore.autoLoad

Whether to automatically load gitignore.nvim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.gitignore.keymap

Keyboard shortcut for the gitignore.generate command. Can be:

  • A string: which key to bind
  • An attrs: if you want to customize the mode and/or the options of the keymap (desc, silent, …)

Type: null or string or (submodule)

Default: null

Example: "<leader>gi"

Declared by:

gitlab

URL: https://gitlab.com/gitlab-org/editor-extensions/gitlab.vim

Maintainers: Gaetan Lepage

plugins.gitlab.enable

Whether to enable gitlab.vim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.gitlab.package

The gitlab.vim package to use.

Type: package

Default: pkgs.vimPlugins.gitlab-vim

Declared by:

plugins.gitlab.autoLoad

Whether to automatically load gitlab.vim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.gitlab.lazyLoad

Lazy-load settings for gitlab.vim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.gitlab.lazyLoad.enable

lazy-loading for gitlab.vim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.gitlab.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.gitlab.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.gitlab.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.gitlab.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.gitlab.settings

Options provided to the require('gitlab').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  code_suggestions = {
    auto_filetypes = [
      "ruby"
    ];
  };
}

Declared by:

plugins.gitlab.settings.gitlab_url

The GitLab instance url to use if not https://gitlab.com.

Type: null or string or raw lua code

Default: null

Plugin default: "https://gitlab.com"

Declared by:

plugins.gitlab.settings.minimal_message_level

Minimal message level for logs.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.gitlab.settings.code_suggestions.enabled

Whether to enable |gitlab-code-suggestions| via the LSP binary.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitlab.settings.code_suggestions.auto_filetypes

Filetypes to automatically invoke |gitlab.code_suggestions.start()|.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "c"
  "cpp"
  "csharp"
  "go"
  "java"
  "javascript"
  "javascriptreact"
  "kotlin"
  "markdown"
  "objective-c"
  "objective-cpp"
  "php"
  "python"
  "ruby"
  "rust"
  "scala"
  "sql"
  "swift"
  "terraform"
  "typescript"
  "typescriptreact"
  "sh"
  "html"
  "css"
]

Declared by:

plugins.gitlab.settings.code_suggestions.fix_newlines

Whether to replace newlines that have become null-byte due to switching between encodings.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitlab.settings.code_suggestions.lsp_binary_path

The path where the node executable is available.

By default, this option is set to "node" which will look for nodejs in your $PATH. To ensure that node will always be in your $PATH, you may set the nodePackage option.

Alternatively, you can set this option to lib.getExe pkgs.nodejs (or any other package).

Type: null or string or raw lua code

Default: null

Plugin default: "node"

Example: lib.getExe pkgs.nodejs

Declared by:

plugins.gitlab.settings.code_suggestions.offset_encoding

Which offset encoding to use.

Type: null or string or raw lua code

Default: null

Plugin default: "utf-16"

Declared by:

plugins.gitlab.settings.code_suggestions.redact_secrets

Whether to redact secrets.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitlab.settings.language_server.workspace_settings.codeCompletion.enableSecretRedaction

Whether to enable secret redactions in completion.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitlab.settings.language_server.workspace_settings.telemetry.enabled

Whether to enable telemetry.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitlab.settings.language_server.workspace_settings.telemetry.trackingUrl

URL of the telemetry service.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.gitlab.settings.resource_editing.enable

Whether to enable resource editing.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.gitlab.settings.statuslines.enable

Whether to enable statuslines.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitlinker.enable

Whether to enable gitlinker.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.gitlinker.package

The gitlinker.nvim package to use.

Type: package

Default: pkgs.vimPlugins.gitlinker-nvim

Declared by:

plugins.gitlinker.actionCallback

Callback for what to do with the url.

Can be

  • the name of a built-in callback. Example: actionCallback = "copy_to_clipboard"; is setting
  require('gitlinker.actions').copy_to_clipboard

in lua.

  • Raw lua code actionCallback.__raw = "function() ... end";.

Type: null or string or raw lua code

Default: null

Plugin default: "copy_to_clipboard"

Declared by:

plugins.gitlinker.addCurrentLineOnNormalMode

Adds current line nr in the url for normal mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitlinker.callbacks

Each key can be

  • the name of a built-in callback. Example: "get_gitlab_type_url"; is setting
  require('gitlinker.hosts').get_gitlab_type_url

in lua.

  • Raw lua code "github.com".__raw = "function(url_data) ... end";.

Learn more by reading :h gitinker-callbacks.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "bitbucket.org" = "get_bitbucket_type_url";
  "codeberg.org" = "get_gitea_type_url";
  "git.kernel.org" = "get_cgit_type_url";
  "git.launchpad.net" = "get_launchpad_type_url";
  "git.savannah.gnu.org" = "get_cgit_type_url";
  "git.sr.ht" = "get_srht_type_url";
  "github.com" = "get_github_type_url";
  "gitlab.com" = "get_gitlab_type_url";
  "repo.or.cz" = "get_repoorcz_type_url";
  "try.gitea.io" = "get_gitea_type_url";
  "try.gogs.io" = "get_gogs_type_url";
}

Declared by:

plugins.gitlinker.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.gitlinker.mappings

Mapping to call url generation.

Type: null or string or raw lua code

Default: null

Plugin default: "<leader>gy"

Declared by:

plugins.gitlinker.printUrl

Print the url after performing the action.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitlinker.remote

Force the use of a specific remote.

Type: null or string

Default: null

Declared by:

gitmessenger

URL: https://github.com/rhysd/git-messenger.vim/

Maintainers: Gaetan Lepage

plugins.gitmessenger.enable

Whether to enable git-messenger.vim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.gitmessenger.package

The git-messenger.vim package to use.

Type: package

Default: pkgs.vimPlugins.git-messenger-vim

Declared by:

plugins.gitmessenger.autoLoad

Whether to automatically load git-messenger.vim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.gitmessenger.settings

The configuration options for gitmessenger without the git_messenger_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal git_messenger_foo_bar=1
  • hello = "world" -> :setglobal git_messenger_hello="world"
  • some_toggle = true -> :setglobal git_messenger_some_toggle
  • other_toggle = false -> :setglobal nogit_messenger_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  extra_blame_args = "-w";
  floating_win_opts = {
    border = "single";
  };
  include_diff = "current";
}

Declared by:

plugins.gitmessenger.settings.always_into_popup

When this value is set to true, the cursor goes into a popup window when running :GitMessenger or <Plug>(git-messenger).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.gitmessenger.settings.close_on_cursor_moved

A popup window is no longer closed automatically when moving a cursor after the window is shown up.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitmessenger.settings.conceal_word_diff_marker

When this value is set to true, markers for word diffs like [-, -], {+, +} are concealed. Set false when you don’t want to hide them.

Note: Word diff is enabled by typing r in a popup window.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitmessenger.settings.date_format

String value to format dates in popup window.

Please see :help strftime() to know the details of the format.

Type: null or string or raw lua code

Default: null

Plugin default: "%c"

Declared by:

plugins.gitmessenger.settings.extra_blame_args

When this variable is set the contents will be appended to the git blame command. Use it to add options (like -w).

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.gitmessenger.settings.floating_win_opts

Options passed to nvim_open_win() on opening a popup window.

This is useful when you want to override some window options.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Example:

{
  border = "single";
}

Declared by:

plugins.gitmessenger.settings.git_command

git command to retrieve commit messages.

If your git executable is not in $PATH directories, please specify the path to the executable.

Type: null or string or raw lua code

Default: null

Plugin default: "git"

Declared by:

plugins.gitmessenger.settings.include_diff

When this value is not set to "none", a popup window includes diff hunks of the commit at showing up. "current" includes diff hunks of only current file in the commit. "all" includes all diff hunks in the commit.

Please note that typing d/D or r/R in popup window toggle showing diff hunks even if this value is set to "none".

Type: null or one of “none”, “current”, “all” or raw lua code

Default: null

Plugin default: "none"

Declared by:

plugins.gitmessenger.settings.into_popup_after_show

When this value is set to false, running :GitMessenger or <plug>(git-messenger) again after showing a popup does not move the cursor in the window.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitmessenger.settings.max_popup_height

Max lines of popup window in an integer value. Setting null means no limit.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.gitmessenger.settings.max_popup_width

Max characters of popup window in an integer value. Setting null means no limit.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.gitmessenger.settings.no_default_mappings

When this value is set, it does not define any key mappings.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.gitmessenger.settings.popup_content_margins

Setting true means adding margins in popup window. Blank lines at the top and bottom of popup content are inserted. And every line is indented with one whitespace character.

Setting false to this variable removes all the margins.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitmessenger.settings.preview_mods

This variable is effective only when opening preview window (on Neovim (0.3.0 or earlier) or Vim).

Command modifiers for opening preview window. The value will be passed as prefix of :pedit command.

For example, setting "botright" to the variable opens a preview window at bottom of the current window. Please see :help <mods> for more details.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

gitsigns

URL: https://github.com/lewis6991/gitsigns.nvim

Maintainers: Gaetan Lepage

plugins.gitsigns.enable

Whether to enable gitsigns.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.gitsigns.package

The gitsigns.nvim package to use.

Type: package

Default: pkgs.vimPlugins.gitsigns-nvim

Declared by:

plugins.gitsigns.autoLoad

Whether to automatically load gitsigns.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.gitsigns.lazyLoad

Lazy-load settings for gitsigns.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.gitsigns.lazyLoad.enable

lazy-loading for gitsigns.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.gitsigns.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.gitsigns.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.gitsigns.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.gitsigns.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.gitsigns.settings

Options provided to the require('gitsigns').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  current_line_blame = false;
  current_line_blame_opts = {
    virt_text = true;
    virt_text_pos = "eol";
  };
  signcolumn = true;
  signs = {
    add = {
      text = "│";
    };
    change = {
      text = "│";
    };
    changedelete = {
      text = "~";
    };
    delete = {
      text = "_";
    };
    topdelete = {
      text = "‾";
    };
    untracked = {
      text = "┆";
    };
  };
  watch_gitdir = {
    follow_files = true;
  };
}

Declared by:

plugins.gitsigns.settings.attach_to_untracked

Attach to untracked files.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitsigns.settings.auto_attach

Automatically attach to files.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitsigns.settings.base

The object/revision to diff against. See |gitsigns-revision|.

Type: null or string

Default: null

Declared by:

plugins.gitsigns.settings.count_chars

The count characters used when signs.*.show_count is enabled. The + entry is used as a fallback. With the default, any count outside of 1-9 uses the > character in the sign.

Possible use cases for this field:

  • to specify unicode characters for the counts instead of 1-9.
  • to define characters to be used for counts greater than 9.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "+" = ">";
  __unkeyed_1 = "1";
  __unkeyed_2 = "2";
  __unkeyed_3 = "3";
  __unkeyed_4 = "4";
  __unkeyed_5 = "5";
  __unkeyed_6 = "6";
  __unkeyed_7 = "7";
  __unkeyed_8 = "8";
  __unkeyed_9 = "9";
}

Declared by:

plugins.gitsigns.settings.current_line_blame

Adds an unobtrusive and customisable blame annotation at the end of the current line. The highlight group used for the text is GitSignsCurrentLineBlame.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.gitsigns.settings.current_line_blame_formatter

String or function used to format the virtual text of current_line_blame.

When a string, accepts the following format specifiers:

  • <abbrev_sha>
  • <orig_lnum>
  • <final_lnum>
  • <author>
  • <author_mail>
  • <author_time> or <author_time:FORMAT>
  • <author_tz>
  • <committer>
  • <committer_mail>
  • <committer_time> or <committer_time:FORMAT>
  • <committer_tz>
  • <summary>
  • <previous>
  • <filename>

For <author_time:FORMAT> and <committer_time:FORMAT>, FORMAT can be any valid date format that is accepted by os.date() with the addition of %R (defaults to %Y-%m-%d):

  • %a abbreviated weekday name (e.g., Wed)
  • %A full weekday name (e.g., Wednesday)
  • %b abbreviated month name (e.g., Sep)
  • %B full month name (e.g., September)
  • %c date and time (e.g., 09/16/98 23:48:10)
  • %d day of the month (16) [01-31]
  • %H hour, using a 24-hour clock (23) [00-23]
  • %I hour, using a 12-hour clock (11) [01-12]
  • %M minute (48) [00-59]
  • %m month (09) [01-12]
  • %p either “am” or “pm” (pm)
  • %S second (10) [00-61]
  • %w weekday (3) [0-6 = Sunday-Saturday]
  • %x date (e.g., 09/16/98)
  • %X time (e.g., 23:48:10)
  • %Y full year (1998)
  • %y two-digit year (98) [00-99]
  • %% the character `%´
  • %R relative (e.g., 4 months ago)

When a function:

Parameters:

  • {name} Git user name returned from git config user.name

  • {blame_info} Table with the following keys:

    • abbrev_sha: string
    • orig_lnum: integer
    • final_lnum: integer
    • author: string
    • author_mail: string
    • author_time: integer
    • author_tz: string
    • committer: string
    • committer_mail: string
    • committer_time: integer
    • committer_tz: string
    • summary: string
    • previous: string
    • filename: string
    • boundary: true?

Note that the keys map onto the output of: git blame --line-porcelain

Return: The result of this function is passed directly to the opts.virt_text field of |nvim_buf_set_extmark| and thus must be a list of [text, highlight] tuples.

Type: null or string or raw lua code

Default: null

Plugin default: " <author>, <author_time> - <summary> "

Declared by:

plugins.gitsigns.settings.current_line_blame_formatter_nc

String or function used to format the virtual text of |gitsigns-config-current_line_blame| for lines that aren’t committed.

See |gitsigns-config-current_line_blame_formatter| for more information.

Type: null or string or raw lua code

Default: null

Plugin default: " <author>"

Declared by:

plugins.gitsigns.settings.debug_mode

Enables debug logging and makes the following functions available: dump_cache, debug_messages, clear_debug.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.gitsigns.settings.linehl

Enable/disable line highlights.

When enabled the highlights defined in signs.*.linehl are used. If the highlight group does not exist, then it is automatically defined and linked to the corresponding highlight group in signs.*.hl.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.gitsigns.settings.max_file_length

Max file length (in lines) to attach to.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 40000

Declared by:

plugins.gitsigns.settings.numhl

Enable/disable line number highlights.

When enabled the highlights defined in signs.*.numhl are used. If the highlight group does not exist, then it is automatically defined and linked to the corresponding highlight group in signs.*.hl.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.gitsigns.settings.on_attach

Callback called when attaching to a buffer. Mainly used to setup keymaps when config.keymaps is empty. The buffer number is passed as the first argument.

This callback can return false to prevent attaching to the buffer.

Example:

  function(bufnr)
    if vim.api.nvim_buf_get_name(bufnr):match(<PATTERN>) then
      -- Don't attach to specific buffers whose name matches a pattern
      return false
    end
    -- Setup keymaps
    vim.api.nvim_buf_set_keymap(bufnr, 'n', 'hs', '<cmd>lua require"gitsigns".stage_hunk()<CR>', {})
    ... -- More keymaps
  end

Type: null or lua code string

Default: null

Declared by:

plugins.gitsigns.settings.preview_config

Option overrides for the Gitsigns preview window. Table is passed directly to nvim_open_win.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  border = "single";
  col = 1;
  relative = "cursor";
  row = 0;
  style = "minimal";
}

Declared by:

plugins.gitsigns.settings.sign_priority

Priority to use for signs.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 6

Declared by:

plugins.gitsigns.settings.signcolumn

Enable/disable symbols in the sign column.

When enabled the highlights defined in signs.*.hl and symbols defined in signs.*.text are used.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitsigns.settings.status_formatter

Function used to format b:gitsigns_status.

Type: null or lua function string

Default: null

Plugin default:

''
  function(status)
    local added, changed, removed = status.added, status.changed, status.removed
    local status_txt = {}
    if added and added > 0 then
      table.insert(status_txt, '+' .. added)
    end
    if changed and changed > 0 then
      table.insert(status_txt, '~' .. changed)
    end
    if removed and removed > 0 then
      table.insert(status_txt, '-' .. removed)
    end
    return table.concat(status_txt, ' ')
  end
''

Declared by:

plugins.gitsigns.settings.trouble

When using setqflist() or setloclist(), open Trouble instead of the quickfix/location list window.

Default: pcall(require, 'trouble')

Type: null or boolean

Default: null

Declared by:

plugins.gitsigns.settings.update_debounce

Debounce time for updates (in milliseconds).

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 100

Declared by:

plugins.gitsigns.settings.word_diff

Highlight intra-line word differences in the buffer. Requires config.diff_opts.internal = true.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.gitsigns.settings.current_line_blame_opts.delay

Sets the delay (in milliseconds) before blame virtual text is displayed.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1000

Declared by:

plugins.gitsigns.settings.current_line_blame_opts.ignore_whitespace

Ignore whitespace when running blame.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.gitsigns.settings.current_line_blame_opts.virt_text

Whether to show a virtual text blame annotation

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitsigns.settings.current_line_blame_opts.virt_text_pos

Blame annotation position.

Available values:

  • eol Right after eol character.
  • overlay Display over the specified column, without shifting the underlying text.
  • right_align Display right aligned in the window.

Type: null or one of “eol”, “overlay”, “right_align” or raw lua code

Default: null

Plugin default: "eol"

Declared by:

plugins.gitsigns.settings.current_line_blame_opts.virt_text_priority

Priority of virtual text.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 100

Declared by:

plugins.gitsigns.settings.diff_opts

Diff options. If set to null they are derived from the vim diffopt.

Type: null or (attribute set of anything)

Default: null

Declared by:

plugins.gitsigns.settings.diff_opts.algorithm

Diff algorithm to use. Values:

  • “myers” the default algorithm
  • “minimal” spend extra time to generate the smallest possible diff
  • “patience” patience diff algorithm
  • “histogram” histogram diff algorithm

Type: null or one of “myers”, “minimal”, “patience”, “histogram” or raw lua code

Default: null

Plugin default: "myers"

Declared by:

plugins.gitsigns.settings.diff_opts.ignore_blank_lines

Ignore changes where lines are blank.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitsigns.settings.diff_opts.ignore_whitespace

Ignore all white space changes.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitsigns.settings.diff_opts.ignore_whitespace_change

Ignore changes in amount of white space. It should ignore adding trailing white space, but not leading white space.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitsigns.settings.diff_opts.ignore_whitespace_change_at_eol

Ignore white space changes at end of line.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitsigns.settings.diff_opts.indent_heuristic

Use the indent heuristic for the internal diff library.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.gitsigns.settings.diff_opts.internal

Use Neovim’s built in xdiff library for running diffs.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.gitsigns.settings.diff_opts.linematch

Enable second-stage diff on hunks to align lines. Requires internal=true.

Type: null or signed integer

Default: null

Declared by:

plugins.gitsigns.settings.diff_opts.vertical

Start diff mode with vertical splits.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitsigns.settings.signs.add.show_count

Showing count of hunk, e.g. number of deleted lines.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.gitsigns.settings.signs.add.text

Specifies the character to use for the sign.

Type: null or string or raw lua code

Default: null

Plugin default: "┃"

Declared by:

plugins.gitsigns.settings.signs.change.show_count

Showing count of hunk, e.g. number of deleted lines.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.gitsigns.settings.signs.change.text

Specifies the character to use for the sign.

Type: null or string or raw lua code

Default: null

Plugin default: "┃"

Declared by:

plugins.gitsigns.settings.signs.changedelete.show_count

Showing count of hunk, e.g. number of deleted lines.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.gitsigns.settings.signs.changedelete.text

Specifies the character to use for the sign.

Type: null or string or raw lua code

Default: null

Plugin default: "~"

Declared by:

plugins.gitsigns.settings.signs.delete.show_count

Showing count of hunk, e.g. number of deleted lines.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.gitsigns.settings.signs.delete.text

Specifies the character to use for the sign.

Type: null or string or raw lua code

Default: null

Plugin default: "▁"

Declared by:

plugins.gitsigns.settings.signs.topdelete.show_count

Showing count of hunk, e.g. number of deleted lines.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.gitsigns.settings.signs.topdelete.text

Specifies the character to use for the sign.

Type: null or string or raw lua code

Default: null

Plugin default: "▔"

Declared by:

plugins.gitsigns.settings.signs.untracked.show_count

Showing count of hunk, e.g. number of deleted lines.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.gitsigns.settings.signs.untracked.text

Specifies the character to use for the sign.

Type: null or string or raw lua code

Default: null

Plugin default: "┆"

Declared by:

plugins.gitsigns.settings.watch_gitdir.enable

When opening a file, a libuv watcher is placed on the respective .git directory to detect when changes happen to use as a trigger to update signs.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitsigns.settings.watch_gitdir.follow_files

If a file is moved with git mv, switch the buffer to the new location.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.gitsigns.settings.worktrees

Detached working trees. If normal attaching fails, then each entry in the table is attempted with the work tree details set.

Type: null or (list of (attribute set of anything))

Default: null

Declared by:

plugins.gitsigns.settings.worktrees.*.gitdir

Path to the git directory of the parent git repository (typically the .git/ directory).

Type: string or raw lua code

Declared by:

plugins.gitsigns.settings.worktrees.*.toplevel

Path to the top-level of the parent git repository.

Type: string or raw lua code

Declared by:

glance

URL: https://github.com/DNLHC/glance.nvim/

Maintainers: Austin Horstman

plugins.glance.enable

Whether to enable glance.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.glance.package

The glance.nvim package to use.

Type: package

Default: pkgs.vimPlugins.glance-nvim

Declared by:

plugins.glance.autoLoad

Whether to automatically load glance.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.glance.settings

Options provided to the require('glance').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  border = {
    enable = true;
  };
  height = 40;
  use_trouble_qf = true;
  zindex = 50;
}

Declared by:

plugins.glance.lazyLoad

Lazy-load settings for glance.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.glance.lazyLoad.enable

lazy-loading for glance.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.glance.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.glance.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.glance.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.glance.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

glow

URL: https://github.com/ellisonleao/glow.nvim/

Maintainers: Seth Flynn

plugins.glow.enable

Whether to enable glow.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.glow.package

The glow.nvim package to use.

Type: package

Default: pkgs.vimPlugins.glow-nvim

Declared by:

plugins.glow.autoLoad

Whether to automatically load glow.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.glow.lazyLoad

Lazy-load settings for glow.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.glow.lazyLoad.enable

lazy-loading for glow.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.glow.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.glow.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.glow.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.glow.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.glow.settings

Options provided to the require('glow').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  border = "shadow";
  height = 100;
  height_ratio = 0.7;
  pager = false;
  style = "dark";
  width = 80;
  width_ratio = 0.7;
}

Declared by:

plugins.glow.settings.border

Style of the floating window’s border.

Type: null or one of “shadow”, “none”, “double”, “rounded”, “solid”, “single” or raw lua code

Default: null

Plugin default: "shadow"

Declared by:

plugins.glow.settings.glow_path

Path to glow binary.

If null or "", glow in your $PATH with be used if available.

Using dependencies.glow is the recommended way to make glow available in your $PATH.

Type: null or string or raw lua code

Default: null

Plugin default:

{
  __raw = "vim.fn.exepath('glow')";
}

Declared by:

plugins.glow.settings.height

Height of the floating window.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 100

Declared by:

plugins.glow.settings.height_ratio

Maximum height of the floating window relative to the window size.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0.7

Declared by:

plugins.glow.settings.install_path

Path for installing glow binary if one is not found at glow_path or in your $PATH.

Consider using dependencies.glow instead.

Type: null or string or raw lua code

Default: null

Plugin default: "~/.local/bin"

Declared by:

plugins.glow.settings.pager

Display output in a pager style.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.glow.settings.style

Glow style.

Type: null or string or raw lua code or one of “dark”, “light”

Default: null

Plugin default:

{
  __raw = "vim.opt.background";
}

Declared by:

plugins.glow.settings.width

Width of the floating window.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 100

Declared by:

plugins.glow.settings.width_ratio

Maximum width of the floating window relative to the window size.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0.7

Declared by:

godot

URL: https://github.com/habamax/vim-godot/

Maintainers: Gaetan Lepage

plugins.godot.enable

Whether to enable vim-godot.

Type: boolean

Default: false

Example: true

Declared by:

plugins.godot.package

The vim-godot package to use.

Type: package

Default: pkgs.vimPlugins.vim-godot

Declared by:

plugins.godot.autoLoad

Whether to automatically load vim-godot when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.godot.settings

The configuration options for godot without the godot_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal godot_foo_bar=1
  • hello = "world" -> :setglobal godot_hello="world"
  • some_toggle = true -> :setglobal godot_some_toggle
  • other_toggle = false -> :setglobal nogodot_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  executable = "godot";
}

Declared by:

plugins.godot.settings.executable

Path to the godot executable.

Type: null or string or raw lua code

Default: null

Plugin default: "godot"

Declared by:

goto-preview

URL: https://github.com/rmagatti/goto-preview/

Maintainers: Gaetan Lepage

plugins.goto-preview.enable

Whether to enable goto-preview.

Type: boolean

Default: false

Example: true

Declared by:

plugins.goto-preview.package

The goto-preview package to use.

Type: package

Default: pkgs.vimPlugins.goto-preview

Declared by:

plugins.goto-preview.autoLoad

Whether to automatically load goto-preview when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.goto-preview.settings

Options provided to the require('goto-preview').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  default_mappings = false;
  height = 30;
  post_open_hook = {
    __raw = ''
      function(_, win)
        -- Close the current preview window with <Esc> or 'q'.
        local function close_window()
          vim.api.nvim_win_close(win, true)
        end
        vim.keymap.set('n', '<Esc>', close_window, { buffer = true })
        vim.keymap.set('n', 'q', close_window, { buffer = true })
      end
    '';
  };
}

Declared by:

plugins.goto-preview.lazyLoad

Lazy-load settings for goto-preview.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.goto-preview.lazyLoad.enable

lazy-loading for goto-preview

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.goto-preview.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.goto-preview.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.goto-preview.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.goto-preview.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

goyo

URL: https://github.com/junegunn/goyo.vim/

Maintainers: Gaetan Lepage

plugins.goyo.enable

Whether to enable goyo.vim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.goyo.package

The goyo.vim package to use.

Type: package

Default: pkgs.vimPlugins.goyo-vim

Declared by:

plugins.goyo.autoLoad

Whether to automatically load goyo.vim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.goyo.settings

The configuration options for goyo without the goyo_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal goyo_foo_bar=1
  • hello = "world" -> :setglobal goyo_hello="world"
  • some_toggle = true -> :setglobal goyo_some_toggle
  • other_toggle = false -> :setglobal nogoyo_other_toggle

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.goyo.settings.height

height

Type: null or (unsigned integer, meaning >=0)

Default: null

Declared by:

plugins.goyo.settings.linenr

Show line numbers when in Goyo mode.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.goyo.settings.width

width

Type: null or (unsigned integer, meaning >=0)

Default: null

Declared by:

grug-far

URL: https://github.com/MagicDuck/grug-far.nvim

Maintainers: Austin Horstman

plugins.grug-far.enable

Whether to enable grug-far.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.grug-far.package

The grug-far.nvim package to use.

Type: package

Default: pkgs.vimPlugins.grug-far-nvim

Declared by:

plugins.grug-far.autoLoad

Whether to automatically load grug-far.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.grug-far.settings

Options provided to the require('grug-far').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  debounceMs = 1000;
  engine = "ripgrep";
  engines = {
    ripgrep = {
      path = "rg";
      showReplaceDiff = true;
    };
  };
  maxSearchMatches = 2000;
  maxWorkers = 8;
  minSearchChars = 1;
  normalModeSearch = false;
}

Declared by:

plugins.grug-far.lazyLoad

Lazy-load settings for grug-far.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.grug-far.lazyLoad.enable

lazy-loading for grug-far.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.grug-far.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.grug-far.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.grug-far.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.grug-far.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

guess-indent

URL: https://github.com/nmac427/guess-indent.nvim/

Maintainers: GGORG

plugins.guess-indent.enable

Whether to enable guess-indent.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.guess-indent.package

The guess-indent.nvim package to use.

Type: package

Default: pkgs.vimPlugins.guess-indent-nvim

Declared by:

plugins.guess-indent.autoLoad

Whether to automatically load guess-indent.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.guess-indent.lazyLoad

Lazy-load settings for guess-indent.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.guess-indent.lazyLoad.enable

lazy-loading for guess-indent.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.guess-indent.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.guess-indent.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.guess-indent.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.guess-indent.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.guess-indent.settings

Options provided to the require('guess-indent').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  auto_cmd = false;
  filetype_exclude = [
    "markdown"
  ];
  override_editorconfig = true;
}

Declared by:

plugins.guess-indent.settings.auto_cmd

Whether to create autocommand to automatically detect indentation

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.guess-indent.settings.buftype_exclude

Buffer types to ignore indentation detection in

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "help"
  "nofile"
  "terminal"
  "prompt"
]

Declared by:

plugins.guess-indent.settings.filetype_exclude

Filetypes to ignore indentation detection in

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "netrw"
  "tutor"
]

Declared by:

plugins.guess-indent.settings.on_space_options

A table of vim options when spaces are detected

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  expandtab = true;
  shiftwidth = "detected";
  softtabstop = "detected";
  tabstop = "detected";
}

Declared by:

plugins.guess-indent.settings.on_tab_options

A table of vim options when tabs are detected

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  expandtab = false;
}

Declared by:

plugins.guess-indent.settings.override_editorconfig

Whether or not to override indentation set by Editorconfig

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

gx

URL: https://github.com/chrishrb/gx.nvim/

Maintainers: Johan Larsson


Implementation of gx without the need of netrw.

plugins.gx.enable

Whether to enable gx.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.gx.package

The gx.nvim package to use.

Type: package

Default: pkgs.vimPlugins.gx-nvim

Declared by:

plugins.gx.autoLoad

Whether to automatically load gx.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.gx.disableNetrwGx

Disable the gx mapping in netrw.

Type: boolean

Default: true

Declared by:

plugins.gx.lazyLoad

Lazy-load settings for gx.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.gx.lazyLoad.enable

lazy-loading for gx.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.gx.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.gx.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.gx.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.gx.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.gx.settings

Options provided to the require('gx').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  open_browser_args = [ "--background" ];
  handlers = {
    rust = {
      name = "rust";
      filetype = [ "toml" ];
      filename = "Cargo.toml";
      handle.__raw = ''
        function(mode, line, _)
          local crate = require("gx.helper").find(line, mode, "(%w+)%s-=%s")

          if crate then
            return "https://crates.io/crates/" .. crate
          end
        end
      '';
    };
  };
  handler_options = {
    search_engine = "duckduckgo";
    git_remotes = [
      "origin"
    ];
  };
};

Declared by:

plugins.gx.settings.handlers

Enable built-in handlers and configure custom ones. By default, all handlers are disabled. To enable a built-in handler, set it to true.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.gx.settings.open_browser_app

Specify your browser app; default for macOS is "open", Linux "xdg-open" and Windows "powershell.exe".

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.gx.settings.open_browser_args

Arguments provided to the browser app, such as --background for macOS’s open.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.gx.settings.handler_options.git_remote_push

Whether to use the push url for git issue linking. You can also pass a function.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Example:

lib.nixvim.mkRaw ''
  function(fname)
    return fname:match("myproject")
  end
''

Declared by:

plugins.gx.settings.handler_options.git_remotes

List of git remotes to search for git issue linking, in priority. You can also pass a function.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "upstream"
  "origin"
]

Example:

lib.nixvim.mkRaw ''
  function(fname)
    if fname:match("myproject") then
      return { "mygit" }
    end
    return { "upstream", "origin" }
  end
''

Declared by:

plugins.gx.settings.handler_options.search_engine

Search engine to use when searching for text. Built-in options are "google", "duckduckgo", "ecosia", "yandex", and "bing". You can also pass a custom search engine, such as "https://search.brave.com/search?q=".

Type: null or string or raw lua code

Default: null

Plugin default: "google"

Declared by:

If your cursor is e.g. on a link, the pattern for the link AND for the word will always match. This disables this behaviour for default so that the link is opened without the select option for the word AND link.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

hardtime

URL: https://github.com/m4xshen/hardtime.nvim/

Maintainers: Refael Sheinker

plugins.hardtime.enable

Whether to enable hardtime.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.hardtime.package

The hardtime.nvim package to use.

Type: package

Default: pkgs.vimPlugins.hardtime-nvim

Declared by:

plugins.hardtime.autoLoad

Whether to automatically load hardtime.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.hardtime.lazyLoad

Lazy-load settings for hardtime.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.hardtime.lazyLoad.enable

lazy-loading for hardtime.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.hardtime.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.hardtime.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.hardtime.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.hardtime.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.hardtime.settings

Options provided to the require('hardtime').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  max_time = 1500;
  settings = {
    showmode = false;
  };
}

Declared by:

plugins.hardtime.settings.enabled

Whether the plugin in enabled by default or not.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.hardtime.settings.allow_different_key

Allow different keys to reset the count.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.hardtime.settings.disable_mouse

Disable mouse support.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.hardtime.settings.disabled_filetypes

hardtime.nvim is disabled under these filetypes.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "qf"
  "netrw"
  "NvimTree"
  "lazy"
  "mason"
]

Declared by:

plugins.hardtime.settings.disabled_keys

Keys in what modes are disabled.

Type: null or (attribute set of ((list of string) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "<Down>" = [
    ""
    "i"
  ];
  "<Left>" = [
    ""
    "i"
  ];
  "<Right>" = [
    ""
    "i"
  ];
  "<Up>" = [
    ""
    "i"
  ];
}

Declared by:

plugins.hardtime.settings.hint

Enable hint messages for better commands.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.hardtime.settings.max_count

Maximum count of repeated key presses allowed within the max_time period.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 2

Declared by:

plugins.hardtime.settings.max_time

Maximum time (in milliseconds) to consider key presses as repeated.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1000

Declared by:

plugins.hardtime.settings.notification

Enable notification messages for restricted and disabled keys.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.hardtime.settings.resetting_keys

Keys in what modes that reset the count.

Type: null or (attribute set of ((list of string) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "1" = [
    "n"
    "x"
  ];
  "2" = [
    "n"
    "x"
  ];
  "3" = [
    "n"
    "x"
  ];
  "4" = [
    "n"
    "x"
  ];
  "5" = [
    "n"
    "x"
  ];
  "6" = [
    "n"
    "x"
  ];
  "7" = [
    "n"
    "x"
  ];
  "8" = [
    "n"
    "x"
  ];
  "9" = [
    "n"
    "x"
  ];
  C = [
    "n"
  ];
  P = [
    "n"
  ];
  X = [
    "n"
  ];
  Y = [
    "n"
  ];
  c = [
    "n"
  ];
  d = [
    "n"
  ];
  p = [
    "n"
  ];
  x = [
    "n"
  ];
  y = [
    "n"
  ];
}

Declared by:

plugins.hardtime.settings.restricted_keys

Keys in what modes triggering the count mechanism.

Type: null or (attribute set of ((list of string) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "+" = [
    "n"
    "x"
  ];
  "-" = [
    "n"
    "x"
  ];
  "<C-M>" = [
    "n"
    "x"
  ];
  "<C-N>" = [
    "n"
    "x"
  ];
  "<C-P>" = [
    "n"
    "x"
  ];
  "<CR>" = [
    "n"
    "x"
  ];
  gj = [
    "n"
    "x"
  ];
  gk = [
    "n"
    "x"
  ];
  h = [
    "n"
    "x"
  ];
  j = [
    "n"
    "x"
  ];
  k = [
    "n"
    "x"
  ];
  l = [
    "n"
    "x"
  ];
}

Declared by:

plugins.hardtime.settings.restriction_mode

The behavior when restricted_keys trigger count mechanism.

Type: null or one of “block”, “hint” or raw lua code

Default: null

Plugin default: "block"

Declared by:

plugins.hardtime.settings.hints

key is a string pattern you want to match, value is a table of hint massage and pattern length.

Type: null or (attribute set of (submodule))

Default: null

Declared by:

plugins.hardtime.settings.hints.<name>.length

The length of actual key strokes that matches this pattern.

Type: unsigned integer, meaning >=0

Declared by:

plugins.hardtime.settings.hints.<name>.message

Hint message to be displayed.

Type: raw lua code

Declared by:

harpoon

URL: https://github.com/ThePrimeagen/harpoon/

Maintainers: Gaetan Lepage

plugins.harpoon.enable

Whether to enable harpoon.

Type: boolean

Default: false

Example: true

Declared by:

plugins.harpoon.enableTelescope

Whether to enable telescope integration.

Type: boolean

Default: false

Example: true

Declared by:

plugins.harpoon.package

The harpoon package to use.

Type: package

Default: pkgs.vimPlugins.harpoon2

Declared by:

plugins.harpoon.autoLoad

Whether to automatically load harpoon when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.harpoon.settings

Options provided to the require('harpoon'):setup function.

Type: attribute set of anything

Default: { }

Example:

{
  settings = {
    save_on_toggle = true;
    sync_on_ui_close = false;
  };
}

Declared by:

plugins.harpoon.lazyLoad

Lazy-load settings for harpoon.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.harpoon.lazyLoad.enable

lazy-loading for harpoon

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.harpoon.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.harpoon.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.harpoon.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.harpoon.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

haskell-scope-highlighting

URL: https://github.com/kiyoon/haskell-scope-highlighting.nvim/

Maintainers: Gaetan Lepage

plugins.haskell-scope-highlighting.enable

Whether to enable haskell-scope-highlighting.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.haskell-scope-highlighting.package

The haskell-scope-highlighting.nvim package to use.

Type: package

Default: pkgs.vimPlugins.haskell-scope-highlighting-nvim

Declared by:

plugins.haskell-scope-highlighting.autoLoad

Whether to automatically load haskell-scope-highlighting.nvim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

headlines

URL: https://github.com/lukas-reineke/headlines.nvim/

Maintainers: Gaetan Lepage

plugins.headlines.enable

Whether to enable headlines.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.headlines.package

The headlines.nvim package to use.

Type: package

Default: pkgs.vimPlugins.headlines-nvim

Declared by:

plugins.headlines.autoLoad

Whether to automatically load headlines.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.headlines.settings

Options provided to the require('headlines').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  markdown = {
    headline_highlights = [
      "Headline1"
    ];
  };
  norg = {
    codeblock_highlight = false;
    headline_highlights = [
      "Headline"
    ];
  };
  org = {
    headline_highlights = false;
  };
}

Declared by:

plugins.headlines.lazyLoad

Lazy-load settings for headlines.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.headlines.lazyLoad.enable

lazy-loading for headlines.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.headlines.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.headlines.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.headlines.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.headlines.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

helm

URL: https://github.com/towolf/vim-helm/

Maintainers: Gaetan Lepage


To ensure that helm_ls (and not yamlls) is used on helm files, add the following autocmd:

  autoCmd = [
    {
      event = "FileType";
      pattern = "helm";
      command = "LspRestart";
    }
  ];

See nix-community/nixvim#989 for details.

plugins.helm.enable

Whether to enable vim-helm.

Type: boolean

Default: false

Example: true

Declared by:

plugins.helm.package

The vim-helm package to use.

Type: package

Default: pkgs.vimPlugins.vim-helm

Declared by:

plugins.helm.autoLoad

Whether to automatically load vim-helm when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

helpview

URL: https://github.com/OXY2DEV/helpview.nvim/

Maintainers: Austin Horstman


Decorations for vimdoc/help files in Neovim

Supports a vast amount of rendering customization. Refer to the plugin's documentation for more details.

plugins.helpview.enable

Whether to enable helpview.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.helpview.package

The helpview.nvim package to use.

Type: package

Default: pkgs.vimPlugins.helpview-nvim

Declared by:

plugins.helpview.autoLoad

Whether to automatically load helpview.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.helpview.lazyLoad

Lazy-load settings for helpview.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.helpview.lazyLoad.enable

lazy-loading for helpview.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.helpview.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.helpview.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.helpview.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.helpview.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.helpview.settings

Options provided to the require('helpview').setup function.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.helpview.settings.buf_ignore

Buftypes to disable helpview-nvim.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.helpview.settings.hybrid_modes

Modes where hybrid mode is enabled.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.helpview.settings.mode

Modes where preview is enabled.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "n"
  "c"
]

Declared by:

plugins.helpview.settings.callback.on_disable

Action to perform when markview is disabled.

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.helpview.settings.callback.on_enable

Action to perform when markview is enabled.

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.helpview.settings.callback.on_mode_change

Action to perform when mode is changed, while the plugin is enabled.

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

hex

URL: https://github.com/RaafatTurki/hex.nvim/

Maintainers: Gaetan Lepage

plugins.hex.enable

Whether to enable hex.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.hex.package

The hex.nvim package to use.

Type: package

Default: pkgs.vimPlugins.hex-nvim

Declared by:

plugins.hex.autoLoad

Whether to automatically load hex.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.hex.lazyLoad

Lazy-load settings for hex.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.hex.lazyLoad.enable

lazy-loading for hex.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.hex.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.hex.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.hex.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.hex.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.hex.settings

Options provided to the require('hex').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  assemble_cmd = "xxd -r";
  dump_cmd = "xxd -g 1 -u";
}

Declared by:

plugins.hex.settings.assemble_cmd

cli command used to dump hex data.

Type: null or string or raw lua code

Default: null

Plugin default: "xxd -r"

Declared by:

plugins.hex.settings.dump_cmd

cli command used to dump hex data.

Type: null or string or raw lua code

Default: null

Plugin default: "xxd -g 1 -u"

Declared by:

plugins.hex.settings.is_buf_binary_post_read

Function that runs on BufReadPost to determine if it’s binary or not. It should return a boolean value.

Type: null or lua code string

Default: null

Declared by:

plugins.hex.settings.is_buf_binary_pre_read

Function that runs on BufReadPre to determine if it’s binary or not. It should return a boolean value.

Type: null or lua code string

Default: null

Declared by:

highlight-colors

URL: https://github.com/brenoprata10/nvim-highlight-colors/

Maintainers: Gaetan Lepage

plugins.highlight-colors.enable

Whether to enable nvim-highlight-colors.

Type: boolean

Default: false

Example: true

Declared by:

plugins.highlight-colors.package

The nvim-highlight-colors package to use.

Type: package

Default: pkgs.vimPlugins.nvim-highlight-colors

Declared by:

plugins.highlight-colors.autoLoad

Whether to automatically load nvim-highlight-colors when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.highlight-colors.cmpIntegration

Whether to enable cmp-integration for nvim-highlight-colors…

Type: boolean

Default: false

Example: true

Declared by:

plugins.highlight-colors.settings

Options provided to the require('nvim-highlight-colors').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  enable_named_colors = true;
  render = "virtual";
  virtual_symbol = "■";
}

Declared by:

plugins.highlight-colors.lazyLoad

Lazy-load settings for nvim-highlight-colors.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.highlight-colors.lazyLoad.enable

lazy-loading for nvim-highlight-colors

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.highlight-colors.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.highlight-colors.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.highlight-colors.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.highlight-colors.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

hlchunk

URL: https://github.com/shellRaining/hlchunk.nvim/

Maintainers: Gaetan Lepage

plugins.hlchunk.enable

Whether to enable hlchunk.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.hlchunk.package

The hlchunk.nvim package to use.

Type: package

Default: pkgs.vimPlugins.hlchunk-nvim

Declared by:

plugins.hlchunk.autoLoad

Whether to automatically load hlchunk.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.hlchunk.settings

Options provided to the require('hlchunk').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  blank = {
    enable = false;
  };
  chunk = {
    chars = {
      horizontal_line = "─";
      left_bottom = "╰";
      left_top = "╭";
      right_arrow = "─";
      vertical_line = "│";
    };
    enable = true;
    exclude_filetypes = {
      lazyterm = true;
      neo-tree = true;
    };
    style = {
      fg = "#91bef0";
    };
    use_treesitter = true;
  };
  indent = {
    chars = [
      "│"
    ];
    exclude_filetypes = {
      lazyterm = true;
      neo-tree = true;
    };
    style = {
      fg = "#45475a";
    };
    use_treesitter = false;
  };
  line_num = {
    style = "#91bef0";
    use_treesitter = true;
  };
}

Declared by:

plugins.hlchunk.lazyLoad

Lazy-load settings for hlchunk.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.hlchunk.lazyLoad.enable

lazy-loading for hlchunk.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.hlchunk.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.hlchunk.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.hlchunk.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.hlchunk.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

hmts

URL: https://github.com/calops/hmts.nvim/

Maintainers: Gaetan Lepage

plugins.hmts.enable

Whether to enable hmts.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.hmts.package

The hmts.nvim package to use.

Type: package

Default: pkgs.vimPlugins.hmts-nvim

Declared by:

plugins.hmts.autoLoad

Whether to automatically load hmts.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.hmts.lazyLoad

Lazy-load settings for hmts.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.hmts.lazyLoad.enable

lazy-loading for hmts.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.hmts.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

hop

URL: https://github.com/smoka7/hop.nvim/

Maintainers: Gaetan Lepage


Hop doesn’t set any keybindings; you will have to define them by yourself. If you want to create a key binding from within nixvim:

  keymaps = [
    {
      key = "f";
      action.__raw = \'\'
        function()
          require'hop'.hint_char1({
            direction = require'hop.hint'.HintDirection.AFTER_CURSOR,
            current_line_only = true
          })
        end
      \'\';
      options.remap = true;
    }
    {
      key = "F";
      action.__raw = \'\'
        function()
          require'hop'.hint_char1({
            direction = require'hop.hint'.HintDirection.BEFORE_CURSOR,
            current_line_only = true
          })
        end
      \'\';
      options.remap = true;
    }
    {
      key = "t";
      action.__raw = \'\'
        function()
          require'hop'.hint_char1({
            direction = require'hop.hint'.HintDirection.AFTER_CURSOR,
            current_line_only = true,
            hint_offset = -1
          })
        end
      \'\';
      options.remap = true;
    }
    {
      key = "T";
      action.__raw = \'\'
        function()
          require'hop'.hint_char1({
            direction = require'hop.hint'.HintDirection.BEFORE_CURSOR,
            current_line_only = true,
            hint_offset = 1
          })
        end
      \'\';
      options.remap = true;
    }
  ];

plugins.hop.enable

Whether to enable hop.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.hop.package

The hop.nvim package to use.

Type: package

Default: pkgs.vimPlugins.hop-nvim

Declared by:

plugins.hop.autoLoad

Whether to automatically load hop.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.hop.lazyLoad

Lazy-load settings for hop.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.hop.lazyLoad.enable

lazy-loading for hop.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.hop.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.hop.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.hop.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.hop.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.hop.settings

Options provided to the require('hop').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  case_insensitive = false;
  dim_unmatched = true;
  direction = "require'hop.hint'.HintDirection.BEFORE_CURSOR";
  hint_position = "require'hop.hint'.HintPosition.BEGIN";
  hint_type = "require'hop.hint'.HintType.OVERLAY";
  jump_on_sole_occurrence = true;
  keys = "asdghklqwertyuiopzxcvbnmfj";
  match_mappings = [
    "zh"
    "zh_sc"
  ];
  quit_key = "<Esc>";
  reverse_distribution = false;
  teasing = true;
  virtual_cursor = true;
  x_bias = 10;
}

Declared by:

plugins.hop.settings.case_insensitive

Use case-insensitive matching by default for commands requiring user input.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.hop.settings.create_hl_autocmd

Create and set highlight autocommands to automatically apply highlights. You will want this if you use a theme that clears all highlights before applying its colorscheme.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.hop.settings.current_line_only

Apply Hop commands only to the current line.

Note: Trying to use this option along with multi_windows is unsound.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.hop.settings.dim_unmatched

Whether or not dim the unmatched text to emphasize the hint chars.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.hop.settings.direction

Direction in which to hint. See |hop.hint.HintDirection| for further details.

Setting this in the user configuration will make all commands default to that direction, unless overridden.

Type: null or lua code string

Default: null

Declared by:

plugins.hop.settings.excluded_filetypes

Skip hinting windows with the excluded filetypes. Those windows to check filetypes are collected only when you enable multi_windows or execute MW-commands. This option is useful to skip the windows which are only for displaying something but not for editing.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.hop.settings.extensions

List-table of extensions to enable (names). As described in |hop-extension|, extensions for which the name in that list must have a register(opts) function in their public API for Hop to correctly initialized them.

Type: null or (list of string)

Default: null

Declared by:

plugins.hop.settings.hint_offset

Offset to apply to a jump location.

If it is non-zero, the jump target will be offset horizontally from the selected jump position by hint_offset character(s).

This option can be used for emulating the motion commands |t| and |T| where the cursor is positioned on/before the target position.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.hop.settings.hint_position

Position of hint in match. See |hop.hint.HintPosition| for further details.

Type: null or lua code string

Default: null

Plugin default: "require'hop.hint'.HintPosition.BEGIN"

Declared by:

plugins.hop.settings.hint_type

How to show the hint char.

Possible values:

  • “overlay”: display over the specified column, without shifting the underlying text.
  • “inline”: display at the specified column, and shift the buffer text to the right as needed.

Type: null or lua code string

Default: null

Plugin default: "require'hop.hint'.HintType.OVERLAY"

Declared by:

plugins.hop.settings.ignore_injections

Ignore injected languages when jumping to treesitter node.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.hop.settings.jump_on_sole_occurrence

Immediately jump without displaying hints if only one occurrence exists.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.hop.settings.keys

A string representing all the keys that can be part of a permutation. Every character (key) used in the string will be used as part of a permutation. The shortest permutation is a permutation of a single character, and, depending on the content of your buffer, you might end up with 3-character (or more) permutations in worst situations.

However, it is important to notice that if you decide to provide keys, you have to ensure to use enough characters in the string, otherwise you might get very long sequences and a not so pleasant experience.

Type: null or string or raw lua code

Default: null

Plugin default: "asdghklqwertyuiopzxcvbnmfj"

Declared by:

plugins.hop.settings.match_mappings

This option allows you to specify the match mappings to use when applying the hint. If you set a non-empty match_mappings, the hint will be used as a key to look up the pattern to search for.

Currently supported mappings:~

  • ‘fa’ : farsi characters
  • ‘zh’ : Basic characters for Chinese
  • ‘zh_sc’ : Simplified Chinese
  • ‘zh_tc’ : Traditional Chinese

For example, if match_mappings is set to `[“zh” “zh_sc”], the characters in “zh” and “zh_sc” can be mixed to match together.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.hop.settings.multi_windows

Enable cross-windows support and hint all the currently visible windows. This behavior allows you to jump around any position in any buffer currently visible in a window. Although a powerful a feature, remember that enabling this will also generate many more sequence combinations, so you could get deeper sequences to type (most of the time it should be good if you have enough keys in |hop-config-keys|).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.hop.settings.perm_method

Permutation method to use.

Permutation methods allow to change the way permutations (i.e. hints sequence labels) are generated internally. There is currently only one possible option:

  • TrieBacktrackFilling: Permutation algorithm based on tries and backtrack filling.

    This algorithm uses the full potential of |hop-config-keys| by using them all to saturate a trie, representing all the permutations. Once a layer is saturated, this algorithm will backtrack (from the end of the trie, deepest first) and create a new layer in the trie, ensuring that the first permutations will be shorter than the last ones.

    Because of the last, deepest trie insertion mechanism and trie saturation, this algorithm yields a much better distribution across your buffer, and you should get 1-sequences and 2-sequences most of the time. Each dimension grows exponentially, so you get keys_length² 2-sequence keys, keys_length³ 3-sequence keys, etc in the worst cases.

Type: null or lua function string

Default: null

Plugin default: "require'hop.perm'.TrieBacktrackFilling"

Declared by:

plugins.hop.settings.quit_key

A string representing a key that will quit Hop mode without also feeding that key into Neovim to be treated as a normal key press.

It is possible to quit hopping by pressing any key that is not present in |hop-config-keys|; however, when you do this, the key normal function is also performed. For example if, hopping in |visual-mode|, pressing <Esc> will quit hopping and also exit |visual-mode|.

If the user presses quit_key, Hop will be quit without the key normal function being performed. For example if hopping in |visual-mode| with quit_key set to ‘<Esc>’, pressing <Esc> will quit hopping without quitting |visual-mode|.

If you don’t want to use a quit_key, set quit_key to an empty string.

Note: quit_key should only contain a single key or be an empty string.

Note: quit_key should not contain a key that is also present in |hop-config-keys|.

Type: null or string or raw lua code

Default: null

Plugin default: "<Esc>"

Declared by:

plugins.hop.settings.reverse_distribution

The default behavior for key sequence distribution in your buffer is to concentrate shorter sequences near the cursor, grouping 1-character sequences around. As hints get further from the cursor, the dimension of the sequences will grow, making the furthest sequences the longest ones to type.

Set this option to true to reverse the density and concentrate the shortest sequences (1-character) around the furthest words and the longest sequences around the cursor.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.hop.settings.teasing

Boolean value stating whether Hop should tease you when you do something you are not supposed to.

If you find this setting annoying, feel free to turn it to false.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.hop.settings.uppercase_labels

Display labels as uppercase. This option only affects the displayed labels; you still select them by typing the keys on your keyboard.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.hop.settings.virtual_cursor

Creates a virtual cursor in place of actual cursor when hop waits for user input to indicate the active window.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.hop.settings.x_bias

This Determines which hints get shorter key sequences. The default value has a more balanced distribution around the cursor but increasing it means that hints which are closer vertically will have a shorter key sequences.

For instance, when x_bias is set to 100, hints located at the end of the line will have shorter key sequence compared to hints in the lines above or below.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.hop.settings.yank_register

Determines which one of the registers stores the yanked text.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

hunk

URL: https://github.com/julienvincent/hunk.nvim/

Maintainers: Jalil David Salamé Messina


A tool for splitting diffs in Neovim.

If you wish to display icons in the file tree you should enable either plugins.web-devicons or plugins.mini. If using plugins.mini, you must enable the icons module.

plugins.hunk.enable

Whether to enable hunk.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.hunk.package

The hunk.nvim package to use.

Type: package

Default: pkgs.vimPlugins.hunk-nvim

Declared by:

plugins.hunk.autoLoad

Whether to automatically load hunk.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.hunk.settings

Options provided to the require('hunk').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  hooks = {
    on_diff_mount = lib.nixvim.mkRaw ''
  ---@param _context { buf: number, win: number }
  function(_context) end
'';
    on_tree_mount = lib.nixvim.mkRaw ''
  ---@param _context { buf: number, tree: NuiTree, opts: table }
  function(_context) end
'';
  };
  keys = {
    global = {
      quit = [
        "x"
      ];
    };
  };
  ui = {
    layout = "horizontal";
    tree = {
      mode = "flat";
      width = 40;
    };
  };
}

Declared by:

plugins.hunk.lazyLoad

Lazy-load settings for hunk.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.hunk.lazyLoad.enable

lazy-loading for hunk.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.hunk.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.hunk.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.hunk.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.hunk.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

hurl

URL: https://github.com/jellydn/hurl.nvim/

Maintainers: Gaetan Lepage

plugins.hurl.enable

Whether to enable hurl.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.hurl.package

The hurl.nvim package to use.

Type: package

Default: pkgs.vimPlugins.hurl-nvim

Declared by:

plugins.hurl.autoLoad

Whether to automatically load hurl.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.hurl.settings

Options provided to the require('hurl').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  debug = true;
  env_file = [
    "vars.env"
  ];
  formatters = {
    html = [
      "prettier"
      "--parser"
      "html"
    ];
    json = [
      "jq"
    ];
    xml = [
      "tidy"
      "-xml"
      "-i"
      "-q"
    ];
  };
  mode = "popup";
}

Declared by:

plugins.hurl.lazyLoad

Lazy-load settings for hurl.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.hurl.lazyLoad.enable

lazy-loading for hurl.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.hurl.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.hurl.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.hurl.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.hurl.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

hydra

URL: https://github.com/nvimtools/hydra.nvim/

Maintainers: Gaetan Lepage

plugins.hydra.enable

Whether to enable hydra.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.hydra.package

The hydra.nvim package to use.

Type: package

Default: pkgs.vimPlugins.hydra-nvim

Declared by:

plugins.hydra.autoLoad

Whether to automatically load hydra.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.hydra.hydras

A list of hydra configurations. See here.

Type: list of (attribute set of anything)

Default: [ ]

Example:

[
  {
    body = "<leader>g";
    config = {
      color = "pink";
      hint = {
        position = "bottom";
      };
      invoke_on_body = true;
      on_enter = ''
        function()
          vim.bo.modifiable = false
          gitsigns.toggle_signs(true)
          gitsigns.toggle_linehl(true)
        end
      '';
      on_exit = ''
          function()
        	gitsigns.toggle_signs(false)
        	gitsigns.toggle_linehl(false)
        	gitsigns.toggle_deleted(false)
        	vim.cmd("echo") -- clear the echo area
        end
      '';
    };
    heads = [
      [
        "J"
        {
          __raw = ''
            function()
              if vim.wo.diff then
                return "]c"
              end
              vim.schedule(function()
                gitsigns.next_hunk()
              end)
              return "<Ignore>"
            end
          '';
        }
        {
          expr = true;
        }
      ]
      [
        "K"
        {
          __raw = ''
            function()
              if vim.wo.diff then
                return "[c"
              end
              vim.schedule(function()
                gitsigns.prev_hunk()
              end)
              return "<Ignore>"
            end
          '';
        }
        {
          expr = true;
        }
      ]
      [
        "s"
        ":Gitsigns stage_hunk<CR>"
        {
          silent = true;
        }
      ]
      [
        "u"
        {
          __raw = "require('gitsigns').undo_stage_hunk";
        }
      ]
      [
        "S"
        {
          __raw = "require('gitsigns').stage_buffer";
        }
      ]
      [
        "p"
        {
          __raw = "require('gitsigns').preview_hunk";
        }
      ]
      [
        "d"
        {
          __raw = "require('gitsigns').toggle_deleted";
        }
        {
          nowait = true;
        }
      ]
      [
        "b"
        {
          __raw = "require('gitsigns').blame_line";
        }
      ]
      [
        "B"
        {
          __raw = ''
            function()
              gitsigns.blame_line({ full = true })
            end,
          '';
        }
      ]
      [
        "/"
        {
          __raw = "require('gitsigns').show";
        }
        {
          exit = true;
        }
      ]
      [
        "<Enter>"
        "<cmd>Neogit<CR>"
        {
          exit = true;
        }
      ]
      [
        "q"
        null
        {
          exit = true;
          nowait = true;
        }
      ]
    ];
    hint = {
      __raw = ''
        [[
           _J_: next hunk   _s_: stage hunk        _d_: show deleted   _b_: blame line
           _K_: prev hunk   _u_: undo stage hunk   _p_: preview hunk   _B_: blame show full
           ^ ^              _S_: stage buffer      ^ ^                 _/_: show base file
           ^
           ^ ^              _<Enter>_: Neogit              _q_: exit
        ]]
      '';
    };
    mode = [
      "n"
      "x"
    ];
    name = "git";
  }
]

Declared by:

plugins.hydra.hydras.*.body

Key required to activate the hydra, when excluded, you can use Hydra:activate().

Type: null or string or raw lua code

Default: null

Declared by:

plugins.hydra.hydras.*.heads

Each Hydra’s head has the form: `[head rhs opts]

Similar to the vim.keymap.set() function.

  • The head is the “lhs” of the mapping (given as a string). These are the keys you press to perform the action.
  • The rhs is the action that gets performed. It can be a string, function (use __raw) or null. When null, the action is a no-op.
  • The opts attrs is empty by default.

Type: null or (list of list of (null or string or raw lua code or (attribute set of anything)))

Default: null

Declared by:

plugins.hydra.hydras.*.hint

The hint for a hydra can let you know that it’s active, and remind you of the hydra’s heads. The string for the hint is passed directly to the hydra.

See the README for more information.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.hydra.hydras.*.mode

Modes where the hydra exists, same as vim.keymap.set() accepts.

Type: null or one of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca” or list of (one of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”)

Default: null

Plugin default: "n"

Declared by:

plugins.hydra.hydras.*.name

Hydra’s name. Only used in auto-generated hint.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.hydra.hydras.*.config.buffer

Define a hydra for the given buffer, pass true for current buf.

Type: null or value true (singular enum) or (unsigned integer, meaning >=0)

Default: null

Plugin default: null

Declared by:

plugins.hydra.hydras.*.config.color

See :h hydra-colors. "red" | "amaranth" | "teal" | "pink"

Type: null or string or raw lua code

Default: null

Plugin default: "red"

Declared by:

plugins.hydra.hydras.*.config.debug

Whether to enable debug mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.hydra.hydras.*.config.desc

Description used for the body keymap when invoke_on_body is true. When nil, “[Hydra] … name” is used.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.hydra.hydras.*.config.exit

Set the default exit value for each head in the hydra.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.hydra.hydras.*.config.foreign_keys

Decides what to do when a key which doesn’t belong to any head is pressed

  • null: hydra exits and foreign key behaves normally, as if the hydra wasn’t active
  • "warn": hydra stays active, issues a warning and doesn’t run the foreign key
  • "run": hydra stays active, runs the foreign key

Type: null or one of “warn”, “run” or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.hydra.hydras.*.config.hint

Configure the hint. Set to false to disable.

Type: null or value false (singular enum) or (attribute set of anything)

Default: null

Plugin default:

{
  offset = 0;
  position = "bottom";
  show_name = true;
}

Declared by:

plugins.hydra.hydras.*.config.invoke_on_body

When true, summon the hydra after pressing only the body keys. Normally a head is required.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.hydra.hydras.*.config.on_enter

Called when the hydra is activated.

Type: null or lua code string

Default: null

Declared by:

plugins.hydra.hydras.*.config.on_exit

Called before the hydra is deactivated.

Type: null or lua code string

Default: null

Declared by:

plugins.hydra.hydras.*.config.on_key

Called after every hydra head.

Type: null or lua code string

Default: null

Declared by:

plugins.hydra.hydras.*.config.timeout

Timeout after which the hydra is automatically disabled. Calling any head will refresh the timeout

  • true: timeout set to value of timeoutlen (:h timeoutlen)
  • 5000: set to desired number of milliseconds

By default hydras wait forever (false).

Type: null or boolean or (unsigned integer, meaning >=0)

Default: null

Plugin default: false

Declared by:

plugins.hydra.lazyLoad

Lazy-load settings for hydra.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.hydra.lazyLoad.enable

lazy-loading for hydra.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.hydra.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.hydra.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.hydra.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.hydra.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.hydra.settings

Options provided to the require('hydra').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  buffer = true;
  color = "red";
  desc = null;
  exit = false;
  foreign_keys = "run";
  hint = false;
  invoke_on_body = false;
  on_enter = ''
    function()
      print('hello')
    end
  '';
  timeout = 5000;
}

Declared by:

plugins.hydra.settings.buffer

Define a hydra for the given buffer, pass true for current buf.

Type: null or value true (singular enum) or (unsigned integer, meaning >=0)

Default: null

Plugin default: null

Declared by:

plugins.hydra.settings.color

See :h hydra-colors. "red" | "amaranth" | "teal" | "pink"

Type: null or string or raw lua code

Default: null

Plugin default: "red"

Declared by:

plugins.hydra.settings.debug

Whether to enable debug mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.hydra.settings.desc

Description used for the body keymap when invoke_on_body is true. When nil, “[Hydra] … name” is used.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.hydra.settings.exit

Set the default exit value for each head in the hydra.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.hydra.settings.foreign_keys

Decides what to do when a key which doesn’t belong to any head is pressed

  • null: hydra exits and foreign key behaves normally, as if the hydra wasn’t active
  • "warn": hydra stays active, issues a warning and doesn’t run the foreign key
  • "run": hydra stays active, runs the foreign key

Type: null or one of “warn”, “run” or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.hydra.settings.hint

Configure the hint. Set to false to disable.

Type: null or value false (singular enum) or (attribute set of anything)

Default: null

Plugin default:

{
  offset = 0;
  position = "bottom";
  show_name = true;
}

Declared by:

plugins.hydra.settings.invoke_on_body

When true, summon the hydra after pressing only the body keys. Normally a head is required.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.hydra.settings.on_enter

Called when the hydra is activated.

Type: null or lua code string

Default: null

Declared by:

plugins.hydra.settings.on_exit

Called before the hydra is deactivated.

Type: null or lua code string

Default: null

Declared by:

plugins.hydra.settings.on_key

Called after every hydra head.

Type: null or lua code string

Default: null

Declared by:

plugins.hydra.settings.timeout

Timeout after which the hydra is automatically disabled. Calling any head will refresh the timeout

  • true: timeout set to value of timeoutlen (:h timeoutlen)
  • 5000: set to desired number of milliseconds

By default hydras wait forever (false).

Type: null or boolean or (unsigned integer, meaning >=0)

Default: null

Plugin default: false

Declared by:

idris2

URL: https://github.com/idris-community/idris2-nvim/

Maintainers: Mitchell Nordine

plugins.idris2.enable

Whether to enable idris2.

Type: boolean

Default: false

Example: true

Declared by:

plugins.idris2.package

The idris2 package to use.

Type: package

Default: pkgs.vimPlugins.idris2-nvim

Declared by:

plugins.idris2.autoLoad

Whether to automatically load idris2 when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.idris2.settings

Options provided to the require('idris2').setup function.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.idris2.lazyLoad

Lazy-load settings for idris2.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.idris2.lazyLoad.enable

lazy-loading for idris2

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.idris2.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.idris2.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.idris2.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.idris2.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.illuminate.enable

Whether to enable vim-illuminate.

Type: boolean

Default: false

Example: true

Declared by:

plugins.illuminate.package

The vim-illuminate package to use.

Type: package

Default: pkgs.vimPlugins.vim-illuminate

Declared by:

plugins.illuminate.delay

Delay in milliseconds.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 100

Declared by:

plugins.illuminate.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.illuminate.filetypeOverrides

Filetype specific overrides. The keys are strings to represent the filetype.

Type: null or (attribute set of ((submodule) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.illuminate.filetypesAllowlist

Filetypes to illuminate, this is overridden by filetypes_denylist.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.illuminate.filetypesDenylist

Filetypes to not illuminate, this overrides filetypes_allowlist.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "dirvish"
  "fugitive"
]

Declared by:

plugins.illuminate.largeFileCutoff

Number of lines at which to use large_file_config. The under_cursor option is disabled when this cutoff is hit.

Type: null or signed integer

Default: null

Declared by:

plugins.illuminate.minCountToHighlight

Minimum number of matches required to perform highlighting.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.illuminate.modesAllowlist

Modes to illuminate, this is overridden by modes_denylist. See :help mode() for possible values.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.illuminate.modesDenylist

Modes to not illuminate, this overrides modes_allowlist. See :help mode() for possible values.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.illuminate.providers

Provider used to get references in the buffer, ordered by priority.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "lsp"
  "treesitter"
  "regex"
]

Declared by:

plugins.illuminate.providersRegexSyntaxAllowlist

Syntax to illuminate, this is overridden by providers_regex_syntax_denylist. Only applies to the ‘regex’ provider. Use :echo synIDattr(synIDtrans(synID(line('.'), col('.'), 1)), 'name').

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.illuminate.providersRegexSyntaxDenylist

Syntax to not illuminate, this overrides providers_regex_syntax_allowlist. Only applies to the ‘regex’ provider. Use :echo synIDattr(synIDtrans(synID(line('.'), col('.'), 1)), 'name').

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.illuminate.underCursor

Whether or not to illuminate under the cursor.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.illuminate.largeFileOverrides

Config to use for large files (based on large_file_cutoff). Supports the same keys passed to .configure If null, illuminate will be disabled for large files.

Type: submodule

Default: { }

Declared by:

plugins.illuminate.largeFileOverrides.delay

Delay in milliseconds.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 100

Declared by:

plugins.illuminate.largeFileOverrides.filetypesAllowlist

Filetypes to illuminate, this is overridden by filetypes_denylist.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.illuminate.largeFileOverrides.filetypesDenylist

Filetypes to not illuminate, this overrides filetypes_allowlist.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "dirvish"
  "fugitive"
]

Declared by:

plugins.illuminate.largeFileOverrides.largeFileCutoff

Number of lines at which to use large_file_config. The under_cursor option is disabled when this cutoff is hit.

Type: null or signed integer

Default: null

Declared by:

plugins.illuminate.largeFileOverrides.minCountToHighlight

Minimum number of matches required to perform highlighting.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.illuminate.largeFileOverrides.modesAllowlist

Modes to illuminate, this is overridden by modes_denylist. See :help mode() for possible values.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.illuminate.largeFileOverrides.modesDenylist

Modes to not illuminate, this overrides modes_allowlist. See :help mode() for possible values.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.illuminate.largeFileOverrides.providers

Provider used to get references in the buffer, ordered by priority.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "lsp"
  "treesitter"
  "regex"
]

Declared by:

plugins.illuminate.largeFileOverrides.providersRegexSyntaxAllowlist

Syntax to illuminate, this is overridden by providers_regex_syntax_denylist. Only applies to the ‘regex’ provider. Use :echo synIDattr(synIDtrans(synID(line('.'), col('.'), 1)), 'name').

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.illuminate.largeFileOverrides.providersRegexSyntaxDenylist

Syntax to not illuminate, this overrides providers_regex_syntax_allowlist. Only applies to the ‘regex’ provider. Use :echo synIDattr(synIDtrans(synID(line('.'), col('.'), 1)), 'name').

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.illuminate.largeFileOverrides.underCursor

Whether or not to illuminate under the cursor.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

image

URL: https://github.com/3rd/image.nvim

Maintainers: Gaetan Lepage

plugins.image.enable

Whether to enable image.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.image.package

The image.nvim package to use.

Type: package

Default: pkgs.vimPlugins.image-nvim

Declared by:

plugins.image.autoLoad

Whether to automatically load image.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.image.lazyLoad

Lazy-load settings for image.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.image.lazyLoad.enable

lazy-loading for image.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.image.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.image.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.image.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.image.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.image.settings

Options provided to the require('image').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  backend = "kitty";
  max_height = 12;
  max_height_window_percentage = {
    __raw = "math.huge";
  };
  max_width = 100;
  max_width_window_percentage = {
    __raw = "math.huge";
  };
  window_overlap_clear_enabled = true;
  window_overlap_clear_ft_ignore = [
    "cmp_menu"
    "cmp_docs"
    ""
  ];
}

Declared by:

plugins.image.settings.backend

All the backends support rendering inside Tmux.

  • kitty - best in class, works great and is very snappy

  • ueberzug - backed by ueberzugpp, supports any terminal, but has lower performance

    • Supports multiple images thanks to @jstkdng.

note

When choosing the "ueberzug" backend, nixvim will automatically add ueberzugpp as a dependency. Set ueberzugPackage = null to disable this behavior.

Type: null or one of “kitty”, “ueberzug” or raw lua code

Default: null

Plugin default: "kitty"

Declared by:

plugins.image.settings.editor_only_render_when_focused

Auto show/hide images when the editor gains/looses focus.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.image.settings.hijack_file_patterns

Render image files as images when opened.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "*.png"
  "*.jpg"
  "*.jpeg"
  "*.gif"
  "*.webp"
  "*.avif"
]

Declared by:

plugins.image.settings.integrations

Per-filetype integrations.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  css = {
    enabled = false;
  };
  html = {
    enabled = false;
  };
  markdown = {
    enabled = true;
  };
  neorg = {
    enabled = true;
  };
  syslang = {
    enabled = true;
  };
  typst = {
    enabled = true;
  };
}

Declared by:

plugins.image.settings.max_height

Image maximum height.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.image.settings.max_height_window_percentage

Image maximum height as a percentage of the window height.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 50

Declared by:

plugins.image.settings.max_width

Image maximum width.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.image.settings.max_width_window_percentage

Image maximum width as a percentage of the window width.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 100

Declared by:

plugins.image.settings.tmux_show_only_in_active_window

Auto show/hide images in the correct Tmux window (needs visual-activity off).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.image.settings.window_overlap_clear_enabled

Toggles images when windows are overlapped.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.image.settings.window_overlap_clear_ft_ignore

Toggles images when windows are overlapped.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "cmp_menu"
  "cmp_docs"
  "snacks_notif"
  "scrollview"
  "scrollview_sign"
]

Declared by:

improved-search

URL: https://github.com/backdround/improved-search.nvim/

Maintainers: Gaetan Lepage

plugins.improved-search.enable

Whether to enable improved-search.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.improved-search.package

The improved-search.nvim package to use.

Type: package

Default: pkgs.vimPlugins.improved-search-nvim

Declared by:

plugins.improved-search.autoLoad

Whether to automatically load improved-search.nvim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.improved-search.keymaps

Keymap definitions for search functions

See here for the list of available callbacks.

Type: list of (submodule)

Default: [ ]

Example:

[
  {
    action = "stable_next";
    key = "n";
    mode = [
      "n"
      "x"
      "o"
    ];
  }
  {
    action = "stable_previous";
    key = "N";
    mode = [
      "n"
      "x"
      "o"
    ];
  }
  {
    action = "current_word";
    key = "!";
    mode = "n";
    options = {
      desc = "Search current word without moving";
    };
  }
  {
    action = "in_place";
    key = "!";
    mode = "x";
  }
  {
    action = "forward";
    key = "*";
    mode = "x";
  }
  {
    action = "backward";
    key = "#";
    mode = "x";
  }
  {
    action = "in_place";
    key = "|";
    mode = "n";
  }
]

Declared by:

plugins.improved-search.keymaps.*.action

The action to execute.

See here for the list of available callbacks.

Type: one of “stable_next”, “stable_previous”, “current_word”, “current_word_strict”, “in_place”, “in_place_strict”, “forward”, “forward_strict”, “backward”, “backward_strict” or raw lua code

Example: "in_place"

Declared by:

plugins.improved-search.keymaps.*.key

The key to map.

Type: string

Example: "!"

Declared by:

plugins.improved-search.keymaps.*.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: ""

Example:

[
  "n"
  "v"
]

Declared by:

plugins.improved-search.keymaps.*.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.improved-search.keymaps.*.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.improved-search.keymaps.*.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.improved-search.keymaps.*.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.improved-search.keymaps.*.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.improved-search.keymaps.*.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.improved-search.keymaps.*.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.improved-search.keymaps.*.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.improved-search.keymaps.*.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.improved-search.keymaps.*.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

inc-rename

URL: https://github.com/smjonas/inc-rename.nvim/

Maintainers: Johan Larsson


A small Neovim plugin that provides a command for LSP renaming with immediate visual feedback thanks to Neovim's command preview feature.

plugins.inc-rename.enable

Whether to enable inc-rename.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.inc-rename.package

The inc-rename.nvim package to use.

Type: package

Default: pkgs.vimPlugins.inc-rename-nvim

Declared by:

plugins.inc-rename.autoLoad

Whether to automatically load inc-rename.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.inc-rename.lazyLoad

Lazy-load settings for inc-rename.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.inc-rename.lazyLoad.enable

lazy-loading for inc-rename.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.inc-rename.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.inc-rename.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.inc-rename.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.inc-rename.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.inc-rename.settings

Options provided to the require('inc_rename').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  input_buffer_type = "dressing";
  preview_empty_name = false;
  show_message = {
    __raw = ''
      function(msg)
        vim.notify(msg, vim.log.levels.INFO, { title = "Rename" })
      end
    '';
  };
}

Declared by:

plugins.inc-rename.settings.cmd_name

The name of the command.

Type: null or string or raw lua code

Default: null

Plugin default: "IncRename"

Declared by:

plugins.inc-rename.settings.hl_group

The highlight group used for highlighting the identifier’s new name.

Type: null or string or raw lua code

Default: null

Plugin default: "Substitute"

Declared by:

plugins.inc-rename.settings.input_buffer_type

The type of the external input buffer to use.

Type: null or value “dressing” (singular enum)

Default: null

Plugin default: null

Declared by:

plugins.inc-rename.settings.post_hook

Callback to run after renaming, receives the result table (from LSP handler) as an argument.

Type: null or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.inc-rename.settings.preview_empty_name

Whether an empty new name should be previewed; if false the command preview will be cancelled instead.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.inc-rename.settings.save_in_cmdline_history

Whether to save the IncRename command in the commandline history. Set to false to prevent issues with navigating to older entries that may arise due to the behavior of command preview).

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.inc-rename.settings.show_message

Whether to display a Renamed m instances in n files message after a rename operation.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

indent-blankline

URL: https://github.com/lukas-reineke/indent-blankline.nvim/

Maintainers: Gaetan Lepage

plugins.indent-blankline.enable

Whether to enable indent-blankline.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.indent-blankline.package

The indent-blankline.nvim package to use.

Type: package

Default: pkgs.vimPlugins.indent-blankline-nvim

Declared by:

plugins.indent-blankline.autoLoad

Whether to automatically load indent-blankline.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.indent-blankline.lazyLoad

Lazy-load settings for indent-blankline.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.indent-blankline.lazyLoad.enable

lazy-loading for indent-blankline.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.indent-blankline.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.indent-blankline.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.indent-blankline.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.indent-blankline.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.indent-blankline.settings

Options provided to the require('ibl').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  exclude = {
    buftypes = [
      "terminal"
      "quickfix"
    ];
    filetypes = [
      ""
      "checkhealth"
      "help"
      "lspinfo"
      "packer"
      "TelescopePrompt"
      "TelescopeResults"
      "yaml"
    ];
  };
  indent = {
    char = "│";
  };
  scope = {
    show_end = false;
    show_exact_scope = true;
    show_start = false;
  };
}

Declared by:

plugins.indent-blankline.settings.debounce

Sets the amount indent-blankline debounces refreshes in milliseconds.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 200

Declared by:

plugins.indent-blankline.settings.exclude.buftypes

List of buftypes for which indent-blankline is disabled.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "terminal"
  "nofile"
  "quickfix"
  "prompt"
]

Declared by:

plugins.indent-blankline.settings.exclude.filetypes

List of filetypes for which indent-blankline is disabled.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "lspinfo"
  "packer"
  "checkhealth"
  "help"
  "man"
  "gitcommit"
  "TelescopePrompt"
  "TelescopeResults"
  "''"
]

Declared by:

plugins.indent-blankline.settings.indent.char

Character, or list of characters, that get used to display the indentation guide. Each character has to have a display width of 0 or 1.

Type: null or string or list of string

Default: null

Plugin default: "▎"

Declared by:

plugins.indent-blankline.settings.indent.highlight

Highlight group, or list of highlight groups, that get applied to the indentation guide.

Default: |hl-IblIndent|

Type: null or string or list of string

Default: null

Declared by:

plugins.indent-blankline.settings.indent.priority

Virtual text priority for the indentation guide.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.indent-blankline.settings.indent.smart_indent_cap

Caps the number of indentation levels by looking at the surrounding code.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.indent-blankline.settings.indent.tab_char

Character, or list of characters, that get used to display the indentation guide for tabs. Each character has to have a display width of 0 or 1.

Default: uses |lcs-tab| if |'list'| is set, otherwise, uses |ibl.config.indent.char|.

Type: null or string or list of string

Default: null

Declared by:

plugins.indent-blankline.settings.scope.enabled

Enables or disables scope.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.indent-blankline.settings.scope.char

Character, or list of characters, that get used to display the scope indentation guide.

Each character has to have a display width of 0 or 1.

Default: indent.char

Type: null or string or list of string

Default: null

Declared by:

plugins.indent-blankline.settings.scope.highlight

Highlight group, or list of highlight groups, that get applied to the scope.

Default: |hl-IblScope|

Type: null or string or list of string

Default: null

Declared by:

plugins.indent-blankline.settings.scope.injected_languages

Checks for the current scope in injected treesitter languages. This also influences if the scope gets excluded or not.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.indent-blankline.settings.scope.priority

Virtual text priority for the scope.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1024

Declared by:

plugins.indent-blankline.settings.scope.show_end

Shows an underline on the last line of the scope.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.indent-blankline.settings.scope.show_exact_scope

Shows an underline on the first line of the scope starting at the exact start of the scope (even if this is to the right of the indent guide) and an underline on the last line of the scope ending at the exact end of the scope.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.indent-blankline.settings.scope.show_start

Shows an underline on the first line of the scope.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.indent-blankline.settings.scope.exclude.language

List of treesitter languages for which scope is disabled.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.indent-blankline.settings.scope.exclude.node_type

Map of language to a list of node types which should not be used as scope.

Use * as a wildcard for all languages.

Type: null or (attribute set of ((list of string) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "*" = [
    "source_file"
    "program"
  ];
  lua = [
    "chunk"
  ];
  python = [
    "module"
  ];
}

Declared by:

plugins.indent-blankline.settings.scope.include.node_type

Map of language to a list of node types which can be used as scope.

  • Use * as the language to act as a wildcard for all languages.
  • Use * as a node type to act as a wildcard for all node types.

Type: null or (attribute set of ((list of string) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.indent-blankline.settings.viewport_buffer.max

Maximum number of lines above and below of what is currently visible in the window for which indentation guides will be generated.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 500

Declared by:

plugins.indent-blankline.settings.viewport_buffer.min

Minimum number of lines above and below of what is currently visible in the window for which indentation guides will be generated.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 30

Declared by:

plugins.indent-blankline.settings.whitespace.highlight

Highlight group, or list of highlight groups, that get applied to the whitespace.

Default: |hl-IblWhitespace|

Type: null or string or list of string

Default: null

Declared by:

plugins.indent-blankline.settings.whitespace.remove_blankline_trail

Removes trailing whitespace on blanklines.

Turn this off if you want to add background color to the whitespace highlight group.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

indent-o-matic

URL: https://github.com/Darazaki/indent-o-matic/

Maintainers: Alison Jenkins

plugins.indent-o-matic.enable

Whether to enable indent-o-matic.

Type: boolean

Default: false

Example: true

Declared by:

plugins.indent-o-matic.package

The indent-o-matic package to use.

Type: package

Default: pkgs.vimPlugins.indent-o-matic

Declared by:

plugins.indent-o-matic.autoLoad

Whether to automatically load indent-o-matic when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.indent-o-matic.lazyLoad

Lazy-load settings for indent-o-matic.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.indent-o-matic.lazyLoad.enable

lazy-loading for indent-o-matic

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.indent-o-matic.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.indent-o-matic.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.indent-o-matic.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.indent-o-matic.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.indent-o-matic.settings

Options provided to the require('indent-o-matic').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  max_lines = 2048;
  skip_multiline = false;
  standard_widths = [
    2
    4
    8
  ];
}

Declared by:

plugins.indent-o-matic.settings.max_lines

Number of lines without indentation before giving up (use -1 for infinite)

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 2048

Declared by:

plugins.indent-o-matic.settings.skip_multiline

Skip multi-line comments and strings (more accurate detection but less performant)

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.indent-o-matic.settings.standard_widths

Space indentations that should be detected

Type: null or (list of (unsigned integer, meaning >=0, or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  2
  4
  8
]

Declared by:

indent-tools

URL: https://github.com/arsham/indent-tools.nvim/

Maintainers: Gaetan Lepage

plugins.indent-tools.enable

Whether to enable indent-tools.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.indent-tools.package

The indent-tools.nvim package to use.

Type: package

Default: pkgs.vimPlugins.indent-tools-nvim

Declared by:

plugins.indent-tools.autoLoad

Whether to automatically load indent-tools.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.indent-tools.settings

Options provided to the require('indent-tools').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  normal = {
    down = false;
    up = false;
  };
  textobj = {
    ai = "aI";
    ii = "iI";
  };
}

Declared by:

plugins.indent-tools.lazyLoad

Lazy-load settings for indent-tools.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.indent-tools.lazyLoad.enable

lazy-loading for indent-tools.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.indent-tools.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.indent-tools.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.indent-tools.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.indent-tools.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

instant

URL: https://github.com/jbyuki/instant.nvim/

Maintainers: Gaetan Lepage

plugins.instant.enable

Whether to enable instant.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.instant.package

The instant.nvim package to use.

Type: package

Default: pkgs.vimPlugins.instant-nvim

Declared by:

plugins.instant.autoLoad

Whether to automatically load instant.nvim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.instant.settings

The configuration options for instant without the instant_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal instant_foo_bar=1
  • hello = "world" -> :setglobal instant_hello="world"
  • some_toggle = true -> :setglobal instant_some_toggle
  • other_toggle = false -> :setglobal noinstant_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  cursor_hl_group_default = "Cursor";
  cursor_hl_group_user1 = "Cursor";
  cursor_hl_group_user2 = "Cursor";
  cursor_hl_group_user3 = "Cursor";
  cursor_hl_group_user4 = "Cursor";
  name_hl_group_default = "CursorLineNr";
  name_hl_group_user1 = "CursorLineNr";
  name_hl_group_user2 = "CursorLineNr";
  name_hl_group_user3 = "CursorLineNr";
  name_hl_group_user4 = "CursorLineNr";
  onlyCwd = true;
  username = "Joe";
}

Declared by:

plugins.instant.settings.cursor_hl_group_default

Cursor highlight group for any other userr.

Type: null or string or raw lua code

Default: null

Plugin default: "Cursor"

Declared by:

plugins.instant.settings.cursor_hl_group_user1

Cursor highlight group for user 1.

Type: null or string or raw lua code

Default: null

Plugin default: "Cursor"

Declared by:

plugins.instant.settings.cursor_hl_group_user2

Cursor highlight group for user 2.

Type: null or string or raw lua code

Default: null

Plugin default: "Cursor"

Declared by:

plugins.instant.settings.cursor_hl_group_user3

Cursor highlight group for user 3.

Type: null or string or raw lua code

Default: null

Plugin default: "Cursor"

Declared by:

plugins.instant.settings.cursor_hl_group_user4

Cursor highlight group for user 4.

Type: null or string or raw lua code

Default: null

Plugin default: "Cursor"

Declared by:

plugins.instant.settings.name_hl_group_default

Virtual text highlight group for any other user.

Type: null or string or raw lua code

Default: null

Plugin default: "CursorLineNr"

Declared by:

plugins.instant.settings.name_hl_group_user1

Virtual text highlight group for user 1.

Type: null or string or raw lua code

Default: null

Plugin default: "CursorLineNr"

Declared by:

plugins.instant.settings.name_hl_group_user2

Virtual text highlight group for user 2.

Type: null or string or raw lua code

Default: null

Plugin default: "CursorLineNr"

Declared by:

plugins.instant.settings.name_hl_group_user3

Virtual text highlight group for user 3.

Type: null or string or raw lua code

Default: null

Plugin default: "CursorLineNr"

Declared by:

plugins.instant.settings.name_hl_group_user4

Virtual text highlight group for user 4.

Type: null or string or raw lua code

Default: null

Plugin default: "CursorLineNr"

Declared by:

plugins.instant.settings.only_cwd

Choose whether to share files only in the current working directory in session mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.instant.settings.username

Username. Explicitly set to null if you do not want this option to be set.

Type: null or string or raw lua code

Default: null

Declared by:

intellitab

URL: https://github.com/pta2002/intellitab.nvim/

Maintainers: Gaetan Lepage

plugins.intellitab.enable

Whether to enable intellitab.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.intellitab.package

The intellitab.nvim package to use.

Type: package

Default: pkgs.vimPlugins.intellitab-nvim

Declared by:

plugins.intellitab.autoLoad

Whether to automatically load intellitab.nvim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

iron

URL: https://github.com/Vigemus/iron.nvim/

Maintainers: Johan Larsson


Interactive Repls Over Neovim.

plugins.iron.enable

Whether to enable iron.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.iron.package

The iron.nvim package to use.

Type: package

Default: pkgs.vimPlugins.iron-nvim

Declared by:

plugins.iron.autoLoad

Whether to automatically load iron.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.iron.settings

Options provided to the require('iron.core').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  highlight = {
    italic = true;
  };
  keymaps = {
    send_line = "<space>sl";
    send_motion = "<space>sc";
    visual_send = "<space>sc";
  };
  repl_definition = {
    python = {
      command = [
        "python3"
      ];
      format = {
        __raw = "require('iron.fts.common').bracketed_paste_python";
      };
    };
    sh = {
      command = [
        "zsh"
      ];
    };
  };
  repl_open_cmd = {
    __raw = "require(\"iron.view\").bottom(40)";
  };
  scratch_repl = true;
}

Declared by:

plugins.iron.lazyLoad

Lazy-load settings for iron.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.iron.lazyLoad.enable

lazy-loading for iron.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.iron.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.iron.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.iron.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.iron.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

java

URL: https://github.com/nvim-java/nvim-java/

Maintainers: Gaetan Lepage

plugins.java.enable

Whether to enable nvim-java.

Type: boolean

Default: false

Example: true

Declared by:

plugins.java.package

The nvim-java package to use.

Type: package

Default: pkgs.vimPlugins.nvim-java

Declared by:

plugins.java.autoLoad

Whether to automatically load nvim-java when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.java.lazyLoad

Lazy-load settings for nvim-java.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.java.lazyLoad.enable

lazy-loading for nvim-java

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.java.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.java.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.java.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.java.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.java.settings

Options provided to the require('java').setup function.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.java.settings.root_markers

List of files that exist in root of the project.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "settings.gradle"
  "settings.gradle.kts"
  "pom.xml"
  "build.gradle"
  "mvnw"
  "gradlew"
  "build.gradle"
  "build.gradle.kts"
  ".git"
]

Declared by:

jdtls

URL: https://github.com/mfussenegger/nvim-jdtls/

Maintainers: Gaetan Lepage

plugins.jdtls.enable

Whether to enable nvim-jdtls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.jdtls.package

The nvim-jdtls package to use.

Type: package

Default: pkgs.vimPlugins.nvim-jdtls

Declared by:

plugins.jdtls.autoLoad

Whether to automatically load nvim-jdtls when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.jdtls.jdtLanguageServerPackage

The jdt-language-server package to use.

Type: null or package

Default: pkgs.jdt-language-server

Declared by:

plugins.jdtls.lazyLoad

Lazy-load settings for nvim-jdtls.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.jdtls.lazyLoad.enable

lazy-loading for nvim-jdtls

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.jdtls.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.jdtls.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.jdtls.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.jdtls.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.jdtls.settings

Options provided to the require('jdtls').start_or_attach function.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = [
    "jdtls"
    {
      __raw = "'--jvm-arg='..vim.api.nvim_eval('g:NVIM_LOMBOK')";
    }
  ];
  root_dir = {
    __raw = ''
      vim.fs.dirname(vim.fs.find({'gradlew', '.git', 'mvnw'}, { upward = true })[1])
    '';
  };
}

Declared by:

plugins.jdtls.settings.cmd

The command that starts the language server.

Type: null or (list of (string or raw lua code))

Default: null

Example:

[
  "java"
  "-data"
  "/path/to/your/workspace"
  "-configuration"
  "/path/to/your/configuration"
  "-foo"
  "bar"
]

Declared by:

plugins.jdtls.settings.init_options

Language server initializationOptions.

You need to extend the bundles with paths to jar files if you want to use additional eclipse.jdt.ls plugins.

See https://github.com/mfussenegger/nvim-jdtls#java-debug-installation

If you don’t plan on using the debugger or other eclipse.jdt.ls plugins, ignore this option

Type: null or (attribute set)

Default: null

Declared by:

plugins.jdtls.settings.root_dir

Function to identify the root directory from which to run the language server.

Type: null or string or raw lua code

Default: null

Plugin default:

{
  __raw = "require('jdtls.setup').find_root({'.git', 'mvnw', 'gradlew'})";
}

Declared by:

julia-cell

URL: https://github.com/mroavi/vim-julia-cell/

Maintainers: Gaetan Lepage

plugins.julia-cell.enable

Whether to enable vim-julia-cell.

Type: boolean

Default: false

Example: true

Declared by:

plugins.julia-cell.package

The vim-julia-cell package to use.

Type: package

Default: pkgs.vimPlugins.vim-julia-cell

Declared by:

plugins.julia-cell.autoLoad

Whether to automatically load vim-julia-cell when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.julia-cell.keymaps.clear

Keymap for clearing the REPL.

Type: null or string

Default: null

Declared by:

plugins.julia-cell.keymaps.executeCell

Keymap for executing the current code cell.

Type: null or string

Default: null

Declared by:

plugins.julia-cell.keymaps.executeCellJump

Keymap for executing the current code cell and jumping to the next cell.

Type: null or string

Default: null

Declared by:

plugins.julia-cell.keymaps.nextCell

Keymap for jumping to the next cell header.

Type: null or string

Default: null

Declared by:

plugins.julia-cell.keymaps.prevCell

Keymap for jumping to the previous cell header.

Type: null or string

Default: null

Declared by:

plugins.julia-cell.keymaps.run

Keymap for running the entire file.

Type: null or string

Default: null

Declared by:

plugins.julia-cell.keymaps.silent

Whether julia-cell keymaps should be silent

Type: boolean

Default: false

Declared by:

plugins.julia-cell.settings

The configuration options for julia-cell without the julia_cell_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal julia_cell_foo_bar=1
  • hello = "world" -> :setglobal julia_cell_hello="world"
  • some_toggle = true -> :setglobal julia_cell_some_toggle
  • other_toggle = false -> :setglobal nojulia_cell_other_toggle

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.julia-cell.settings.delimit_cells_by

Specifies if cells are delimited by ‘marks’ or ‘tags’.

Type: null or one of “marks”, “tags” or raw lua code

Default: null

Plugin default: "marks"

Declared by:

plugins.julia-cell.settings.tag

Specifies the tag format.

Type: null or string or raw lua code

Default: null

Plugin default: "##"

Declared by:

jupytext

URL: https://github.com/GCBallesteros/jupytext.nvim/

Maintainers: Gaetan Lepage

plugins.jupytext.enable

Whether to enable jupytext.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.jupytext.package

The jupytext.nvim package to use.

Type: package

Default: pkgs.vimPlugins.jupytext-nvim

Declared by:

plugins.jupytext.autoLoad

Whether to automatically load jupytext.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.jupytext.python3Dependencies

Python packages to add to the PYTHONPATH of neovim.

Type: function that evaluates to a(n) list of package

Default:

p: with p; [
  jupytext
]

Declared by:

plugins.jupytext.lazyLoad

Lazy-load settings for jupytext.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.jupytext.lazyLoad.enable

lazy-loading for jupytext.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.jupytext.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.jupytext.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.jupytext.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.jupytext.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.jupytext.settings

Options provided to the require('jupytext').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  custom_language_formatting = {
    python = {
      extension = "md";
      force_ft = "markdown";
      style = "markdown";
    };
  };
  force_ft = null;
  output_extension = "auto";
  style = "light";
}

Declared by:

plugins.jupytext.settings.custom_language_formatting

By default we use the auto mode of jupytext. This will create a script with the correct extension for each language. However, this can be overridden in a per language basis if you want to. For this you can set this option.

For example, to convert python files to quarto markdown:

  {
    python = {
      extension = "qmd";
      style = "quarto";
      force_ft = "quarto";
    };
  }

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.jupytext.settings.force_ft

Default filetype. Don’t change unless you know what you are doing.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.jupytext.settings.output_extension

By default, the extension of the plain text file is automatically selected by jupytext. This can be modified by changing the extension from auto to any other file extension supported by Jupytext. This is most useful to those using Quarto or Markdown. Analogously, we can provide a default filetype that will be given to the new buffer by using force_ft. Again, this is only really useful to users of Quarto.

Type: null or string or raw lua code

Default: null

Plugin default: "auto"

Declared by:

plugins.jupytext.settings.style

The jupytext style to use.

Type: null or string or raw lua code

Default: null

Plugin default: "hydrogen"

Declared by:

kulala

URL: https://github.com/mistweaverco/kulala.nvim/

Maintainers: Boney Patel

plugins.kulala.enable

Whether to enable kulala.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.kulala.package

The kulala.nvim package to use.

Type: package

Default: pkgs.vimPlugins.kulala-nvim

Declared by:

plugins.kulala.autoLoad

Whether to automatically load kulala.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.kulala.lazyLoad

Lazy-load settings for kulala.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.kulala.lazyLoad.enable

lazy-loading for kulala.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.kulala.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.kulala.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.kulala.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.kulala.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.kulala.settings

Options provided to the require('kulala').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  additional_curl_options = { };
  debug = false;
  default_env = "dev";
  default_view = "body";
  environment_scope = "b";
  icons = {
    inlay = {
      done = "✅";
      error = "❌";
      loading = "⏳";
    };
    lualine = "🐼";
  };
}

Declared by:

plugins.kulala.settings.certificates

Configures SSL/TLS certificates.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.kulala.settings.contenttypes

Defines formatters and path resolvers for specific content types.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "application/json" = {
    formatter = [
      "jq"
      "."
    ];
    ft = "json";
    pathresolver = {
      __raw = "require('kulala.parser.jsonpath').parse";
    };
  };
  "application/xml" = {
    formatter = [
      "xmllint"
      "--format"
      "-"
    ];
    ft = "xml";
    pathresolver = [
      "xmllint"
      "--xpath"
      "{{path}}"
      "-"
    ];
  };
  "text/html" = {
    formatter = [
      "xmllint"
      "--format"
      "--html"
      "-"
    ];
    ft = "html";
    pathresolver = [ ];
  };
}

Declared by:

plugins.kulala.settings.curl_path

Path to the cURL binary. Set this if cURL is installed in a non-standard location.

Type: null or string or raw lua code

Default: null

Plugin default: "curl"

Declared by:

plugins.kulala.settings.debug

Enables or disables debug mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.kulala.settings.default_env

Sets the default environment for requests. Common options are “dev”, “test”, or “prod”.

Type: null or string or raw lua code

Default: null

Plugin default: "dev"

Declared by:

plugins.kulala.settings.default_view

Sets the default view mode for responses. Options are “body”, “headers”, or “headers_body”.

Type: null or one of “body”, “headers”, “headers_body” or raw lua code

Default: null

Plugin default: "body"

Declared by:

plugins.kulala.settings.default_winbar_panes

Specifies which panes are displayed by default in the winbar.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "body"
  "headers"
  "headers_body"
]

Declared by:

plugins.kulala.settings.disable_script_print_output

Disables immediate printing of script outputs; outputs will still be written to disk.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.kulala.settings.display_mode

Defines how the request/response is displayed. Options are “split” or “float”.

Type: null or one of “split”, “float” or raw lua code

Default: null

Plugin default: "split"

Declared by:

plugins.kulala.settings.environment_scope

Sets the scope for environment and request variables. Options are “b” (buffer) or “g” (global).

Type: null or one of “b”, “g” or raw lua code

Default: null

Plugin default: "b"

Declared by:

plugins.kulala.settings.icons

Sets default icons for loading states and lualine.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  inlay = {
    done = "✅";
    error = "❌";
    loading = "⏳";
  };
  lualine = "🐼";
}

Declared by:

plugins.kulala.settings.scratchpad_default_contents

Default contents for the scratchpad feature.

Type: null or (list of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "@MY_TOKEN_NAME=my_token_value"
  ""
  "# @name scratchpad"
  "POST https://httpbin.org/post HTTP/1.1"
  "accept: application/json"
  "content-type: application/json"
]

Declared by:

plugins.kulala.settings.show_icons

Determines where icons are displayed relative to requests. Options are "on_request", "above_request", "below_request", or {__raw = "nil";} to disable.

Type: null or one of “on_request”, “above_request”, “below_request” or raw lua code

Default: null

Plugin default: "on_request"

Declared by:

plugins.kulala.settings.split_direction

Defines the direction of the split window. Options are “vertical” or “horizontal”.

Type: null or one of “vertical”, “horizontal” or raw lua code

Default: null

Plugin default: "vertical"

Declared by:

plugins.kulala.settings.vscode_rest_client_environmentvars

Enables reading environment variables from VSCode’s REST client.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.kulala.settings.winbar

Enables or disables the winbar for displaying request status.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

lastplace

URL: https://github.com/ethanholz/nvim-lastplace/

Maintainers: Austin Horstman


A Neovim plugin that automatically opens files at your last edit position.

plugins.lastplace.enable

Whether to enable nvim-lastplace.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lastplace.package

The nvim-lastplace package to use.

Type: package

Default: pkgs.vimPlugins.nvim-lastplace

Declared by:

plugins.lastplace.autoLoad

Whether to automatically load nvim-lastplace when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.lastplace.lazyLoad

Lazy-load settings for nvim-lastplace.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.lastplace.lazyLoad.enable

lazy-loading for nvim-lastplace

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.lastplace.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.lastplace.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.lastplace.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.lastplace.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.lastplace.settings

Options provided to the require('nvim-lastplace').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  settings = {
    lastplace_ignore_buftype = [
      "help"
    ];
    lastplace_ignore_filetype = [
      "svn"
    ];
    lastplace_open_folds = false;
  };
}

Declared by:

plugins.lastplace.settings.lastplace_ignore_buftype

The list of buffer types to ignore by lastplace.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "quickfix"
  "nofix"
  "help"
]

Declared by:

plugins.lastplace.settings.lastplace_ignore_filetype

The list of file types to ignore by lastplace.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "gitcommit"
  "gitrebase"
  "svn"
  "hgcommit"
]

Declared by:

plugins.lastplace.settings.lastplace_open_folds

Whether closed folds are automatically opened when jumping to the last edit position.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lazy.enable

Whether to enable lazy.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lazy.package

The lazy-nvim package to use.

Type: package

Default: pkgs.vimPlugins.lazy-nvim

Declared by:

plugins.lazy.plugins

List of plugins

Type: list of (package or (submodule))

Default: [ ]

Declared by:

lazydev

URL: https://github.com/folke/lazydev.nvim/

Maintainers: Heitor Augusto


lazydev.nvim as a blink.cmp source

{
  plugins = {
    lazydev.enable = true;

    blink-cmp.settings = {
      sources.providers = {
        lazydev = {
          name = "LazyDev";
          module = "lazydev.integrations.blink";
          # make lazydev completions top priority (see `:h blink.cmp`)
          score_offset = 100;
        };
      };
    };
  };
}

plugins.lazydev.enable

Whether to enable lazydev.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lazydev.package

The lazydev.nvim package to use.

Type: package

Default: pkgs.vimPlugins.lazydev-nvim

Declared by:

plugins.lazydev.autoLoad

Whether to automatically load lazydev.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.lazydev.lazyLoad

Lazy-load settings for lazydev.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.lazydev.lazyLoad.enable

lazy-loading for lazydev.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.lazydev.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.lazydev.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.lazydev.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.lazydev.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.lazydev.settings

Options provided to the require('lazydev').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  enabled = lib.nixvim.mkRaw ''
  function(root_dir)
    return vim.g.lazydev_enabled == nil and true or vim.g.lazydev_enabled
  end
'';
  library = [
    "~/projects/my-awesome-lib"
    "lazy.nvim"
    "LazyVim"
    {
      path = "LazyVim";
      words = [
        "LazyVim"
      ];
    }
  ];
  runtime = lib.nixvim.mkRaw "vim.env.VIMRUNTIME";
}

Declared by:

plugins.lazydev.settings.enabled

Whether lazydev.nvim is enabled.

Type: null or boolean or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(root_dir)
    return vim.g.lazydev_enabled == nil and true or vim.g.lazydev_enabled
  end
''

Declared by:

plugins.lazydev.settings.library

A list of libraries for lazydev.nvim.

Type: null or (list of (string or (attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lazydev.settings.runtime

The runtime path of the current Neovim instance.

Type: null or string or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "vim.env.VIMRUNTIME"

Declared by:

plugins.lazydev.settings.integrations.cmp

Whether lazydev.nvim should integrate with nvim-cmp.

Adds a completion source for:

  • require "modname"
  • ---@module "modname"

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lazydev.settings.integrations.coq

Whether lazydev.nvim should integrate with coq.nvim.

Adds a completion source for:

  • require "modname"
  • ---@module "modname"

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lazydev.settings.integrations.lspconfig

Whether lazydev.nvim should integrate with nvim-lspconfig.

Fixes lspconfig’s workspace management for LuaLS. Only create a new workspace if the buffer is not part of an existing workspace or one of its libraries.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

lazygit

URL: https://github.com/kdheepak/lazygit.nvim/

Maintainers: Andres Bermeo Marinelli

plugins.lazygit.enable

Whether to enable lazygit.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lazygit.package

The lazygit.nvim package to use.

Type: package

Default: pkgs.vimPlugins.lazygit-nvim

Declared by:

plugins.lazygit.autoLoad

Whether to automatically load lazygit.nvim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.lazygit.settings

The configuration options for lazygit without the lazygit_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal lazygit_foo_bar=1
  • hello = "world" -> :setglobal lazygit_hello="world"
  • some_toggle = true -> :setglobal lazygit_some_toggle
  • other_toggle = false -> :setglobal nolazygit_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  config_file_path = [ ];
  floating_window_border_chars = [
    "╭"
    "─"
    "╮"
    "│"
    "╯"
    "─"
    "╰"
    "│"
  ];
  floating_window_scaling_factor = 0.9;
  floating_window_use_plenary = 0;
  floating_window_winblend = 0;
  use_custom_config_file_path = 0;
  use_neovim_remote = 1;
}

Declared by:

plugins.lazygit.settings.config_file_path

Custom config file path or list of custom config file paths.

Type: null or string or list of string

Default: null

Plugin default: [ ]

Declared by:

plugins.lazygit.settings.floating_window_border_chars

Customize lazygit popup window border characters.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "╭"
  "─"
  "╮"
  "│"
  "╯"
  "─"
  "╰"
  "│"
]

Declared by:

plugins.lazygit.settings.floating_window_scaling_factor

Set the scaling factor for floating window.

Type: null or (nonnegative integer or floating point number, meaning >=0)

Default: null

Plugin default: 0.9

Declared by:

plugins.lazygit.settings.floating_window_use_plenary

Whether to use plenary.nvim to manage floating window if available.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.lazygit.settings.floating_window_winblend

Set the transparency of the floating window.

Type: null or integer between 0 and 100 (both inclusive)

Default: null

Plugin default: 0

Declared by:

plugins.lazygit.settings.use_custom_config_file_path

Config file path is evaluated if this value is 1.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.lazygit.settings.use_neovim_remote

Whether to use neovim remote. Will fallback to 0 if neovim-remote is not installed.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

lean

URL: https://github.com/Julian/lean.nvim/

Maintainers: Austin Horstman

plugins.lean.enable

Whether to enable lean.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lean.package

The lean.nvim package to use.

Type: package

Default: pkgs.vimPlugins.lean-nvim

Declared by:

plugins.lean.autoLoad

Whether to automatically load lean.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.lean.lazyLoad

Lazy-load settings for lean.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.lean.lazyLoad.enable

lazy-loading for lean.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.lean.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.lean.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.lean.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.lean.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.lean.settings

Options provided to the require('lean').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  settings = {
    abbreviations = {
      enable = true;
      extra = {
        wknight = "♘";
      };
    };
    ft = {
      default = "lean";
      nomodifiable = [
        "_target"
      ];
    };
    infoview = {
      horizontal_position = "top";
      indicators = "always";
      separate_tab = true;
    };
    lsp = {
      enable = true;
    };
    mappings = false;
    progress_bars = {
      enable = false;
    };
    stderr = {
      on_lines = {
        __raw = "function(lines) vim.notify(lines) end";
      };
    };
  };
}

Declared by:

plugins.lean.settings.mappings

Whether to enable suggested mappings.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lean.settings.abbreviations.enable

Whether to enable expanding of unicode abbreviations.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lean.settings.abbreviations.extra

Additional abbreviations.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Example:

```nix
{
  # Add a \wknight abbreviation to insert ♘
  #
  # Note that the backslash is implied, and that you of
  # course may also use a snippet engine directly to do
  # this if so desired.
  wknight = "♘";
}

Declared by:

plugins.lean.settings.abbreviations.leader

Change if you don’t like the backslash.

Type: null or string or raw lua code

Default: null

Plugin default: "\\"

Declared by:

plugins.lean.settings.ft.default

The default filetype for Lean files.

Type: null or string or raw lua code

Default: null

Plugin default: "lean"

Declared by:

plugins.lean.settings.ft.nomodifiable

A list of patterns which will be used to protect any matching Lean file paths from being accidentally modified (by marking the buffer as nomodifiable).

By default, this list includes the Lean standard libraries, as well as files within dependency directories (e.g. _target)

Set this to an empty table to disable.

Type: null or (list of string)

Default: null

Declared by:

plugins.lean.settings.infoview.autoopen

Automatically open an infoview on entering a Lean buffer.

Should be a function that will be called anytime a new Lean file is opened. Return true to open an infoview, otherwise false. Setting this to true is the same as function() return true end, i.e. autoopen for any Lean file, or setting it to false is the same as function() return false end, i.e. never autoopen.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lean.settings.infoview.autopause

Set whether a new pin is automatically paused.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lean.settings.infoview.height

Set infoview windows’ starting height.

Type: null or positive integer, meaning >0, or raw lua code

Default: null

Plugin default: 20

Declared by:

plugins.lean.settings.infoview.horizontal_position

Put the infoview on the top or bottom when horizontal.

Type: null or one of “bottom”, “top” or raw lua code

Default: null

Plugin default: "bottom"

Declared by:

plugins.lean.settings.infoview.indicators

Show indicators for pin locations when entering an infoview window.

Type: null or one of “auto”, “always”, “never” or raw lua code

Default: null

Plugin default: "auto"

Declared by:

plugins.lean.settings.infoview.mappings

Mappings.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "<CR>" = "click";
  "<Esc>" = "clear_all";
  "<LocalLeader><Tab>" = "goto_last_window";
  C = "clear_all";
  I = "mouse_enter";
  K = "click";
  gD = "go_to_decl";
  gd = "go_to_def";
  gy = "go_to_type";
  i = "mouse_leave";
}

Declared by:

plugins.lean.settings.infoview.separate_tab

Always open the infoview window in a separate tabpage. Might be useful if you are using a screen reader and don’t want too many dynamic updates in the terminal at the same time.

Note that height and width will be ignored in this case.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lean.settings.infoview.show_no_info_message

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lean.settings.infoview.show_processing

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lean.settings.infoview.use_widgets

Whether to use widgets.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lean.settings.infoview.width

Set infoview windows’ starting width.

Type: null or positive integer, meaning >0, or raw lua code

Default: null

Plugin default: 50

Declared by:

plugins.lean.settings.lsp

LSP settings.

Type: null or (attribute set of anything)

Default: null

Plugin default: { }

Declared by:

plugins.lean.settings.lsp.enable

Whether to enable the Lean language server(s).

Set to false to disable, otherwise should be a table of options to pass to leanls.

See https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#leanls for details.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lean.settings.lsp.init_options

The options to configure the lean language server.

See Lean.Lsp.InitializationOptions for details.

Type: null or (attribute set of anything)

Default: null

Declared by:

plugins.lean.settings.lsp.on_attach

The LSP handler.

Type: null or string

Default: null

Declared by:

plugins.lean.settings.progress_bars.enable

Whether to enable the progress bars.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lean.settings.progress_bars.priority

Use a different priority for the signs.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.lean.settings.stderr.enable

Redirect Lean’s stderr messages somewhere (to a buffer by default).

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lean.settings.stderr.height

Height of the window.

Type: null or positive integer, meaning >0, or raw lua code

Default: null

Plugin default: 5

Declared by:

plugins.lean.settings.stderr.on_lines

A callback which will be called with (multi-line) stderr output.

Type: null or lua function string

Default: null

Plugin default: "nil"

Declared by:

plugins.leap.enable

Whether to enable leap.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.leap.package

The leap.nvim package to use.

Type: package

Default: pkgs.vimPlugins.leap-nvim

Declared by:

plugins.leap.addDefaultMappings

Whether to enable the default mappings.

Type: boolean

Default: true

Declared by:

plugins.leap.caseSensitive

Whether to consider case in search patterns.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.leap.equivalenceClasses

A character will match any other in its equivalence class. The sets can either be defined as strings or tables.

Note: Make sure to have a set containing \n if you want to be able to target characters at the end of the line.

Note: Non-mutual aliases are not possible in Leap, for the same reason that supporting |smartcase| is not possible: we would need to show two different labels, corresponding to two different futures, at the same time.

Type: null or (list of (string or list of string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  ''
     	
  ''
]

Example:

[
  ''
    
  ''
  ")]}>"
  "([{<"
  [
    "\""
    "'"
    "`"
  ]
]

Declared by:

plugins.leap.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.leap.highlightUnlabeledPhaseOneTargets

Whether to highlight unlabeled (i.e., directly reachable) matches after the first input character.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.leap.labels

Target labels to be used when there are more matches than labels in |leap.opts.safe_labels| plus one.

Setting the list to [] forces autojump to always be on (except for Operator-pending mode, where it makes no sense). In this case, do not forget to set special_keys.next_group to something “safe” too.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "s"
  "f"
  "n"
  "j"
  "k"
  "l"
  "h"
  "o"
  "d"
  "w"
  "e"
  "m"
  "b"
  "u"
  "y"
  "v"
  "r"
  "g"
  "t"
  "c"
  "x"
  "/"
  "z"
  "S"
  "F"
  "N"
  "J"
  "K"
  "L"
  "H"
  "O"
  "D"
  "W"
  "E"
  "M"
  "B"
  "U"
  "Y"
  "V"
  "R"
  "G"
  "T"
  "C"
  "X"
  "?"
  "Z"
]

Declared by:

plugins.leap.maxHighlightedTraversalTargets

Number of targets to be highlighted after the cursor in |leap-traversal| mode (when there are no labels at all).

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.leap.maxPhaseOneTargets

By default, the plugin shows labels and/or highlights matches right after the first input character. This option disables ahead-of-time displaying of target beacons beyond a certain number of phase one targets (to mitigate visual noise in extreme cases). Setting it to 0 disables two-phase processing altogether.

Type: null or signed integer

Default: null

Declared by:

plugins.leap.safeLabels

When the number of matches does not exceed the number of these “safe” labels plus one, the plugin jumps to the first match automatically after entering the pattern. Obviously, for this purpose you should choose keys that are unlikely to be used right after a jump!

Setting the list to [] effectively disables the autojump feature.

Note: Operator-pending mode ignores this, since we need to be able to select the actual target before executing the operation.

Type: null or (list of string) or raw lua code

Default: null

Plugin default:

[
  "s"
  "f"
  "n"
  "u"
  "t"
  "/"
  "S"
  "F"
  "N"
  "L"
  "H"
  "M"
  "U"
  "G"
  "T"
  "?"
  "Z"
]

Declared by:

plugins.leap.substituteChars

The keys in this attrs will be substituted in labels and highlighted matches by the given characters. This way special (e.g. whitespace) characters can be made visible in matches, or even be used as labels.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Example:

{
  "\r" = "¬";
}

Declared by:

plugins.leap.specialKeys.multiAccept

Key captured by the plugin at runtime to accept the selection in |leap-multiselect| mode.

Type: null or string or raw lua code

Default: null

Plugin default: "<enter>"

Declared by:

plugins.leap.specialKeys.multiRevert

Key captured by the plugin at runtime to deselect the last selected target in |leap-multiselect| mode.

Type: null or string or raw lua code

Default: null

Plugin default: "<backspace>"

Declared by:

plugins.leap.specialKeys.nextGroup

Key captured by the plugin at runtime to switch to the next group of matches, when there are more matches than available labels.

Type: null or string or raw lua code

Default: null

Plugin default: "<space>"

Declared by:

plugins.leap.specialKeys.nextTarget

Key captured by the plugin at runtime to jump to the next match in traversal mode (|leap-traversal|)

Type: null or string or raw lua code

Default: null

Plugin default: "<enter>"

Declared by:

plugins.leap.specialKeys.prevGroup

Key captured by the plugin at runtime to switch to the previous group of matches, when there are more matches than available labels.

Type: null or string or raw lua code

Default: null

Plugin default: "<tab>"

Declared by:

plugins.leap.specialKeys.prevTarget

Key captured by the plugin at runtime to jump to the previous match in traversal mode (|leap-traversal|)

Type: null or string or raw lua code

Default: null

Plugin default: "<tab>"

Declared by:

ledger

URL: https://github.com/ledger/vim-ledger/

Maintainers: Gaetan Lepage

plugins.ledger.enable

Whether to enable vim-ledger.

Type: boolean

Default: false

Example: true

Declared by:

plugins.ledger.package

The vim-ledger package to use.

Type: package

Default: pkgs.vimPlugins.vim-ledger

Declared by:

plugins.ledger.autoLoad

Whether to automatically load vim-ledger when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.ledger.settings

The configuration options for ledger without the ledger_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal ledger_foo_bar=1
  • hello = "world" -> :setglobal ledger_hello="world"
  • some_toggle = true -> :setglobal ledger_some_toggle
  • other_toggle = false -> :setglobal noledger_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  detailed_first = 1;
  fillstring = " ";
  fold_blanks = 0;
  maxwidth = 80;
}

Declared by:

plugins.ledger.settings.accounts_cmd

To use a custom external system command to generate a list of account names for completion, set the following. If bin is set, this will default to running that command with arguments to parse the current file using the accounts subcommand (works with ledger or hledger), otherwise it will parse the postings in the current file itself.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.ledger.settings.align_at

Specify at which column decimal separators should be aligned.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 60

Declared by:

plugins.ledger.settings.align_commodity

Align on the commodity location instead of the amount

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.ledger.settings.align_last

Specify alignment on first or last matching separator.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.ledger.settings.bin

Path to the ledger executable.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.ledger.settings.cleared_string

Text of the output of the |:Balance| command.

Type: null or string or raw lua code

Default: null

Plugin default: "Cleared: "

Declared by:

plugins.ledger.settings.commodity_before

Flag that tells whether the commodity should be prepended or appended to the amount.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.ledger.settings.commodity_sep

String to be put between the commodity and the amount:

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.ledger.settings.commodity_spell

Flag that enable the spelling of the amount.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.ledger.settings.date_format

Format of transaction date.

Type: null or string or raw lua code

Default: null

Plugin default: "%Y/%m/%d"

Declared by:

plugins.ledger.settings.decimal_sep

Decimal separator.

Type: null or string or raw lua code

Default: null

Plugin default: "."

Declared by:

plugins.ledger.settings.default_commodity

Default commodity used by ledger#align_amount_at_cursor().

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.ledger.settings.descriptions_cmd

To use a custom external system command to generate a list of descriptions for completion, set the following. If bin is set, this will default to running that command with arguments to parse the current file using the descriptions subcommand (works with ledger or hledger), otherwise it will parse the transactions in the current file itself.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.ledger.settings.detailed_first

If you want the account completion to be sorted by level of detail/depth instead of alphabetical, set this option to 1.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.ledger.settings.extra_options

Additional default options for the ledger executable.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.ledger.settings.fillstring

String that will be used to fill the space between account name and amount in the foldtext. Set this to get some kind of lines or visual aid.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.ledger.settings.fold_blanks

By default vim will fold ledger transactions, leaving surrounding blank lines unfolded. You can use this option to hide blank lines following a transaction.

A value of 0 will disable folding of blank lines, 1 will allow folding of a single blank line between transactions; any larger value will enable folding unconditionally.

Note that only lines containing no trailing spaces are considered for folding. You can take advantage of this to disable this feature on a case-by-case basis.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.ledger.settings.is_hledger

Whether to use ledger or hledger specific features. Setting this value is optional and in most coses will be guessed correctly based on bin, but in the event it isn’t guessed correctly or you want to use different syntax features even with your default tooling setup for the other engine this flag can be set to override the value.

Type: null or boolean

Default: null

Declared by:

plugins.ledger.settings.main

The file to be used to generate reports. The default is to use the current file.

Type: null or string or raw lua code

Default: null

Plugin default: "%"

Declared by:

plugins.ledger.settings.maxwidth

Number of columns that will be used to display the foldtext. Set this when you think that the amount is too far off to the right. When maxwidth is zero, the amount will be displayed at the far right side of the screen.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.ledger.settings.pending_string

Text of the output of the |:Balance| command.

Type: null or string or raw lua code

Default: null

Plugin default: "Cleared or pending: "

Declared by:

plugins.ledger.settings.qf_hide_file

Flag to show or hide filenames in the quickfix window:

Filenames in the quickfix window are hidden by default. Set this to 1 is you want filenames to be visible.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.ledger.settings.qf_reconcile_format

Format of the reconcile quickfix window (see |:Reconcile|). The format is specified using the standard Ledger syntax for --format.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.ledger.settings.qf_register_format

Format of quickfix register reports (see |:Register|). The format is specified using the standard Ledger syntax for --format.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.ledger.settings.qf_size

Size of the quickfix window.

This is the number of lines of a horizontal quickfix window, or the number of columns of a vertical quickfix window.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.ledger.settings.qf_vertical

Position of the quickfix/location list. Set to 1 to open the quickfix window in a vertical split.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.ledger.settings.target_string

Text of the output of the |:Balance| command.

Type: null or string or raw lua code

Default: null

Plugin default: "Difference from target: "

Declared by:

plugins.ledger.settings.use_location_list

Flag that tells whether a location list or a quickfix list should be used: The default is to use the quickfix window. Set to 1 to use a location list.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.ledger.settings.winpos

Position of a report buffer.

Use b for bottom, t for top, l for left, r for right. Use uppercase letters if you want the window to always occupy the full width or height.

Type: null or string or raw lua code

Default: null

Plugin default: "B"

Declared by:

lexima

URL: https://github.com/cohama/lexima.vim/

Maintainers: Gaetan Lepage

plugins.lexima.enable

Whether to enable lexima.vim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lexima.package

The lexima.vim package to use.

Type: package

Default: pkgs.vimPlugins.lexima-vim

Declared by:

plugins.lexima.autoLoad

Whether to automatically load lexima.vim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.lexima.settings

The configuration options for lexima without the lexima_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal lexima_foo_bar=1
  • hello = "world" -> :setglobal lexima_hello="world"
  • some_toggle = true -> :setglobal lexima_some_toggle
  • other_toggle = false -> :setglobal nolexima_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  enable_endwise_rules = 0;
  enable_space_rules = 0;
  map_escape = "";
}

Declared by:

plugins.lexima.settings.enable_basic_rules

Whether to enable |lexima-basic-rules| by default.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.lexima.settings.enable_endwise_rules

Whether to enable |lexima-endwise-rules| by default.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.lexima.settings.enable_newline_rules

Whether to enable |lexima-newline-rules| by default.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.lexima.settings.enable_space_rules

Whether to enable |lexima-space-rules| by default.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.lexima.settings.accept_pum_with_enter

Whether <cr> can be used to accept completions when the |popup-menu| is visible.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.lexima.settings.ctrlh_as_backspace

Whether <C-h> should be usable in the same manner as <BS>.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.lexima.settings.disable_abbrev_trigger

By default, lexima inputs <C-]> to expand an abbreviation. Set this option to 1 to disable this behavior.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.lexima.settings.disable_on_nofile

Whether to disable all lexima rules on buftype=nofile.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.lexima.settings.map_escape

lexima.vim defines a insert mode mapping to <Esc> by default.

If you don’t want to map <Esc>, set this variable to another left-hand-side, or "" to not create a default mapping to |lexima#insmode#escape()|.

Type: null or string or raw lua code

Default: null

Plugin default: "<Esc>"

Declared by:

plugins.lexima.settings.no_default_rules

Whether to disable the default rules.

You can explicitly set default rules by calling |lexima#set_default_rules()|.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

lf

URL: https://github.com/lmburns/lf.nvim/

Maintainers: Benedikt Peetz


Lf file manager integration for Neovim

plugins.lf.enable

Whether to enable lf.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lf.package

The lf.nvim package to use.

Type: package

Default: pkgs.vimPlugins.lf-nvim

Declared by:

plugins.lf.autoLoad

Whether to automatically load lf.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.lf.settings

Options provided to the require('lf').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  border = "rounded";
  default_action = "drop";
  default_actions = {
    "<C-o>" = "tab drop";
    "<C-t>" = "tabedit";
    "<C-v>" = "vsplit";
    "<C-x>" = "split";
  };
  default_file_manager = true;
  dir = "";
  direction = "float";
  disable_netrw_warning = true;
  escape_quit = true;
  focus_on_open = true;
  height = lib.nixvim.mkRaw "vim.fn.float2nr(vim.fn.round(0.75 * vim.o.lines))";
  tmux = false;
  width = lib.nixvim.mkRaw "vim.fn.float2nr(vim.fn.round(0.75 * vim.o.columns))";
  winblend = 10;
}

Declared by:

plugins.lf.lazyLoad

Lazy-load settings for lf.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.lf.lazyLoad.enable

lazy-loading for lf.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.lf.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.lf.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.lf.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.lf.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

lightline

URL: https://github.com/itchyny/lightline.vim/

Maintainers: Austin Horstman


Example of defining your own component_function

plugins.lightline = {
   enable = true;
   settings.component_function = {
     readonly = "LightlineReadonly";
   };

   luaConfig.pre = ''
     function LightlineReadonly()
       local is_readonly = vim.bo.readonly == 1
       local filetype = vim.bo.filetype

       if is_readonly and filetype ~= "help" then
         return "RO"
       else
         return ""
       end
     end
   '';
 };

plugins.lightline.enable

Whether to enable lightline.vim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lightline.package

The lightline.vim package to use.

Type: package

Default: pkgs.vimPlugins.lightline-vim

Declared by:

plugins.lightline.autoLoad

Whether to automatically load lightline.vim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.lightline.lazyLoad

Lazy-load settings for lightline.vim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.lightline.lazyLoad.enable

lazy-loading for lightline.vim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.lightline.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.lightline.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.lightline.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.lightline.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.lightline.settings

Options provided to the require('lightline').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  active = {
    right = [
      [
        "lineinfo"
      ]
      [
        "percent"
      ]
      [
        "fileformat"
        "fileencoding"
        "filetype"
        "charvaluehex"
      ]
    ];
  };
  colorscheme = "one";
  component = {
    charvaluehex = "0x%B";
    lineinfo = "%3l:%-2v%<";
  };
  component_function = {
    gitbranch = "FugitiveHead";
  };
  inactive = [ ];
  mode_map = {
    "<C-s>" = "SB";
    "<C-v>" = "VB";
    i = "I";
    n = "N";
    v = "V";
  };
}

Declared by:

plugins.lightline.settings.active

Components placement for the active window.

Type: null or (attribute set of ((list of list of string) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  left = [
    [
      "mode"
      "paste"
    ]
    [
      "readonly"
      "filename"
      "modified"
    ]
  ];
  right = [
    [
      "lineinfo"
    ]
    [
      "percent"
    ]
    [
      "fileformat"
      "fileencoding"
      "filetype"
    ]
  ];
}

Declared by:

plugins.lightline.settings.colorscheme

The colorscheme to use for lightline. Default theme is equal to powerline.

List of supported colorschemes can be found at https://github.com/itchyny/lightline.vim/blob/master/colorscheme.md.

Type: null or string or raw lua code

Default: null

Plugin default: "default"

Declared by:

plugins.lightline.settings.component

Lightline component definitions. Uses ‘statusline’ syntax.

Consult :h 'statusline' for a list of what’s available.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  absolutepath = "%F";
  bufnum = "%n";
  charvalue = "%b";
  charvaluehex = "%B";
  close = "%999X X ";
  column = "%c";
  fileencoding = "%{&fenc!=#\" \"?&fenc=&enc}";
  fileformat = "%{&ff}";
  filename = "%t";
  filetype = "%{&ft!=#\"\"?&ft=\"no ft\"}";
  line = "%l";
  lineinfo = "%3l=%-2c";
  mode = "%{lightline#mode()}";
  modified = "%M";
  paste = "%{&paste?\"PASTE\"=\"\"}";
  percent = "%3p%%";
  percentwin = "%P";
  readonly = "%R";
  relativepath = "%f";
  spell = "%{&spell?&spelllang=\" \"}";
  winnr = "%{winnr()}";
}

Declared by:

plugins.lightline.settings.component_function

A list of function component definitions.

You can use the name of a function defined elsewhere.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.lightline.settings.inactive

Components placement for inactive windows.

Type: null or (attribute set of ((list of list of string) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  left = [
    "filename"
  ];
  right = [
    [
      "lineinfo"
    ]
    [
      "percent"
    ]
  ];
}

Declared by:

plugins.lightline.settings.mode_map

Mode name mappings

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "<C-s>" = "S-BLOCK";
  "<C-v>" = "V-BLOCK";
  R = "REPLACE";
  S = "S-LINE";
  V = "V-LINE";
  c = "COMMAND";
  i = "INSERT";
  n = "NORMAL";
  s = "SELECT";
  t = "TERMINAL";
  v = "VISUAL";
}

Declared by:

plugins.lightline.settings.tab

A dictionary to store the tab components in each tabs.

Type: null or (attribute set of ((list of string) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  active = [
    "tabnum"
    "filename"
    "modified"
  ];
  inactive = [
    "tabnum"
    "filename"
    "modified"
  ];
}

Declared by:

plugins.lightline.settings.tabline

Components placement for tabline.

Type: null or (attribute set of ((list of list of string) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  left = [
    [
      "tabs"
    ]
  ];
  right = [
    [
      "close"
    ]
  ];
}

Declared by:

lilypond-suite

URL: https://github.com/martineausimon/nvim-lilypond-suite/

Maintainers: Gaetan Lepage

plugins.lilypond-suite.enable

Whether to enable nvim-lilypond-suite.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lilypond-suite.package

The nvim-lilypond-suite package to use.

Type: package

Default: pkgs.vimPlugins.nvim-lilypond-suite

Declared by:

plugins.lilypond-suite.autoLoad

Whether to automatically load nvim-lilypond-suite when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.lilypond-suite.settings

Options provided to the require('nvls').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  lilypond = {
    mappings = {
      compile = "<F5>";
      insert_version = "<F4>";
      open_pdf = "<F6>";
      player = "<F3>";
      switch_buffers = "<F2>";
    };
    options = {
      include_dir = [
        "./openlilylib"
      ];
      output = "pdf";
      pitches_language = "default";
    };
  };
}

Declared by:

plugins.lilypond-suite.lazyLoad

Lazy-load settings for nvim-lilypond-suite.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.lilypond-suite.lazyLoad.enable

lazy-loading for nvim-lilypond-suite

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.lilypond-suite.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.lilypond-suite.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.lilypond-suite.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.lilypond-suite.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

lint

URL: https://github.com/mfussenegger/nvim-lint/

Maintainers: Heitor Augusto

plugins.lint.enable

Whether to enable nvim-lint.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lint.package

The nvim-lint package to use.

Type: package

Default: pkgs.vimPlugins.nvim-lint

Declared by:

plugins.lint.autoLoad

Whether to automatically load nvim-lint when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.lint.customLinters

Configure the linters you want to run per file type. It can be both an attrs or a string containing the lua code that returns the appropriate table.

Type: null or (attribute set of (string or (attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.lint.linters

Configure the linters you want to run. You can also add custom linters here.

Type: null or (attribute set of ((attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  phpcs = {
    args = [
      "-q"
      "--report=json"
      "-"
    ];
  };
}

Declared by:

plugins.lint.lintersByFt

Configure the linters you want to run per file type.

Type: null or (attribute set of ((list of string) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  clojure = [
    "clj-kondo"
  ];
  dockerfile = [
    "hadolint"
  ];
  inko = [
    "inko"
  ];
  janet = [
    "janet"
  ];
  json = [
    "jsonlint"
  ];
  markdown = [
    "vale"
  ];
  rst = [
    "vale"
  ];
  ruby = [
    "ruby"
  ];
  terraform = [
    "tflint"
  ];
  text = [
    "vale"
  ];
}

Declared by:

plugins.lint.autoCmd

The configuration for the linting autocommand. You can disable it by setting this option to null.

Type: null or (submodule)

Default:

{
  callback = {
    __raw = ''
      function()
        require('lint').try_lint()
      end
    '';
  };
  event = "BufWritePost";
}

Declared by:

plugins.lint.autoCmd.buffer

Buffer number for buffer local autocommands |autocmd-buflocal|. Cannot be used with pattern.

Type: null or signed integer

Default: null

Declared by:

plugins.lint.autoCmd.callback

What action to perform for linting

Type: null or string or raw lua code

Default:

{
  __raw = ''
    function()
      require('lint').try_lint()
    end
  '';
}

Declared by:

plugins.lint.autoCmd.command

Vim command to execute on event. Cannot be used with callback.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.lint.autoCmd.desc

A textual description of this autocommand.

Type: null or string

Default: null

Declared by:

plugins.lint.autoCmd.description

DEPRECATED, please use desc.

Type: null or string

Default: null

Declared by:

plugins.lint.autoCmd.event

The event or events that should trigger linting.

Type: null or string or list of string

Default: "BufWritePost"

Declared by:

plugins.lint.autoCmd.group

The autocommand group name or id to match against.

Type: null or string or signed integer

Default: null

Declared by:

plugins.lint.autoCmd.nested

Run nested autocommands.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lint.autoCmd.once

Run the autocommand only once.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lint.autoCmd.pattern

Pattern or patterns to match literally against.

Type: null or string or list of string

Default: null

Declared by:

plugins.lint.lazyLoad

Lazy-load settings for nvim-lint.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.lint.lazyLoad.enable

lazy-loading for nvim-lint

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.lint.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.lint.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.lint.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.lint.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

lir

URL: https://github.com/tamago324/lir.nvim/

Maintainers: Gaetan Lepage

plugins.lir.enable

Whether to enable lir.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lir.package

The lir.nvim package to use.

Type: package

Default: pkgs.vimPlugins.lir-nvim

Declared by:

plugins.lir.autoLoad

Whether to automatically load lir.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.lir.settings

Options provided to the require('lir').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  devicons = {
    enable = false;
  };
  hide_cursor = true;
  mappings = {
    "-" = {
      __raw = "require('lir').actions.up";
    };
    "<CR>" = {
      __raw = "require('lir').actions.edit";
    };
    "<ESC>" = {
      __raw = "require('lir').actions.quit";
    };
    "@" = {
      __raw = "require('lir').actions.cd";
    };
  };
  show_hidden_files = true;
}

Declared by:

plugins.lir.lazyLoad

Lazy-load settings for lir.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.lir.lazyLoad.enable

lazy-loading for lir.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.lir.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.lir.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.lir.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.lir.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

llm

URL: https://github.com/huggingface/llm.nvim/

Maintainers: Gaetan Lepage

plugins.llm.enable

Whether to enable llm.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.llm.package

The llm.nvim package to use.

Type: package

Default: pkgs.vimPlugins.llm-nvim

Declared by:

plugins.llm.autoLoad

Whether to automatically load llm.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.llm.lazyLoad

Lazy-load settings for llm.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.llm.lazyLoad.enable

lazy-loading for llm.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.llm.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.llm.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.llm.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.llm.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.llm.settings

Options provided to the require('llm').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  keys = {
    "Input:Cancel" = {
      key = "<C-c>";
      mode = "n";
    };
    "Input:Submit" = {
      key = "<cr>";
      mode = "n";
    };
  };
  max_history = 15;
  max_tokens = 1024;
  model = "glm-4-flash";
  prefix = {
    assistant = {
      hl = "Added";
      text = "⚡ ";
    };
    user = {
      hl = "Title";
      text = "😃 ";
    };
  };
  save_session = true;
  url = "https://open.bigmodel.cn/api/paas/v4/chat/completions";
}

Declared by:

plugins.llm.settings.enable_suggestions_on_files

Lets you enable suggestions only on specific files that match the pattern matching syntax you will provide.

It can either be a string or a list of strings, for example:

  • to match on all types of buffers: "*"
  • to match on all files in my_project/: "/path/to/my_project/*"
  • to match on all python and rust files: [ "*.py" "*.rs" ]

Type: null or string or list of string or raw lua code

Default: null

Plugin default: "*"

Example:

[
  "*.py"
  "*.rs"
]

Declared by:

plugins.llm.settings.enable_suggestions_on_startup

Lets you choose to enable or disable “suggest-as-you-type” suggestions on neovim startup.

You can then toggle auto suggest with LLMToggleAutoSuggest.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.llm.settings.accept_keymap

Keymap to accept the model suggestion.

Type: null or string or raw lua code

Default: null

Plugin default: "<Tab>"

Declared by:

plugins.llm.settings.api_token

Token for authentificating to the backend provider.

When api_token is set, it will be passed as a header: Authorization: Bearer <api_token>.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.llm.settings.backend

Which backend to use for inference.

Type: null or string or raw lua code

Default: null

Plugin default: "huggingface"

Declared by:

plugins.llm.settings.context_window

Size of the context window (in tokens).

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1024

Declared by:

plugins.llm.settings.debounce_ms

Time in ms to wait before updating.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 150

Declared by:

plugins.llm.settings.disable_url_path_completion

llm-ls will try to add the correct path to the url to get completions if it does not already end with said path.

You can disable this behavior by setting this option to true.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.llm.settings.dismiss_keymap

Keymap to dismiss the model suggestion.

Type: null or string or raw lua code

Default: null

Plugin default: "<S-Tab>"

Declared by:

plugins.llm.settings.model

The model ID, behavior depends on backend

Type: null or string or raw lua code

Default: null

Example: "bigcode/starcoder2-15b"

Declared by:

plugins.llm.settings.tls_skip_verify_insecure

Whether to skip TLS verification when accessing the backend.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.llm.settings.tokenizer

llm-ls uses tokenizers to make sure the prompt fits the context_window.

To configure it, you have a few options:

  • No tokenization: llm-ls will count the number of characters instead Leave this option set to null (default)
  • From a local file on your disk. Set the path attribute.
  • From a Hugging Face repository: llm-ls will attempt to download tokenizer.json at the root of the repository
  • From an HTTP endpoint: llm-ls will attempt to download a file via an HTTP GET request

Type: null or (submodule) or (submodule) or (submodule) or raw lua code

Default: null

Plugin default: null

Example:

{
  path = "/path/to/my/tokenizer.json";
}

Declared by:

plugins.llm.settings.tokens_to_clear

List of tokens to remove from the model’s output.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "<|endoftext|>"
]

Declared by:

plugins.llm.settings.url

The http url of the backend.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.llm.settings.fim.enabled

Set this if the model supports fill in the middle.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.llm.settings.fim.middle

The missing or masked segment that the model should predict.

Type: null or string or raw lua code

Default: null

Plugin default: "<fim_middle>"

Declared by:

plugins.llm.settings.fim.prefix

The beginning of the text sequence to fill.

Type: null or string or raw lua code

Default: null

Plugin default: "<fim_prefix>"

Declared by:

plugins.llm.settings.fim.suffix

The text following the missing section.

Type: null or string or raw lua code

Default: null

Plugin default: "<fim_middle>"

Declared by:

plugins.llm.settings.lsp.bin_path

Path to the llm-ls binary.

If not set, llm.nvim will try to download the llm-ls binary from the internet. As this will not work well with Nix, Nixvim is setting this automatically for you.

Type: null or string

Default: lib.getExe config.plugins.llm.llmLsPackage

Declared by:

plugins.llm.settings.lsp.cmd_env

Use this option to set environment variables for the llm-ls process.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: null

Example:

{
  LLM_LOG_LEVEL = "DEBUG";
}

Declared by:

plugins.llm.settings.lsp.host

You can also use llm-ls through TCP by providing a hostname.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.llm.settings.lsp.port

The port for connecting to a llm-ls TCP instance.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.llm.settings.request_body.parameters

Parameters for the model.

Type: null or (attribute set of anything)

Default: null

Example:

{
  temperature = 0.2;
  top_p = 0.95;
}

Declared by:

lsp

URL: https://github.com/neovim/nvim-lspconfig/

Maintainers: Heitor Augusto

plugins.lsp.enable

Whether to enable nvim-lspconfig.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.package

The nvim-lspconfig package to use.

Type: package

Default: pkgs.vimPlugins.nvim-lspconfig

Declared by:

plugins.lsp.autoLoad

Whether to automatically load nvim-lspconfig when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.lsp.capabilities

Lua code that modifies inplace the capabilities table.

Type: strings concatenated with “\n”

Default: ""

Declared by:

plugins.lsp.inlayHints

Whether to enable LSP inlay-hints globally.

See :h lsp-inlay_hint.

Type: boolean

Default: false

Declared by:

plugins.lsp.onAttach

A lua function to be run when a new LSP buffer is attached. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Default: ""

Declared by:

plugins.lsp.postConfig

Code to be run after loading the LSP. This is an internal option

Type: strings concatenated with “\n”

Default: ""

Declared by:

plugins.lsp.preConfig

Code to be run before loading the LSP. Useful for requiring plugins

Type: strings concatenated with “\n”

Default: ""

Declared by:

plugins.lsp.setupWrappers

Code to be run to wrap the setup args. Takes in an argument containing the previous results, and returns a new string of code.

Type: list of function that evaluates to a(n) string

Default: [ ]

Declared by:

plugins.lsp.keymaps.diagnostic

Mappings for vim.diagnostic.<action> functions to be added when an LSP is attached.

Type: attribute set of (string or attribute set of anything)

Default: { }

Example:

{
  "<leader>j" = "goto_next";
  "<leader>k" = "goto_prev";
}

Declared by:

plugins.lsp.keymaps.lspBuf

Mappings for vim.lsp.buf.<action> functions to be added when an LSP it attached.

Type: attribute set of (string or attribute set of anything)

Default: { }

Example:

{
  K = "hover";
  gD = "references";
  gd = "definition";
  gi = "implementation";
  gt = "type_definition";
}

Declared by:

plugins.lsp.keymaps.silent

Whether nvim-lsp keymaps should be silent

Type: boolean

Default: false

Declared by:

plugins.lsp.keymaps.extra

Extra keymaps to register when an LSP is attached. This can be used to customise LSP behaviour, for example with “telescope” or the “Lspsaga” plugin, as seen in the examples.

Type: list of (submodule)

Default: [ ]

Example:

[
  {
    action = "<CMD>LspStop<Enter>";
    key = "<leader>lx";
  }
  {
    action = "<CMD>LspStart<Enter>";
    key = "<leader>ls";
  }
  {
    action = "<CMD>LspRestart<Enter>";
    key = "<leader>lr";
  }
  {
    action = {
      __raw = "require('telescope.builtin').lsp_definitions";
    };
    key = "gd";
  }
  {
    action = "<CMD>Lspsaga hover_doc<Enter>";
    key = "K";
  }
]

Declared by:

plugins.lsp.keymaps.extra.*.action

The action to execute.

Type: string or raw lua code

Declared by:

plugins.lsp.keymaps.extra.*.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.lsp.keymaps.extra.*.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: ""

Example:

[
  "n"
  "v"
]

Declared by:

plugins.lsp.keymaps.extra.*.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.keymaps.extra.*.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.lsp.keymaps.extra.*.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.keymaps.extra.*.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.keymaps.extra.*.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.keymaps.extra.*.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.keymaps.extra.*.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.lsp.keymaps.extra.*.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.keymaps.extra.*.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.keymaps.extra.*.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.lazyLoad

Lazy-load settings for nvim-lspconfig.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.lsp.lazyLoad.enable

lazy-loading for nvim-lspconfig

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.lsp.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.lsp.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.lsp.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.lsp.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

ada_ls

plugins.lsp.servers.ada_ls.enable

Whether to enable https://github.com/AdaCore/ada_language_server

Installation instructions can be found here.

Workspace-specific settings such as projectFile can be provided in a .als.json file at the root of the workspace.

Alternatively, configuration may be passed as a “settings” object to ada_ls.setup{}:

require('lspconfig').ada_ls.setup{
    settings = {
      ada = {
        projectFile = "project.gpr";
        scenarioVariables = { ... };
      }
    }
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.ada_ls.package

Package to use for ada_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.ada_ls.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.ada_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.ada_ls.extraOptions

Extra options for the ada_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.ada_ls.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.ada_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.ada_ls.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:

plugins.lsp.servers.ada_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.ada_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.ada_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

agda_ls

plugins.lsp.servers.agda_ls.enable

Whether to enable https://github.com/agda/agda-language-server

Language Server for Agda. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.agda_ls.package

Package to use for agda_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.agda_ls.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.agda_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.agda_ls.extraOptions

Extra options for the agda_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.agda_ls.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.agda_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.agda_ls.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:

plugins.lsp.servers.agda_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.agda_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.agda_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

aiken

URL: https://aiken-lang.org

plugins.lsp.servers.aiken.enable

Whether to enable https://github.com/aiken-lang/aiken

A language server for Aiken Programming Language. Installation

It can be i .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.aiken.package

The aiken package to use.

Type: null or package

Default: pkgs.aiken

Declared by:

plugins.lsp.servers.aiken.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.aiken.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.aiken.extraOptions

Extra options for the aiken language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.aiken.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.aiken.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.aiken.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:

plugins.lsp.servers.aiken.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.aiken.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.aiken.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

air

URL: https://posit-dev.github.io/air

plugins.lsp.servers.air.enable

Whether to enable https://github.com/posit-dev/air

Air is an R formatter and language server, written in Rust.

Refer to the documentation for more details.

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.air.package

The air package to use.

Type: null or package

Default: pkgs.air-formatter

Declared by:

plugins.lsp.servers.air.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.air.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.air.extraOptions

Extra options for the air language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.air.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.air.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.air.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:

plugins.lsp.servers.air.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.air.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.air.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

alloy_ls

plugins.lsp.servers.alloy_ls.enable

Whether to enable https://github.com/AlloyTools/org.alloytools.alloy

Alloy is a formal specification language for describing structures and a tool for exploring them.

You may also need to configure the filetype for Alloy (*.als) files:

autocmd BufNewFile,BufRead *.als set filetype=alloy

or

vim.filetype.add({
  pattern = {
    ['.*/*.als'] = 'alloy',
  },
})

Alternatively, you may use a syntax plugin like https://github.com/runoshun/vim-alloy. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.alloy_ls.package

Package to use for alloy_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.alloy_ls.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.alloy_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.alloy_ls.extraOptions

Extra options for the alloy_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.alloy_ls.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.alloy_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.alloy_ls.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:

plugins.lsp.servers.alloy_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.alloy_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.alloy_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

anakin_language_server

plugins.lsp.servers.anakin_language_server.enable

Whether to enable https://pypi.org/project/anakin-language-server/

anakin-language-server is yet another Jedi Python language server.

Available options:

  • Initialization: https://github.com/muffinmad/anakin-language-server#initialization-option
  • Configuration: https://github.com/muffinmad/anakin-language-server#configuration-options .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.anakin_language_server.package

Package to use for anakin_language_server. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.anakin_language_server.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.anakin_language_server.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.anakin_language_server.extraOptions

Extra options for the anakin_language_server language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.anakin_language_server.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.anakin_language_server.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.anakin_language_server.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:

plugins.lsp.servers.anakin_language_server.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.anakin_language_server.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.anakin_language_server.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

angularls

URL: https://github.com/angular/vscode-ng-language-service

plugins.lsp.servers.angularls.enable

Whether to enable https://github.com/angular/vscode-ng-language-service

angular-language-server can be installed via npm npm install -g @angular/language-server.

Note, that if you override the default cmd, you must also update on_new_config to set new_config.cmd during startup.

local project_library_path = "/path/to/project/lib"
local cmd = {"ngserver", "--stdio", "--tsProbeLocations", project_library_path , "--ngProbeLocations", project_library_path}

require'lspconfig'.angularls.setup{
  cmd = cmd,
  on_new_config = function(new_config,new_root_dir)
    new_config.cmd = cmd
  end,
}
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.angularls.package

The angularls package to use.

Type: null or package

Default: pkgs.angular-language-server

Declared by:

plugins.lsp.servers.angularls.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.angularls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.angularls.extraOptions

Extra options for the angularls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.angularls.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.angularls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.angularls.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:

plugins.lsp.servers.angularls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.angularls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.angularls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

ansiblels

URL: https://github.com/ansible/ansible-language-server

plugins.lsp.servers.ansiblels.enable

Whether to enable https://github.com/ansible/vscode-ansible

Language server for the ansible configuration management tool.

ansible-language-server can be installed via npm:

npm install -g @ansible/ansible-language-server

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.ansiblels.package

The ansiblels package to use.

Type: null or package

Default: pkgs.ansible-language-server

Declared by:

plugins.lsp.servers.ansiblels.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.ansiblels.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.ansiblels.extraOptions

Extra options for the ansiblels language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.ansiblels.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.ansiblels.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.ansiblels.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:

plugins.lsp.servers.ansiblels.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.ansiblels.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.ansiblels.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

antlersls

plugins.lsp.servers.antlersls.enable

Whether to enable https://www.npmjs.com/package/antlers-language-server

antlersls can be installed via npm:

npm install -g antlers-language-server

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.antlersls.package

Package to use for antlersls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.antlersls.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.antlersls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.antlersls.extraOptions

Extra options for the antlersls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.antlersls.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.antlersls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.antlersls.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:

plugins.lsp.servers.antlersls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.antlersls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.antlersls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

apex_ls

plugins.lsp.servers.apex_ls.enable

Whether to enable https://github.com/forcedotcom/salesforcedx-vscode

Language server for Apex.

For manual installation, download the JAR file from the VSCode extension.

require'lspconfig'.apex_ls.setup {
  apex_jar_path = '/path/to/apex-jorje-lsp.jar',
  apex_enable_semantic_errors = false, -- Whether to allow Apex Language Server to surface semantic errors
  apex_enable_completion_statistics = false, -- Whether to allow Apex Language Server to collect telemetry on code completion usage
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.apex_ls.package

Package to use for apex_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.apex_ls.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.apex_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.apex_ls.extraOptions

Extra options for the apex_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.apex_ls.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.apex_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.apex_ls.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:

plugins.lsp.servers.apex_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.apex_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.apex_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

arduino_language_server

URL: https://github.com/arduino/arduino-language-server

plugins.lsp.servers.arduino_language_server.enable

Whether to enable https://github.com/arduino/arduino-language-server

Language server for Arduino

The arduino-language-server can be installed by running:

go install github.com/arduino/arduino-language-server@latest

The arduino-cli tool must also be installed. Follow these installation instructions for your platform.

After installing arduino-cli, follow these instructions for generating a configuration file if you haven’t done so already, and make sure you install any relevant platforms libraries.

The language server also requires clangd to be installed. Follow these installation instructions for your platform.

If you don’t have a sketch yet create one.

$ arduino-cli sketch new test
$ cd test

You will need a sketch.yaml file in order for the language server to understand your project. It will also save you passing options to arduino-cli each time you compile or upload a file. You can generate the file by using the following commands.

First gather some information about your board. Make sure your board is connected and run the following:

$ arduino-cli board list
Port         Protocol Type              Board Name  FQBN            Core
/dev/ttyACM0 serial   Serial Port (USB) Arduino Uno arduino:avr:uno arduino:avr

Then generate the file:

arduino-cli board attach -p /dev/ttyACM0 -b arduino:avr:uno test.ino

The resulting file should look like this:

default_fqbn: arduino:avr:uno
default_port: /dev/ttyACM0

Your folder structure should look like this:

.
├── test.ino
└── sketch.yaml

For further instructions about configuration options, run arduino-language-server --help.

Note that an upstream bug makes keywords in some cases become undefined by the language server. Ref: https://github.com/arduino/arduino-ide/issues/159 .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.arduino_language_server.package

The arduino_language_server package to use.

Type: null or package

Default: pkgs.arduino-language-server

Declared by:

plugins.lsp.servers.arduino_language_server.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.arduino_language_server.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.arduino_language_server.extraOptions

Extra options for the arduino_language_server language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.arduino_language_server.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.arduino_language_server.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.arduino_language_server.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:

plugins.lsp.servers.arduino_language_server.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.arduino_language_server.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.arduino_language_server.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

asm_lsp

URL: https://github.com/bergercookie/asm-lsp

plugins.lsp.servers.asm_lsp.enable

Whether to enable https://github.com/bergercookie/asm-lsp

Language Server for NASM/GAS/GO Assembly

asm-lsp can be installed via cargo: cargo install asm-lsp .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.asm_lsp.package

The asm_lsp package to use.

Type: null or package

Default: pkgs.asm-lsp

Declared by:

plugins.lsp.servers.asm_lsp.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.asm_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.asm_lsp.extraOptions

Extra options for the asm_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.asm_lsp.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.asm_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.asm_lsp.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:

plugins.lsp.servers.asm_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.asm_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.asm_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

ast_grep

URL: https://ast-grep.github.io/

plugins.lsp.servers.ast_grep.enable

Whether to enable https://ast-grep.github.io/

ast-grep(sg) is a fast and polyglot tool for code structural search, lint, rewriting at large scale. ast-grep LSP only works in projects that have sgconfig.y[a]ml in their root directories.

npm install [-g] @ast-grep/cli

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.ast_grep.package

The ast_grep package to use.

Type: null or package

Default: pkgs.ast-grep

Declared by:

plugins.lsp.servers.ast_grep.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.ast_grep.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.ast_grep.extraOptions

Extra options for the ast_grep language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.ast_grep.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.ast_grep.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.ast_grep.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:

plugins.lsp.servers.ast_grep.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.ast_grep.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.ast_grep.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

astro

URL: https://github.com/withastro/language-tools

plugins.lsp.servers.astro.enable

Whether to enable https://github.com/withastro/language-tools/tree/main/packages/language-server

astro-ls can be installed via npm:

npm install -g @astrojs/language-server

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.astro.package

The astro package to use.

Type: null or package

Default: pkgs.astro-language-server

Declared by:

plugins.lsp.servers.astro.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.astro.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.astro.extraOptions

Extra options for the astro language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.astro.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.astro.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.astro.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:

plugins.lsp.servers.astro.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.astro.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.astro.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

atlas

URL: https://atlasgo.io/

plugins.lsp.servers.atlas.enable

Whether to enable https://github.com/ariga/atlas

Language server for Atlas config and scheme files.

You may also need to configure the filetype for *.hcl files:

autocmd BufNewFile,BufRead atlas.hcl set filetype=atlas-config autocmd BufNewFile,BufRead *.my.hcl set filetype=atlas-schema-mysql autocmd BufNewFile,BufRead *.pg.hcl set filetype=atlas-schema-postgresql autocmd BufNewFile,BufRead *.lt.hcl set filetype=atlas-schema-sqlite autocmd BufNewFile,BufRead *.ch.hcl set filetype=atlas-schema-clickhouse autocmd BufNewFile,BufRead *.ms.hcl set filetype=atlas-schema-mssql autocmd BufNewFile,BufRead *.rs.hcl set filetype=atlas-schema-redshift autocmd BufNewFile,BufRead *.test.hcl set filetype=atlas-test autocmd BufNewFile,BufRead *.plan.hcl set filetype=atlas-plan

or

vim.filetype.add({
  filename = {
    ['atlas.hcl'] = 'atlas-config',
  },
  pattern = {
    ['.*/*.my.hcl'] = 'atlas-schema-mysql',
    ['.*/*.pg.hcl'] = 'atlas-schema-postgresql',
    ['.*/*.lt.hcl'] = 'atlas-schema-sqlite',
    ['.*/*.ch.hcl'] = 'atlas-schema-clickhouse',
    ['.*/*.ms.hcl'] = 'atlas-schema-mssql',
    ['.*/*.rs.hcl'] = 'atlas-schema-redshift',
    ['.*/*.test.hcl'] = 'atlas-test',
    ['.*/*.plan.hcl'] = 'atlas-plan',
  },
})

Optionally, tell treesitter to treat Atlas filetypes as HCL for better syntax highlighting:

vim.treesitter.language.register('hcl', 'atlas-config')
vim.treesitter.language.register('hcl', 'atlas-schema-mysql')
vim.treesitter.language.register('hcl', 'atlas-schema-postgresql')
vim.treesitter.language.register('hcl', 'atlas-schema-sqlite')
vim.treesitter.language.register('hcl', 'atlas-schema-clickhouse')
vim.treesitter.language.register('hcl', 'atlas-schema-mssql')
vim.treesitter.language.register('hcl', 'atlas-schema-redshift')
vim.treesitter.language.register('hcl', 'atlas-test')
vim.treesitter.language.register('hcl', 'atlas-plan')

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.atlas.package

The atlas package to use.

Type: null or package

Default: pkgs.atlas

Declared by:

plugins.lsp.servers.atlas.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.atlas.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.atlas.extraOptions

Extra options for the atlas language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.atlas.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.atlas.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.atlas.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:

plugins.lsp.servers.atlas.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.atlas.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.atlas.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

autohotkey_lsp

plugins.lsp.servers.autohotkey_lsp.enable

Whether to enable https://github.com/thqby/vscode-autohotkey2-lsp

AutoHotkey v2.0 LSP implementation .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.autohotkey_lsp.package

Package to use for autohotkey_lsp. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.autohotkey_lsp.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.autohotkey_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.autohotkey_lsp.extraOptions

Extra options for the autohotkey_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.autohotkey_lsp.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.autohotkey_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.autohotkey_lsp.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:

plugins.lsp.servers.autohotkey_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.autohotkey_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.autohotkey_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

autotools_ls

URL: https://github.com/Freed-Wu/autotools-language-server

plugins.lsp.servers.autotools_ls.enable

Whether to enable https://github.com/Freed-Wu/autotools-language-server

autotools-language-server can be installed via pip:

pip install autotools-language-server

Language server for autoconf, automake and make using tree sitter in python. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.autotools_ls.package

The autotools_ls package to use.

Type: null or package

Default: pkgs.autotools-language-server

Declared by:

plugins.lsp.servers.autotools_ls.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.autotools_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.autotools_ls.extraOptions

Extra options for the autotools_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.autotools_ls.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.autotools_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.autotools_ls.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:

plugins.lsp.servers.autotools_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.autotools_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.autotools_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

awk_ls

plugins.lsp.servers.awk_ls.enable

Whether to enable https://github.com/Beaglefoot/awk-language-server/

awk-language-server can be installed via npm:

npm install -g awk-language-server

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.awk_ls.package

Package to use for awk_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.awk_ls.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.awk_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.awk_ls.extraOptions

Extra options for the awk_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.awk_ls.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.awk_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.awk_ls.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:

plugins.lsp.servers.awk_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.awk_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.awk_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

azure_pipelines_ls

plugins.lsp.servers.azure_pipelines_ls.enable

Whether to enable https://github.com/microsoft/azure-pipelines-language-server

An Azure Pipelines language server

azure-pipelines-ls can be installed via npm:

npm install -g azure-pipelines-language-server

By default azure-pipelines-ls will only work in files named azure-pipelines.yml, this can be changed by providing additional settings like so:

require("lspconfig").azure_pipelines_ls.setup {
  ... -- other configuration for setup {}
  settings = {
      yaml = {
          schemas = {
              ["https://raw.githubusercontent.com/microsoft/azure-pipelines-vscode/master/service-schema.json"] = {
                  "/azure-pipeline*.y*l",
                  "/*.azure*",
                  "Azure-Pipelines/**/*.y*l",
                  "Pipelines/*.y*l",
              },
          },
      },
  },
}

The Azure Pipelines LSP is a fork of yaml-language-server and as such the same settings can be passed to it as yaml-language-server. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.azure_pipelines_ls.package

Package to use for azure_pipelines_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.azure_pipelines_ls.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.azure_pipelines_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.azure_pipelines_ls.extraOptions

Extra options for the azure_pipelines_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.azure_pipelines_ls.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.azure_pipelines_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.azure_pipelines_ls.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:

plugins.lsp.servers.azure_pipelines_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.azure_pipelines_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.azure_pipelines_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

bacon_ls

plugins.lsp.servers.bacon_ls.enable

Whether to enable https://github.com/crisidev/bacon-ls

A Language Server Protocol wrapper for bacon. It offers textDocument/diagnostic and workspace/diagnostic capabilities for Rust workspaces using the Bacon export locations file.

It requires bacon and bacon-ls to be installed on the system using mason.nvim or manually

$ cargo install --locked bacon bacon-ls

Settings can be changed using the init_options dictionary:util

init_options = {
    -- Bacon export filename (default: .bacon-locations).
    locationsFile = ".bacon-locations",
    -- Try to update diagnostics every time the file is saved (default: true).
    updateOnSave = true,
    --  How many milliseconds to wait before updating diagnostics after a save (default: 1000).
    updateOnSaveWaitMillis = 1000,
    -- Try to update diagnostics every time the file changes (default: true).
    updateOnChange = true,
    -- Try to validate that bacon preferences are setup correctly to work with bacon-ls (default: true).
    validateBaconPreferences = true,
    -- f no bacon preferences file is found, create a new preferences file with the bacon-ls job definition (default: true).
    createBaconPreferencesFile = true,
    -- Run bacon in background for the bacon-ls job (default: true)
    runBaconInBackground = true,
    -- Command line arguments to pass to bacon running in background (default "--headless -j bacon-ls")
    runBaconInBackgroundCommandArguments = "--headless -j bacon-ls",
    -- How many milliseconds to wait between background diagnostics check to synchronize all open files (default: 2000).
    synchronizeAllOpenFilesWaitMillis = 2000,
}
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.bacon_ls.package

Package to use for bacon_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.bacon_ls.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.bacon_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.bacon_ls.extraOptions

Extra options for the bacon_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.bacon_ls.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.bacon_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.bacon_ls.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:

plugins.lsp.servers.bacon_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.bacon_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.bacon_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

ballerina

plugins.lsp.servers.ballerina.enable

Whether to enable Ballerina language server

The Ballerina language’s CLI tool comes with its own language server implementation. The bal command line tool must be installed and available in your system’s PATH. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.ballerina.package

The ballerina package to use.

Type: null or package

Default: pkgs.ballerina

Declared by:

plugins.lsp.servers.ballerina.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.ballerina.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.ballerina.extraOptions

Extra options for the ballerina language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.ballerina.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.ballerina.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.ballerina.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:

plugins.lsp.servers.ballerina.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.ballerina.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.ballerina.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

basedpyright

URL: https://github.com/detachhead/basedpyright

plugins.lsp.servers.basedpyright.enable

Whether to enable https://detachhead.github.io/basedpyright

basedpyright, a static type checker and language server for python .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.basedpyright.package

The basedpyright package to use.

Type: null or package

Default: pkgs.basedpyright

Declared by:

plugins.lsp.servers.basedpyright.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.basedpyright.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.basedpyright.extraOptions

Extra options for the basedpyright language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.basedpyright.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.basedpyright.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.basedpyright.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:

plugins.lsp.servers.basedpyright.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.basedpyright.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.basedpyright.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

bashls

URL: https://github.com/bash-lsp/bash-language-server

plugins.lsp.servers.bashls.enable

Whether to enable https://github.com/bash-lsp/bash-language-server

bash-language-server can be installed via npm:

npm i -g bash-language-server

Language server for bash, written using tree sitter in typescript. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.bashls.package

The bashls package to use.

Type: null or package

Default: pkgs.bash-language-server

Declared by:

plugins.lsp.servers.bashls.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.bashls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.bashls.extraOptions

Extra options for the bashls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.bashls.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.bashls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.bashls.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:

plugins.lsp.servers.bashls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.bashls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.bashls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

basics_ls

plugins.lsp.servers.basics_ls.enable

Whether to enable https://github.com/antonk52/basics-language-server/

Buffer, path, and snippet completion

npm install -g basics-language-server

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.basics_ls.package

Package to use for basics_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.basics_ls.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.basics_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.basics_ls.extraOptions

Extra options for the basics_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.basics_ls.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.basics_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.basics_ls.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:

plugins.lsp.servers.basics_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.basics_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.basics_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

bazelrc_lsp

plugins.lsp.servers.bazelrc_lsp.enable

Whether to enable https://github.com/salesforce-misc/bazelrc-lsp

bazelrc-lsp is a LSP for .bazelrc configuration files.

The .bazelrc file type is not detected automatically, you can register it manually (see below) or override the filetypes:

vim.filetype.add {
  pattern = {
    ['.*.bazelrc'] = 'bazelrc',
  },
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.bazelrc_lsp.package

Package to use for bazelrc_lsp. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.bazelrc_lsp.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.bazelrc_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.bazelrc_lsp.extraOptions

Extra options for the bazelrc_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.bazelrc_lsp.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.bazelrc_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.bazelrc_lsp.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:

plugins.lsp.servers.bazelrc_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.bazelrc_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.bazelrc_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

beancount

URL: https://github.com/polarmutex/beancount-language-server

plugins.lsp.servers.beancount.enable

Whether to enable https://github.com/polarmutex/beancount-language-server#installation

See https://github.com/polarmutex/beancount-language-server#configuration for configuration options .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.beancount.package

The beancount package to use.

Type: null or package

Default: pkgs.beancount-language-server

Declared by:

plugins.lsp.servers.beancount.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.beancount.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.beancount.extraOptions

Extra options for the beancount language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.beancount.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.beancount.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.beancount.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:

plugins.lsp.servers.beancount.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.beancount.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.beancount.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

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

Package to use for bicep. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

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 when package is null, otherwise 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.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

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:

plugins.lsp.servers.bicep.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.bicep.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.bicep.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

biome

URL: https://biomejs.dev/

plugins.lsp.servers.biome.enable

Whether to enable https://biomejs.dev

Toolchain of the web. Successor of Rome.

npm install [-g] @biomejs/biome

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.biome.package

The biome package to use.

Type: null or package

Default: pkgs.biome

Declared by:

plugins.lsp.servers.biome.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.biome.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.biome.extraOptions

Extra options for the biome language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.biome.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.biome.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.biome.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:

plugins.lsp.servers.biome.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.biome.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.biome.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

bitbake_language_server

URL: https://github.com/Freed-Wu/bitbake-language-server

plugins.lsp.servers.bitbake_language_server.enable

Whether to enable 🛠️ bitbake language server .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.bitbake_language_server.package

The bitbake_language_server package to use.

Type: null or package

Default: pkgs.bitbake-language-server

Declared by:

plugins.lsp.servers.bitbake_language_server.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.bitbake_language_server.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.bitbake_language_server.extraOptions

Extra options for the bitbake_language_server language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.bitbake_language_server.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.bitbake_language_server.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.bitbake_language_server.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:

plugins.lsp.servers.bitbake_language_server.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.bitbake_language_server.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.bitbake_language_server.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

bitbake_ls

plugins.lsp.servers.bitbake_ls.enable

Whether to enable https://github.com/yoctoproject/vscode-bitbake/tree/staging/server https://www.npmjs.com/package/language-server-bitbake

Official Bitbake Language Server for the Yocto Project.

Can be installed from npm or github.

npm install -g language-server-bitbake
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.bitbake_ls.package

Package to use for bitbake_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.bitbake_ls.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.bitbake_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.bitbake_ls.extraOptions

Extra options for the bitbake_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.bitbake_ls.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.bitbake_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.bitbake_ls.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:

plugins.lsp.servers.bitbake_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.bitbake_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.bitbake_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

blueprint_ls

URL: https://gitlab.gnome.org/jwestman/blueprint-compiler

plugins.lsp.servers.blueprint_ls.enable

Whether to enable https://gitlab.gnome.org/jwestman/blueprint-compiler

blueprint-compiler can be installed via your system package manager.

Language server for the blueprint markup language, written in python and part of the blueprint-compiler. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.blueprint_ls.package

The blueprint_ls package to use.

Type: null or package

Default: pkgs.blueprint-compiler

Declared by:

plugins.lsp.servers.blueprint_ls.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.blueprint_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.blueprint_ls.extraOptions

Extra options for the blueprint_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.blueprint_ls.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.blueprint_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.blueprint_ls.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:

plugins.lsp.servers.blueprint_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.blueprint_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.blueprint_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

bqls

plugins.lsp.servers.bqls.enable

Whether to enable https://github.com/kitagry/bqls

The bqls BigQuery language server can be installed by running:

$ go install github.com/kitagry/bqls@latest
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.bqls.package

Package to use for bqls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.bqls.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.bqls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.bqls.extraOptions

Extra options for the bqls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.bqls.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.bqls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.bqls.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:

plugins.lsp.servers.bqls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.bqls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.bqls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

bqnlsp

plugins.lsp.servers.bqnlsp.enable

Whether to enable https://git.sr.ht/~detegr/bqnlsp

bqnlsp, a language server for BQN.

The binary depends on the shared library of CBQN libcbqn.so. If CBQN is installed system-wide (using sudo make install in its source directory) and bqnlsp errors that it can’t find the shared library, update the linker cache by executing sudo ldconfig. If CBQN has been installed in a non-standard directory or can’t be installed globally pass libcbqnPath = '/path/to/CBQN' to the setup function. This will set the environment variables LD_LIBRARY_PATH (Linux) or DYLD_LIBRARY_PATH (macOS) to the provided path.

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.bqnlsp.package

Package to use for bqnlsp. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.bqnlsp.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.bqnlsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.bqnlsp.extraOptions

Extra options for the bqnlsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.bqnlsp.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.bqnlsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.bqnlsp.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:

plugins.lsp.servers.bqnlsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.bqnlsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.bqnlsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

bright_script

plugins.lsp.servers.bright_script.enable

Whether to enable https://github.com/RokuCommunity/brighterscript

brightscript can be installed via npm:

npm install -g brighterscript

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.bright_script.package

Package to use for bright_script. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.bright_script.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.bright_script.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.bright_script.extraOptions

Extra options for the bright_script language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.bright_script.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.bright_script.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.bright_script.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:

plugins.lsp.servers.bright_script.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.bright_script.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.bright_script.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

bsl_ls

plugins.lsp.servers.bsl_ls.enable

Whether to enable https://github.com/1c-syntax/bsl-language-server

Language Server Protocol implementation for 1C (BSL) - 1C:Enterprise 8 and OneScript languages.

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.bsl_ls.package

Package to use for bsl_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.bsl_ls.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.bsl_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.bsl_ls.extraOptions

Extra options for the bsl_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.bsl_ls.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.bsl_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.bsl_ls.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:

plugins.lsp.servers.bsl_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.bsl_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.bsl_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

buck2

URL: https://buck2.build

plugins.lsp.servers.buck2.enable

Whether to enable https://github.com/facebook/buck2

Build system, successor to Buck

To better detect Buck2 project files, the following can be added:

vim.cmd [[ autocmd BufRead,BufNewFile *.bxl,BUCK,TARGETS set filetype=bzl ]]

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.buck2.package

The buck2 package to use.

Type: null or package

Default: pkgs.buck2

Declared by:

plugins.lsp.servers.buck2.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.buck2.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.buck2.extraOptions

Extra options for the buck2 language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.buck2.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.buck2.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.buck2.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:

plugins.lsp.servers.buck2.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.buck2.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.buck2.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

buddy_ls

plugins.lsp.servers.buddy_ls.enable

Whether to enable https://github.com/buddy-compiler/buddy-mlir#buddy-lsp-server The Language Server for the buddy-mlir, a drop-in replacement for mlir-lsp-server, supporting new dialects defined in buddy-mlir. buddy-lsp-server can be installed at the buddy-mlir repository (buddy-compiler/buddy-mlir) .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.buddy_ls.package

Package to use for buddy_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.buddy_ls.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.buddy_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.buddy_ls.extraOptions

Extra options for the buddy_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.buddy_ls.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.buddy_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.buddy_ls.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:

plugins.lsp.servers.buddy_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.buddy_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.buddy_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

buf_ls

URL: https://buf.build

plugins.lsp.servers.buf_ls.enable

Whether to enable https://github.com/bufbuild/buf

buf beta lsp included in the cli itself

buf beta lsp is a Protobuf language server compatible with Buf modules and workspaces .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.buf_ls.package

The buf_ls package to use.

Type: null or package

Default: pkgs.buf

Declared by:

plugins.lsp.servers.buf_ls.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.buf_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.buf_ls.extraOptions

Extra options for the buf_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.buf_ls.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.buf_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.buf_ls.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:

plugins.lsp.servers.buf_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.buf_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.buf_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

bufls

plugins.lsp.servers.bufls.enable

Whether to enable https://github.com/bufbuild/buf-language-server

buf-language-server can be installed via go install:

go install github.com/bufbuild/buf-language-server/cmd/bufls@latest

bufls is a Protobuf language server compatible with Buf modules and workspaces .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.bufls.package

Package to use for bufls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.bufls.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.bufls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.bufls.extraOptions

Extra options for the bufls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.bufls.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.bufls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.bufls.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:

plugins.lsp.servers.bufls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.bufls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.bufls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

bzl

plugins.lsp.servers.bzl.enable

Whether to enable https://bzl.io/

https://docs.stack.build/docs/cli/installation

https://docs.stack.build/docs/vscode/starlark-language-server .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.bzl.package

Package to use for bzl. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.bzl.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.bzl.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.bzl.extraOptions

Extra options for the bzl language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.bzl.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.bzl.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.bzl.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:

plugins.lsp.servers.bzl.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.bzl.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.bzl.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

c3_lsp

plugins.lsp.servers.c3_lsp.enable

Whether to enable https://github.com/pherrymason/c3-lsp

Language Server for c3. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.c3_lsp.package

Package to use for c3_lsp. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.c3_lsp.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.c3_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.c3_lsp.extraOptions

Extra options for the c3_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.c3_lsp.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.c3_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.c3_lsp.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:

plugins.lsp.servers.c3_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.c3_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.c3_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

cadence

plugins.lsp.servers.cadence.enable

Whether to enable Cadence Language Server using the flow-cli.

The flow command from flow-cli must be available. For install instructions see the docs or the Github page.

By default the configuration is taken from the closest flow.json or the flow.json in the users home directory. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.cadence.package

Package to use for cadence. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.cadence.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.cadence.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.cadence.extraOptions

Extra options for the cadence language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.cadence.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.cadence.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.cadence.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:

plugins.lsp.servers.cadence.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.cadence.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.cadence.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

cairo_ls

plugins.lsp.servers.cairo_ls.enable

Whether to enable Cairo Language Server

First, install Cairo following this tutorial

Then enable Cairo Language Server in your Lua configuration.

require'lspconfig'.cairo_ls.setup{}

cairo-language-server is still under active development, some features might not work yet ! .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.cairo_ls.package

Package to use for cairo_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.cairo_ls.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.cairo_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.cairo_ls.extraOptions

Extra options for the cairo_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.cairo_ls.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.cairo_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.cairo_ls.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:

plugins.lsp.servers.cairo_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.cairo_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.cairo_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

ccls

URL: https://github.com/MaskRay/ccls

plugins.lsp.servers.ccls.enable

Whether to enable https://github.com/MaskRay/ccls/wiki

ccls relies on a JSON compilation database specified as compile_commands.json or, for simpler projects, a .ccls. For details on how to automatically generate one using CMake look here. Alternatively, you can use Bear.

Customization options are passed to ccls at initialization time via init_options, a list of available options can be found here. For example:

local lspconfig = require'lspconfig'
lspconfig.ccls.setup {
  init_options = {
    compilationDatabaseDirectory = "build";
    index = {
      threads = 0;
    };
    clang = {
      excludeArgs = { "-frounding-math"} ;
    };
  }
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.ccls.package

The ccls package to use.

Type: null or package

Default: pkgs.ccls

Declared by:

plugins.lsp.servers.ccls.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.ccls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.ccls.extraOptions

Extra options for the ccls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.ccls.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.ccls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.ccls.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:

plugins.lsp.servers.ccls.initOptions.compilationDatabaseDirectory

If not empty, look for compile_commands.json in it, otherwise the file is retrieved in the project root.

Useful when using out-of-tree builds with the compilation database being generated in the build directory.

Example: "out/release"

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.lsp.servers.ccls.initOptions.cache.directory

If your project is /a/b, cache directories will be created at /a/b/.ccls-cache/@a@b/ (files under the project root) /a/b/.ccls-cache/@@a@b/ (files outside the project root, e.g. /usr/include/stdio.h).

If the path name is longer than the system limit, set cache.hierarchicalPath to true. The cache files will be stored in a hierarchical manner: /a/b/.ccls-cache/a/b/. Be careful if you specify an absolute path as files indexed by different projects may conflict.

This can also be an absolute path. Because the project path is encoded with @, cache directories of different projects will not conflict.

When ccls is started, it will try loading cache files if they are not stale (compile command line matches and timestamps of main source and its #include (direct and transitive) dependencies do not change).

If the argument is an empty string, the cache will be stored only in memory. Use this if you don’t want to write cache files.

Example: "/tmp/ccls-cache"

Type: null or string or raw lua code

Default: null

Plugin default: ".ccls-cache"

Declared by:

plugins.lsp.servers.ccls.initOptions.cache.format

Specify the format of the cached index files. Binary is a compact binary serialization format.

If you would like to inspect the contents of the cache you can change this to "json" then use a JSON formatter such as jq . < /tmp/ccls/@tmp@c/a.cc.json to display it.

Type: null or string or raw lua code

Default: null

Plugin default: "binary"

Declared by:

plugins.lsp.servers.ccls.initOptions.cache.retainInMemory

Change to 0 if you want to save memory, but having multiple ccls processes operating in the same directory may corrupt ccls’s in-memory representation of the index.

After this number of loads, keep a copy of file index in memory (which increases memory usage). During incremental updates, the removed file index will be taken from the in-memory copy, instead of the on-disk file.

Every index action is counted: the initial load, a save action.

  • 0: never retain
  • 1: retain after initial load
  • 2: retain after 2 loads (initial load+first save)

Type: null or one of 0, 1, 2 or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.lsp.servers.ccls.initOptions.clang.excludeArgs

Excluded arguments for compile_commands.json entries.

If your compiler is not Clang and it supports arguments which Clang doesn’t understand, then you can remove those arguments when indexing.

Example: ["-frounding-math"]

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.ccls.initOptions.clang.extraArgs

Additional arguments for compile_commands.json entries.

Example: ["-frounding-math"]

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.ccls.initOptions.clang.pathMappings

A list of src>dest path conversions used to remap the paths of files in the project. This can be used to move a project to a new location without re-indexing.

If cache files were built with project root /tmp/remote/proj, and you want to reuse them with a different project root /tmp/host/proj then copy the cache:

rsync -a /tmp/ccls/@tmp@remote@proj/ /tmp/ccls/@tmp@host@proj/ # files under project root
rsync -a /tmp/ccls/@@tmp@remote@proj/ /tmp/ccls/@@tmp@host@proj/ # files outside of project root

Then set this option to ["/remote/>/host/"].

When ccls indexes /tmp/host/proj/a.cc, the cache file /tmp/ccls/@tmp@remote@proj/a.cc.blob will be reused. When a.cc is saved (re-indexed), the newly generated a.cc.blob will not contain /tmp/remote paths any more.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.ccls.initOptions.clang.resourceDir

The clang resource directory (something like .../lib/clang/9.0.0) is hard-coded into ccls at compile time. You should be able to find <resourceDir>/include/stddef.h. Set this option to a non-empty string to override the hard-coded value.

Use the path provided as the Clang resource directory rather the default.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.lsp.servers.ccls.initOptions.client.snippetSupport

client.snippetSupport and completion.placeholder (default: true) decide the completion style.

  • client.snippetSupport: false => foo

  • client.snippetSupport: true

    • completion.placeholder: false => foo($1)$0 bar<$1>()$0
    • completion.placeholder: true => foo($\{1:int a}, ${2:int b})$0 bar<${1:typename T}>()$0`

If the client announces that it does not support snippets, client.snippetSupport will be forced to false.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.ccls.initOptions.completion.detailedLabel

When this option is enabled, label and detailed are re-purposed:

  • label: detailed function signature, e.g. foo(int a, int b) -> bool
  • detailed: the name of the parent context, e.g. in S s; s.<complete>, the parent context is S.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.ccls.initOptions.completion.filterAndSort

ccls filters and sorts completions to try to be nicer to clients that can’t handle big numbers of completion candidates. This behaviour can be disabled by specifying false for the option.

This option is useful for LSP clients that implement their own filtering and sorting logic.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.ccls.initOptions.completion.placeholder

client.snippetSupport and completion.placeholder (default: true) decide the completion style.

  • client.snippetSupport: false => foo

  • client.snippetSupport: true

    • completion.placeholder: false => foo($1)$0 bar<$1>()$0
    • completion.placeholder: true => foo($\{1:int a}, ${2:int b})$0 bar<${1:typename T}>()$0`

If the client announces that it does not support snippets, client.snippetSupport will be forced to false.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.ccls.initOptions.diagnostics.onChange

Time (in milliseconds) to wait before computing diagnostics for textDocument/didChange. After receiving a textDocument/didChange, wait up to this long before reporting diagnostics. Changes during this period of time only lead to one computation.

Diagnostics require parsing the file. If 1000 makes you feel slow, consider setting this to 1.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 1000

Declared by:

plugins.lsp.servers.ccls.initOptions.diagnostics.onOpen

Time (in milliseconds) to wait before computing diagnostics for textDocument/didOpen. How long to wait before diagnostics are emitted when a document is opened.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.lsp.servers.ccls.initOptions.diagnostics.onSave

Time (in milliseconds) to wait before computing diagnostics for textDocument/didSave. How long to wait before diagnostics are emitted after a document is saved.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.lsp.servers.ccls.initOptions.index.comments

ccls can index the contents of comments associated with functions/types/variables (macros are not handled). This value controls how comments are indexed:

  • 0: don’t index comments
  • 1: index Doxygen comment markers
  • 2: use -fparse-all-comments and recognize plain // /* */ in addition to Doxygen comment markers

Type: null or one of 0, 1, 2 or raw lua code

Default: null

Plugin default: 2

Declared by:

plugins.lsp.servers.ccls.initOptions.index.initialBlacklist

A list of regular expressions matching files that should not be indexed when the ccls server starts up, but will still be indexed if a client opens them. If there are areas of the project that you have no interest in indexing you can use this to avoid it unless you visit those files.

This can also be set to match all files, which is helpful in avoiding massive parsing operations when performing quick edits on large projects.

Be aware that you will not have access to full cross-referencing information in this situation.

If index.initialWhitelist is also specified, the whitelist takes precedence.

Example: ["."] (matches all files)

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.ccls.initOptions.index.multiVersion

Index a file only once (0), or in each translation unit that includes it (1).

The default is sensible for common usage: it reduces memory footprint. If both a.cc and b.cc include a.h, there is only one indexed version of a.h.

But for dependent name lookup, or references in headers that may change depending on other macros, etc, you may want to index a file multiple times to get every possible cross reference. In that case set the option to 1 but be aware that it may increase index file sizes significantly.

Also consider using index.multiVersionBlacklist to exclude system headers.

Type: null or one of 0, 1 or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.lsp.servers.ccls.initOptions.index.multiVersionBlacklist

A list of regular expressions matching files that should not be indexed via multi-version if index.multiVersion is set to 1.

Commonly this is used to avoid indexing system headers multiple times as this is seldom useful.

Example: ["^/usr/include"]

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.ccls.initOptions.index.onChange

If false, a file is re-indexed when saved, updating the global index incrementally.

If set to true, a document is re-indexed for every (unsaved) change. Performance may suffer, but it is convenient for playground projects. Generally this is best used in conjunction with empty cache.directory to avoid writing cache files to disk.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.ccls.initOptions.index.threads

How many threads to start when indexing a project. 0 means use std::thread::hardware_concurrency() (the number of cores the system has). If you want to reduce peak CPU and memory usage, set it to a small integer.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.lsp.servers.ccls.initOptions.index.trackDependency

Determine whether a file should be re-indexed when any of its dependencies changes timestamp.

If a.h has been changed, when you open a.cc which includes a.h then if trackDependency is:

  • 0: no re-indexing unless a.cc itself changes timestamp.
  • 2: the index of a.cc is considered stale and it should be re-indexed.
  • 1: before the initial load, the behavior of 2 is used, otherwise the behavior of 0 is used.

Type: null or one of 0, 1, 2 or raw lua code

Default: null

Plugin default: 2

Declared by:

plugins.lsp.servers.ccls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.ccls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.ccls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

cds_lsp

plugins.lsp.servers.cds_lsp.enable

Whether to enable https://cap.cloud.sap/docs/

cds-lsp can be installed via npm:

npm i -g @sap/cds-lsp

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.cds_lsp.package

Package to use for cds_lsp. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.cds_lsp.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.cds_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.cds_lsp.extraOptions

Extra options for the cds_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.cds_lsp.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.cds_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.cds_lsp.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:

plugins.lsp.servers.cds_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.cds_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.cds_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

circom-lsp

plugins.lsp.servers.circom-lsp.enable

Whether to enable Circom Language Server

circom-lsp, the language server for the Circom language. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.circom-lsp.package

Package to use for circom-lsp. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.circom-lsp.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.circom-lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.circom-lsp.extraOptions

Extra options for the circom-lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.circom-lsp.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.circom-lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.circom-lsp.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:

plugins.lsp.servers.circom-lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.circom-lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.circom-lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

clangd

plugins.lsp.servers.clangd.enable

Whether to enable https://clangd.llvm.org/installation.html

  • NOTE: Clang >= 11 is recommended! See #23.

  • If compile_commands.json lives in a build directory, you should symlink it to the root of your source tree.

    ln -s /path/to/myproject/build/compile_commands.json /path/to/myproject/
    
  • clangd relies on a JSON compilation database specified as compile_commands.json, see https://clangd.llvm.org/installation#compile_commandsjson .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.clangd.package

The clangd package to use.

Type: null or package

Default: pkgs.clang-tools

Declared by:

plugins.lsp.servers.clangd.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.clangd.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.clangd.extraOptions

Extra options for the clangd language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.clangd.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.clangd.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.clangd.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:

plugins.lsp.servers.clangd.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.clangd.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.clangd.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

clarity_lsp

plugins.lsp.servers.clarity_lsp.enable

Whether to enable clarity-lsp is a language server for the Clarity language. Clarity is a decidable smart contract language that optimizes for predictability and security. Smart contracts allow developers to encode essential business logic on a blockchain.

To learn how to configure the clarity language server, see the clarity-lsp documentation. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.clarity_lsp.package

Package to use for clarity_lsp. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.clarity_lsp.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.clarity_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.clarity_lsp.extraOptions

Extra options for the clarity_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.clarity_lsp.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.clarity_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.clarity_lsp.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:

plugins.lsp.servers.clarity_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.clarity_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.clarity_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

clojure_lsp

URL: https://github.com/clojure-lsp/clojure-lsp

plugins.lsp.servers.clojure_lsp.enable

Whether to enable https://github.com/clojure-lsp/clojure-lsp

Clojure Language Server .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.clojure_lsp.package

The clojure_lsp package to use.

Type: null or package

Default: pkgs.clojure-lsp

Declared by:

plugins.lsp.servers.clojure_lsp.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.clojure_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.clojure_lsp.extraOptions

Extra options for the clojure_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.clojure_lsp.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.clojure_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.clojure_lsp.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:

plugins.lsp.servers.clojure_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.clojure_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.clojure_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

cmake

URL: https://github.com/regen100/cmake-language-server

plugins.lsp.servers.cmake.enable

Whether to enable https://github.com/regen100/cmake-language-server

CMake LSP Implementation .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.cmake.package

The cmake package to use.

Type: null or package

Default: pkgs.cmake-language-server

Declared by:

plugins.lsp.servers.cmake.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.cmake.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.cmake.extraOptions

Extra options for the cmake language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.cmake.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.cmake.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.cmake.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:

plugins.lsp.servers.cmake.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.cmake.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.cmake.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

cobol_ls

plugins.lsp.servers.cobol_ls.enable

Whether to enable Cobol language support .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.cobol_ls.package

Package to use for cobol_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.cobol_ls.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.cobol_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.cobol_ls.extraOptions

Extra options for the cobol_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.cobol_ls.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.cobol_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.cobol_ls.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:

plugins.lsp.servers.cobol_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.cobol_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.cobol_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

codeqlls

plugins.lsp.servers.codeqlls.enable

Whether to enable Reference: https://codeql.github.com/docs/codeql-cli/

Binaries: https://github.com/github/codeql-cli-binaries .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.codeqlls.package

Package to use for codeqlls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.codeqlls.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.codeqlls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.codeqlls.extraOptions

Extra options for the codeqlls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.codeqlls.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.codeqlls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.codeqlls.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:

plugins.lsp.servers.codeqlls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.codeqlls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.codeqlls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

coffeesense

plugins.lsp.servers.coffeesense.enable

Whether to enable https://github.com/phil294/coffeesense

CoffeeSense Language Server coffeesense-language-server can be installed via npm:

npm install -g coffeesense-language-server

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.coffeesense.package

Package to use for coffeesense. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.coffeesense.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.coffeesense.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.coffeesense.extraOptions

Extra options for the coffeesense language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.coffeesense.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.coffeesense.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.coffeesense.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:

plugins.lsp.servers.coffeesense.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.coffeesense.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.coffeesense.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

contextive

plugins.lsp.servers.contextive.enable

Whether to enable https://github.com/dev-cycles/contextive

Language Server for Contextive.

Contextive allows you to define terms in a central file and provides auto-completion suggestions and hover panels for these terms wherever they’re used.

To install the language server, you need to download the appropriate GitHub release asset for your operating system and architecture.

After the download unzip the Contextive.LanguageServer binary and copy the file into a folder that is included in your system’s PATH. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.contextive.package

Package to use for contextive. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.contextive.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.contextive.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.contextive.extraOptions

Extra options for the contextive language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.contextive.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.contextive.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.contextive.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:

plugins.lsp.servers.contextive.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.contextive.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.contextive.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

coq_lsp

plugins.lsp.servers.coq_lsp.enable

Whether to enable https://github.com/ejgallego/coq-lsp/ .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.coq_lsp.package

Package to use for coq_lsp. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.coq_lsp.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.coq_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.coq_lsp.extraOptions

Extra options for the coq_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.coq_lsp.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.coq_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.coq_lsp.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:

plugins.lsp.servers.coq_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.coq_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.coq_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

crystalline

URL: https://github.com/elbywan/crystalline

plugins.lsp.servers.crystalline.enable

Whether to enable https://github.com/elbywan/crystalline

Crystal language server. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.crystalline.package

The crystalline package to use.

Type: null or package

Default: pkgs.crystalline

Declared by:

plugins.lsp.servers.crystalline.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.crystalline.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.crystalline.extraOptions

Extra options for the crystalline language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.crystalline.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.crystalline.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.crystalline.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:

plugins.lsp.servers.crystalline.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.crystalline.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.crystalline.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

csharp_ls

URL: https://github.com/razzmatazz/csharp-language-server

plugins.lsp.servers.csharp_ls.enable

Whether to enable https://github.com/razzmatazz/csharp-language-server

Language Server for C#.

csharp-ls requires the dotnet-sdk to be installed.

The preferred way to install csharp-ls is with dotnet tool install --global csharp-ls. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.csharp_ls.package

The csharp_ls package to use.

Type: null or package

Default: pkgs.csharp-ls

Declared by:

plugins.lsp.servers.csharp_ls.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.csharp_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.csharp_ls.extraOptions

Extra options for the csharp_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.csharp_ls.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.csharp_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.csharp_ls.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:

plugins.lsp.servers.csharp_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.csharp_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.csharp_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

css_variables

plugins.lsp.servers.css_variables.enable

Whether to enable https://github.com/vunguyentuan/vscode-css-variables/tree/master/packages/css-variables-language-server

CSS variables autocompletion and go-to-definition

css-variables-language-server can be installed via npm:

npm i -g css-variables-language-server

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.css_variables.package

Package to use for css_variables. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.css_variables.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.css_variables.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.css_variables.extraOptions

Extra options for the css_variables language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.css_variables.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.css_variables.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.css_variables.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:

plugins.lsp.servers.css_variables.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.css_variables.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.css_variables.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

cssls

URL: https://github.com/hrsh7th/vscode-langservers-extracted

plugins.lsp.servers.cssls.enable

Whether to enable https://github.com/hrsh7th/vscode-langservers-extracted

css-languageserver can be installed via npm:

npm i -g vscode-langservers-extracted

Neovim does not currently include built-in snippets. vscode-css-language-server only provides completions when snippet support is enabled. To enable completion, install a snippet plugin and add the following override to your language client capabilities during setup.

--Enable (broadcasting) snippet capability for completion
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = true

require'lspconfig'.cssls.setup {
  capabilities = capabilities,
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.cssls.package

The cssls package to use.

Type: null or package

Default: pkgs.vscode-langservers-extracted

Declared by:

plugins.lsp.servers.cssls.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.cssls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.cssls.extraOptions

Extra options for the cssls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.cssls.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.cssls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.cssls.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:

plugins.lsp.servers.cssls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.cssls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.cssls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

cssmodules_ls

plugins.lsp.servers.cssmodules_ls.enable

Whether to enable https://github.com/antonk52/cssmodules-language-server

Language server for autocompletion and go-to-definition functionality for CSS modules.

You can install cssmodules-language-server via npm:

npm install -g cssmodules-language-server
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.cssmodules_ls.package

Package to use for cssmodules_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.cssmodules_ls.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.cssmodules_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.cssmodules_ls.extraOptions

Extra options for the cssmodules_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.cssmodules_ls.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.cssmodules_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.cssmodules_ls.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:

plugins.lsp.servers.cssmodules_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.cssmodules_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.cssmodules_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

cucumber_language_server

plugins.lsp.servers.cucumber_language_server.enable

Whether to enable https://cucumber.io https://github.com/cucumber/common https://www.npmjs.com/package/@cucumber/language-server

Language server for Cucumber.

cucumber-language-server can be installed via npm:

npm install -g @cucumber/language-server
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.cucumber_language_server.package

Package to use for cucumber_language_server. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.cucumber_language_server.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.cucumber_language_server.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.cucumber_language_server.extraOptions

Extra options for the cucumber_language_server language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.cucumber_language_server.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.cucumber_language_server.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.cucumber_language_server.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:

plugins.lsp.servers.cucumber_language_server.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.cucumber_language_server.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.cucumber_language_server.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

cue

URL: https://cuelang.org/

plugins.lsp.servers.cue.enable

Whether to enable https://github.com/cue-lang/cue

CUE makes it easy to validate data, write schemas, and ensure configurations align with policies. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.cue.package

The cue package to use.

Type: null or package

Default: pkgs.cue

Declared by:

plugins.lsp.servers.cue.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.cue.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.cue.extraOptions

Extra options for the cue language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.cue.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.cue.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.cue.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:

plugins.lsp.servers.cue.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.cue.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.cue.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

custom_elements_ls

plugins.lsp.servers.custom_elements_ls.enable

Whether to enable https://github.com/Matsuuu/custom-elements-language-server

custom-elements-languageserver depends on typescript. Both packages can be installed via npm:

npm install -g typescript custom-elements-languageserver

To configure typescript language server, add a tsconfig.json or jsconfig.json to the root of your project. Here’s an example that disables type checking in JavaScript files.

{
  "compilerOptions": {
    "module": "commonjs",
    "target": "es6",
    "checkJs": false
  },
  "exclude": [
    "node_modules"
  ]
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.custom_elements_ls.package

Package to use for custom_elements_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.custom_elements_ls.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.custom_elements_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.custom_elements_ls.extraOptions

Extra options for the custom_elements_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.custom_elements_ls.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.custom_elements_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.custom_elements_ls.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:

plugins.lsp.servers.custom_elements_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.custom_elements_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.custom_elements_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

cypher_ls

plugins.lsp.servers.cypher_ls.enable

Whether to enable https://github.com/neo4j/cypher-language-support/tree/main/packages/language-server

cypher-language-server, language server for Cypher query language. Part of the umbrella project cypher-language-support: https://github.com/neo4j/cypher-language-support

cypher-language-server can be installed via npm:

npm i -g @neo4j-cypher/language-server

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.cypher_ls.package

Package to use for cypher_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.cypher_ls.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.cypher_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.cypher_ls.extraOptions

Extra options for the cypher_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.cypher_ls.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.cypher_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.cypher_ls.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:

plugins.lsp.servers.cypher_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.cypher_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.cypher_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

daedalus_ls

plugins.lsp.servers.daedalus_ls.enable

Whether to enable daedalus_ls language server.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.daedalus_ls.package

Package to use for daedalus_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.daedalus_ls.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.daedalus_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.daedalus_ls.extraOptions

Extra options for the daedalus_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.daedalus_ls.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.daedalus_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.daedalus_ls.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:

plugins.lsp.servers.daedalus_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.daedalus_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.daedalus_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

dafny

URL: https://research.microsoft.com/dafny

plugins.lsp.servers.dafny.enable

Whether to enable Support for the Dafny language server.

The default `cmd` uses "dafny server", which works on Dafny 4.0.0+. For
older versions of Dafny, you can compile the language server from source at
[dafny-lang/language-server-csharp](https://github.com/dafny-lang/language-server-csharp)
and set `cmd = {"dotnet", "<Path to your language server>"}`.
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.dafny.package

The dafny package to use.

Type: null or package

Default: pkgs.dafny

Declared by:

plugins.lsp.servers.dafny.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.dafny.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.dafny.extraOptions

Extra options for the dafny language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.dafny.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.dafny.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.dafny.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:

plugins.lsp.servers.dafny.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.dafny.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.dafny.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

dagger

URL: https://github.com/dagger/cuelsp

plugins.lsp.servers.dagger.enable

Whether to enable https://github.com/dagger/cuelsp

Dagger’s lsp server for cuelang. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.dagger.package

The dagger package to use.

Type: null or package

Default: pkgs.cuelsp

Declared by:

plugins.lsp.servers.dagger.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.dagger.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.dagger.extraOptions

Extra options for the dagger language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.dagger.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.dagger.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.dagger.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:

plugins.lsp.servers.dagger.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.dagger.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.dagger.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

dartls

URL: https://dart.dev

plugins.lsp.servers.dartls.enable

Whether to enable https://github.com/dart-lang/sdk/tree/master/pkg/analysis_server/tool/lsp_spec

Language server for dart. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.dartls.package

The dartls package to use.

Type: null or package

Default: pkgs.dart

Declared by:

plugins.lsp.servers.dartls.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.dartls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.dartls.extraOptions

Extra options for the dartls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.dartls.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.dartls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.dartls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.dartls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.dartls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

plugins.lsp.servers.dartls.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:

plugins.lsp.servers.dartls.settings.enableSdkFormatter

When set to false, prevents registration (or unregisters) the SDK formatter. When set to true or not supplied, will register/reregister the SDK formatter

Type: null or boolean

Default: null

Declared by:

plugins.lsp.servers.dartls.settings.enableSnippets

Whether to include code snippets (such as class, stful, switch) in code completion. When unspecified, snippets will be included.

Type: null or boolean

Default: null

Declared by:

plugins.lsp.servers.dartls.settings.analysisExcludedFolders

An array of paths (absolute or relative to each workspace folder) that should be excluded from analysis.

Type: null or (list of string)

Default: null

Declared by:

plugins.lsp.servers.dartls.settings.completeFunctionCalls

When set to true, completes functions/methods with their required parameters.

Type: null or boolean

Default: null

Declared by:

plugins.lsp.servers.dartls.settings.documentation

The typekind of dartdocs to include in Hovers, Code Completion, Signature Help and other similar requests. If not set, defaults to "full".

Type: null or one of “none”, “summary”, “full”

Default: null

Declared by:

plugins.lsp.servers.dartls.settings.includeDependenciesInWorkspaceSymbols

Whether to include symbols from dependencies and Dart/Flutter SDKs in Workspace Symbol results. If not set, defaults to true.

Type: null or boolean

Default: null

Declared by:

plugins.lsp.servers.dartls.settings.lineLength

The number of characters the formatter should wrap code at. If unspecified, code will be wrapped at 80 characters.

Type: null or (unsigned integer, meaning >=0)

Default: null

Declared by:

plugins.lsp.servers.dartls.settings.renameFilesWithClasses

When set to “always”, will include edits to rename files when classes are renamed if the filename matches the class name (but in snake_form). When set to “prompt”, a prompt will be shown on each class rename asking to confirm the file rename. Otherwise, files will not be renamed. Renames are performed using LSP’s ResourceOperation edits - that means the rename is simply included in the resulting WorkspaceEdit and must be handled by the client.

Type: null or one of “always”, “prompt”

Default: null

Declared by:

plugins.lsp.servers.dartls.settings.showTodos

Whether to generate diagnostics for TODO comments. If unspecified, diagnostics will not be generated.

Type: null or boolean

Default: null

Declared by:

plugins.lsp.servers.dartls.settings.updateImportsOnRename

Whether to update imports and other directives when files are renamed. When unspecified, imports will be updated if the client supports willRenameFiles requests.

Type: null or boolean

Default: null

Declared by:

dcmls

plugins.lsp.servers.dcmls.enable

Whether to enable https://dcm.dev/

Language server for DCM analyzer. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.dcmls.package

Package to use for dcmls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.dcmls.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.dcmls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.dcmls.extraOptions

Extra options for the dcmls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.dcmls.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.dcmls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.dcmls.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:

plugins.lsp.servers.dcmls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.dcmls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.dcmls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

debputy

plugins.lsp.servers.debputy.enable

Whether to enable https://salsa.debian.org/debian/debputy

Language Server for Debian packages. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.debputy.package

Package to use for debputy. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.debputy.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.debputy.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.debputy.extraOptions

Extra options for the debputy language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.debputy.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.debputy.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.debputy.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:

plugins.lsp.servers.debputy.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.debputy.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.debputy.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

delphi_ls

plugins.lsp.servers.delphi_ls.enable

Whether to enable Language server for Delphi from Embarcadero. https://marketplace.visualstudio.com/items?itemName=EmbarcaderoTechnologies.delphilsp

Note, the ‘*.delphilsp.json’ file is required, more details at: https://docwiki.embarcadero.com/RADStudio/Alexandria/en/Using_DelphiLSP_Code_Insight_with_Other_Editors

Below, you’ll find a sample configuration for the lazy manager. When on_attach is triggered, it signals DelphiLSP to load settings from a configuration file. Without this step, DelphiLSP initializes but remains non-functional:

"neovim/nvim-lspconfig",
lazy = false,
config = function()
  local capabilities = require("cmp_nvim_lsp").default_capabilities()
  local lspconfig = require("lspconfig")

  lspconfig.delphi_ls.setup({
    capabilities = capabilities,

    on_attach = function(client)
      local lsp_config = vim.fs.find(function(name)
        return name:match(".*%.delphilsp.json$")
      end, { type = "file", path = client.config.root_dir, upward = false })[1]

      if lsp_config then
        client.config.settings = { settingsFile = lsp_config }
        client.notify("workspace/didChangeConfiguration", { settings = client.config.settings })
      else
        vim.notify_once("delphi_ls: '*.delphilsp.json' config file not found")
      end
    end,
  })
end,

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.delphi_ls.package

Package to use for delphi_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.delphi_ls.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.delphi_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.delphi_ls.extraOptions

Extra options for the delphi_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.delphi_ls.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.delphi_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.delphi_ls.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:

plugins.lsp.servers.delphi_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.delphi_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.delphi_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

denols

URL: https://deno.land/

plugins.lsp.servers.denols.enable

Whether to enable https://github.com/denoland/deno

Deno’s built-in language server

To appropriately highlight codefences returned from denols, you will need to augment vim.g.markdown_fenced languages in your init.lua. Example:

vim.g.markdown_fenced_languages = {
  "ts=typescript"
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.denols.package

The denols package to use.

Type: null or package

Default: pkgs.deno

Declared by:

plugins.lsp.servers.denols.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.denols.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.denols.extraOptions

Extra options for the denols language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.denols.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.denols.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.denols.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:

plugins.lsp.servers.denols.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.denols.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.denols.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

dhall_lsp_server

URL: https://hackage.haskell.org/package/dhall-lsp-server

plugins.lsp.servers.dhall_lsp_server.enable

Whether to enable https://github.com/dhall-lang/dhall-haskell/tree/master/dhall-lsp-server

language server for dhall

dhall-lsp-server can be installed via cabal:

cabal install dhall-lsp-server

prebuilt binaries can be found here. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.dhall_lsp_server.package

The dhall_lsp_server package to use.

Type: null or package

Default: pkgs.dhall-lsp-server

Declared by:

plugins.lsp.servers.dhall_lsp_server.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.dhall_lsp_server.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.dhall_lsp_server.extraOptions

Extra options for the dhall_lsp_server language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.dhall_lsp_server.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.dhall_lsp_server.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.dhall_lsp_server.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:

plugins.lsp.servers.dhall_lsp_server.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.dhall_lsp_server.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.dhall_lsp_server.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

diagnosticls

URL: https://github.com/iamcco/diagnostic-languageserver

plugins.lsp.servers.diagnosticls.enable

Whether to enable https://github.com/iamcco/diagnostic-languageserver

Diagnostic language server integrate with linters. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.diagnosticls.package

The diagnosticls package to use.

Type: null or package

Default: pkgs.diagnostic-languageserver

Declared by:

plugins.lsp.servers.diagnosticls.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.diagnosticls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.diagnosticls.extraOptions

Extra options for the diagnosticls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.diagnosticls.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.diagnosticls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.diagnosticls.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:

plugins.lsp.servers.diagnosticls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.diagnosticls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.diagnosticls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

digestif

URL: https://github.com/astoff/digestif/

plugins.lsp.servers.digestif.enable

Whether to enable https://github.com/astoff/digestif

Digestif is a code analyzer, and a language server, for LaTeX, ConTeXt et caterva. It provides

context-sensitive completion, documentation, code navigation, and related functionality to any

text editor that speaks the LSP protocol. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.digestif.package

The digestif package to use.

Type: null or package

Default: pkgs.lua54Packages.digestif

Declared by:

plugins.lsp.servers.digestif.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.digestif.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.digestif.extraOptions

Extra options for the digestif language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.digestif.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.digestif.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.digestif.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:

plugins.lsp.servers.digestif.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.digestif.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.digestif.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

djlsp

plugins.lsp.servers.djlsp.enable

Whether to enable https://github.com/fourdigits/django-template-lsp

  `djlsp`, a language server for Django templates.
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.djlsp.package

Package to use for djlsp. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.djlsp.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.djlsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.djlsp.extraOptions

Extra options for the djlsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.djlsp.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.djlsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.djlsp.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:

plugins.lsp.servers.djlsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.djlsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.djlsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

docker_compose_language_service

URL: https://github.com/microsoft/compose-language-service

plugins.lsp.servers.docker_compose_language_service.enable

Whether to enable https://github.com/microsoft/compose-language-service This project contains a language service for Docker Compose.

compose-language-service can be installed via npm:

npm install @microsoft/compose-language-service

Note: If the docker-compose-langserver doesn’t startup when entering a docker-compose.yaml file, make sure that the filetype is yaml.docker-compose. You can set with: :set filetype=yaml.docker-compose. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.docker_compose_language_service.package

The docker_compose_language_service package to use.

Type: null or package

Default: pkgs.docker-compose-language-service

Declared by:

plugins.lsp.servers.docker_compose_language_service.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.docker_compose_language_service.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.docker_compose_language_service.extraOptions

Extra options for the docker_compose_language_service language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.docker_compose_language_service.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.docker_compose_language_service.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.docker_compose_language_service.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:

plugins.lsp.servers.docker_compose_language_service.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.docker_compose_language_service.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.docker_compose_language_service.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

dockerls

URL: https://github.com/rcjsuen/dockerfile-language-server-nodejs

plugins.lsp.servers.dockerls.enable

Whether to enable https://github.com/rcjsuen/dockerfile-language-server-nodejs

docker-langserver can be installed via npm:

npm install -g dockerfile-language-server-nodejs

Additional configuration can be applied in the following way:

require("lspconfig").dockerls.setup {
    settings = {
        docker = {
	    languageserver = {
	        formatter = {
		    ignoreMultilineInstructions = true,
		},
	    },
	}
    }
}
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.dockerls.package

The dockerls package to use.

Type: null or package

Default: pkgs.dockerfile-language-server-nodejs

Declared by:

plugins.lsp.servers.dockerls.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.dockerls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.dockerls.extraOptions

Extra options for the dockerls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.dockerls.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.dockerls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.dockerls.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:

plugins.lsp.servers.dockerls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.dockerls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.dockerls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

dolmenls

URL: https://github.com/Gbury/dolmen

plugins.lsp.servers.dolmenls.enable

Whether to enable https://github.com/Gbury/dolmen/blob/master/doc/lsp.md

dolmenls can be installed via opam

opam install dolmen_lsp
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.dolmenls.package

The dolmenls package to use.

Type: null or package

Default: pkgs.ocamlPackages.dolmen_lsp

Declared by:

plugins.lsp.servers.dolmenls.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.dolmenls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.dolmenls.extraOptions

Extra options for the dolmenls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.dolmenls.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.dolmenls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.dolmenls.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:

plugins.lsp.servers.dolmenls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.dolmenls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.dolmenls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

dotls

URL: https://github.com/nikeee/dot-language-server

plugins.lsp.servers.dotls.enable

Whether to enable https://github.com/nikeee/dot-language-server

dot-language-server can be installed via npm:

npm install -g dot-language-server
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.dotls.package

The dotls package to use.

Type: null or package

Default: pkgs.dot-language-server

Declared by:

plugins.lsp.servers.dotls.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.dotls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.dotls.extraOptions

Extra options for the dotls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.dotls.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.dotls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.dotls.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:

plugins.lsp.servers.dotls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.dotls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.dotls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

dprint

URL: https://dprint.dev

plugins.lsp.servers.dprint.enable

Whether to enable https://github.com/dprint/dprint

Pluggable and configurable code formatting platform written in Rust. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.dprint.package

The dprint package to use.

Type: null or package

Default: pkgs.dprint

Declared by:

plugins.lsp.servers.dprint.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.dprint.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.dprint.extraOptions

Extra options for the dprint language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.dprint.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.dprint.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.dprint.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:

plugins.lsp.servers.dprint.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.dprint.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.dprint.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

drools_lsp

plugins.lsp.servers.drools_lsp.enable

Whether to enable https://github.com/kiegroup/drools-lsp

Language server for the Drools Rule Language (DRL).

The drools-lsp server is a self-contained java jar file (drools-lsp-server-jar-with-dependencies.jar), and can be downloaded from https://github.com/kiegroup/drools-lsp/releases/.

Configuration information:

-- Option 1) Specify the entire command:
require('lspconfig').drools_lsp.setup {
  cmd = { '/path/to/java', '-jar', '/path/to/drools-lsp-server-jar-with-dependencies.jar' },
}

-- Option 2) Specify just the jar path (the JAVA_HOME environment variable will be respected if present):
require('lspconfig').drools_lsp.setup {
  drools = { jar = '/path/to/drools-lsp-server-jar-with-dependencies.jar' },
}

-- Option 3) Specify the java bin and/or java opts in addition to the jar path:
require('lspconfig').drools_lsp.setup {
  drools = {
    java = { bin = '/path/to/java', opts = { '-Xmx100m' } },
    jar = '/path/to/drools-lsp-server-jar-with-dependencies.jar',
  },
}

Neovim does not yet have automatic detection for the drools filetype, but it can be added with:

vim.cmd [[ autocmd BufNewFile,BufRead *.drl set filetype=drools ]]

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.drools_lsp.package

Package to use for drools_lsp. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.drools_lsp.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.drools_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.drools_lsp.extraOptions

Extra options for the drools_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.drools_lsp.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.drools_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.drools_lsp.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:

plugins.lsp.servers.drools_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.drools_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.drools_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

ds_pinyin_lsp

plugins.lsp.servers.ds_pinyin_lsp.enable

Whether to enable https://github.com/iamcco/ds-pinyin-lsp Dead simple Pinyin language server for input Chinese without IME(input method). To install, download the latest release and ensure ds-pinyin-lsp is on your path. And make ensure the database file dict.db3 is also downloaded. And put the path to dict.dbs in the following code.


require('lspconfig').ds_pinyin_lsp.setup {
    init_options = {
        db_path = "your_path_to_database"
    }
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.ds_pinyin_lsp.package

Package to use for ds_pinyin_lsp. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.ds_pinyin_lsp.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.ds_pinyin_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.ds_pinyin_lsp.extraOptions

Extra options for the ds_pinyin_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.ds_pinyin_lsp.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.ds_pinyin_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.ds_pinyin_lsp.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:

plugins.lsp.servers.ds_pinyin_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.ds_pinyin_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.ds_pinyin_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

dts_lsp

plugins.lsp.servers.dts_lsp.enable

Whether to enable dts-lsp is an LSP for Devicetree files built on top of tree-sitter-devicetree grammar. Language servers can be used in many editors, such as Visual Studio Code, Emacs or Vim

Install dts-lsp from https://github.com/igor-prusov/dts-lsp and add it to path

dts-lsp doesn’t require any configuration.

More about Devicetree: https://www.devicetree.org/ https://docs.zephyrproject.org/latest/build/dts/index.html

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.dts_lsp.package

Package to use for dts_lsp. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.dts_lsp.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.dts_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.dts_lsp.extraOptions

Extra options for the dts_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.dts_lsp.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.dts_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.dts_lsp.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:

plugins.lsp.servers.dts_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.dts_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.dts_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

earthlyls

URL: https://github.com/glehmann/earthlyls

plugins.lsp.servers.earthlyls.enable

Whether to enable https://github.com/glehmann/earthlyls

A fast language server for earthly. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.earthlyls.package

The earthlyls package to use.

Type: null or package

Default: pkgs.earthlyls

Declared by:

plugins.lsp.servers.earthlyls.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.earthlyls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.earthlyls.extraOptions

Extra options for the earthlyls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.earthlyls.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.earthlyls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.earthlyls.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:

plugins.lsp.servers.earthlyls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.earthlyls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.earthlyls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

ecsact

plugins.lsp.servers.ecsact.enable

Whether to enable https://github.com/ecsact-dev/ecsact_lsp_server

Language server for Ecsact.

The default cmd assumes ecsact_lsp_server is in your PATH. Typically from the Ecsact SDK: https://ecsact.dev/start .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.ecsact.package

Package to use for ecsact. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.ecsact.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.ecsact.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.ecsact.extraOptions

Extra options for the ecsact language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.ecsact.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.ecsact.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.ecsact.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:

plugins.lsp.servers.ecsact.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.ecsact.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.ecsact.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

efm

URL: https://github.com/mattn/efm-langserver

plugins.lsp.servers.efm.enable

Whether to enable https://github.com/mattn/efm-langserver

General purpose Language Server that can use specified error message format generated from specified command.

Requires at minimum EFM version v0.0.38 to support launching the language server on single files. If on an older version of EFM, disable single file support:

require('lspconfig')['efm'].setup{
  settings = ..., -- You must populate this according to the EFM readme
  filetypes = ..., -- Populate this according to the note below
  single_file_support = false, -- This is the important line for supporting older version of EFM
}

Note: In order for neovim’s built-in language server client to send the appropriate languageId to EFM, you must specify filetypes in your call to setup{}. Otherwise lspconfig will launch EFM on the BufEnter instead of the FileType autocommand, and the filetype variable used to populate the languageId will not yet be set.

require('lspconfig')['efm'].setup{
  settings = ..., -- You must populate this according to the EFM readme
  filetypes = { 'python','cpp','lua' }
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.efm.package

The efm package to use.

Type: null or package

Default: pkgs.efm-langserver

Declared by:

plugins.lsp.servers.efm.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.efm.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.efm.extraOptions

Extra options for the efm language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.efm.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.efm.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.efm.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:

plugins.lsp.servers.efm.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.efm.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.efm.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

elixirls

URL: https://github.com/elixir-lsp/elixir-ls

plugins.lsp.servers.elixirls.enable

Whether to enable https://github.com/elixir-lsp/elixir-ls

elixir-ls can be installed by following the instructions here.

  1. Download the zip from https://github.com/elixir-lsp/elixir-ls/releases/latest/

  2. Unzip it and make it executable.

    unzip elixir-ls.zip -d /path/to/elixir-ls
    # Unix
    chmod +x /path/to/elixir-ls/language_server.sh
    

By default, elixir-ls 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 elixir-ls.

require'lspconfig'.elixirls.setup{
    -- Unix
    cmd = { "/path/to/elixir-ls/language_server.sh" };
    -- Windows
    cmd = { "/path/to/elixir-ls/language_server.bat" };
    ...
}

‘root_dir’ is chosen like this: if two or more directories containing mix.exs were found when searching directories upward, the second one (higher up) is chosen, with the assumption that it is the root of an umbrella app. Otherwise the directory containing the single mix.exs that was found is chosen. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.elixirls.package

The elixirls package to use.

Type: null or package

Default: pkgs.elixir-ls

Declared by:

plugins.lsp.servers.elixirls.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.elixirls.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 when package is null, otherwise [ "elixir-ls" ]

Declared by:

plugins.lsp.servers.elixirls.extraOptions

Extra options for the elixirls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.elixirls.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.elixirls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.elixirls.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:

plugins.lsp.servers.elixirls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.elixirls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.elixirls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

elmls

URL: https://github.com/elm-tooling/elm-language-server

plugins.lsp.servers.elmls.enable

Whether to enable https://github.com/elm-tooling/elm-language-server#installation

If you don’t want to use Nvim to install it, then you can use:

npm install -g elm elm-test elm-format @elm-tooling/elm-language-server

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.elmls.package

The elmls package to use.

Type: null or package

Default: pkgs.elmPackages.elm-language-server

Declared by:

plugins.lsp.servers.elmls.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.elmls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.elmls.extraOptions

Extra options for the elmls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.elmls.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.elmls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.elmls.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:

plugins.lsp.servers.elmls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.elmls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.elmls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

elp

URL: https://github.com/WhatsApp/erlang-language-platform/

plugins.lsp.servers.elp.enable

Whether to enable https://whatsapp.github.io/erlang-language-platform

ELP integrates Erlang into modern IDEs via the language server protocol and was inspired by rust-analyzer. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.elp.package

The elp package to use.

Type: null or package

Default: pkgs.erlang-language-platform

Declared by:

plugins.lsp.servers.elp.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.elp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.elp.extraOptions

Extra options for the elp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.elp.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.elp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.elp.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:

plugins.lsp.servers.elp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.elp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.elp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

ember

plugins.lsp.servers.ember.enable

Whether to enable https://github.com/ember-tooling/ember-language-server

ember-language-server can be installed via npm:

npm install -g @ember-tooling/ember-language-server

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.ember.package

Package to use for ember. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.ember.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.ember.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.ember.extraOptions

Extra options for the ember language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.ember.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.ember.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.ember.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:

plugins.lsp.servers.ember.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.ember.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.ember.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

emmet_language_server

URL: https://github.com/olrtg/emmet-language-server

plugins.lsp.servers.emmet_language_server.enable

Whether to enable https://github.com/olrtg/emmet-language-server

Package can be installed via npm:

npm install -g @olrtg/emmet-language-server

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.emmet_language_server.package

The emmet_language_server package to use.

Type: null or package

Default: pkgs.emmet-language-server

Declared by:

plugins.lsp.servers.emmet_language_server.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.emmet_language_server.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.emmet_language_server.extraOptions

Extra options for the emmet_language_server language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.emmet_language_server.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.emmet_language_server.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.emmet_language_server.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:

plugins.lsp.servers.emmet_language_server.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.emmet_language_server.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.emmet_language_server.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

emmet_ls

URL: https://github.com/aca/emmet-ls

plugins.lsp.servers.emmet_ls.enable

Whether to enable https://github.com/aca/emmet-ls

Package can be installed via npm:

npm install -g emmet-ls

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.emmet_ls.package

The emmet_ls package to use.

Type: null or package

Default: pkgs.emmet-ls

Declared by:

plugins.lsp.servers.emmet_ls.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.emmet_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.emmet_ls.extraOptions

Extra options for the emmet_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.emmet_ls.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.emmet_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.emmet_ls.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:

plugins.lsp.servers.emmet_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.emmet_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.emmet_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

erg_language_server

URL: https://github.com/erg-lang/erg

plugins.lsp.servers.erg_language_server.enable

Whether to enable https://github.com/erg-lang/erg#flags ELS

ELS (erg-language-server) is a language server for the Erg programming language.

erg-language-server can be installed via cargo and used as follows: sh cargo install erg --features els erg --language-server .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.erg_language_server.package

The erg_language_server package to use.

Type: null or package

Default: pkgs.erg

Declared by:

plugins.lsp.servers.erg_language_server.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.erg_language_server.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.erg_language_server.extraOptions

Extra options for the erg_language_server language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.erg_language_server.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.erg_language_server.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.erg_language_server.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:

plugins.lsp.servers.erg_language_server.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.erg_language_server.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.erg_language_server.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

erlangls

URL: https://github.com/erlang-ls/erlang_ls

plugins.lsp.servers.erlangls.enable

Whether to enable https://erlang-ls.github.io

Language Server for Erlang.

Clone erlang_ls Compile the project with make and copy resulting binaries somewhere in your $PATH eg. cp _build/*/bin/* ~/local/bin

Installation instruction can be found here.

Installation requirements:

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.erlangls.package

The erlangls package to use.

Type: null or package

Default: pkgs.erlang-ls

Declared by:

plugins.lsp.servers.erlangls.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.erlangls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.erlangls.extraOptions

Extra options for the erlangls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.erlangls.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.erlangls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.erlangls.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:

plugins.lsp.servers.erlangls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.erlangls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.erlangls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

esbonio

plugins.lsp.servers.esbonio.enable

Whether to enable https://github.com/swyddfa/esbonio

Esbonio is a language server for Sphinx documentation projects. The language server can be installed via pip

pip install esbonio

Since Sphinx is highly extensible you will get best results if you install the language server in the same Python environment as the one used to build your documentation. To ensure that the correct Python environment is picked up, you can either launch nvim with the correct environment activated.

source env/bin/activate
nvim

Or you can modify the default cmd to include the full path to the Python interpreter.

require'lspconfig'.esbonio.setup {
  cmd = { '/path/to/virtualenv/bin/python', '-m', 'esbonio' }
}

Esbonio supports a number of config values passed as init_options on startup, for example.

require'lspconfig'.esbonio.setup {
  init_options = {
    server = {
      logLevel = "debug"
    },
    sphinx = {
      confDir = "/path/to/docs",
      srcDir = "${confDir}/../docs-src"
    }
}

A full list and explanation of the available options can be found here .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.esbonio.package

Package to use for esbonio. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.esbonio.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.esbonio.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.esbonio.extraOptions

Extra options for the esbonio language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.esbonio.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.esbonio.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.esbonio.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:

plugins.lsp.servers.esbonio.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.esbonio.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.esbonio.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

eslint

URL: https://github.com/hrsh7th/vscode-langservers-extracted

plugins.lsp.servers.eslint.enable

Whether to enable https://github.com/hrsh7th/vscode-langservers-extracted

vscode-eslint-language-server is a linting engine for JavaScript / Typescript. It can be installed via npm:

npm i -g vscode-langservers-extracted

vscode-eslint-language-server provides an EslintFixAll command that can be used to format a document on save:

lspconfig.eslint.setup({
  --- ...
  on_attach = function(client, bufnr)
    vim.api.nvim_create_autocmd("BufWritePre", {
      buffer = bufnr,
      command = "EslintFixAll",
    })
  end,
})

See vscode-eslint for configuration options.

Messages handled in lspconfig: eslint/openDoc, eslint/confirmESLintExecution, eslint/probeFailed, eslint/noLibrary

Additional messages you can handle: eslint/noConfig .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.eslint.package

The eslint package to use.

Type: null or package

Default: pkgs.vscode-langservers-extracted

Declared by:

plugins.lsp.servers.eslint.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.eslint.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.eslint.extraOptions

Extra options for the eslint language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.eslint.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.eslint.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.eslint.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:

plugins.lsp.servers.eslint.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.eslint.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.eslint.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

facility_language_server

plugins.lsp.servers.facility_language_server.enable

Whether to enable https://github.com/FacilityApi/FacilityLanguageServer

Facility language server protocol (LSP) support. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.facility_language_server.package

Package to use for facility_language_server. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.facility_language_server.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.facility_language_server.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.facility_language_server.extraOptions

Extra options for the facility_language_server language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.facility_language_server.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.facility_language_server.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.facility_language_server.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:

plugins.lsp.servers.facility_language_server.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.facility_language_server.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.facility_language_server.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

fennel_language_server

plugins.lsp.servers.fennel_language_server.enable

Whether to enable https://github.com/rydesun/fennel-language-server

Fennel language server protocol (LSP) support. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.fennel_language_server.package

Package to use for fennel_language_server. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.fennel_language_server.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.fennel_language_server.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.fennel_language_server.extraOptions

Extra options for the fennel_language_server language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.fennel_language_server.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.fennel_language_server.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.fennel_language_server.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:

plugins.lsp.servers.fennel_language_server.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.fennel_language_server.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.fennel_language_server.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

fennel_ls

URL: https://git.sr.ht/~xerool/fennel-ls/

plugins.lsp.servers.fennel_ls.enable

Whether to enable https://sr.ht/~xerool/fennel-ls/

A language server for fennel.

fennel-ls is configured using the closest file to your working directory named flsproject.fnl. All fennel-ls configuration options can be found here. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.fennel_ls.package

The fennel_ls package to use.

Type: null or package

Default: pkgs.fennel-ls

Declared by:

plugins.lsp.servers.fennel_ls.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.fennel_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.fennel_ls.extraOptions

Extra options for the fennel_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.fennel_ls.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.fennel_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.fennel_ls.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:

plugins.lsp.servers.fennel_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.fennel_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.fennel_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

fish_lsp

URL: https://github.com/ndonfris/fish-lsp

plugins.lsp.servers.fish_lsp.enable

Whether to enable https://github.com/ndonfris/fish-lsp

A Language Server Protocol (LSP) tailored for the fish shell. This project aims to enhance the coding experience for fish, by introducing a suite of intelligent features like auto-completion, scope aware symbol analysis, per-token hover generation, and many others.

homepage .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.fish_lsp.package

The fish_lsp package to use.

Type: null or package

Default: pkgs.fish-lsp

Declared by:

plugins.lsp.servers.fish_lsp.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.fish_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.fish_lsp.extraOptions

Extra options for the fish_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.fish_lsp.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.fish_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.fish_lsp.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:

plugins.lsp.servers.fish_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.fish_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.fish_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

flow

URL: https://flow.org/

plugins.lsp.servers.flow.enable

Whether to enable https://flow.org/ https://github.com/facebook/flow

See below for how to setup Flow itself. https://flow.org/en/docs/install/

See below for lsp command options.

npx flow lsp --help
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.flow.package

The flow package to use.

Type: null or package

Default: pkgs.flow

Declared by:

plugins.lsp.servers.flow.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.flow.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 when package is null, otherwise [ "flow" "lsp" ]

Declared by:

plugins.lsp.servers.flow.extraOptions

Extra options for the flow language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.flow.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.flow.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.flow.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:

plugins.lsp.servers.flow.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.flow.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.flow.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

flux_lsp

plugins.lsp.servers.flux_lsp.enable

Whether to enable https://github.com/influxdata/flux-lsp flux-lsp can be installed via cargo:

cargo install --git https://github.com/influxdata/flux-lsp

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.flux_lsp.package

Package to use for flux_lsp. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.flux_lsp.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.flux_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.flux_lsp.extraOptions

Extra options for the flux_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.flux_lsp.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.flux_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.flux_lsp.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:

plugins.lsp.servers.flux_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.flux_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.flux_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

foam_ls

plugins.lsp.servers.foam_ls.enable

Whether to enable https://github.com/FoamScience/foam-language-server

foam-language-server can be installed via npm

npm install -g foam-language-server

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.foam_ls.package

Package to use for foam_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.foam_ls.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.foam_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.foam_ls.extraOptions

Extra options for the foam_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.foam_ls.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.foam_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.foam_ls.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:

plugins.lsp.servers.foam_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.foam_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.foam_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

fortls

URL: https://github.com/fortran-lang/fortls

plugins.lsp.servers.fortls.enable

Whether to enable https://fortls.fortran-lang.org/index.html

fortls is a Fortran Language Server, the server can be installed via pip

pip install fortls

Settings to the server can be passed either through the cmd option or through a local configuration file e.g. .fortls. For more information see the fortls documentation. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.fortls.package

The fortls package to use.

Type: null or package

Default: pkgs.fortls

Declared by:

plugins.lsp.servers.fortls.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.fortls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.fortls.extraOptions

Extra options for the fortls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.fortls.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.fortls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.fortls.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:

plugins.lsp.servers.fortls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.fortls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.fortls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

fsautocomplete

URL: https://github.com/fsharp/FsAutoComplete

plugins.lsp.servers.fsautocomplete.enable

Whether to enable https://github.com/fsharp/FsAutoComplete

Language Server for F# provided by FsAutoComplete (FSAC).

FsAutoComplete requires the dotnet-sdk to be installed.

The preferred way to install FsAutoComplete is with dotnet tool install --global fsautocomplete.

Instructions to compile from source are found on the main repository.

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 PhilT/vim-fsharp, fsharp/vim-fsharp, and adelarsq/neofsharp.vim. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.fsautocomplete.package

The fsautocomplete package to use.

Type: null or package

Default: pkgs.fsautocomplete

Declared by:

plugins.lsp.servers.fsautocomplete.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.fsautocomplete.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.fsautocomplete.extraOptions

Extra options for the fsautocomplete language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.fsautocomplete.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.fsautocomplete.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.fsautocomplete.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:

plugins.lsp.servers.fsautocomplete.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.fsautocomplete.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.fsautocomplete.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

fsharp_language_server

plugins.lsp.servers.fsharp_language_server.enable

Whether to enable F# Language Server https://github.com/faldor20/fsharp-language-server

An implementation of the language server protocol using the F# Compiler Service.

Build the project from source and override the command path to location of DLL.

If filetype determination is not already performed by an available plugin (PhilT/vim-fsharp, fsharp/vim-fsharp, and adelarsq/neofsharp.vim. ), then the following must be added to initialization configuration:

autocmd BufNewFile,BufRead *.fs,*.fsx,*.fsi set filetype=fsharp .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.fsharp_language_server.package

Package to use for fsharp_language_server. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.fsharp_language_server.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.fsharp_language_server.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.fsharp_language_server.extraOptions

Extra options for the fsharp_language_server language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.fsharp_language_server.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.fsharp_language_server.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.fsharp_language_server.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:

plugins.lsp.servers.fsharp_language_server.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.fsharp_language_server.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.fsharp_language_server.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

fstar

URL: https://www.fstar-lang.org

plugins.lsp.servers.fstar.enable

Whether to enable https://github.com/FStarLang/FStar

LSP support is included in FStar. Make sure fstar.exe is in your PATH. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.fstar.package

The fstar package to use.

Type: null or package

Default: pkgs.fstar

Declared by:

plugins.lsp.servers.fstar.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.fstar.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.fstar.extraOptions

Extra options for the fstar language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.fstar.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.fstar.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.fstar.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:

plugins.lsp.servers.fstar.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.fstar.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.fstar.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

futhark_lsp

URL: https://hackage.haskell.org/package/futhark

plugins.lsp.servers.futhark_lsp.enable

Whether to enable https://github.com/diku-dk/futhark

Futhark Language Server

This language server comes with the futhark compiler and is run with the command

futhark lsp

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.futhark_lsp.package

The futhark_lsp package to use.

Type: null or package

Default: pkgs.futhark

Declared by:

plugins.lsp.servers.futhark_lsp.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.futhark_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.futhark_lsp.extraOptions

Extra options for the futhark_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.futhark_lsp.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.futhark_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.futhark_lsp.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:

plugins.lsp.servers.futhark_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.futhark_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.futhark_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

gdscript

plugins.lsp.servers.gdscript.enable

Whether to enable https://github.com/godotengine/godot

Language server for GDScript, used by Godot Engine. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.gdscript.package

Package to use for gdscript. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.gdscript.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.gdscript.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.gdscript.extraOptions

Extra options for the gdscript language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.gdscript.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.gdscript.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.gdscript.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:

plugins.lsp.servers.gdscript.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.gdscript.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.gdscript.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

gdshader_lsp

plugins.lsp.servers.gdshader_lsp.enable

Whether to enable https://github.com/godofavacyn/gdshader-lsp

A language server for the Godot Shading language. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.gdshader_lsp.package

Package to use for gdshader_lsp. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.gdshader_lsp.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.gdshader_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.gdshader_lsp.extraOptions

Extra options for the gdshader_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.gdshader_lsp.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.gdshader_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.gdshader_lsp.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:

plugins.lsp.servers.gdshader_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.gdshader_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.gdshader_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

gh_actions_ls

plugins.lsp.servers.gh_actions_ls.enable

Whether to enable https://github.com/lttb/gh-actions-language-server

Language server for GitHub Actions.

The projects forgejo and gitea design their actions to be as compatible to github as possible with only a few differences between the systems. The gh_actions_ls is therefore enabled for those yaml files as well.

The gh-actions-language-server can be installed via npm:

npm install -g gh-actions-language-server

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.gh_actions_ls.package

Package to use for gh_actions_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.gh_actions_ls.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.gh_actions_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.gh_actions_ls.extraOptions

Extra options for the gh_actions_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.gh_actions_ls.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.gh_actions_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.gh_actions_ls.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:

plugins.lsp.servers.gh_actions_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.gh_actions_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.gh_actions_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

ghcide

URL: https://hackage.haskell.org/package/ghcide

plugins.lsp.servers.ghcide.enable

Whether to enable https://github.com/digital-asset/ghcide

A library for building Haskell IDE tooling. “ghcide” isn’t for end users now. Use “haskell-language-server” instead of “ghcide”. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.ghcide.package

The ghcide package to use.

Type: null or package

Default: pkgs.haskellPackages.ghcide

Declared by:

plugins.lsp.servers.ghcide.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.ghcide.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.ghcide.extraOptions

Extra options for the ghcide language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.ghcide.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.ghcide.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.ghcide.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:

plugins.lsp.servers.ghcide.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.ghcide.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.ghcide.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

ghdl_ls

plugins.lsp.servers.ghdl_ls.enable

Whether to enable https://github.com/ghdl/ghdl-language-server

A language server for VHDL, using ghdl as its backend.

ghdl-ls is part of pyghdl, for installation instructions see the upstream README. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.ghdl_ls.package

Package to use for ghdl_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.ghdl_ls.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.ghdl_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.ghdl_ls.extraOptions

Extra options for the ghdl_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.ghdl_ls.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.ghdl_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.ghdl_ls.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:

plugins.lsp.servers.ghdl_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.ghdl_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.ghdl_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

ginko_ls

plugins.lsp.servers.ginko_ls.enable

Whether to enable ginko_ls is meant to be a feature-complete language server for device-trees. Language servers can be used in many editors, such as Visual Studio Code, Emacs or Vim

Install ginko_ls from https://github.com/Schottkyc137/ginko and add it to path

ginko_ls doesn’t require any configuration. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.ginko_ls.package

Package to use for ginko_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.ginko_ls.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.ginko_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.ginko_ls.extraOptions

Extra options for the ginko_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.ginko_ls.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.ginko_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.ginko_ls.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:

plugins.lsp.servers.ginko_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.ginko_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.ginko_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

gitlab_ci_ls

URL: https://github.com/alesbrelih/gitlab-ci-ls

plugins.lsp.servers.gitlab_ci_ls.enable

Whether to enable https://github.com/alesbrelih/gitlab-ci-ls

Language Server for Gitlab CI

gitlab-ci-ls can be installed via cargo: cargo install gitlab-ci-ls .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.gitlab_ci_ls.package

The gitlab_ci_ls package to use.

Type: null or package

Default: pkgs.gitlab-ci-ls

Declared by:

plugins.lsp.servers.gitlab_ci_ls.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.gitlab_ci_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.gitlab_ci_ls.extraOptions

Extra options for the gitlab_ci_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.gitlab_ci_ls.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.gitlab_ci_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.gitlab_ci_ls.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:

plugins.lsp.servers.gitlab_ci_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.gitlab_ci_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.gitlab_ci_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

glasgow

plugins.lsp.servers.glasgow.enable

Whether to enable https://github.com/nolanderc/glasgow

Provides language features for WGSL (WebGPU Shading Language):

  • Completions:

    • Local functions/variables/types.
    • Fields and swizzles.
    • Builtin types and functions (dot, reflect, textureSample, vec3, mat4x2, etc.)
  • Hover Documentation:

    • Function signatures.
    • Variable types.
    • Includes builtin types and functions. Text is taken from the WGSL specification.
  • Goto Definition

  • Find all References

  • Rename

  • Formatter

glasgow can be installed via cargo:

cargo install glasgow

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.glasgow.package

Package to use for glasgow. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.glasgow.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.glasgow.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.glasgow.extraOptions

Extra options for the glasgow language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.glasgow.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.glasgow.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.glasgow.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:

plugins.lsp.servers.glasgow.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.glasgow.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.glasgow.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

gleam

URL: https://gleam.run/

plugins.lsp.servers.gleam.enable

Whether to enable https://github.com/gleam-lang/gleam

A language server for Gleam Programming Language.

It comes with the Gleam compiler, for installation see: Installing Gleam .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.gleam.package

The gleam package to use.

Type: null or package

Default: pkgs.gleam

Declared by:

plugins.lsp.servers.gleam.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.gleam.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.gleam.extraOptions

Extra options for the gleam language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.gleam.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.gleam.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.gleam.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:

plugins.lsp.servers.gleam.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.gleam.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.gleam.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

glint

plugins.lsp.servers.glint.enable

Whether to enable https://github.com/typed-ember/glint

https://typed-ember.gitbook.io/glint/

glint-language-server is installed when adding @glint/core to your project’s devDependencies:

npm install @glint/core --save-dev

or

yarn add -D @glint/core

or

pnpm add -D @glint/core

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.glint.package

Package to use for glint. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.glint.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.glint.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.glint.extraOptions

Extra options for the glint language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.glint.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.glint.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.glint.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:

plugins.lsp.servers.glint.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.glint.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.glint.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

glsl_analyzer

URL: https://github.com/nolanderc/glsl_analyzer

plugins.lsp.servers.glsl_analyzer.enable

Whether to enable https://github.com/nolanderc/glsl_analyzer

Language server for GLSL .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.glsl_analyzer.package

The glsl_analyzer package to use.

Type: null or package

Default: pkgs.glsl_analyzer

Declared by:

plugins.lsp.servers.glsl_analyzer.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.glsl_analyzer.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.glsl_analyzer.extraOptions

Extra options for the glsl_analyzer language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.glsl_analyzer.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.glsl_analyzer.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.glsl_analyzer.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:

plugins.lsp.servers.glsl_analyzer.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.glsl_analyzer.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.glsl_analyzer.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

glslls

URL: https://github.com/svenstaro/glsl-language-server

plugins.lsp.servers.glslls.enable

Whether to enable https://github.com/svenstaro/glsl-language-server

Language server implementation for GLSL

glslls can be compiled and installed manually, or, if your distribution has access to the AUR, via the glsl-language-server AUR package .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.glslls.package

The glslls package to use.

Type: null or package

Default: pkgs.glslls

Declared by:

plugins.lsp.servers.glslls.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.glslls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.glslls.extraOptions

Extra options for the glslls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.glslls.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.glslls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.glslls.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:

plugins.lsp.servers.glslls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.glslls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.glslls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

golangci_lint_ls

URL: https://github.com/nametake/golangci-lint-langserver

plugins.lsp.servers.golangci_lint_ls.enable

Whether to enable Combination of both lint server and client

https://github.com/nametake/golangci-lint-langserver https://github.com/golangci/golangci-lint

Installation of binaries needed is done via

go install github.com/nametake/golangci-lint-langserver@latest
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.golangci_lint_ls.package

The golangci_lint_ls package to use.

Type: null or package

Default: pkgs.golangci-lint-langserver

Declared by:

plugins.lsp.servers.golangci_lint_ls.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.golangci_lint_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.golangci_lint_ls.extraOptions

Extra options for the golangci_lint_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.golangci_lint_ls.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.golangci_lint_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.golangci_lint_ls.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:

plugins.lsp.servers.golangci_lint_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.golangci_lint_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.golangci_lint_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

gopls

URL: https://github.com/golang/tools/tree/master/gopls

plugins.lsp.servers.gopls.enable

Whether to enable https://github.com/golang/tools/tree/master/gopls

Google’s lsp server for golang. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.gopls.package

The gopls package to use.

Type: null or package

Default: pkgs.gopls

Declared by:

plugins.lsp.servers.gopls.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.gopls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.gopls.extraOptions

Extra options for the gopls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.gopls.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.gopls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.gopls.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:

plugins.lsp.servers.gopls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.gopls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.gopls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

gradle_ls

plugins.lsp.servers.gradle_ls.enable

Whether to enable https://github.com/microsoft/vscode-gradle

Microsoft’s lsp server for gradle files

If you’re setting this up manually, build vscode-gradle using ./gradlew installDist and point cmd to the gradle-language-server generated in the build directory .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.gradle_ls.package

Package to use for gradle_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.gradle_ls.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.gradle_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.gradle_ls.extraOptions

Extra options for the gradle_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.gradle_ls.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.gradle_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.gradle_ls.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:

plugins.lsp.servers.gradle_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.gradle_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.gradle_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

grammarly

plugins.lsp.servers.grammarly.enable

Whether to enable https://github.com/znck/grammarly

grammarly-languageserver can be installed via npm:

npm i -g grammarly-languageserver

WARNING: Since this language server uses Grammarly’s API, any document you open with it running is shared with them. Please evaluate their privacy policy before using this. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.grammarly.package

Package to use for grammarly. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.grammarly.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.grammarly.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.grammarly.extraOptions

Extra options for the grammarly language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.grammarly.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.grammarly.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.grammarly.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:

plugins.lsp.servers.grammarly.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.grammarly.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.grammarly.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

graphql

plugins.lsp.servers.graphql.enable

Whether to enable https://github.com/graphql/graphiql/tree/main/packages/graphql-language-service-cli

graphql-lsp can be installed via npm:

npm install -g graphql-language-service-cli

Note that you must also have the graphql package installed within your project and create a GraphQL config file. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.graphql.package

Package to use for graphql. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.graphql.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.graphql.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.graphql.extraOptions

Extra options for the graphql language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.graphql.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.graphql.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.graphql.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:

plugins.lsp.servers.graphql.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.graphql.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.graphql.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

groovyls

plugins.lsp.servers.groovyls.enable

Whether to enable https://github.com/prominic/groovy-language-server.git

Requirements: - Linux/macOS (for now) - Java 11+

groovyls can be installed by following the instructions here.

If you have installed groovy language server, you can set the cmd custom path as follow:

require'lspconfig'.groovyls.setup{
    -- Unix
    cmd = { "java", "-jar", "path/to/groovyls/groovy-language-server-all.jar" },
    ...
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.groovyls.package

Package to use for groovyls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.groovyls.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.groovyls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.groovyls.extraOptions

Extra options for the groovyls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.groovyls.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.groovyls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.groovyls.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:

plugins.lsp.servers.groovyls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.groovyls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.groovyls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

guile_ls

plugins.lsp.servers.guile_ls.enable

Whether to enable https://codeberg.org/rgherdt/scheme-lsp-server

The recommended way is to install guile-lsp-server is using Guix. Unfortunately it is still not available at the official Guix channels, but you can use the provided channel guix.scm in the repo:

guix package -f guix.scm

Checkout the repo for more info.

Note: This LSP will start on scheme.guile filetype. You can set this file type using :help modeline or adding https://gitlab.com/HiPhish/guile.vim to your plugins to automatically set it. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.guile_ls.package

Package to use for guile_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.guile_ls.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.guile_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.guile_ls.extraOptions

Extra options for the guile_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.guile_ls.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.guile_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.guile_ls.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:

plugins.lsp.servers.guile_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.guile_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.guile_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

harper_ls

URL: https://github.com/Automattic/harper

plugins.lsp.servers.harper_ls.enable

Whether to enable https://github.com/automattic/harper

The language server for Harper, the slim, clean language checker for developers.

See our documentation for more information on settings.

In short, they should look something like this:

lspconfig.harper_ls.setup {
  settings = {
    ["harper-ls"] = {
      userDictPath = "~/dict.txt"
    }
  },
}
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.harper_ls.package

The harper_ls package to use.

Type: null or package

Default: pkgs.harper

Declared by:

plugins.lsp.servers.harper_ls.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.harper_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.harper_ls.extraOptions

Extra options for the harper_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.harper_ls.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.harper_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.harper_ls.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:

plugins.lsp.servers.harper_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.harper_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.harper_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

haxe_language_server

plugins.lsp.servers.haxe_language_server.enable

Whether to enable https://github.com/vshaxe/haxe-language-server

The Haxe language server can be built by running the following commands from the project’s root directory:

npm install
npx lix run vshaxe-build -t language-server

This will create bin/server.js. Note that the server requires Haxe 3.4.0 or higher.

After building the language server, set the cmd setting in your setup function:

lspconfig.haxe_language_server.setup({
  cmd = {"node", "path/to/bin/server.js"},
})

By default, the language server is configured with the HXML compiler arguments contained in the first .hxml file found in your project’s root directory. If you want to specify which one to use, set the init_options.displayArguments setting:

lspconfig.haxe_language_server.setup({
  -- ...
  init_options = {
    displayArguments = { "build.hxml" },
  },
})

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.haxe_language_server.package

Package to use for haxe_language_server. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.haxe_language_server.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.haxe_language_server.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.haxe_language_server.extraOptions

Extra options for the haxe_language_server language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.haxe_language_server.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.haxe_language_server.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.haxe_language_server.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:

plugins.lsp.servers.haxe_language_server.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.haxe_language_server.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.haxe_language_server.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

hdl_checker

plugins.lsp.servers.hdl_checker.enable

Whether to enable https://github.com/suoto/hdl_checker Language server for hdl-checker. Install using: pip install hdl-checker --upgrade .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.hdl_checker.package

Package to use for hdl_checker. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.hdl_checker.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.hdl_checker.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.hdl_checker.extraOptions

Extra options for the hdl_checker language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.hdl_checker.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.hdl_checker.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.hdl_checker.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:

plugins.lsp.servers.hdl_checker.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.hdl_checker.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.hdl_checker.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

helm_ls

URL: https://github.com/mrjosh/helm-ls

plugins.lsp.servers.helm_ls.enable

Whether to enable https://github.com/mrjosh/helm-ls

Helm Language server. (This LSP is in early development)

helm Language server can be installed by following the instructions here.

The default cmd assumes that the helm_ls binary can be found in $PATH.

If need Helm file highlight use vim-helm plugin. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.helm_ls.package

The helm_ls package to use.

Type: null or package

Default: pkgs.helm-ls

Declared by:

plugins.lsp.servers.helm_ls.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.helm_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.helm_ls.extraOptions

Extra options for the helm_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.helm_ls.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.helm_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.helm_ls.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:

plugins.lsp.servers.helm_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.helm_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.helm_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

hhvm

plugins.lsp.servers.hhvm.enable

Whether to enable Language server for programs written in Hack https://hhvm.com/ https://github.com/facebook/hhvm See below for how to setup HHVM & typechecker: https://docs.hhvm.com/hhvm/getting-started/getting-started .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.hhvm.package

Package to use for hhvm. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.hhvm.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.hhvm.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.hhvm.extraOptions

Extra options for the hhvm language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.hhvm.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.hhvm.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.hhvm.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:

plugins.lsp.servers.hhvm.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.hhvm.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.hhvm.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

hie

plugins.lsp.servers.hie.enable

Whether to enable https://github.com/haskell/haskell-ide-engine

the following init_options are supported (see https://github.com/haskell/haskell-ide-engine#configuration):

init_options = {
  languageServerHaskell = {
    hlintOn = bool;
    maxNumberOfProblems = number;
    diagnosticsDebounceDuration = number;
    liquidOn = bool (default false);
    completionSnippetsOn = bool (default true);
    formatOnImportOn = bool (default true);
    formattingProvider = string (default "brittany", alternate "floskell");
  }
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.hie.package

Package to use for hie. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.hie.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.hie.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.hie.extraOptions

Extra options for the hie language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.hie.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.hie.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.hie.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:

plugins.lsp.servers.hie.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.hie.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.hie.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

hlasm

plugins.lsp.servers.hlasm.enable

Whether to enable hlasm_language_server is a language server for the High Level Assembler language used on IBM SystemZ mainframes.

To learn how to configure the HLASM language server, see the [HLASM Language Support documentation](https://github.com/eclipse-che4z/che-che4z-lsp-for-hlasm).
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.hlasm.package

Package to use for hlasm. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.hlasm.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.hlasm.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.hlasm.extraOptions

Extra options for the hlasm language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.hlasm.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.hlasm.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.hlasm.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:

plugins.lsp.servers.hlasm.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.hlasm.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.hlasm.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

hls

URL: https://hackage.haskell.org/package/haskell-language-server

plugins.lsp.servers.hls.enable

Whether to enable https://github.com/haskell/haskell-language-server

Haskell Language Server

If you are using HLS 1.9.0.0, enable the language server to launch on Cabal files as well:

require('lspconfig')['hls'].setup{
  filetypes = { 'haskell', 'lhaskell', 'cabal' },
}
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.hls.package

The hls package to use.

Type: null or package

Default: pkgs.haskell-language-server

Declared by:

plugins.lsp.servers.hls.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.hls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.hls.extraOptions

Extra options for the hls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.hls.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.hls.ghcPackage

The ghc package to use.

Type: package

Default: pkgs.ghc

Declared by:

plugins.lsp.servers.hls.installGhc

Whether to install ghc.

Type: null or boolean

Default: null

Example: true

Declared by:

plugins.lsp.servers.hls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.hls.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:

plugins.lsp.servers.hls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.hls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.hls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

hoon_ls

plugins.lsp.servers.hoon_ls.enable

Whether to enable https://github.com/urbit/hoon-language-server

A language server for Hoon.

The language server can be installed via npm install -g @hoon-language-server

Start a fake ~zod with urbit -F zod. Start the language server at the Urbit Dojo prompt with: |start %language-server .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.hoon_ls.package

Package to use for hoon_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.hoon_ls.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.hoon_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.hoon_ls.extraOptions

Extra options for the hoon_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.hoon_ls.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.hoon_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.hoon_ls.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:

plugins.lsp.servers.hoon_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.hoon_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.hoon_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

html

URL: https://github.com/hrsh7th/vscode-langservers-extracted

plugins.lsp.servers.html.enable

Whether to enable https://github.com/hrsh7th/vscode-langservers-extracted

vscode-html-language-server can be installed via npm:

npm i -g vscode-langservers-extracted

Neovim does not currently include built-in snippets. vscode-html-language-server only provides completions when snippet support is enabled. To enable completion, install a snippet plugin and add the following override to your language client capabilities during setup.

The code-formatting feature of the lsp can be controlled with the provideFormatter option.

--Enable (broadcasting) snippet capability for completion
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = true

require'lspconfig'.html.setup {
  capabilities = capabilities,
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.html.package

The html package to use.

Type: null or package

Default: pkgs.vscode-langservers-extracted

Declared by:

plugins.lsp.servers.html.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.html.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.html.extraOptions

Extra options for the html language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.html.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.html.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.html.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:

plugins.lsp.servers.html.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.html.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.html.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

htmx

URL: https://github.com/ThePrimeagen/htmx-lsp

plugins.lsp.servers.htmx.enable

Whether to enable https://github.com/ThePrimeagen/htmx-lsp

htmx-lsp can be installed via cargo:

cargo install htmx-lsp

Lsp is still very much work in progress and experimental. Use at your own risk. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.htmx.package

The htmx package to use.

Type: null or package

Default: pkgs.htmx-lsp

Declared by:

plugins.lsp.servers.htmx.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.htmx.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.htmx.extraOptions

Extra options for the htmx language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.htmx.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.htmx.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.htmx.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:

plugins.lsp.servers.htmx.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.htmx.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.htmx.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

hydra_lsp

plugins.lsp.servers.hydra_lsp.enable

Whether to enable https://github.com/Retsediv/hydra-lsp

LSP for Hydra Python package config files. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.hydra_lsp.package

Package to use for hydra_lsp. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.hydra_lsp.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.hydra_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.hydra_lsp.extraOptions

Extra options for the hydra_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.hydra_lsp.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.hydra_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.hydra_lsp.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:

plugins.lsp.servers.hydra_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.hydra_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.hydra_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

hyprls

URL: https://gwen.works/hyprls

plugins.lsp.servers.hyprls.enable

Whether to enable https://github.com/hyprland-community/hyprls

hyprls can be installed via go:

go install github.com/ewen-lbh/hyprls/cmd/hyprls@latest

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.hyprls.package

The hyprls package to use.

Type: null or package

Default: pkgs.hyprls

Declared by:

plugins.lsp.servers.hyprls.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.hyprls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.hyprls.extraOptions

Extra options for the hyprls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.hyprls.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.hyprls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.hyprls.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:

plugins.lsp.servers.hyprls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.hyprls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.hyprls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

idris2_lsp

URL: https://github.com/idris-community/idris2-lsp

plugins.lsp.servers.idris2_lsp.enable

Whether to enable https://github.com/idris-community/idris2-lsp

The Idris 2 language server.

Plugins for the Idris 2 filetype include Idris2-Vim (fewer features, stable) and Nvim-Idris2 (cutting-edge, experimental).

Idris2-Lsp requires a build of Idris 2 that includes the “Idris 2 API” package. Package managers with known support for this build include the AUR and Homebrew.

If your package manager does not support the Idris 2 API, you will need to build Idris 2 from source. Refer to the the Idris 2 installation instructions for details. Steps 5 and 8 are listed as “optional” in that guide, but they are necessary in order to make the Idris 2 API available.

You need to install a version of Idris2-Lsp that is compatible with your version of Idris 2. There should be a branch corresponding to every released Idris 2 version after v0.4.0. Use the latest commit on that branch. For example, if you have Idris v0.5.1, you should use the v0.5.1 branch of Idris2-Lsp.

If your Idris 2 version is newer than the newest Idris2-Lsp branch, use the latest commit on the master branch, and set a reminder to check the Idris2-Lsp repo for the release of a compatible versioned branch. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.idris2_lsp.package

The idris2_lsp package to use.

Type: null or package

Default: pkgs.idris2Packages.idris2Lsp

Declared by:

plugins.lsp.servers.idris2_lsp.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.idris2_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.idris2_lsp.extraOptions

Extra options for the idris2_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.idris2_lsp.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.idris2_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.idris2_lsp.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:

plugins.lsp.servers.idris2_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.idris2_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.idris2_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

intelephense

plugins.lsp.servers.intelephense.enable

Whether to enable https://intelephense.com/

intelephense can be installed via npm:

npm install -g intelephense
-- See https://github.com/bmewburn/intelephense-docs/blob/master/installation.md#initialisation-options
init_options = {
  storagePath = …, -- Optional absolute path to storage dir. Defaults to os.tmpdir().
  globalStoragePath = …, -- Optional absolute path to a global storage dir. Defaults to os.homedir().
  licenceKey = …, -- Optional licence key or absolute path to a text file containing the licence key.
  clearCache = …, -- Optional flag to clear server state. State can also be cleared by deleting {storagePath}/intelephense
}
-- See https://github.com/bmewburn/intelephense-docs
settings = {
  intelephense = {
    files = {
      maxSize = 1000000;
    };
  };
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.intelephense.package

Package to use for intelephense. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.intelephense.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.intelephense.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.intelephense.extraOptions

Extra options for the intelephense language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.intelephense.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.intelephense.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.intelephense.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:

plugins.lsp.servers.intelephense.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.intelephense.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.intelephense.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

janet_lsp

plugins.lsp.servers.janet_lsp.enable

Whether to enable https://github.com/CFiggers/janet-lsp

A Language Server Protocol implementation for Janet. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.janet_lsp.package

Package to use for janet_lsp. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.janet_lsp.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.janet_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.janet_lsp.extraOptions

Extra options for the janet_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.janet_lsp.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.janet_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.janet_lsp.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:

plugins.lsp.servers.janet_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.janet_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.janet_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

java_language_server

URL: https://github.com/georgewfraser/java-language-server

plugins.lsp.servers.java_language_server.enable

Whether to enable https://github.com/georgewfraser/java-language-server

Java language server

Point cmd to lang_server_linux.sh or the equivalent script for macOS/Windows provided by java-language-server .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.java_language_server.package

The java_language_server package to use.

Type: null or package

Default: pkgs.java-language-server

Declared by:

plugins.lsp.servers.java_language_server.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.java_language_server.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 when package is null, otherwise [ "java-language-server" ]

Declared by:

plugins.lsp.servers.java_language_server.extraOptions

Extra options for the java_language_server language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.java_language_server.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.java_language_server.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.java_language_server.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:

plugins.lsp.servers.java_language_server.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.java_language_server.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.java_language_server.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

jdtls

URL: https://github.com/eclipse/eclipse.jdt.ls

plugins.lsp.servers.jdtls.enable

Whether to enable https://projects.eclipse.org/projects/eclipse.jdt.ls

Language server for Java.

IMPORTANT: If you want all the features jdtls has to offer, nvim-jdtls is highly recommended. If all you need is diagnostics, completion, imports, gotos and formatting and some code actions you can keep reading here.

For manual installation you can download precompiled binaries from the official downloads site and ensure that the PATH variable contains the bin directory of the extracted archive.

  -- init.lua
  require'lspconfig'.jdtls.setup{}

You can also pass extra custom jvm arguments with the JDTLS_JVM_ARGS environment variable as a space separated list of arguments, that will be converted to multiple --jvm-arg=<param> args when passed to the jdtls script. This will allow for example tweaking the jvm arguments or integration with external tools like lombok:

export JDTLS_JVM_ARGS="-javaagent:$HOME/.local/share/java/lombok.jar"

For automatic installation you can use the following unofficial installers/launchers under your own risk:

  • jdtls-launcher (Includes lombok support by default)

      -- init.lua
      require'lspconfig'.jdtls.setup{ cmd = { 'jdtls' } }
    

    .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.jdtls.package

The jdtls package to use.

Type: null or package

Default: pkgs.jdt-language-server

Declared by:

plugins.lsp.servers.jdtls.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.jdtls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.jdtls.extraOptions

Extra options for the jdtls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.jdtls.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.jdtls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.jdtls.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:

plugins.lsp.servers.jdtls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.jdtls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.jdtls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

jedi_language_server

URL: https://github.com/pappasam/jedi-language-server

plugins.lsp.servers.jedi_language_server.enable

Whether to enable https://github.com/pappasam/jedi-language-server

jedi-language-server, a language server for Python, built on top of jedi .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.jedi_language_server.package

The jedi_language_server package to use.

Type: null or package

Default: pkgs.python3Packages.jedi-language-server

Declared by:

plugins.lsp.servers.jedi_language_server.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.jedi_language_server.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.jedi_language_server.extraOptions

Extra options for the jedi_language_server language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.jedi_language_server.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.jedi_language_server.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.jedi_language_server.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:

plugins.lsp.servers.jedi_language_server.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.jedi_language_server.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.jedi_language_server.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

jinja_lsp

plugins.lsp.servers.jinja_lsp.enable

Whether to enable jinja-lsp enhances minijinja development experience by providing Helix/Nvim users with advanced features such as autocomplete, syntax highlighting, hover, goto definition, code actions and linting.

The file types are not detected automatically, you can register them manually (see below) or override the filetypes:

vim.filetype.add {
  extension = {
    jinja = 'jinja',
    jinja2 = 'jinja',
    j2 = 'jinja',
  },
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.jinja_lsp.package

Package to use for jinja_lsp. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.jinja_lsp.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.jinja_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.jinja_lsp.extraOptions

Extra options for the jinja_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.jinja_lsp.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.jinja_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.jinja_lsp.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:

plugins.lsp.servers.jinja_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.jinja_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.jinja_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

jqls

URL: https://github.com/wader/jq-lsp

plugins.lsp.servers.jqls.enable

Whether to enable https://github.com/wader/jq-lsp Language server for jq, written using Go. You can install the server easily using go install:

# install directly
go install github.com/wader/jq-lsp@master
# copy binary to $PATH
cp $(go env GOPATH)/bin/jq-lsp /usr/local/bin

Note: To activate properly nvim needs to know the jq filetype. You can add it via:

vim.cmd([[au BufRead,BufNewFile *.jq setfiletype jq]])

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.jqls.package

The jqls package to use.

Type: null or package

Default: pkgs.jq-lsp

Declared by:

plugins.lsp.servers.jqls.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.jqls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.jqls.extraOptions

Extra options for the jqls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.jqls.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.jqls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.jqls.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:

plugins.lsp.servers.jqls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.jqls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.jqls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

jsonls

URL: https://github.com/hrsh7th/vscode-langservers-extracted

plugins.lsp.servers.jsonls.enable

Whether to enable https://github.com/hrsh7th/vscode-langservers-extracted

vscode-json-language-server, a language server for JSON and JSON schema

vscode-json-language-server can be installed via npm:

npm i -g vscode-langservers-extracted

vscode-json-language-server only provides completions when snippet support is enabled. If you use Neovim older than v0.10 you need to enable completion, install a snippet plugin and add the following override to your language client capabilities during setup.

--Enable (broadcasting) snippet capability for completion
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = true

require'lspconfig'.jsonls.setup {
  capabilities = capabilities,
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.jsonls.package

The jsonls package to use.

Type: null or package

Default: pkgs.vscode-langservers-extracted

Declared by:

plugins.lsp.servers.jsonls.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.jsonls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.jsonls.extraOptions

Extra options for the jsonls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.jsonls.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.jsonls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.jsonls.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:

plugins.lsp.servers.jsonls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.jsonls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.jsonls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

jsonnet_ls

URL: https://github.com/grafana/jsonnet-language-server

plugins.lsp.servers.jsonnet_ls.enable

Whether to enable https://github.com/grafana/jsonnet-language-server

A Language Server Protocol (LSP) server for Jsonnet.

The language server can be installed with go:

go install github.com/grafana/jsonnet-language-server@latest

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.jsonnet_ls.package

The jsonnet_ls package to use.

Type: null or package

Default: pkgs.jsonnet-language-server

Declared by:

plugins.lsp.servers.jsonnet_ls.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.jsonnet_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.jsonnet_ls.extraOptions

Extra options for the jsonnet_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.jsonnet_ls.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.jsonnet_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.jsonnet_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.jsonnet_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.jsonnet_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

plugins.lsp.servers.jsonnet_ls.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:

plugins.lsp.servers.jsonnet_ls.settings.ext_vars

External variables.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.lsp.servers.jsonnet_ls.settings.formatting.CommentStyle

Whether comments should use hash #, slash //, or be left as-is.

Type: null or one of “hash”, “slash”, “leave” or raw lua code

Default: null

Plugin default: "slash"

Declared by:

plugins.lsp.servers.jsonnet_ls.settings.formatting.Indent

The number of spaces for each level of indenation.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 2

Declared by:

plugins.lsp.servers.jsonnet_ls.settings.formatting.MaxBlankLines

Max allowed number of consecutive blank lines.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 2

Declared by:

plugins.lsp.servers.jsonnet_ls.settings.formatting.PadArrays

Causes arrays to be written like [ this ] instead of [this].

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.jsonnet_ls.settings.formatting.PadObjects

Causes objects to be written like { this } instead of {this}.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.jsonnet_ls.settings.formatting.PrettyFieldNames

Causes fields to only be wrapped in '' when needed.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.jsonnet_ls.settings.formatting.SortImports

Causes imports at the top of the file to be sorted in groups by filename.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.jsonnet_ls.settings.formatting.StringStyle

Whether strings should use double quotes ", single quotes ', or be left as-is.

Type: null or one of “double”, “single”, “leave” or raw lua code

Default: null

Plugin default: "single"

Declared by:

plugins.lsp.servers.jsonnet_ls.settings.formatting.StripAllButComments

Removes everything, other than comments.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.jsonnet_ls.settings.formatting.StripComments

Removes all comments.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.jsonnet_ls.settings.formatting.StripEverything

Removes all comments and newlines.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.jsonnet_ls.settings.formatting.UseImplicitPlus

Removes plus sign where it is not required.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

julials

plugins.lsp.servers.julials.enable

Whether to enable https://github.com/julia-vscode/julia-vscode

LanguageServer.jl can be installed with julia and Pkg:

julia --project=~/.julia/environments/nvim-lspconfig -e 'using Pkg; Pkg.add("LanguageServer")'

where ~/.julia/environments/nvim-lspconfig is the location where the default configuration expects LanguageServer.jl to be installed.

To update an existing install, use the following command:

julia --project=~/.julia/environments/nvim-lspconfig -e 'using Pkg; Pkg.update()'

Note: In order to have LanguageServer.jl pick up installed packages or dependencies in a Julia project, you must make sure that the project is instantiated:

julia --project=/path/to/my/project -e 'using Pkg; Pkg.instantiate()'

Note: The julia programming language searches for global environments within the environments/ folder of $JULIA_DEPOT_PATH entries. By default this simply ~/.julia/environments .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.julials.package

Package to use for julials. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.julials.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.julials.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.julials.extraOptions

Extra options for the julials language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.julials.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.julials.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.julials.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:

plugins.lsp.servers.julials.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.julials.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.julials.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

just

URL: https://github.com/terror/just-lsp

plugins.lsp.servers.just.enable

Whether to enable https://github.com/terror/just-lsp

just-lsp is an LSP for just built on top of the tree-sitter-just parser. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.just.package

The just package to use.

Type: null or package

Default: pkgs.just-lsp

Declared by:

plugins.lsp.servers.just.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.just.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.just.extraOptions

Extra options for the just language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.just.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.just.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.just.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:

plugins.lsp.servers.just.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.just.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.just.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

kcl

plugins.lsp.servers.kcl.enable

Whether to enable https://github.com/kcl-lang/kcl.nvim

Language server for the KCL configuration and policy language.

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.kcl.package

Package to use for kcl. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.kcl.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.kcl.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.kcl.extraOptions

Extra options for the kcl language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.kcl.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.kcl.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.kcl.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:

plugins.lsp.servers.kcl.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.kcl.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.kcl.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

koka

URL: https://github.com/koka-lang/koka

plugins.lsp.servers.koka.enable

Whether to enable https://koka-lang.github.io/koka/doc/index.html Koka is a functional programming language with effect types and handlers. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.koka.package

The koka package to use.

Type: null or package

Default: pkgs.koka

Declared by:

plugins.lsp.servers.koka.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.koka.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.koka.extraOptions

Extra options for the koka language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.koka.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.koka.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.koka.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:

plugins.lsp.servers.koka.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.koka.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.koka.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

kotlin_language_server

URL: https://github.com/fwcd/kotlin-language-server

plugins.lsp.servers.kotlin_language_server.enable

Whether to enable A kotlin language server which was developed for internal usage and released afterwards. Maintaining is not done by the original author, but by fwcd.

It is built via gradle and developed on github.
Source and additional description:
https://github.com/fwcd/kotlin-language-server

This server requires vim to be aware of the kotlin-filetype.
You could refer for this capability to:
https://github.com/udalov/kotlin-vim (recommended)
Note that there is no LICENSE specified yet.

For faster startup, you can setup caching by specifying a storagePath
in the init_options. The default is your home directory.
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.kotlin_language_server.package

The kotlin_language_server package to use.

Type: null or package

Default: pkgs.kotlin-language-server

Declared by:

plugins.lsp.servers.kotlin_language_server.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.kotlin_language_server.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.kotlin_language_server.extraOptions

Extra options for the kotlin_language_server language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.kotlin_language_server.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.kotlin_language_server.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.kotlin_language_server.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:

plugins.lsp.servers.kotlin_language_server.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.kotlin_language_server.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.kotlin_language_server.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

kulala_ls

plugins.lsp.servers.kulala_ls.enable

Whether to enable https://github.com/mistweaverco/kulala-ls

A minimal language server for HTTP syntax. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.kulala_ls.package

Package to use for kulala_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.kulala_ls.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.kulala_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.kulala_ls.extraOptions

Extra options for the kulala_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.kulala_ls.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.kulala_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.kulala_ls.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:

plugins.lsp.servers.kulala_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.kulala_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.kulala_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

laravel_ls

plugins.lsp.servers.laravel_ls.enable

Whether to enable https://github.com/laravel-ls/laravel-ls

laravel-ls, language server for laravel

The default cmd assumes that the laravel-ls binary can be found in $PATH. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.laravel_ls.package

Package to use for laravel_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.laravel_ls.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.laravel_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.laravel_ls.extraOptions

Extra options for the laravel_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.laravel_ls.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.laravel_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.laravel_ls.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:

plugins.lsp.servers.laravel_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.laravel_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.laravel_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

lean3ls

plugins.lsp.servers.lean3ls.enable

Whether to enable https://github.com/leanprover/lean-client-js/tree/master/lean-language-server

Lean installation instructions can be found here.

Once Lean is installed, you can install the Lean 3 language server by running

npm install -g lean-language-server

Note: that if you’re using lean.nvim, that plugin fully handles the setup of the Lean language server, and you shouldn’t set up lean3ls both with it and lspconfig. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.lean3ls.package

Package to use for lean3ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.lean3ls.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.lean3ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.lean3ls.extraOptions

Extra options for the lean3ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.lean3ls.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.lean3ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.lean3ls.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:

plugins.lsp.servers.lean3ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.lean3ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.lean3ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

leanls

URL: https://leanprover.github.io/

plugins.lsp.servers.leanls.enable

Whether to enable https://github.com/leanprover/lean4

Lean installation instructions can be found here.

The Lean language server is included in any Lean installation and does not require any additional packages.

Note: that if you’re using lean.nvim, that plugin fully handles the setup of the Lean language server, and you shouldn’t set up leanls both with it and lspconfig. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.leanls.package

The leanls package to use.

Type: null or package

Default: pkgs.lean4

Declared by:

plugins.lsp.servers.leanls.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.leanls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.leanls.extraOptions

Extra options for the leanls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.leanls.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.leanls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.leanls.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:

plugins.lsp.servers.leanls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.leanls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.leanls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

lelwel_ls

plugins.lsp.servers.lelwel_ls.enable

Whether to enable https://github.com/0x2a-42/lelwel

Language server for lelwel grammars.

You can install lelwel-ls via cargo:

cargo install --features="lsp" lelwel

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.lelwel_ls.package

Package to use for lelwel_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.lelwel_ls.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.lelwel_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.lelwel_ls.extraOptions

Extra options for the lelwel_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.lelwel_ls.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.lelwel_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.lelwel_ls.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:

plugins.lsp.servers.lelwel_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.lelwel_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.lelwel_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

lemminx

URL: https://github.com/eclipse/lemminx

plugins.lsp.servers.lemminx.enable

Whether to enable https://github.com/eclipse/lemminx

The easiest way to install the server is to get a binary from https://github.com/redhat-developer/vscode-xml/releases and place it on your PATH.

NOTE to macOS users: Binaries from unidentified developers are blocked by default. If you trust the downloaded binary, run it once, cancel the prompt, then remove the binary from Gatekeeper quarantine with xattr -d com.apple.quarantine lemminx. It should now run without being blocked.

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.lemminx.package

The lemminx package to use.

Type: null or package

Default: pkgs.lemminx

Declared by:

plugins.lsp.servers.lemminx.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.lemminx.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.lemminx.extraOptions

Extra options for the lemminx language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.lemminx.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.lemminx.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.lemminx.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:

plugins.lsp.servers.lemminx.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.lemminx.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.lemminx.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

lexical

URL: https://github.com/lexical-lsp/lexical

plugins.lsp.servers.lexical.enable

Whether to enable https://github.com/lexical-lsp/lexical

Lexical is a next-generation language server for the Elixir programming language.

Follow the Detailed Installation Instructions

By default, lexical doesn’t have a cmd set. This is because nvim-lspconfig does not make assumptions about your path. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.lexical.package

The lexical package to use.

Type: null or package

Default: pkgs.lexical

Declared by:

plugins.lsp.servers.lexical.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.lexical.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 when package is null, otherwise [ "lexical" ]

Declared by:

plugins.lsp.servers.lexical.extraOptions

Extra options for the lexical language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.lexical.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.lexical.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.lexical.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:

plugins.lsp.servers.lexical.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.lexical.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.lexical.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

lsp_ai

URL: https://github.com/SilasMarvin/lsp-ai

plugins.lsp.servers.lsp_ai.enable

Whether to enable https://github.com/SilasMarvin/lsp-ai

LSP-AI is an open source language server that serves as a backend for AI-powered functionality in your favorite code editors. It offers features like in-editor chatting with LLMs and code completions.

You will need to provide configuration for the inference backends and models you want to use, as well as configure completion/code actions. See the wiki docs and examples for more information. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.lsp_ai.package

The lsp_ai package to use.

Type: null or package

Default: pkgs.lsp-ai

Declared by:

plugins.lsp.servers.lsp_ai.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.lsp_ai.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.lsp_ai.extraOptions

Extra options for the lsp_ai language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.lsp_ai.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.lsp_ai.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.lsp_ai.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:

plugins.lsp.servers.lsp_ai.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.lsp_ai.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.lsp_ai.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

ltex

URL: https://valentjn.github.io/ltex/

plugins.lsp.servers.ltex.enable

Whether to enable https://github.com/valentjn/ltex-ls

LTeX Language Server: LSP language server for LanguageTool 🔍✔️ with support for LaTeX 🎓, Markdown 📝, and others

To install, download the latest release and ensure ltex-ls is on your path.

This server accepts configuration via the settings key.

  settings = {
		ltex = {
			language = "en-GB",
		},
	},

To support org files or R sweave, users can define a custom filetype autocommand (or use a plugin which defines these filetypes):

vim.cmd [[ autocmd BufRead,BufNewFile *.org set filetype=org ]]

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.ltex.package

The ltex package to use.

Type: null or package

Default: pkgs.ltex-ls

Declared by:

plugins.lsp.servers.ltex.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.ltex.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.ltex.extraOptions

Extra options for the ltex language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.ltex.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.ltex.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.ltex.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.ltex.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.ltex.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

plugins.lsp.servers.ltex.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:

plugins.lsp.servers.ltex.settings.enabled

Controls whether the extension is enabled. Allows disabling LanguageTool on specific workspaces or for specific code language modes (i.e., file types).

Either supply a boolean value stating whether LTEX is enabled for all supported markup languages or disabled for all of them, or supply a list of code language identifiers for which LTEX should be enabled (note that extensions can define additional code language identifiers).

All supported markup languages are listed in the default value of this setting. In addition, LTEX can check comments in many popular programming languages like C++ or Java, if you add the corresponding code language identifiers to this setting. If you add an unsupported code language mode, LTEX will check corresponding files as plain text without any parsing.

The activation events are unaffected by this setting. This means that the extension will be activated whenever a file with a supported code language mode is opened. For unsupported code language modes, you may need to activate the extension explicitly by executing the LTeX: Activate Extension command.

Examples:

  • true
  • false
  • [“latex” “markdown”]

Type: null or boolean or list of (string or raw lua code) or raw lua code

Default: null

Plugin default:

[
  "bibtex"
  "context"
  "context.tex"
  "html"
  "latex"
  "markdown"
  "org"
  "restructuredtext"
  "rsweave"
]

Declared by:

plugins.lsp.servers.ltex.settings.enabledRules

Lists of rules that should be enabled (if disabled by default by LanguageTool). This setting is language-specific, so use an attrs of the format

  {
    "<LANGUAGE1>" = [
      "<WORD1>"
      "<WORD2>"
      ...
    ];
    "<LANGUAGE2>" = [
      "<WORD1>"
      "<WORD2>"
    ];
    ...
  };

where <LANGUAGE> denotes the language code in settings.language and <RULE> the ID of the LanguageTool rule.

This setting is a multi-scope setting. See the documentation for details. This setting supports external files. See the documentation for details. By default, no additional rules will be enabled.

Type: null or (attribute set of ((list of (string or raw lua code)) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Example:

{
  en-GB = [
    "PASSIVE_VOICE"
    "OXFORD_SPELLING_NOUNS"
    ":/path/to/externalFile.txt"
  ];
}

Declared by:

plugins.lsp.servers.ltex.settings.checkFrequency

Controls when documents should be checked.

Possible values:

  • “edit”: Documents are checked when they are opened or edited (on every keystroke), or when the settings change.
  • “save”: Documents are checked when they are opened or saved, or when the settings change.
  • “manual”: Documents are not checked automatically, except when the settings change. Use commands such as LTeX: Check Current Document to manually trigger checks.

Type: null or one of “edit”, “save”, “manual” or raw lua code

Default: null

Plugin default: "edit"

Declared by:

plugins.lsp.servers.ltex.settings.clearDiagnosticsWhenClosingFile

If set to true, diagnostics of a file are cleared when the file is closed.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.ltex.settings.completionEnabled

Controls whether completion is enabled (also known as auto-completion, quick suggestions, and IntelliSense).

If this setting is enabled, then a list of words is displayed that complete the currently typed word (whenever the editor sends a completion request).

In VS Code, completion is enabled by default while typing (via editor.quickSuggestions). Therefore, this setting is disabled by default, as constantly displaying completion lists might annoy the user. It is recommended to enable this setting.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.ltex.settings.configurationTarget

Controls which settings.json or external setting file (see documentation) to update when using one of the quick fixes.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  dictionary = "workspaceFolderExternalFile";
  disabledRules = "workspaceFolderExternalFile";
  hiddenFalsePositives = "workspaceFolderExternalFile";
}

Declared by:

plugins.lsp.servers.ltex.settings.diagnosticSeverity

Severity of the diagnostics corresponding to the grammar and spelling errors.

Controls how and where the diagnostics appear. The possible severities are “error”, “warning”, “information”, and “hint”.

This setting can either be a string with the severity to use for all diagnostics, or an attrs with rule-dependent severities. If an attrs is used, each key is the ID of a LanguageTool rule and each value is one of the possible severities. In this case, the severity of other rules, which don’t match any of the keys, has to be specified with the special key “default”.

Examples:

  • "information"
  • {PASSIVE_VOICE = "hint"; default = "information";}

Type: null or string or attribute set of (string or raw lua code) or raw lua code

Default: null

Plugin default: "information"

Example:

{
  PASSIVE_VOICE = "hint";
  default = "information";
}

Declared by:

plugins.lsp.servers.ltex.settings.dictionary

Lists of additional words that should not be counted as spelling errors. This setting is language-specific, so use an attrs of the format

  {
    ...
  };

where <LANGUAGE> denotes the language code in settings.language.

This setting is a multi-scope setting. See the documentation for details. This setting supports external files. See the documentation for details. By default, no additional spelling errors will be ignored.

Type: null or (attribute set of ((list of (string or raw lua code)) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Example:

{
  "<LANGUAGE1>" = [
    "<WORD1>"
    "<WORD2>"
  ];
  "<LANGUAGE2>" = [
    "<WORD1>"
    "<WORD2>"
  ];
}

Declared by:

plugins.lsp.servers.ltex.settings.disabledRules

Lists of rules that should be disabled (if enabled by default by LanguageTool). This setting is language-specific, so use an attrs of the format

  {
    "<LANGUAGE1>" = [
      "<WORD1>"
      "<WORD2>"
      ...
    ];
    "<LANGUAGE2>" = [
      "<WORD1>"
      "<WORD2>"
    ];
    ...
  };

where <LANGUAGE> denotes the language code in settings.language and <RULE> the ID of the LanguageTool rule.

This setting is a multi-scope setting. See the documentation for details. This setting supports external files. See the documentation for details. By default, no additional rules will be disabled.

Type: null or (attribute set of ((list of (string or raw lua code)) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Example:

{
  en-US = [
    "EN_QUOTES"
    "UPPERCASE_SENTENCE_START"
    ":/path/to/externalFile.txt"
  ];
}

Declared by:

plugins.lsp.servers.ltex.settings.fields

List of BibTEX fields whose values are to be checked in BibTEX files.

This setting is an attrs with the field names as keys (not restricted to classical BibTEX fields) and booleans as values, where true means that the field value should be checked and false means that the field value should be ignored.

Some common fields are already ignored, even if you set this setting to an empty attrs.

Type: null or (attribute set of (boolean or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Example:

{
  maintitle = false;
  seealso = true;
}

Declared by:

plugins.lsp.servers.ltex.settings.hiddenFalsePositives

Lists of false-positive diagnostics to hide (by hiding all diagnostics of a specific rule within a specific sentence). This setting is language-specific, so use an attrs of the format

  {
    "<LANGUAGE1>" = [
      "<JSON1>"
      "<JSON2>"
      ...
    ];
    "<LANGUAGE2>" = [
      "<JSON1>"
      "<JSON2>"
    ];
    ...
  };

where <LANGUAGE> denotes the language code in settings.language and <JSON> is a JSON string containing information about the rule and sentence.

Although it is possible to manually edit this setting, the intended way is the Hide false positive quick fix.

The JSON string currently has the form {"rule": "<RULE>", "sentence": "<SENTENCE>"}, where <RULE> is the ID of the LanguageTool rule and <SENTENCE> is a Java-compatible regular expression. All occurrences of the given rule are hidden in sentences (as determined by the LanguageTool tokenizer) that match the regular expression. See the documentation for details.

This setting is a multi-scope setting. See the documentation for details. This setting supports external files. See the documentation for details. If this list is very large, performance may suffer.

Type: null or (attribute set of ((list of (string or raw lua code)) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Example:

{
  en-US = [
    ":/path/to/externalFile.txt"
  ];
}

Declared by:

plugins.lsp.servers.ltex.settings.language

The language (e.g., “en-US”) LanguageTool should check against. Use a specific variant like “en-US” or “de-DE” instead of the generic language code like “en” or “de” to obtain spelling corrections (in addition to grammar corrections).

When using the language code “auto”, LTEX will try to detect the language of the document. This is not recommended, as only generic languages like “en” or “de” will be detected and thus no spelling errors will be reported.

Possible values:

  • “auto”: Automatic language detection (not recommended)
  • “ar”: Arabic
  • “ast-ES”: Asturian
  • “be-BY”: Belarusian
  • “br-FR”: Breton
  • “ca-ES”: Catalan
  • “ca-ES-valencia”: Catalan (Valencian)
  • “da-DK”: Danish
  • “de”: German
  • “de-AT”: German (Austria)
  • “de-CH”: German (Swiss)
  • “de-DE”: German (Germany)
  • “de-DE-x-simple-language”: Simple German
  • “el-GR”: Greek
  • “en”: English
  • “en-AU”: English (Australian)
  • “en-CA”: English (Canadian)
  • “en-GB”: English (GB)
  • “en-NZ”: English (New Zealand)
  • “en-US”: English (US)
  • “en-ZA”: English (South African)
  • “eo”: Esperanto
  • “es”: Spanish
  • “es-AR”: Spanish (voseo)
  • “fa”: Persian
  • “fr”: French
  • “ga-IE”: Irish
  • “gl-ES”: Galician
  • “it”: Italian
  • “ja-JP”: Japanese
  • “km-KH”: Khmer
  • “nl”: Dutch
  • “nl-BE”: Dutch (Belgium)
  • “pl-PL”: Polish
  • “pt”: Portuguese
  • “pt-AO”: Portuguese (Angola preAO)
  • “pt-BR”: Portuguese (Brazil)
  • “pt-MZ”: Portuguese (Moçambique preAO)
  • “pt-PT”: Portuguese (Portugal)
  • “ro-RO”: Romanian
  • “ru-RU”: Russian
  • “sk-SK”: Slovak
  • “sl-SI”: Slovenian
  • “sv”: Swedish
  • “ta-IN”: Tamil
  • “tl-PH”: Tagalog
  • “uk-UA”: Ukrainian
  • “zh-CN”: Chinese

Type: null or string or raw lua code

Default: null

Plugin default: "en-US"

Declared by:

plugins.lsp.servers.ltex.settings.languageToolHttpServerUri

If set to a non-empty string, LTEX will not use the bundled, built-in version of LanguageTool. Instead, LTEX will connect to an external LanguageTool HTTP server. Set this setting to the root URI of the server, and do not append v2/check or similar.

Note that in this mode, the settings settings.additionalRules.languageModel, settings.additionalRules.neuralNetworkModel, and settings.additionalRules.word2VecModel will not take any effect.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Example: "http://localhost:8081/"

Declared by:

plugins.lsp.servers.ltex.settings.sentenceCacheSize

Size of the LanguageTool ResultCache in sentences (must be a positive integer).

If only a small portion of the text changed (e.g., a single key press in the editor), LanguageTool uses the cache to avoid rechecking the complete text. LanguageTool internally splits the text into sentences, and sentences that have already been checked are skipped.

Decreasing this might decrease RAM usage of the Java process. If you set this too small, checking time may increase significantly.

Changes require restarting LTEX to take effect.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 2000

Declared by:

plugins.lsp.servers.ltex.settings.statusBarItem

If set to true, an item about the status of LTEX is shown permanently in the status bar.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.ltex.settings.additionalRules.enablePickyRules

Enable LanguageTool rules that are marked as picky and that are disabled by default, e.g., rules about passive voice, sentence length, etc., at the cost of more false positives.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.ltex.settings.additionalRules.languageModel

Optional path to a directory with rules of a language model with n-gram occurrence counts. Set this setting to the parent directory that contains subdirectories for languages (e.g., en).

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.lsp.servers.ltex.settings.additionalRules.motherTongue

Optional mother tongue of the user (e.g., “de-DE”).

If set, additional rules will be checked to detect false friends. Picky rules may need to be enabled in order to see an effect (see settings.additionalRules.enablePickyRules). False friend detection improves if a language model is supplied (see settings.additionalRules.languageModel).

Possible values:

  • “”: No mother tongue
  • “ar”: Arabic
  • “ast-ES”: Asturian
  • “be-BY”: Belarusian
  • “br-FR”: Breton
  • “ca-ES”: Catalan
  • “ca-ES-valencia”: Catalan (Valencian)
  • “da-DK”: Danish
  • “de”: German
  • “de-AT”: German (Austria)
  • “de-CH”: German (Swiss)
  • “de-DE”: German (Germany)
  • “de-DE-x-simple-language”: Simple German
  • “el-GR”: Greek
  • “en”: English
  • “en-AU”: English (Australian)
  • “en-CA”: English (Canadian)
  • “en-GB”: English (GB)
  • “en-NZ”: English (New Zealand)
  • “en-US”: English (US)
  • “en-ZA”: English (South African)
  • “eo”: Esperanto
  • “es”: Spanish
  • “es-AR”: Spanish (voseo)
  • “fa”: Persian
  • “fr”: French
  • “ga-IE”: Irish
  • “gl-ES”: Galician
  • “it”: Italian
  • “ja-JP”: Japanese
  • “km-KH”: Khmer
  • “nl”: Dutch
  • “nl-BE”: Dutch (Belgium)
  • “pl-PL”: Polish
  • “pt”: Portuguese
  • “pt-AO”: Portuguese (Angola preAO)
  • “pt-BR”: Portuguese (Brazil)
  • “pt-MZ”: Portuguese (Moçambique preAO)
  • “pt-PT”: Portuguese (Portugal)
  • “ro-RO”: Romanian
  • “ru-RU”: Russian
  • “sk-SK”: Slovak
  • “sl-SI”: Slovenian
  • “sv”: Swedish
  • “ta-IN”: Tamil
  • “tl-PH”: Tagalog
  • “uk-UA”: Ukrainian
  • “zh-CN”: Chinese

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.lsp.servers.ltex.settings.additionalRules.neuralNetworkModel

Optional path to a directory with rules of a pretrained neural network model.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.lsp.servers.ltex.settings.additionalRules.word2VecModel

Optional path to a directory with rules of a word2vec language model.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.lsp.servers.ltex.settings.java.initialHeapSize

Initial size of the Java heap memory in megabytes (corresponds to Java’s -Xms option, must be a positive integer).

Decreasing this might decrease RAM usage of the Java process.

Changes require restarting LTEX to take effect.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 64

Declared by:

plugins.lsp.servers.ltex.settings.java.maximumHeapSize

Maximum size of the Java heap memory in megabytes (corresponds to Java’s -Xmx option, must be a positive integer).

Decreasing this might decrease RAM usage of the Java process. If you set this too small, the Java process may exceed the heap size, in which case an OutOfMemoryError is thrown.

Changes require restarting LTEX to take effect.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 512

Declared by:

plugins.lsp.servers.ltex.settings.java.path

If set to an empty string, LTEX uses a Java distribution that is bundled with ltex-ls. You can point this setting to an existing Java installation on your computer to use that installation instead.

Use the same path as you would use for the JAVA_HOME environment variable (it usually contains bin and lib subdirectories, amongst others).

Changes require restarting LTEX to take effect.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.lsp.servers.ltex.settings.languageToolOrg.apiKey

API key for Premium API access. Only relevant if settings.languageToolHttpServerUri is set.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.lsp.servers.ltex.settings.languageToolOrg.username

Username/email as used to log in at languagetool.org for Premium API access. Only relevant if settings.languageToolHttpServerUri is set.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.lsp.servers.ltex.settings.latex.commands

List of LATEX commands to be handled by the LATEX parser, listed together with empty arguments (e.g., "ref{}", "\documentclass[]{}").

This setting is an attrs with the commands as keys and corresponding actions as values.

If you edit the settings.json file directly, don’t forget to escape the initial backslash by replacing it with two backslashes.

Many common commands are already handled by default, even if you set this setting to an empty attrs.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Example:

{
  "\\cite[]{}" = "dummy";
  "\\cite{}" = "dummy";
  "\\documentclass[]{}" = "ignore";
  "\\label{}" = "ignore";
}

Declared by:

plugins.lsp.servers.ltex.settings.latex.environments

List of names of LATEX environments to be handled by the LATEX parser.

This setting is an attrs with the environment names as keys and corresponding actions as values.

Some environments are already handled by default, even if you set this setting to an empty attrs.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Example:

{
  lstlisting = "ignore";
  verbatim = "ignore";
}

Declared by:

plugins.lsp.servers.ltex.settings.ltex-ls.logLevel

Logging level (verbosity) of the ltex-ls server log.

The levels in descending order are “severe”, “warning”, “info”, “config”, “fine”, “finer”, and “finest”. All messages that have the specified log level or a higher level are logged.

ltex-ls does not use all log levels.

Possible values:

  • “severe”: Minimum verbosity. Only log severe errors.
  • “warning”: Very low verbosity. Only log severe errors and warnings.
  • “info”: Low verbosity. Additionally, log startup and shutdown messages.
  • “config”: Medium verbosity. Additionally, log configuration messages.
  • “fine”: Medium to high verbosity (default). Additionally, log when LanguageTool is called or LanguageTool has to be reinitialized due to changed settings.
  • “finer”: High verbosity. Log additional debugging information such as full texts to be checked.
  • “finest”: Maximum verbosity. Log all available debugging information.

Type: null or one of “severe”, “warning”, “info”, “config”, “fine”, “finer”, “finest” or raw lua code

Default: null

Plugin default: "fine"

Declared by:

plugins.lsp.servers.ltex.settings.ltex-ls.path

If set to an empty string, LTEX automatically downloads ltex-ls from GitHub, stores it in the folder of the extension, and uses it for the checking process. You can point this setting to an ltex-ls release you downloaded by yourself.

Use the path to the root directory of ltex-ls (it contains bin and lib subdirectories).

Changes require restarting LTEX to take effect.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.lsp.servers.ltex.settings.markdown.nodes

List of Markdown node types to be handled by the Markdown parser.

This setting is an attrs with the node types as keys and corresponding actions as values.

The Markdown parser constructs an AST (abstract syntax tree) for the Markdown document, in which all leaves have node type Text. The possible node types are listed in the documentation of flexmark-java.

Some common node types are already handled by default, even if you set this setting to an empty attrs.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Example:

{
  AutoLink = "dummy";
  Code = "dummy";
  CodeBlock = "ignore";
  FencedCodeBlock = "ignore";
}

Declared by:

plugins.lsp.servers.ltex.settings.trace.server

Debug setting to log the communication between language client and server.

When reporting issues, set this to “verbose”. Append the relevant part to the GitHub issue.

Changes require restarting LTEX to take effect.

Possible values:

  • “off”: Don’t log any of the communication between language client and server.
  • “messages”: Log the type of requests and responses between language client and server.
  • “verbose”: Log the type and contents of requests and responses between language client and server.

Type: null or one of “off”, “messages”, “verbose” or raw lua code

Default: null

Plugin default: "off"

Declared by:

ltex_plus

plugins.lsp.servers.ltex_plus.enable

Whether to enable https://github.com/ltex-plus/ltex-ls-plus

LTeX Language Server: LSP language server for LanguageTool 🔍✔️ with support for LaTeX 🎓, Markdown 📝, and others

To install, download the latest release and ensure ltex-ls-plus is on your path.

This server accepts configuration via the settings key.

  settings = {
    ltex = {
      language = "en-GB",
    },
  },

To support org files or R sweave, users can define a custom filetype autocommand (or use a plugin which defines these filetypes):

vim.cmd [[ autocmd BufRead,BufNewFile *.org set filetype=org ]]

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.ltex_plus.package

Package to use for ltex_plus. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.ltex_plus.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.ltex_plus.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.ltex_plus.extraOptions

Extra options for the ltex_plus language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.ltex_plus.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.ltex_plus.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.ltex_plus.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:

plugins.lsp.servers.ltex_plus.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.ltex_plus.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.ltex_plus.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

lua_ls

URL: https://github.com/luals/lua-language-server

plugins.lsp.servers.lua_ls.enable

Whether to enable https://github.com/luals/lua-language-server

Lua language server.

lua-language-server can be installed by following the instructions here.

The default cmd assumes that the lua-language-server binary can be found in $PATH.

If you primarily use lua-language-server for Neovim, and want to provide completions, analysis, and location handling for plugins on runtime path, you can use the following settings.

require'lspconfig'.lua_ls.setup {
  on_init = function(client)
    if client.workspace_folders then
      local path = client.workspace_folders[1].name
      if path ~= vim.fn.stdpath('config') and (vim.uv.fs_stat(path..'/.luarc.json') or vim.uv.fs_stat(path..'/.luarc.jsonc')) then
        return
      end
    end

    client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, {
      runtime = {
        -- Tell the language server which version of Lua you're using
        -- (most likely LuaJIT in the case of Neovim)
        version = 'LuaJIT'
      },
      -- Make the server aware of Neovim runtime files
      workspace = {
        checkThirdParty = false,
        library = {
          vim.env.VIMRUNTIME
          -- Depending on the usage, you might want to add additional paths here.
          -- "${3rd}/luv/library"
          -- "${3rd}/busted/library",
        }
        -- or pull in all of 'runtimepath'. NOTE: this is a lot slower and will cause issues when working on your own configuration (see https://github.com/neovim/nvim-lspconfig/issues/3189)
        -- library = vim.api.nvim_get_runtime_file("", true)
      }
    })
  end,
  settings = {
    Lua = {}
  }
}

See lua-language-server’s documentation for an explanation of the above fields: * Lua.runtime.path * Lua.workspace.library .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.lua_ls.package

The lua_ls package to use.

Type: null or package

Default: pkgs.lua-language-server

Declared by:

plugins.lsp.servers.lua_ls.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.lua_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.lua_ls.extraOptions

Extra options for the lua_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.lua_ls.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.lua_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.lua_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.lua_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.lua_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

plugins.lsp.servers.lua_ls.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:

plugins.lsp.servers.lua_ls.settings.addonManager.enable

Set the on/off state of the addon manager. Disabling the addon manager prevents it from registering its command.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.lua_ls.settings.completion.enable

Enable/disable completion. Completion works like any autocompletion you already know of. It helps you type less and get more done.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.lua_ls.settings.completion.autoRequire

When the input looks like a file name, automatically require the file.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.lua_ls.settings.completion.callSnippet

  • "Disable" - Only show function name
  • "Both" - Show function name and snippet
  • "Replace" - Only show the call snippet

Whether to show call snippets or not. When disabled, only the function name will be completed. When enabled, a “more complete” snippet will be offered.

Type: null or one of “Disable”, “Both”, “Replace” or raw lua code

Default: null

Plugin default: "Disable"

Declared by:

plugins.lsp.servers.lua_ls.settings.completion.displayContext

When a snippet is being suggested, this setting will set the amount of lines around the snippet to preview to help you better understand its usage.

Setting to 0 will disable this feature.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.lsp.servers.lua_ls.settings.completion.keywordSnippet

  • "Disable" - Only completes the keyword
  • "Both" - Offers a completion for the keyword and snippet
  • "Replace" - Only shows a snippet

Whether to show a snippet for key words like if, while, etc. When disabled, only the keyword will be completed. When enabled, a “more complete” snippet will be offered.

Type: null or one of “Disable”, “Both”, “Replace” or raw lua code

Default: null

Plugin default: "Replace"

Declared by:

plugins.lsp.servers.lua_ls.settings.completion.postfix

The character to use for triggering a “postfix suggestion”. A postfix allows you to write some code and then trigger a snippet after (post) to “fix” the code you have written. This can save some time as instead of typing table.insert(myTable, ), you can just type myTable@.

Type: null or string or raw lua code

Default: null

Plugin default: "@"

Declared by:

plugins.lsp.servers.lua_ls.settings.completion.requireSeparator

The separator to use when require-ing a file.

Type: null or string or raw lua code

Default: null

Plugin default: "."

Declared by:

plugins.lsp.servers.lua_ls.settings.completion.showParams

Display a function’s parameters in the list of completions. When a function has multiple definitions, they will be displayed separately.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.lua_ls.settings.completion.showWord

  • "Enable" - Always show contextual words in completion suggestions
  • "Fallback" - Only show contextual words when smart suggestions based on semantics cannot be provided
  • "Disable" - Never show contextual words

Show “contextual words” that have to do with Lua but are not suggested based on their usefulness in the current semantic context.

Type: null or one of “Enable”, “Fallback”, “Disable” or raw lua code

Default: null

Plugin default: "Fallback"

Declared by:

plugins.lsp.servers.lua_ls.settings.completion.workspaceWord

Whether words from other files in the workspace should be suggested as “contextual words”. This can be useful for completing similar strings. completion.showWord must not be disabled for this to have an effect.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.lua_ls.settings.diagnostics.enable

Whether all diagnostics should be enabled or not.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.lua_ls.settings.diagnostics.disable

Disable certain diagnostics globally. For example, if you want all warnings for lowercase-global to be disabled, the value for diagnostics.disable would be ["lowercase-global"].

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.lua_ls.settings.diagnostics.disableScheme

Disable diagnosis of Lua files that have the set schemes.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "git"
]

Declared by:

plugins.lsp.servers.lua_ls.settings.diagnostics.globals

An array of variable names that will be declared as global.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.lua_ls.settings.diagnostics.groupFileStatus

Set the file status required for each diagnostic group. This setting is an Object of key-value pairs where the key is the name of the diagnostic group and the value is the state that a file must be in in order for the diagnostic group to apply.

Valid state values:

  • "Any" - Any loaded file (workspace, library, etc.) will use this diagnostic group
  • "Opened" - Only opened files will use this diagnostic group
  • "None" - This diagnostic group will be disabled
  • "Fallback" - The diagnostics in this group are controlled individually by diagnostics.neededFileStatus

Type: null or (attribute set of (one of “Any”, “Opened”, “None”, “Fallback” or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  ambiguity = "Fallback";
  await = "Fallback";
  codestyle = "Fallback";
  duplicate = "Fallback";
  global = "Fallback";
  luadoc = "Fallback";
  redefined = "Fallback";
  strict = "Fallback";
  strong = "Fallback";
  type-check = "Fallback";
  unbalanced = "Fallback";
  unused = "Fallback";
}

Declared by:

plugins.lsp.servers.lua_ls.settings.diagnostics.groupSeverity

Maps diagnostic groups to severity levels.

Valid severity values:

  • "Error" - An error will be raised
  • "Warning" - A warning will be raised
  • "Information" - An information or note will be raised
  • "Hint" - The affected code will be “hinted” at
  • "Fallback" - The diagnostics in this group will be controlled individually by diagnostics.severity

Type: null or (attribute set of (one of “Error”, “Warning”, “Information”, “Hint”, “Fallback” or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  ambiguity = "Fallback";
  await = "Fallback";
  codestyle = "Fallback";
  duplicate = "Fallback";
  global = "Fallback";
  luadoc = "Fallback";
  redefined = "Fallback";
  strict = "Fallback";
  strong = "Fallback";
  type-check = "Fallback";
  unbalanced = "Fallback";
  unused = "Fallback";
}

Declared by:

plugins.lsp.servers.lua_ls.settings.diagnostics.ignoredFiles

Set how files that have been ignored should be diagnosed.

  • "Enable" - Always diagnose ignored files… kind of defeats the purpose of ignoring them.
  • "Opened" - Only diagnose ignored files when they are open
  • "Disable" - Ignored files are fully ignored

Type: null or one of “Enable”, “Opened”, “Disable” or raw lua code

Default: null

Plugin default: "Opened"

Declared by:

plugins.lsp.servers.lua_ls.settings.diagnostics.libraryFiles

Set how files loaded with workspace.library are diagnosed.

  • "Enable" - Always diagnose library files
  • "Opened" - Only diagnose library files when they are open
  • "Disable" - Never diagnose library files

Type: null or one of “Enable”, “Opened”, “Disable” or raw lua code

Default: null

Plugin default: "Opened"

Declared by:

plugins.lsp.servers.lua_ls.settings.diagnostics.neededFileStatus

Maps diagnostic groups to file states.

Valid states:

  • "Any" - Any loaded file (workspace, library, etc.) will use this diagnostic group
  • "Opened" - Only opened files will use this diagnostic group
  • "None" - This diagnostic group will be disabled
  • "Any!" - Like "Any" but overrides diagnostics.groupFileStatus
  • "Opened!" - Like "Opened" but overrides diagnostics.groupFileStatus
  • "None!" - Like "None" but overrides diagnostics.groupFileStatus

Type: null or (attribute set of (one of “Any”, “Opened”, “None”, “Any!”, “Opened!”, “None!” or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  ambiguity-1 = "Any";
  assign-type-mismatch = "Opened";
  await-in-sync = "None";
  cast-local-type = "Opened";
  cast-type-mismatch = "Any";
  circle-doc-class = "Any";
  close-non-object = "Any";
  code-after-break = "Opened";
  codestyle-check = "None";
  count-down-loop = "Any";
  deprecated = "Any";
  different-requires = "Any";
  discard-returns = "Any";
  doc-field-no-class = "Any";
  duplicate-doc-alias = "Any";
  duplicate-doc-field = "Any";
  duplicate-doc-param = "Any";
  duplicate-index = "Any";
  duplicate-set-field = "Any";
  empty-block = "Opened";
  global-in-nil-env = "Any";
  lowercase-global = "Any";
  missing-parameter = "Any";
  missing-return = "Any";
  missing-return-value = "Any";
  need-check-nil = "Opened";
  newfield-call = "Any";
  newline-call = "Any";
  no-unknown = "None";
  not-yieldable = "None";
  param-type-mismatch = "Opened";
  redefined-local = "Opened";
  redundant-parameter = "Any";
  redundant-return = "Opened";
  redundant-return-value = "Any";
  redundant-value = "Any";
  return-type-mismatch = "Opened";
  spell-check = "None";
  trailing-space = "Opened";
  unbalanced-assignments = "Any";
  undefined-doc-class = "Any";
  undefined-doc-name = "Any";
  undefined-doc-param = "Any";
  undefined-env-child = "Any";
  undefined-field = "Opened";
  undefined-global = "Any";
  unknown-cast-variable = "Any";
  unknown-diag-code = "Any";
  unknown-operator = "Any";
  unreachable-code = "Opened";
  unused-function = "Opened";
  unused-label = "Opened";
  unused-local = "Opened";
  unused-vararg = "Opened";
}

Declared by:

plugins.lsp.servers.lua_ls.settings.diagnostics.severity

Maps diagnostic groups to severity levels.

  • "Error" - An error will be raised
  • "Warning" - A warning will be raised
  • "Information" - An information or note will be raised
  • "Hint" - The affected code will be “hinted” at
  • "Error!" - Like "Error" but overrides diagnostics.groupSeverity
  • "Warning!" -Like "Warning" but overrides diagnostics.groupSeverity
  • "Information!" - Like "Information" but overrides diagnostics.groupSeverity
  • "Hint!" - Like "Hint" but overrides diagnostics.groupSeverity

Type: null or (attribute set of (one of “Error”, “Warning”, “Information”, “Hint”, “Error!”, “Warning!”, “Information!”, “Hint!” or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  ambiguity-1 = "Warning";
  assign-type-mismatch = "Warning";
  await-in-sync = "Warning";
  cast-local-type = "Warning";
  cast-type-mismatch = "Warning";
  circle-doc-class = "Warning";
  close-non-object = "Warning";
  code-after-break = "Hint";
  codestyle-check = "Warning";
  count-down-loop = "Warning";
  deprecated = "Warning";
  different-requires = "Warning";
  discard-returns = "Warning";
  doc-field-no-class = "Warning";
  duplicate-doc-alias = "Warning";
  duplicate-doc-field = "Warning";
  duplicate-doc-param = "Warning";
  duplicate-index = "Warning";
  duplicate-set-field = "Warning";
  empty-block = "Hint";
  global-in-nil-env = "Warning";
  lowercase-global = "Information";
  missing-parameter = "Warning";
  missing-return = "Warning";
  missing-return-value = "Warning";
  need-check-nil = "Warning";
  newfield-call = "Warning";
  newline-call = "Warning";
  no-unknown = "Warning";
  not-yieldable = "Warning";
  param-type-mismatch = "Warning";
  redefined-local = "Hint";
  redundant-parameter = "Warning";
  redundant-return = "Hint";
  redundant-return-value = "Warning";
  redundant-value = "Warning";
  return-type-mismatch = "Warning";
  spell-check = "Information";
  trailing-space = "Hint";
  unbalanced-assignments = "Warning";
  undefined-doc-class = "Warning";
  undefined-doc-name = "Warning";
  undefined-doc-param = "Warning";
  undefined-env-child = "Information";
  undefined-field = "Warning";
  undefined-global = "Warning";
  unknown-cast-variable = "Warning";
  unknown-diag-code = "Warning";
  unknown-operator = "Warning";
  unreachable-code = "Hint";
  unused-function = "Hint";
  unused-label = "Hint";
  unused-local = "Hint";
  unused-vararg = "Hint";
}

Declared by:

plugins.lsp.servers.lua_ls.settings.diagnostics.unusedLocalExclude

Define variable names that will not be reported as an unused local by unused-local.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.lua_ls.settings.diagnostics.workspaceDelay

Define the delay between diagnoses of the workspace in milliseconds. Every time a file is edited, created, deleted, etc. the workspace will be re-diagnosed in the background after this delay. Setting to a negative number will disable workspace diagnostics.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 3000

Declared by:

plugins.lsp.servers.lua_ls.settings.diagnostics.workspaceEvent

Set when the workspace diagnostics should be analyzed. It can be performed after each change, after a save, or never automatically triggered.

Valid events:

  • "OnChange"
  • "OnSave"
  • "None"

Type: null or one of “OnChange”, “OnSave”, “None” or raw lua code

Default: null

Plugin default: "OnSave"

Declared by:

plugins.lsp.servers.lua_ls.settings.diagnostics.workspaceRate

Define the rate at which the workspace will be diagnosed as a percentage. 100 is 100% speed so the workspace will be diagnosed as fast as possible. The rate can be lowered to reduce CPU usage, but the diagnosis speed will also become slower. The currently opened file will always be diagnosed at 100% speed, regardless of this setting.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 100

Declared by:

plugins.lsp.servers.lua_ls.settings.doc.packageName

The pattern used for matching field names as a package-private field. Fields that match any of the patterns provided will be package-private.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.lua_ls.settings.doc.privateName

The pattern used for matching field names as a private field. Fields that match any of the patterns provided will be private to that class.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.lua_ls.settings.doc.protectedName

The pattern used for matching field names as a protected field. Fields that match any of the patterns provided will be private to that class and its child classes.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.lua_ls.settings.format.enable

Whether the built-in formatted should be enabled or not.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.lua_ls.settings.format.defaultConfig

The default configuration for the formatter. If there is a .editorconfig in the workspace, it will take priority. Read more on the formatter’s GitHub page.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.lsp.servers.lua_ls.settings.hint.enable

Whether inline hints should be enabled or not.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.lua_ls.settings.hint.arrayIndex

  • "Enable" - Show hint in all tables
  • "Auto" - Only show hint when there is more than 3 items or the table is mixed (indexes and keys)
  • "Disable" - Disable array index hints

Type: null or one of “Enable”, “Auto”, “Disable” or raw lua code

Default: null

Plugin default: "Auto"

Declared by:

plugins.lsp.servers.lua_ls.settings.hint.await

If a function has been defined as @async, display an await hint when it is being called.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.lua_ls.settings.hint.paramName

Whether parameter names should be hinted when typing out a function call.

  • "All" - All parameters are hinted
  • "Literal" - Only literal type parameters are hinted
  • "Disable" - No parameter hints are shown

Type: null or one of “All”, “Literal”, “Disable” or raw lua code

Default: null

Plugin default: "All"

Declared by:

plugins.lsp.servers.lua_ls.settings.hint.paramType

Show a hint for parameter types at a function definition. Requires the parameters to be defined with @param.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.lua_ls.settings.hint.semicolon

Whether to show a hint to add a semicolon to the end of a statement.

  • "All" - Show on every line
  • "SameLine" - Show between two statements on one line
  • "Disable" - Never hint a semicolon

Type: null or one of “All”, “SameLine”, “Disable” or raw lua code

Default: null

Plugin default: "SameLine"

Declared by:

plugins.lsp.servers.lua_ls.settings.hint.setType

Show a hint to display the type being applied at assignment operations.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.lua_ls.settings.hover.enable

Whether to enable hover tooltips or not.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.lua_ls.settings.hover.enumsLimit

When a value has multiple possible types, hovering it will display them. This setting limits how many will be displayed in the tooltip before they are truncated.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 5

Declared by:

plugins.lsp.servers.lua_ls.settings.hover.expandAlias

When hovering a value with an @alias for its type, should the alias be expanded into its values. When enabled, ---@alias myType boolean|number appears as boolean|number, otherwise it will appear as myType.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.lua_ls.settings.hover.previewFields

When a table is hovered, its fields will be displayed in the tooltip. This setting limits how many fields can be seen in the tooltip. Setting to 0 will disable this feature.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 50

Declared by:

plugins.lsp.servers.lua_ls.settings.hover.viewNumber

Enable hovering a non-decimal value to see its numeric value.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.lua_ls.settings.hover.viewString

Enable hovering a string that contains an escape character to see its true string value. For example, hovering "\x48" will display "H".

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.lua_ls.settings.hover.viewStringMax

The maximum number of characters that can be previewed by hovering a string before it is truncated.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1000

Declared by:

plugins.lsp.servers.lua_ls.settings.misc.executablePath

Manually specify the path for the Lua Language Server executable file.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.lsp.servers.lua_ls.settings.misc.parameters

Command line parameters to be passed along to the server exe when starting through Visual Studio Code.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.lua_ls.settings.runtime.builtin

Set whether each of the builtin Lua libraries is available in the current runtime environment.

Valid library options:

  • "basic"
  • "bit"
  • "bit32"
  • "builtin"
  • "coroutine"
  • "debug"
  • "ffi"
  • "io"
  • "jit"
  • "math"
  • "os"
  • "package"
  • "string"
  • "table"
  • "table.clear"
  • "table.new"
  • "utf8"

Valid status values:

  • "default" - The library will be enabled if it is a part of the current runtime.version.
  • "enable" - Always enable this library
  • "disable" - Always disable this library

Type: null or (attribute set of (one of “default”, “enable”, “disable” or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  basic = "default";
  bit = "default";
  bit32 = "default";
  builtin = "default";
  coroutine = "default";
  debug = "default";
  ffi = "default";
  io = "default";
  jit = "default";
  math = "default";
  os = "default";
  package = "default";
  string = "default";
  table = "default";
  "table.clear" = "default";
  "table.new" = "default";
  utf8 = "default";
}

Declared by:

plugins.lsp.servers.lua_ls.settings.runtime.fileEncoding

  • "utf8"
  • "ansi" (only available on Windows)
  • "utf16le"
  • "utf16be"

Type: null or one of “utf8”, “ansi”, “utf16le”, “utf16be” or raw lua code

Default: null

Plugin default: "utf8"

Declared by:

plugins.lsp.servers.lua_ls.settings.runtime.meta

Specify the template that should be used for naming the folders that contain the generated definitions for the various Lua versions, languages, and encodings.

Type: null or string or raw lua code

Default: null

Plugin default: "\${version} \${language} \${encoding}"

Declared by:

plugins.lsp.servers.lua_ls.settings.runtime.nonstandardSymbol

Add support for non-standard symbols. Make sure to double check that your runtime environment actually supports the symbols you are permitting as standard Lua does not.

Type: null or (list of (one of “//”, “/**/”, “`”, “+=”, “-=”, “*=”, “/=”, “%=”, “^=”, “//=”, “|=”, “&=”, “<<=”, “>>=”, “||”, “&&”, “!”, “!=”, “continue” or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.lua_ls.settings.runtime.path

Defines the paths to use when using require. For example, setting to ?/start.lua will search for <workspace>/myFile/start.lua from the loaded files when doing require"myFile". If runtime.pathStrict is false, <workspace>/**/myFile/start.lua will also be searched. To load files that are not in the current workspace, they will first need to be loaded using workspace.library.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "?.lua"
  "?/init.lua"
]

Declared by:

plugins.lsp.servers.lua_ls.settings.runtime.pathStrict

When enabled, runtime.path will only search the first level of directories. See the description of runtime.path for more info.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.lua_ls.settings.runtime.plugin

The path to the plugin to use. Blank by default for security reasons.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.lsp.servers.lua_ls.settings.runtime.pluginArgs

Additional arguments that will be passed to the active plugin.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.lua_ls.settings.runtime.special

Special variables can be set to be treated as other variables. For example, specifying "include" : "require" will result in include being treated like require.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.lsp.servers.lua_ls.settings.runtime.unicodeName

Whether unicode characters should be allowed in variable names or not.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.lua_ls.settings.runtime.version

The Lua runtime version to use in this environment.

Type: null or string or raw lua code

Default: null

Plugin default: "Lua 5.4"

Declared by:

plugins.lsp.servers.lua_ls.settings.semantic.enable

Whether semantic colouring should be enabled. You may need to set editor.semanticHighlighting.enabled to true in order for this setting to take effect.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.lua_ls.settings.semantic.annotation

Whether semantic colouring should be enabled for type annotations.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.lua_ls.settings.semantic.keyword

Whether the server should provide semantic colouring of keywords, literals, and operators. You should only need to enable this setting if your editor is unable to highlight Lua’s syntax.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.lua_ls.settings.semantic.variable

Whether the server should provide semantic colouring of variables, fields, and parameters.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.lua_ls.settings.signatureHelp.enable

The signatureHelp group contains settings for helping understand signatures.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.lua_ls.settings.spell.dict

A custom dictionary of words that you know are spelt correctly but are being reported as incorrect. Adding words to this dictionary will make them exempt from spell checking.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.lua_ls.settings.telemetry.enable

The language server comes with opt-in telemetry to help improve the language server. It would be greatly appreciated if you enable this setting. Read the privacy policy before enabling.

Type: null or boolean or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.lua_ls.settings.type.castNumberToInteger

Whether casting a number to an integer is allowed.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.lua_ls.settings.type.weakNilCheck

Whether it is permitted to assign a union type that contains nil to a variable that does not permit it. When false, the following will throw an error because number|nil cannot be assigned to number.

  ---@alias unionType number|nil

  ---@type number
  local num

  ---@cast num unionType

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.lua_ls.settings.type.weakUnionCheck

Whether it is permitted to assign a union type which only has one matching type to a variable. When false, the following will throw an error because string|boolean cannot be assigned to string.

  ---@alias unionType string|boolean

  ---@type string
  local str = false

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.lua_ls.settings.window.progressBar

Show a progress bar in the bottom status bar that shows how the workspace loading is progressing.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.lua_ls.settings.window.statusBar

Show a Lua 😺 entry in the bottom status bar that can be clicked to manually perform a workspace diagnosis.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.lua_ls.settings.workspace.checkThirdParty

Whether third party libraries can be automatically detected and applied. Third party libraries can set up the environment to be as close as possible to your target runtime environment. See meta/3rd to view what third party libraries are currently supported.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.lua_ls.settings.workspace.ignoreDir

An array of paths that will be ignored and not included in the workspace diagnosis. Uses .gitignore grammar. Can be a file or directory.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  ".vscode"
]

Declared by:

plugins.lsp.servers.lua_ls.settings.workspace.ignoreSubmodules

Whether git submodules should be ignored and not included in the workspace diagnosis.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.lua_ls.settings.workspace.library

An array of abosolute or workspace-relative paths that will be added to the workspace diagnosis - meaning you will get completion and context from these library files. Can be a file or directory. Files included here will have some features disabled such as renaming fields to prevent accidentally renaming your library files. Read more on the Libraries page.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.lua_ls.settings.workspace.maxPreload

The maximum amount of files that can be diagnosed. More files will require more RAM.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 5000

Declared by:

plugins.lsp.servers.lua_ls.settings.workspace.preloadFileSize

Files larger than this value (in KB) will be skipped when loading for workspace diagnosis.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 500

Declared by:

plugins.lsp.servers.lua_ls.settings.workspace.supportScheme

Lua file schemes to enable the language server for.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "file"
  "untitled"
  "git"
]

Declared by:

plugins.lsp.servers.lua_ls.settings.workspace.useGitIgnore

Whether files that are in .gitignore should be ignored by the language server when performing workspace diagnosis.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.lua_ls.settings.workspace.userThirdParty

An array of paths to custom third party libraries. This path should point to a directory where all of your custom libraries are, not just to one of the libraries. If the below is your file structure, this setting should be "myLuaLibraries" - of course this should be an absolute path though.

📦 myLuaLibraries/
    ├── 📂 myCustomLibrary/
    │   ├── 📂 library/
    │   └── 📜 config.lua
    └── 📂 anotherCustomLibrary/
        ├── 📂 library/
        └── 📜 config.lua

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

luau_lsp

URL: https://github.com/JohnnyMorganz/luau-lsp

plugins.lsp.servers.luau_lsp.enable

Whether to enable luau_lsp language server.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.luau_lsp.package

The luau_lsp package to use.

Type: null or package

Default: pkgs.luau-lsp

Declared by:

plugins.lsp.servers.luau_lsp.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.luau_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.luau_lsp.extraOptions

Extra options for the luau_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.luau_lsp.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.luau_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.luau_lsp.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:

plugins.lsp.servers.luau_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.luau_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.luau_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

lwc_ls

plugins.lsp.servers.lwc_ls.enable

Whether to enable https://github.com/forcedotcom/lightning-language-server/

Language server for Lightning Web Components.

For manual installation, utilize the official NPM package. Then, configure cmd to run the Node script at the unpacked location:

require'lspconfig'.lwc_ls.setup {
  cmd = {
    'node',
    '/path/to/node_modules/@salesforce/lwc-language-server/bin/lwc-language-server.js',
    '--stdio'
  }
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.lwc_ls.package

Package to use for lwc_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.lwc_ls.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.lwc_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.lwc_ls.extraOptions

Extra options for the lwc_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.lwc_ls.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.lwc_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.lwc_ls.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:

plugins.lsp.servers.lwc_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.lwc_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.lwc_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

m68k

plugins.lsp.servers.m68k.enable

Whether to enable https://github.com/grahambates/m68k-lsp

Language server for Motorola 68000 family assembly

m68k-lsp-server can be installed via npm:

npm install -g m68k-lsp-server

Ensure you are using the 68k asm syntax variant in Neovim.

vim.g.asmsyntax = 'asm68k'

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.m68k.package

Package to use for m68k. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.m68k.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.m68k.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.m68k.extraOptions

Extra options for the m68k language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.m68k.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.m68k.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.m68k.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:

plugins.lsp.servers.m68k.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.m68k.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.m68k.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

markdown_oxide

URL: https://github.com/Feel-ix-343/markdown-oxide

plugins.lsp.servers.markdown_oxide.enable

Whether to enable https://github.com/Feel-ix-343/markdown-oxide

Editor Agnostic PKM: you bring the text editor and we bring the PKM.

Inspired by and compatible with Obsidian.

Check the readme to see how to properly setup. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.markdown_oxide.package

The markdown_oxide package to use.

Type: null or package

Default: pkgs.markdown-oxide

Declared by:

plugins.lsp.servers.markdown_oxide.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.markdown_oxide.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.markdown_oxide.extraOptions

Extra options for the markdown_oxide language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.markdown_oxide.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.markdown_oxide.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.markdown_oxide.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:

plugins.lsp.servers.markdown_oxide.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.markdown_oxide.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.markdown_oxide.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

marko-js

plugins.lsp.servers.marko-js.enable

Whether to enable https://github.com/marko-js/language-server

  Using the Language Server Protocol to improve Marko's developer experience.

  Can be installed via npm:
  ```
  npm i -g @marko/language-server
  ```
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.marko-js.package

Package to use for marko-js. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.marko-js.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.marko-js.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.marko-js.extraOptions

Extra options for the marko-js language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.marko-js.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.marko-js.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.marko-js.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:

plugins.lsp.servers.marko-js.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.marko-js.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.marko-js.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

marksman

URL: https://github.com/artempyanykh/marksman

plugins.lsp.servers.marksman.enable

Whether to enable https://github.com/artempyanykh/marksman

Marksman is a Markdown LSP server providing completion, cross-references, diagnostics, and more.

Marksman works on MacOS, Linux, and Windows and is distributed as a self-contained binary for each OS.

Pre-built binaries can be downloaded from https://github.com/artempyanykh/marksman/releases .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.marksman.package

The marksman package to use.

Type: null or package

Default: pkgs.marksman

Declared by:

plugins.lsp.servers.marksman.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.marksman.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.marksman.extraOptions

Extra options for the marksman language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.marksman.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.marksman.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.marksman.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:

plugins.lsp.servers.marksman.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.marksman.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.marksman.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

matlab_ls

URL: https://github.com/mathworks/MATLAB-language-server

plugins.lsp.servers.matlab_ls.enable

Whether to enable https://github.com/mathworks/MATLAB-language-server

MATLAB® language server implements the Microsoft® Language Server Protocol for the MATLAB language. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.matlab_ls.package

The matlab_ls package to use.

Type: null or package

Default: pkgs.matlab-language-server

Declared by:

plugins.lsp.servers.matlab_ls.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.matlab_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.matlab_ls.extraOptions

Extra options for the matlab_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.matlab_ls.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.matlab_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.matlab_ls.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:

plugins.lsp.servers.matlab_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.matlab_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.matlab_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

mdx_analyzer

plugins.lsp.servers.mdx_analyzer.enable

Whether to enable https://github.com/mdx-js/mdx-analyzer

mdx-analyzer, a language server for MDX .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.mdx_analyzer.package

Package to use for mdx_analyzer. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.mdx_analyzer.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.mdx_analyzer.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.mdx_analyzer.extraOptions

Extra options for the mdx_analyzer language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.mdx_analyzer.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.mdx_analyzer.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.mdx_analyzer.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:

plugins.lsp.servers.mdx_analyzer.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.mdx_analyzer.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.mdx_analyzer.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

mesonlsp

URL: https://github.com/JCWasmx86/mesonlsp

plugins.lsp.servers.mesonlsp.enable

Whether to enable https://github.com/JCWasmx86/mesonlsp

An unofficial, unendorsed language server for meson written in C++ .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.mesonlsp.package

The mesonlsp package to use.

Type: null or package

Default: pkgs.mesonlsp

Declared by:

plugins.lsp.servers.mesonlsp.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.mesonlsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.mesonlsp.extraOptions

Extra options for the mesonlsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.mesonlsp.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.mesonlsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.mesonlsp.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:

plugins.lsp.servers.mesonlsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.mesonlsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.mesonlsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

metals

URL: https://scalameta.org/metals/

plugins.lsp.servers.metals.enable

Whether to enable https://scalameta.org/metals/

Scala language server with rich IDE features.

See full instructions in the Metals documentation:

https://scalameta.org/metals/docs/editors/vim#using-an-alternative-lsp-client

Note: that if you’re using nvim-metals, that plugin fully handles the setup and installation of Metals, and you shouldn’t set up Metals both with it and lspconfig.

To install Metals, make sure to have coursier installed, and once you do you can install the latest Metals with cs install metals. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.metals.package

The metals package to use.

Type: null or package

Default: pkgs.metals

Declared by:

plugins.lsp.servers.metals.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.metals.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.metals.extraOptions

Extra options for the metals language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.metals.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.metals.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.metals.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:

plugins.lsp.servers.metals.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.metals.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.metals.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

millet

plugins.lsp.servers.millet.enable

Whether to enable https://github.com/azdavis/millet

Millet, a language server for Standard ML

To use with nvim:

  1. Install a Rust toolchain: https://rustup.rs
  2. Clone the repo
  3. Run cargo build --release --bin lang-srv
  4. Move target/release/lang-srv to somewhere on your $PATH as millet .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.millet.package

Package to use for millet. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.millet.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.millet.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.millet.extraOptions

Extra options for the millet language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.millet.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.millet.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.millet.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:

plugins.lsp.servers.millet.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.millet.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.millet.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

mint

URL: https://www.mint-lang.com/

plugins.lsp.servers.mint.enable

Whether to enable https://www.mint-lang.com

Install Mint using the instructions. The language server is included since version 0.12.0. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.mint.package

The mint package to use.

Type: null or package

Default: pkgs.mint

Declared by:

plugins.lsp.servers.mint.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.mint.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.mint.extraOptions

Extra options for the mint language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.mint.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.mint.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.mint.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:

plugins.lsp.servers.mint.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.mint.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.mint.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

mlir_lsp_server

URL: https://mlir.llvm.org/

plugins.lsp.servers.mlir_lsp_server.enable

Whether to enable https://mlir.llvm.org/docs/Tools/MLIRLSP/#mlir-lsp-language-server–mlir-lsp-server=

The Language Server for the LLVM MLIR language

mlir-lsp-server can be installed at the llvm-project repository (https://github.com/llvm/llvm-project) .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.mlir_lsp_server.package

The mlir_lsp_server package to use.

Type: null or package

Default: pkgs.llvmPackages.mlir

Declared by:

plugins.lsp.servers.mlir_lsp_server.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.mlir_lsp_server.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.mlir_lsp_server.extraOptions

Extra options for the mlir_lsp_server language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.mlir_lsp_server.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.mlir_lsp_server.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.mlir_lsp_server.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:

plugins.lsp.servers.mlir_lsp_server.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.mlir_lsp_server.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.mlir_lsp_server.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

mlir_pdll_lsp_server

URL: https://mlir.llvm.org/

plugins.lsp.servers.mlir_pdll_lsp_server.enable

Whether to enable https://mlir.llvm.org/docs/Tools/MLIRLSP/#pdll-lsp-language-server–mlir-pdll-lsp-server

The Language Server for the LLVM PDLL language

mlir-pdll-lsp-server can be installed at the llvm-project repository (https://github.com/llvm/llvm-project) .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.mlir_pdll_lsp_server.package

The mlir_pdll_lsp_server package to use.

Type: null or package

Default: pkgs.llvmPackages.mlir

Declared by:

plugins.lsp.servers.mlir_pdll_lsp_server.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.mlir_pdll_lsp_server.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.mlir_pdll_lsp_server.extraOptions

Extra options for the mlir_pdll_lsp_server language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.mlir_pdll_lsp_server.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.mlir_pdll_lsp_server.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.mlir_pdll_lsp_server.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:

plugins.lsp.servers.mlir_pdll_lsp_server.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.mlir_pdll_lsp_server.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.mlir_pdll_lsp_server.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

mm0_ls

plugins.lsp.servers.mm0_ls.enable

Whether to enable https://github.com/digama0/mm0

Language Server for the metamath-zero theorem prover.

Requires mm0-rs to be installed and available on the PATH. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.mm0_ls.package

Package to use for mm0_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.mm0_ls.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.mm0_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.mm0_ls.extraOptions

Extra options for the mm0_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.mm0_ls.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.mm0_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.mm0_ls.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:

plugins.lsp.servers.mm0_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.mm0_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.mm0_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

mojo

plugins.lsp.servers.mojo.enable

Whether to enable https://github.com/modularml/mojo

mojo-lsp-server can be installed via Modular

Mojo is a new programming language that bridges the gap between research and production by combining Python syntax and ecosystem with systems programming and metaprogramming features. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.mojo.package

Package to use for mojo. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.mojo.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.mojo.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.mojo.extraOptions

Extra options for the mojo language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.mojo.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.mojo.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.mojo.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:

plugins.lsp.servers.mojo.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.mojo.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.mojo.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

motoko_lsp

plugins.lsp.servers.motoko_lsp.enable

Whether to enable https://github.com/dfinity/vscode-motoko

Language server for the Motoko programming language. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.motoko_lsp.package

Package to use for motoko_lsp. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.motoko_lsp.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.motoko_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.motoko_lsp.extraOptions

Extra options for the motoko_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.motoko_lsp.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.motoko_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.motoko_lsp.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:

plugins.lsp.servers.motoko_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.motoko_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.motoko_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

move_analyzer

plugins.lsp.servers.move_analyzer.enable

Whether to enable https://github.com/move-language/move/tree/main/language/move-analyzer

Language server for Move

The move-analyzer can be installed by running:

cargo install --git https://github.com/move-language/move move-analyzer

See move-analyzer’s doc for details. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.move_analyzer.package

Package to use for move_analyzer. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.move_analyzer.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.move_analyzer.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.move_analyzer.extraOptions

Extra options for the move_analyzer language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.move_analyzer.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.move_analyzer.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.move_analyzer.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:

plugins.lsp.servers.move_analyzer.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.move_analyzer.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.move_analyzer.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

msbuild_project_tools_server

plugins.lsp.servers.msbuild_project_tools_server.enable

Whether to enable https://github.com/tintoy/msbuild-project-tools-server/

MSBuild Project Tools Server can be installed by following the README.MD on the above repository.

Example config:

lspconfig.msbuild_project_tools_server.setup {
  cmd = {'dotnet', '/path/to/server/MSBuildProjectTools.LanguageServer.Host.dll'}
}

There’s no builtin filetypes for msbuild files, would require some filetype aliases:

vim.filetype.add({
  extension = {
    props = 'msbuild',
    tasks = 'msbuild',
    targets = 'msbuild',
  },
  pattern = {
    [ [[.*\..*proj]] ] = 'msbuild',
  },
})

Optionally tell treesitter to treat msbuild as xml so you can get syntax highlighting if you have the treesitter-xml-parser installed.

vim.treesitter.language.register('xml', { 'msbuild' })

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.msbuild_project_tools_server.package

Package to use for msbuild_project_tools_server. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.msbuild_project_tools_server.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.msbuild_project_tools_server.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.msbuild_project_tools_server.extraOptions

Extra options for the msbuild_project_tools_server language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.msbuild_project_tools_server.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.msbuild_project_tools_server.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.msbuild_project_tools_server.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:

plugins.lsp.servers.msbuild_project_tools_server.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.msbuild_project_tools_server.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.msbuild_project_tools_server.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

muon

URL: https://muon.build/

plugins.lsp.servers.muon.enable

Whether to enable https://muon.build .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.muon.package

The muon package to use.

Type: null or package

Default: pkgs.muon

Declared by:

plugins.lsp.servers.muon.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.muon.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.muon.extraOptions

Extra options for the muon language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.muon.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.muon.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.muon.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:

plugins.lsp.servers.muon.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.muon.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.muon.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

mutt_ls

plugins.lsp.servers.mutt_ls.enable

Whether to enable https://github.com/neomutt/mutt-language-server

A language server for (neo)mutt’s muttrc. It can be installed via pip.

pip install mutt-language-server

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.mutt_ls.package

Package to use for mutt_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.mutt_ls.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.mutt_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.mutt_ls.extraOptions

Extra options for the mutt_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.mutt_ls.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.mutt_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.mutt_ls.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:

plugins.lsp.servers.mutt_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.mutt_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.mutt_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

nelua_lsp

plugins.lsp.servers.nelua_lsp.enable

Whether to enable https://github.com/codehz/nelua-lsp

nelua-lsp is an experimental nelua language server.

You need nelua.vim for nelua files to be recognized or add this to your config:

in vimscript:

au BufNewFile,BufRead *.nelua setf nelua

in lua:

vim.api.nvim_create_autocmd({ "BufNewFile", "BufRead" }, { pattern = { "*.nelua" }, command = "setf nelua"})

By default, nelua-lsp 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.

require'lspconfig'.nelua_lsp.setup {
    cmd = { "nelua", "-L", "/path/to/nelua-lsp/", "--script", "/path/to/nelua-lsp/nelua-lsp.lua" },
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.nelua_lsp.package

Package to use for nelua_lsp. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.nelua_lsp.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.nelua_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.nelua_lsp.extraOptions

Extra options for the nelua_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.nelua_lsp.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.nelua_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.nelua_lsp.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:

plugins.lsp.servers.nelua_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.nelua_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.nelua_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

neocmake

URL: https://github.com/Decodetalkers/neocmakelsp

plugins.lsp.servers.neocmake.enable

Whether to enable https://github.com/Decodetalkers/neocmakelsp

CMake LSP Implementation

Neovim does not currently include built-in snippets. neocmakelsp only provides completions when snippet support is enabled. To enable completion, install a snippet plugin and add the following override to your language client capabilities during setup.

--Enable (broadcasting) snippet capability for completion
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = true

require'lspconfig'.neocmake.setup {
  capabilities = capabilities,
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.neocmake.package

The neocmake package to use.

Type: null or package

Default: pkgs.neocmakelsp

Declared by:

plugins.lsp.servers.neocmake.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.neocmake.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.neocmake.extraOptions

Extra options for the neocmake language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.neocmake.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.neocmake.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.neocmake.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:

plugins.lsp.servers.neocmake.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.neocmake.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.neocmake.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

nextflow_ls

plugins.lsp.servers.nextflow_ls.enable

Whether to enable https://github.com/nextflow-io/language-server

Requirements: - Java 17+

nextflow_ls can be installed by following the instructions here.

If you have installed nextflow language server, you can set the cmd custom path as follow:

require'lspconfig'.nextflow_ls.setup{
    cmd = { 'java', '-jar', 'nextflow-language-server-all.jar' },
    filetypes = { 'nextflow' },
    root_dir = util.root_pattern('nextflow.config', '.git'),
    settings = {
      nextflow = {
        files = {
          exclude = { '.git', '.nf-test', 'work' },
        },
      },
    },
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.nextflow_ls.package

Package to use for nextflow_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.nextflow_ls.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.nextflow_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.nextflow_ls.extraOptions

Extra options for the nextflow_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.nextflow_ls.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.nextflow_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.nextflow_ls.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:

plugins.lsp.servers.nextflow_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.nextflow_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.nextflow_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

nextls

URL: https://www.elixir-tools.dev/next-ls/

plugins.lsp.servers.nextls.enable

Whether to enable https://github.com/elixir-tools/next-ls

By default, next-ls does not set its cmd. Please see the following detailed instructions for possible installation methods. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.nextls.package

The nextls package to use.

Type: null or package

Default: pkgs.next-ls

Declared by:

plugins.lsp.servers.nextls.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.nextls.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 when package is null, otherwise [ "nextls" "--stdio" ]

Declared by:

plugins.lsp.servers.nextls.extraOptions

Extra options for the nextls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.nextls.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.nextls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.nextls.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:

plugins.lsp.servers.nextls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.nextls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.nextls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

nginx_language_server

URL: https://github.com/pappasam/nginx-language-server

plugins.lsp.servers.nginx_language_server.enable

Whether to enable https://pypi.org/project/nginx-language-server/

nginx-language-server can be installed via pip:

pip install -U nginx-language-server
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.nginx_language_server.package

The nginx_language_server package to use.

Type: null or package

Default: pkgs.nginx-language-server

Declared by:

plugins.lsp.servers.nginx_language_server.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.nginx_language_server.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.nginx_language_server.extraOptions

Extra options for the nginx_language_server language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.nginx_language_server.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.nginx_language_server.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.nginx_language_server.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:

plugins.lsp.servers.nginx_language_server.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.nginx_language_server.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.nginx_language_server.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

nickel_ls

URL: https://nickel-lang.org/

plugins.lsp.servers.nickel_ls.enable

Whether to enable Nickel Language Server

https://github.com/tweag/nickel

nls can be installed with nix, or cargo, from the Nickel repository.

git clone https://github.com/tweag/nickel.git

Nix:

cd nickel
nix-env -f . -i

cargo:

cd nickel/lsp/nls
cargo install --path .

In order to have lspconfig detect Nickel filetypes (a prerequisite for autostarting a server), install the Nickel vim plugin. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.nickel_ls.package

The nickel_ls package to use.

Type: null or package

Default: pkgs.nls

Declared by:

plugins.lsp.servers.nickel_ls.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.nickel_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.nickel_ls.extraOptions

Extra options for the nickel_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.nickel_ls.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.nickel_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.nickel_ls.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:

plugins.lsp.servers.nickel_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.nickel_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.nickel_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

nil_ls

URL: https://github.com/oxalica/nil

plugins.lsp.servers.nil_ls.enable

Whether to enable https://github.com/oxalica/nil

A new language server for Nix Expression Language.

If you are using Nix with Flakes support, run nix profile install github:oxalica/nil to install. Check the repository README for more information.

See an example config at https://github.com/oxalica/nil/blob/main/dev/nvim-lsp.nix. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.nil_ls.package

The nil_ls package to use.

Type: null or package

Default: pkgs.nil

Declared by:

plugins.lsp.servers.nil_ls.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.nil_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.nil_ls.extraOptions

Extra options for the nil_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.nil_ls.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.nil_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.nil_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.nil_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.nil_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

plugins.lsp.servers.nil_ls.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:

plugins.lsp.servers.nil_ls.settings.diagnostics.excludedFiles

Files to exclude from showing diagnostics. Useful for generated files.

It accepts an array of paths. Relative paths are joint to the workspace root. Glob patterns are currently not supported.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Example:

[
  "Cargo.nix"
]

Declared by:

plugins.lsp.servers.nil_ls.settings.diagnostics.ignored

Ignored diagnostic kinds. The kind identifier is a snake_cased_string usually shown together with the diagnostic message.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.nil_ls.settings.formatting.command

External formatting command, complete with required arguments.

It should accept file content from stdin and print the formatted code to stdout.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Example:

[
  "nixpkgs-fmt"
]

Declared by:

plugins.lsp.servers.nil_ls.settings.nix.binary

The path to the nix binary.

Type: null or string or raw lua code

Default: null

Plugin default: "nix"

Example: "/run/current-system/sw/bin/nix"

Declared by:

plugins.lsp.servers.nil_ls.settings.nix.maxMemoryMB

The heap memory limit in MiB for nix evaluation.

Currently it only applies to flake evaluation when autoEvalInputs is enabled, and only works for Linux. Other nix invocations may be also applied in the future. null means no limit.

As a reference, nix flake show --legacy nixpkgs usually requires about 2GiB memory.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 2560

Example: 1024

Declared by:

plugins.lsp.servers.nil_ls.settings.nix.flake.autoArchive

Auto-archiving behavior which may use network.

  • null: Ask every time.
  • true: Automatically run nix flake archive when necessary.
  • false: Do not archive. Only load inputs that are already on disk.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.nil_ls.settings.nix.flake.autoEvalInputs

Whether to auto-eval flake inputs. The evaluation result is used to improve completion, but may cost lots of time and/or memory.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.nil_ls.settings.nix.flake.nixpkgsInputName

The input name of nixpkgs for NixOS options evaluation.

The options hierarchy is used to improve completion, but may cost lots of time and/or memory.

If this value is null or is not found in the workspace flake’s inputs, NixOS options are not evaluated.

Type: null or string or raw lua code

Default: null

Plugin default: "nixpkgs"

Example: "nixos"

Declared by:

nim_langserver

URL: https://github.com/nim-lang/langserver

plugins.lsp.servers.nim_langserver.enable

Whether to enable https://github.com/nim-lang/langserver

nim-langserver can be installed via the nimble package manager:

nimble install nimlangserver
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.nim_langserver.package

The nim_langserver package to use.

Type: null or package

Default: pkgs.nimlangserver

Declared by:

plugins.lsp.servers.nim_langserver.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.nim_langserver.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.nim_langserver.extraOptions

Extra options for the nim_langserver language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.nim_langserver.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.nim_langserver.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.nim_langserver.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:

plugins.lsp.servers.nim_langserver.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.nim_langserver.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.nim_langserver.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

nimls

URL: https://github.com/PMunch/nimlsp

plugins.lsp.servers.nimls.enable

Whether to enable https://github.com/PMunch/nimlsp

nimlsp can be installed via the nimble package manager:

nimble install nimlsp
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.nimls.package

The nimls package to use.

Type: null or package

Default: pkgs.nimlsp

Declared by:

plugins.lsp.servers.nimls.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.nimls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.nimls.extraOptions

Extra options for the nimls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.nimls.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.nimls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.nimls.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:

plugins.lsp.servers.nimls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.nimls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.nimls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

nixd

URL: https://github.com/nix-community/nixd

plugins.lsp.servers.nixd.enable

Whether to enable https://github.com/nix-community/nixd

Nix language server, based on nix libraries.

If you are using Nix with Flakes support, run nix profile install github:nix-community/nixd to install. Check the repository README for more information. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.nixd.package

The nixd package to use.

Type: null or package

Default: pkgs.nixd

Declared by:

plugins.lsp.servers.nixd.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.nixd.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.nixd.extraOptions

Extra options for the nixd language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.nixd.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.nixd.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.nixd.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.nixd.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.nixd.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

plugins.lsp.servers.nixd.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:

plugins.lsp.servers.nixd.settings.nixpkgs

This expression will be interpreted as “nixpkgs” toplevel Nixd provides package, lib completion/information from it.

Type: null or (submodule) or raw lua code

Default: null

Declared by:

plugins.lsp.servers.nixd.settings.options

Tell the language server your desired option set, for completion. This is lazily evaluated.

Type: null or (attribute set of ((submodule) or raw lua code))

Default: null

Declared by:

plugins.lsp.servers.nixd.settings.diagnostic.suppress

Disable specific LSP warnings, etc. A list of diagnostic short names that should be suppressed.

See the source for available diagnostics.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Example:

[
  "sema-escaping-with"
]

Declared by:

plugins.lsp.servers.nixd.settings.formatting.command

Which command you would like to do formatting. Explicitly setting to ["nixpkgs-fmt"] will automatically add pkgs.nixpkgs-fmt to the nixvim environment.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "nixpkgs-fmt"
]

Declared by:

nomad_lsp

plugins.lsp.servers.nomad_lsp.enable

Whether to enable https://github.com/juliosueiras/nomad-lsp

Written in Go, compilation is needed for nomad_lsp to be used. Please see the original repository.

Add the executable to your system or vim PATH and it will be set to go.

No configuration option is needed unless you choose not to add nomad-lsp executable to the PATH. You should know what you are doing if you choose so.

require('lspconfig').nomad_lsp.setup{ }

However, a hcl.nomad or nomad filetype should be defined.

Description of your jobs should be written in .nomad files for the LSP client to configure the server’s root_dir configuration option. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.nomad_lsp.package

Package to use for nomad_lsp. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.nomad_lsp.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.nomad_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.nomad_lsp.extraOptions

Extra options for the nomad_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.nomad_lsp.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.nomad_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.nomad_lsp.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:

plugins.lsp.servers.nomad_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.nomad_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.nomad_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

ntt

plugins.lsp.servers.ntt.enable

Whether to enable https://github.com/nokia/ntt Installation instructions can be found here. Can be configured by passing a “settings” object to ntt.setup{}:

require('lspconfig').ntt.setup{
    settings = {
      ntt = {
      }
    }
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.ntt.package

Package to use for ntt. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.ntt.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.ntt.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.ntt.extraOptions

Extra options for the ntt language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.ntt.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.ntt.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.ntt.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:

plugins.lsp.servers.ntt.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.ntt.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.ntt.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

nushell

URL: https://www.nushell.sh/

plugins.lsp.servers.nushell.enable

Whether to enable https://github.com/nushell/nushell

Nushell built-in language server. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.nushell.package

The nushell package to use.

Type: null or package

Default: pkgs.nushell

Declared by:

plugins.lsp.servers.nushell.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.nushell.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.nushell.extraOptions

Extra options for the nushell language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.nushell.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.nushell.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.nushell.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:

plugins.lsp.servers.nushell.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.nushell.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.nushell.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

nxls

plugins.lsp.servers.nxls.enable

Whether to enable https://github.com/nrwl/nx-console/tree/master/apps/nxls

nxls, a language server for Nx Workspaces

nxls can be installed via npm:

npm i -g nxls

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.nxls.package

Package to use for nxls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.nxls.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.nxls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.nxls.extraOptions

Extra options for the nxls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.nxls.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.nxls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.nxls.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:

plugins.lsp.servers.nxls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.nxls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.nxls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

ocamlls

plugins.lsp.servers.ocamlls.enable

Whether to enable https://github.com/ocaml-lsp/ocaml-language-server

ocaml-language-server can be installed via npm

npm install -g ocaml-language-server
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.ocamlls.package

Package to use for ocamlls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.ocamlls.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.ocamlls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.ocamlls.extraOptions

Extra options for the ocamlls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.ocamlls.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.ocamlls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.ocamlls.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:

plugins.lsp.servers.ocamlls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.ocamlls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.ocamlls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

ocamllsp

plugins.lsp.servers.ocamllsp.enable

Whether to enable https://github.com/ocaml/ocaml-lsp

ocaml-lsp can be installed as described in installation guide.

To install the lsp server in a particular opam switch:

opam install ocaml-lsp-server

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.ocamllsp.package

The ocamllsp package to use.

Type: null or package

Default: pkgs.ocamlPackages.ocaml-lsp

Declared by:

plugins.lsp.servers.ocamllsp.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.ocamllsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.ocamllsp.extraOptions

Extra options for the ocamllsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.ocamllsp.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.ocamllsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.ocamllsp.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:

plugins.lsp.servers.ocamllsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.ocamllsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.ocamllsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

ols

URL: https://github.com/DanielGavin/ols

plugins.lsp.servers.ols.enable

Whether to enable https://github.com/DanielGavin/ols

       `Odin Language Server`.
    .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.ols.package

The ols package to use.

Type: null or package

Default: pkgs.ols

Declared by:

plugins.lsp.servers.ols.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.ols.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.ols.extraOptions

Extra options for the ols language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.ols.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.ols.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.ols.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:

plugins.lsp.servers.ols.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.ols.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.ols.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

omnisharp

URL: https://github.com/OmniSharp/omnisharp-roslyn

plugins.lsp.servers.omnisharp.enable

Whether to enable https://github.com/omnisharp/omnisharp-roslyn OmniSharp server based on Roslyn workspaces

omnisharp-roslyn can be installed by downloading and extracting a release from here. OmniSharp can also be built from source by following the instructions here.

OmniSharp requires the dotnet-sdk to be installed.

By default, omnisharp-roslyn 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.

For go_to_definition to work fully, extended textDocument/definition handler is needed, for example see omnisharp-extended-lsp.nvim

require'lspconfig'.omnisharp.setup {
    cmd = { "dotnet", "/path/to/omnisharp/OmniSharp.dll" },

    settings = {
      FormattingOptions = {
        -- Enables support for reading code style, naming convention and analyzer
        -- settings from .editorconfig.
        EnableEditorConfigSupport = true,
        -- Specifies whether 'using' directives should be grouped and sorted during
        -- document formatting.
        OrganizeImports = nil,
      },
      MsBuild = {
        -- If true, MSBuild project system will only load projects for files that
        -- were opened in the editor. This setting is useful for big C# codebases
        -- and allows for faster initialization of code navigation features only
        -- for projects that are relevant to code that is being edited. With this
        -- setting enabled OmniSharp may load fewer projects and may thus display
        -- incomplete reference lists for symbols.
        LoadProjectsOnDemand = nil,
      },
      RoslynExtensionsOptions = {
        -- Enables support for roslyn analyzers, code fixes and rulesets.
        EnableAnalyzersSupport = nil,
        -- Enables support for showing unimported types and unimported extension
        -- methods in completion lists. When committed, the appropriate using
        -- directive will be added at the top of the current file. This option can
        -- have a negative impact on initial completion responsiveness,
        -- particularly for the first few completion sessions after opening a
        -- solution.
        EnableImportCompletion = nil,
        -- Only run analyzers against open files when 'enableRoslynAnalyzers' is
        -- true
        AnalyzeOpenDocumentsOnly = nil,
      },
      Sdk = {
        -- Specifies whether to include preview versions of the .NET SDK when
        -- determining which version to use for project loading.
        IncludePrereleases = true,
      },
    },
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.omnisharp.package

The omnisharp package to use.

Type: null or package

Default: pkgs.omnisharp-roslyn

Declared by:

plugins.lsp.servers.omnisharp.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.omnisharp.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 when package is null, otherwise [ "OmniSharp" ]

Declared by:

plugins.lsp.servers.omnisharp.extraOptions

Extra options for the omnisharp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.omnisharp.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.omnisharp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.omnisharp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.omnisharp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.omnisharp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

plugins.lsp.servers.omnisharp.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:

plugins.lsp.servers.omnisharp.settings.enableEditorConfigSupport

Enables support for reading code style, naming convention and analyzer settings from .editorconfig.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.omnisharp.settings.enableImportCompletion

Enables support for showing unimported types and unimported extension methods in completion lists. When committed, the appropriate using directive will be added at the top of the current file. This option can have a negative impact on initial completion responsiveness, particularly for the first few completion sessions after opening a solution.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.omnisharp.settings.enableMsBuildLoadProjectsOnDemand

If true, MSBuild project system will only load projects for files that were opened in the editor. This setting is useful for big C# codebases and allows for faster initialization of code navigation features only for projects that are relevant to code that is being edited. With this setting enabled OmniSharp may load fewer projects and may thus display incomplete reference lists for symbols.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.omnisharp.settings.enableRoslynAnalyzers

If true, MSBuild project system will only load projects for files that were opened in the editor. This setting is useful for big C# codebases and allows for faster initialization of code navigation features only for projects that are relevant to code that is being edited. With this setting enabled OmniSharp may load fewer projects and may thus display incomplete reference lists for symbols.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.omnisharp.settings.analyzeOpenDocumentsOnly

Only run analyzers against open files when ‘enableRoslynAnalyzers’ is true.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.omnisharp.settings.organizeImportsOnFormat

Specifies whether ‘using’ directives should be grouped and sorted during document formatting.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.omnisharp.settings.sdkIncludePrereleases

Specifies whether to include preview versions of the .NET SDK when determining which version to use for project loading.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

opencl_ls

plugins.lsp.servers.opencl_ls.enable

Whether to enable https://github.com/Galarius/opencl-language-server

Build instructions can be found here.

Prebuilt binaries are available for Linux, macOS and Windows here. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.opencl_ls.package

Package to use for opencl_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.opencl_ls.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.opencl_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.opencl_ls.extraOptions

Extra options for the opencl_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.opencl_ls.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.opencl_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.opencl_ls.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:

plugins.lsp.servers.opencl_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.opencl_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.opencl_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

openedge_ls

plugins.lsp.servers.openedge_ls.enable

Whether to enable Language server for Progress OpenEdge ABL.

For manual installation, download abl-lsda.jar from the VSCode extension.

Configuration

require('lspconfig').openedge_ls.setup {
  oe_jar_path = '/path/to/abl-lsda.jar',
  debug = false, -- Set to true for debug logging
  trace = false, -- Set to true for trace logging (REALLY verbose)
  init_options = {
    abl = {
      configuration = {
        runtimes = {
          { name = '12.8', path = '/opt/progress/dlc' }
        },
        maxThreads = 1
      },
      completion = {
        upperCase = false
      },
      buildMode = 1 -- Build all
    }
  }
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.openedge_ls.package

Package to use for openedge_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.openedge_ls.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.openedge_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.openedge_ls.extraOptions

Extra options for the openedge_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.openedge_ls.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.openedge_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.openedge_ls.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:

plugins.lsp.servers.openedge_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.openedge_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.openedge_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

openscad_ls

plugins.lsp.servers.openscad_ls.enable

Whether to enable https://github.com/dzhu/openscad-language-server

A Language Server Protocol server for OpenSCAD

You can build and install openscad-language-server binary with cargo:

cargo install openscad-language-server

Vim does not have built-in syntax for the openscad filetype currently.

This can be added via an autocmd:

vim.cmd [[ autocmd BufRead,BufNewFile *.scad set filetype=openscad ]]

or by installing a filetype plugin such as https://github.com/sirtaj/vim-openscad .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.openscad_ls.package

Package to use for openscad_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.openscad_ls.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.openscad_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.openscad_ls.extraOptions

Extra options for the openscad_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.openscad_ls.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.openscad_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.openscad_ls.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:

plugins.lsp.servers.openscad_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.openscad_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.openscad_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

openscad_lsp

URL: https://github.com/Leathong/openscad-LSP

plugins.lsp.servers.openscad_lsp.enable

Whether to enable https://github.com/Leathong/openscad-LSP

A Language Server Protocol server for OpenSCAD

You can build and install openscad-lsp binary with cargo:

cargo install openscad-lsp

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.openscad_lsp.package

The openscad_lsp package to use.

Type: null or package

Default: pkgs.openscad-lsp

Declared by:

plugins.lsp.servers.openscad_lsp.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.openscad_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.openscad_lsp.extraOptions

Extra options for the openscad_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.openscad_lsp.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.openscad_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.openscad_lsp.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:

plugins.lsp.servers.openscad_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.openscad_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.openscad_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

oxlint

URL: https://github.com/web-infra-dev/oxc

plugins.lsp.servers.oxlint.enable

Whether to enable https://oxc.rs

A collection of JavaScript tools written in Rust.

npm install [-g] oxlint

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.oxlint.package

The oxlint package to use.

Type: null or package

Default: pkgs.oxlint

Declared by:

plugins.lsp.servers.oxlint.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.oxlint.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.oxlint.extraOptions

Extra options for the oxlint language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.oxlint.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.oxlint.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.oxlint.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:

plugins.lsp.servers.oxlint.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.oxlint.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.oxlint.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

pact_ls

plugins.lsp.servers.pact_ls.enable

Whether to enable https://github.com/kadena-io/pact-lsp

The Pact language server .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.pact_ls.package

Package to use for pact_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.pact_ls.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.pact_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.pact_ls.extraOptions

Extra options for the pact_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.pact_ls.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.pact_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.pact_ls.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:

plugins.lsp.servers.pact_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.pact_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.pact_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

pasls

plugins.lsp.servers.pasls.enable

Whether to enable https://github.com/genericptr/pascal-language-server

An LSP server implementation for Pascal variants that are supported by Free Pascal, including Object Pascal. It uses CodeTools from Lazarus as backend.

First set cmd to the Pascal lsp binary.

Customization options are passed to pasls as environment variables for example in your .bashrc:

export FPCDIR='/usr/lib/fpc/src'      # FPC source directory (This is the only required option for the server to work).
export PP='/usr/lib/fpc/3.2.2/ppcx64' # Path to the Free Pascal compiler executable.
export LAZARUSDIR='/usr/lib/lazarus'  # Path to the Lazarus sources.
export FPCTARGET=''                   # Target operating system for cross compiling.
export FPCTARGETCPU='x86_64'          # Target CPU for cross compiling.

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.pasls.package

Package to use for pasls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.pasls.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.pasls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.pasls.extraOptions

Extra options for the pasls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.pasls.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.pasls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.pasls.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:

plugins.lsp.servers.pasls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.pasls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.pasls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

pbls

plugins.lsp.servers.pbls.enable

Whether to enable https://git.sr.ht/~rrc/pbls

Prerequisites: Ensure protoc is on your $PATH.

pbls can be installed via cargo install:

cargo install --git https://git.sr.ht/~rrc/pbls

pbls is a Language Server for protobuf .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.pbls.package

Package to use for pbls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.pbls.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.pbls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.pbls.extraOptions

Extra options for the pbls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.pbls.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.pbls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.pbls.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:

plugins.lsp.servers.pbls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.pbls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.pbls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

perlls

plugins.lsp.servers.perlls.enable

Whether to enable https://github.com/richterger/Perl-LanguageServer/tree/master/clients/vscode/perl

Perl-LanguageServer, a language server for Perl.

To use the language server, ensure that you have Perl::LanguageServer installed and perl command is on your path. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.perlls.package

Package to use for perlls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.perlls.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.perlls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.perlls.extraOptions

Extra options for the perlls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.perlls.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.perlls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.perlls.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:

plugins.lsp.servers.perlls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.perlls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.perlls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

perlnavigator

URL: https://github.com/bscan/PerlNavigator/tree/main/server

plugins.lsp.servers.perlnavigator.enable

Whether to enable https://github.com/bscan/PerlNavigator

A Perl language server. It can be installed via npm:

npm i -g perlnavigator-server

At minimum, you will need perl in your path. If you want to use a non-standard perl you will need to set your configuration like so:

settings = {
  perlnavigator = {
    perlPath = '/some/odd/location/my-perl'
  }
}

The contributes.configuration.properties section of perlnavigator’s package.json has all available configuration settings. All settings have a reasonable default, but, at minimum, you may want to point perlnavigator at your perltidy and perlcritic configurations. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.perlnavigator.package

The perlnavigator package to use.

Type: null or package

Default: pkgs.perlnavigator

Declared by:

plugins.lsp.servers.perlnavigator.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.perlnavigator.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.perlnavigator.extraOptions

Extra options for the perlnavigator language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.perlnavigator.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.perlnavigator.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.perlnavigator.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:

plugins.lsp.servers.perlnavigator.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.perlnavigator.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.perlnavigator.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

perlpls

URL: https://github.com/FractalBoy/perl-language-server

plugins.lsp.servers.perlpls.enable

Whether to enable https://github.com/FractalBoy/perl-language-server https://metacpan.org/pod/PLS

PLS, another language server for Perl.

To use the language server, ensure that you have PLS installed and that it is in your path .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.perlpls.package

The perlpls package to use.

Type: null or package

Default: pkgs.perlPackages.PLS

Declared by:

plugins.lsp.servers.perlpls.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.perlpls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.perlpls.extraOptions

Extra options for the perlpls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.perlpls.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.perlpls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.perlpls.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:

plugins.lsp.servers.perlpls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.perlpls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.perlpls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

pest_ls

URL: https://pest.rs

plugins.lsp.servers.pest_ls.enable

Whether to enable https://github.com/pest-parser/pest-ide-tools

Language server for pest grammars. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.pest_ls.package

The pest_ls package to use.

Type: null or package

Default: pkgs.pest-ide-tools

Declared by:

plugins.lsp.servers.pest_ls.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.pest_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.pest_ls.extraOptions

Extra options for the pest_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.pest_ls.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.pest_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.pest_ls.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:

plugins.lsp.servers.pest_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.pest_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.pest_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

phan

URL: https://github.com/phan/phan

plugins.lsp.servers.phan.enable

Whether to enable https://github.com/phan/phan

Installation: https://github.com/phan/phan#getting-started .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.phan.package

The phan package to use.

Type: null or package

Default: pkgs.phpPackages.phan

Declared by:

plugins.lsp.servers.phan.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.phan.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.phan.extraOptions

Extra options for the phan language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.phan.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.phan.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.phan.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:

plugins.lsp.servers.phan.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.phan.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.phan.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

phpactor

URL: https://github.com/phpactor/phpactor

plugins.lsp.servers.phpactor.enable

Whether to enable https://github.com/phpactor/phpactor

Installation: https://phpactor.readthedocs.io/en/master/usage/standalone.html#global-installation .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.phpactor.package

The phpactor package to use.

Type: null or package

Default: pkgs.phpactor

Declared by:

plugins.lsp.servers.phpactor.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.phpactor.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.phpactor.extraOptions

Extra options for the phpactor language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.phpactor.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.phpactor.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.phpactor.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:

plugins.lsp.servers.phpactor.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.phpactor.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.phpactor.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

pico8_ls

plugins.lsp.servers.pico8_ls.enable

Whether to enable https://github.com/japhib/pico8-ls

Full language support for the PICO-8 dialect of Lua. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.pico8_ls.package

Package to use for pico8_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.pico8_ls.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.pico8_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.pico8_ls.extraOptions

Extra options for the pico8_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.pico8_ls.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.pico8_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.pico8_ls.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:

plugins.lsp.servers.pico8_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.pico8_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.pico8_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

pkgbuild_language_server

plugins.lsp.servers.pkgbuild_language_server.enable

Whether to enable https://github.com/Freed-Wu/pkgbuild-language-server

Language server for ArchLinux/Windows Msys2’s PKGBUILD. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.pkgbuild_language_server.package

Package to use for pkgbuild_language_server. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.pkgbuild_language_server.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.pkgbuild_language_server.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.pkgbuild_language_server.extraOptions

Extra options for the pkgbuild_language_server language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.pkgbuild_language_server.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.pkgbuild_language_server.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.pkgbuild_language_server.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:

plugins.lsp.servers.pkgbuild_language_server.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.pkgbuild_language_server.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.pkgbuild_language_server.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

please

plugins.lsp.servers.please.enable

Whether to enable https://github.com/thought-machine/please

High-performance extensible build system for reproducible multi-language builds.

The plz binary will automatically install the LSP for you on first run .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.please.package

Package to use for please. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.please.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.please.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.please.extraOptions

Extra options for the please language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.please.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.please.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.please.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:

plugins.lsp.servers.please.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.please.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.please.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

poryscript_pls

plugins.lsp.servers.poryscript_pls.enable

Whether to enable https://github.com/huderlem/poryscript-pls

Language server for poryscript (a high level scripting language for GBA-era Pokémon decompilation projects) .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.poryscript_pls.package

Package to use for poryscript_pls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.poryscript_pls.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.poryscript_pls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.poryscript_pls.extraOptions

Extra options for the poryscript_pls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.poryscript_pls.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.poryscript_pls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.poryscript_pls.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:

plugins.lsp.servers.poryscript_pls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.poryscript_pls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.poryscript_pls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

postgres_lsp

URL: https://pgtools.dev

plugins.lsp.servers.postgres_lsp.enable

Whether to enable https://pgtools.dev

A collection of language tools and a Language Server Protocol (LSP) implementation for Postgres, focusing on developer experience and reliable SQL tooling. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.postgres_lsp.package

The postgres_lsp package to use.

Type: null or package

Default: pkgs.postgres-lsp

Declared by:

plugins.lsp.servers.postgres_lsp.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.postgres_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.postgres_lsp.extraOptions

Extra options for the postgres_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.postgres_lsp.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.postgres_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.postgres_lsp.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:

plugins.lsp.servers.postgres_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.postgres_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.postgres_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

powershell_es

plugins.lsp.servers.powershell_es.enable

Whether to enable https://github.com/PowerShell/PowerShellEditorServices

Language server for PowerShell.

To install, download and extract PowerShellEditorServices.zip from the releases. To configure the language server, set the property bundle_path to the root of the extracted PowerShellEditorServices.zip.

The default configuration doesn’t set cmd unless bundle_path is specified.

require'lspconfig'.powershell_es.setup{
  bundle_path = 'c:/w/PowerShellEditorServices',
}

By default the languageserver is started in pwsh (PowerShell Core). This can be changed by specifying shell.

require'lspconfig'.powershell_es.setup{
  bundle_path = 'c:/w/PowerShellEditorServices',
  shell = 'powershell.exe',
}

Note that the execution policy needs to be set to Unrestricted for the languageserver run under PowerShell

If necessary, specific cmd can be defined instead of bundle_path. See PowerShellEditorServices to learn more.

require'lspconfig'.powershell_es.setup{
  cmd = {'pwsh', '-NoLogo', '-NoProfile', '-Command', "c:/PSES/Start-EditorServices.ps1 ..."}
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.powershell_es.package

Package to use for powershell_es. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.powershell_es.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.powershell_es.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.powershell_es.extraOptions

Extra options for the powershell_es language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.powershell_es.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.powershell_es.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.powershell_es.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:

plugins.lsp.servers.powershell_es.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.powershell_es.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.powershell_es.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

prismals

plugins.lsp.servers.prismals.enable

Whether to enable Language Server for the Prisma JavaScript and TypeScript ORM

@prisma/language-server can be installed via npm

npm install -g @prisma/language-server

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.prismals.package

Package to use for prismals. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.prismals.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.prismals.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.prismals.extraOptions

Extra options for the prismals language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.prismals.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.prismals.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.prismals.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:

plugins.lsp.servers.prismals.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.prismals.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.prismals.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

prolog_ls

plugins.lsp.servers.prolog_ls.enable

Whether to enable https://github.com/jamesnvc/lsp_server

Language Server Protocol server for SWI-Prolog .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.prolog_ls.package

Package to use for prolog_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.prolog_ls.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.prolog_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.prolog_ls.extraOptions

Extra options for the prolog_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.prolog_ls.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.prolog_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.prolog_ls.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:

plugins.lsp.servers.prolog_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.prolog_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.prolog_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

prosemd_lsp

plugins.lsp.servers.prosemd_lsp.enable

Whether to enable https://github.com/kitten/prosemd-lsp

An experimental LSP for Markdown.

Please see the manual installation instructions: https://github.com/kitten/prosemd-lsp#manual-installation .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.prosemd_lsp.package

Package to use for prosemd_lsp. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.prosemd_lsp.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.prosemd_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.prosemd_lsp.extraOptions

Extra options for the prosemd_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.prosemd_lsp.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.prosemd_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.prosemd_lsp.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:

plugins.lsp.servers.prosemd_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.prosemd_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.prosemd_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

protols

URL: https://github.com/coder3101/protols

plugins.lsp.servers.protols.enable

Whether to enable https://github.com/coder3101/protols

protols can be installed via cargo:

cargo install protols

A Language Server for proto3 files. It uses tree-sitter and runs in single file mode. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.protols.package

The protols package to use.

Type: null or package

Default: pkgs.protols

Declared by:

plugins.lsp.servers.protols.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.protols.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.protols.extraOptions

Extra options for the protols language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.protols.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.protols.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.protols.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:

plugins.lsp.servers.protols.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.protols.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.protols.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

psalm

URL: https://github.com/vimeo/psalm

plugins.lsp.servers.psalm.enable

Whether to enable https://github.com/vimeo/psalm

Can be installed with composer.

composer global require vimeo/psalm

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.psalm.package

The psalm package to use.

Type: null or package

Default: pkgs.phpPackages.psalm

Declared by:

plugins.lsp.servers.psalm.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.psalm.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.psalm.extraOptions

Extra options for the psalm language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.psalm.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.psalm.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.psalm.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:

plugins.lsp.servers.psalm.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.psalm.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.psalm.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

pug

plugins.lsp.servers.pug.enable

Whether to enable https://github.com/opa-oz/pug-lsp

An implementation of the Language Protocol Server for Pug.js

PugLSP can be installed via go get github.com/opa-oz/pug-lsp, or manually downloaded from releases page .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.pug.package

Package to use for pug. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.pug.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.pug.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.pug.extraOptions

Extra options for the pug language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.pug.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.pug.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.pug.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:

plugins.lsp.servers.pug.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.pug.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.pug.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

puppet

plugins.lsp.servers.puppet.enable

Whether to enable LSP server for Puppet.

Installation:

  • Clone the editor-services repository: https://github.com/puppetlabs/puppet-editor-services

  • Navigate into that directory and run: bundle install

  • Install the ‘puppet-lint’ gem: gem install puppet-lint

  • Add that repository to $PATH.

  • Ensure you can run puppet-languageserver from outside the editor-services directory. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.puppet.package

Package to use for puppet. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.puppet.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.puppet.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.puppet.extraOptions

Extra options for the puppet language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.puppet.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.puppet.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.puppet.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:

plugins.lsp.servers.puppet.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.puppet.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.puppet.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

purescriptls

plugins.lsp.servers.purescriptls.enable

Whether to enable https://github.com/nwolverson/purescript-language-server

The purescript-language-server can be added to your project and $PATH via

  • JavaScript package manager such as npm, pnpm, Yarn, et al.
  • Nix under the nodePackages and nodePackages_latest package sets .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.purescriptls.package

Package to use for purescriptls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.purescriptls.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.purescriptls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.purescriptls.extraOptions

Extra options for the purescriptls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.purescriptls.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.purescriptls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.purescriptls.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:

plugins.lsp.servers.purescriptls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.purescriptls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.purescriptls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

pylsp

URL: https://github.com/python-lsp/python-lsp-server

plugins.lsp.servers.pylsp.enable

Whether to enable https://github.com/python-lsp/python-lsp-server

A Python 3.6+ implementation of the Language Server Protocol.

See the project’s README for installation instructions.

Configuration options are documented here. In order to configure an option, it must be translated to a nested Lua table and included in the settings argument to the setup{} function. For example, in order to set the pylsp.plugins.pycodestyle.ignore option:

require'lspconfig'.pylsp.setup{
  settings = {
    pylsp = {
      plugins = {
        pycodestyle = {
          ignore = {'W391'},
          maxLineLength = 100
        }
      }
    }
  }
}

Note: This is a community fork of pyls. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.pylsp.package

The pylsp package to use.

Type: null or package

Default: pkgs.python3Packages.python-lsp-server

Declared by:

plugins.lsp.servers.pylsp.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.pylsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.pylsp.extraOptions

Extra options for the pylsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.pylsp.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.pylsp.pythonPackage

The python package to use.

Type: package

Default: pkgs.python3

Declared by:

plugins.lsp.servers.pylsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.pylsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.pylsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.pylsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

plugins.lsp.servers.pylsp.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:

plugins.lsp.servers.pylsp.settings.configurationSources

List of configuration sources to use.

Type: null or one of “pycodestyle”, “flake8”

Default: null

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.autopep8.enabled

Enable or disable the plugin. Setting this explicitly to true will install the dependency for this plugin (autopep8).

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.black.enabled

Enable or disable the plugin. Setting this explicitly to true will install the dependency for this plugin (python-lsp-black).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.black.cache_config

Whether to enable black configuration caching.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.black.line_length

An integer that maps to black’s max-line-length setting. Defaults to 88 (same as black’s default). This can also be set through black’s configuration files, which should be preferred for multi-user projects.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 88

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.black.preview

Enable or disable black’s --preview setting.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.flake8.enabled

Enable or disable the plugin. Setting this explicitly to true will install the dependency for this plugin (flake8).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.flake8.config

Path to the config file that will be the authoritative config source.

Type: null or string

Default: null

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.flake8.exclude

List of files or directories to exclude.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.flake8.executable

Path to the flake8 executable.

Type: null or string

Default: null

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.flake8.filename

Only check for filenames matching the patterns in this list.

Type: null or string

Default: null

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.flake8.hangClosing

Hang closing bracket instead of matching indentation of opening bracket’s line.

Type: null or boolean

Default: null

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.flake8.ignore

List of errors and warnings to ignore (or skip).

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.flake8.indentSize

Set indentation spaces.

Type: null or signed integer

Default: null

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.flake8.maxComplexity

Maximum allowed complexity threshold.

Type: null or signed integer

Default: null

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.flake8.maxLineLength

Maximum allowed line length for the entirety of this run.

Type: null or signed integer

Default: null

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.flake8.perFileIgnores

A pairing of filenames and violation codes that defines which violations to ignore in a particular file.

For example: ["file_path.py:W305,W304"].

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.flake8.select

List of errors and warnings to enable.

Type: null or (list of string)

Default: null

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.isort.enabled

Enable or disable the plugin. Setting this explicitly to true will install the dependency for this plugin (pyls-isort).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.jedi.auto_import_modules

List of module names for jedi.settings.auto_import_modules.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "numpy"
]

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.jedi.environment

Define environment for jedi.Script and Jedi.names.

Type: null or string

Default: null

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.jedi.extra_paths

Define extra paths for jedi.Script.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.jedi_completion.enabled

Enable or disable the plugin.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.jedi_completion.cache_for

Modules for which labels and snippets should be cached.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "pandas"
  "numpy"
  "tensorflow"
  "matplotlib"
]

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.jedi_completion.eager

Resolve documentation and detail eagerly.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.jedi_completion.fuzzy

Enable fuzzy when requesting autocomplete.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.jedi_completion.include_class_objects

Adds class objects as a separate completion item.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.jedi_completion.include_function_objects

Adds function objects as a separate completion item.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.jedi_completion.include_params

Auto-completes methods and classes with tabstops for each parameter.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.jedi_completion.resolve_at_most

How many labels and snippets (at most) should be resolved.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 25

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.jedi_definition.enabled

Enable or disable the plugin.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.jedi_definition.follow_builtin_definitions

Follow builtin and extension definitions to stubs.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.jedi_definition.follow_builtin_imports

If follow_imports is true will decide if it follow builtin imports.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.jedi_definition.follow_imports

The goto call will follow imports.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.jedi_hover.enabled

Enable or disable the plugin.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.jedi_references.enabled

Enable or disable the plugin.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.jedi_signature_help.enabled

Enable or disable the plugin.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.jedi_symbols.enabled

Enable or disable the plugin.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.jedi_symbols.all_scopes

If true lists the names of all scopes instead of only the module namespace.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.jedi_symbols.include_import_symbols

If true includes symbols imported from other libraries.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.mccabe.enabled

Enable or disable the plugin. Setting this explicitly to true will install the dependency for this plugin (mccabe).

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.mccabe.threshold

The minimum threshold that triggers warnings about cyclomatic complexity.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 15

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.memestra.enabled

Enable or disable the plugin. Setting this explicitly to true will install the dependency for this plugin (pyls-memestra).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.preload.enabled

Enable or disable the plugin.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.preload.modules

List of modules to import on startup.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pycodestyle.enabled

Enable or disable the plugin. Setting this explicitly to true will install the dependency for this plugin (pycodestyle).

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pycodestyle.exclude

Exclude files or directories which match these patterns.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pycodestyle.filename

When parsing directories, only check filenames matching these patterns.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pycodestyle.hangClosing

Hang closing bracket instead of matching indentation of opening bracket’s line.

Type: null or boolean

Default: null

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pycodestyle.ignore

Ignore errors and warnings.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pycodestyle.indentSize

Set indentation spaces.

Type: null or signed integer

Default: null

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pycodestyle.maxLineLength

Set maximum allowed line length.

Type: null or signed integer

Default: null

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pycodestyle.ropeFolder

Select errors and warnings.

Type: null or (list of string)

Default: null

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pydocstyle.enabled

Enable or disable the plugin. Setting this explicitly to true will install the dependency for this plugin (pydocstyle).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pydocstyle.addIgnore

Ignore errors and warnings in addition to the specified convention.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pydocstyle.addSelect

Select errors and warnings in addition to the specified convention.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pydocstyle.convention

Choose the basic list of checked errors by specifying an existing convention.

Type: null or one of “pep257”, “numpy”, “google”, “None”

Default: null

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pydocstyle.ignore

Ignore errors and warnings.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pydocstyle.match

Check only files that exactly match the given regular expression; default is to match files that don’t start with ‘test_’ but end with ‘.py’.

Type: null or string or raw lua code

Default: null

Plugin default: "(?!test_).*\\.py"

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pydocstyle.matchDir

Search only dirs that exactly match the given regular expression; default is to match dirs which do not begin with a dot.

Type: null or string or raw lua code

Default: null

Plugin default: "[^\\.].*"

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pydocstyle.select

Select errors and warnings.

Type: null or (list of string)

Default: null

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pyflakes.enabled

Enable or disable the plugin. Setting this explicitly to true will install the dependency for this plugin (pyflakes).

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pylint.enabled

Enable or disable the plugin. Setting this explicitly to true will install the dependency for this plugin (pylint).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pylint.args

Arguments to pass to pylint.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pylint.executable

Executable to run pylint with. Enabling this will run pylint on unsaved files via stdin. Can slow down workflow. Only works with python3.

Type: null or string

Default: null

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pylsp_mypy.enabled

Enable or disable the plugin. Setting this explicitly to true will install the dependency for this plugin (pylsp-mypy).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pylsp_mypy.config_sub_paths

Specifies sub paths under which the mypy configuration file may be found. For each directory searched for the mypy config file, this also searches the sub paths specified here.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pylsp_mypy.dmypy

Executes via dmypy run rather than mypy. This uses the dmypy daemon and may dramatically improve the responsiveness of the pylsp server, however this currently does not work in live_mode. Enabling this disables live_mode, even for conflicting configs.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pylsp_mypy.dmypy_status_file

Specifies which status file dmypy should use. This modifies the --status-file option passed to dmypy given dmypy is active.

Type: null or string or raw lua code

Default: null

Plugin default: ".dmypy.json"

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pylsp_mypy.live_mode

Provides type checking as you type. This writes to a tempfile every time a check is done. Turning off live_mode means you must save your changes for mypy diagnostics to update correctly.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pylsp_mypy.overrides

Specifies a list of alternate or supplemental command-line options. This modifies the options passed to mypy or the mypy-specific ones passed to dmypy run. When present, the special boolean member true is replaced with the command-line options that would’ve been passed had overrides not been specified. Later options take precedence, which allows for replacing or negating individual default options (see mypy.main:process_options and mypy --help | grep inverse).

Type: null or (list of (boolean or string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  true
]

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pylsp_mypy.report_progress

Report basic progress to the LSP client. With this option, pylsp-mypy will report when mypy is running, given your editor supports LSP progress reporting. For small files this might produce annoying flashing in your editor, especially in with live_mode. For large projects, enabling this can be helpful to assure yourself whether mypy is still running.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.pylsp_mypy.strict

Refers to the strict option of mypy. This option often is too strict to be useful.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.rope.enabled

Enable or disable the plugin. Setting this explicitly to true will install the dependency for this plugin (pylsp-rope).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.rope_autoimport.enabled

Enable or disable the plugin. Setting this explicitly to true will install the dependency for this plugin (rope).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.rope_autoimport.memory

Make the autoimport database memory only. Drastically increases startup time.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.rope_completion.enabled

Enable or disable the plugin. Setting this explicitly to true will install the dependency for this plugin (rope).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.rope_completion.eager

Resolve documentation and detail eagerly.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.ruff.enabled

Enable or disable the plugin. Setting this explicitly to true will install the dependency for this plugin (python-lsp-ruff).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.ruff.config

Path to optional pyproject.toml file.

Type: null or string

Default: null

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.ruff.exclude

Exclude files from being checked by ruff.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.ruff.executable

Path to the ruff executable. Assumed to be in PATH by default.

Type: null or string

Default: null

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.ruff.extendIgnore

Same as ignore, but append to existing ignores.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.ruff.extendSelect

Same as select, but append to existing error codes.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.ruff.format

List of error codes to fix during formatting. The default is [“I”], any additional codes are appended to this list.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.ruff.ignore

Error codes to ignore.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.ruff.lineLength

Set the line-length for length checks.

Type: null or signed integer

Default: null

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.ruff.perFileIgnores

File-specific error codes to be ignored.

Type: null or (attribute set of list of string)

Default: null

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.ruff.select

List of error codes to enable.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.pylsp.settings.plugins.yapf.enabled

Enable or disable the plugin. Setting this explicitly to true will install the dependency for this plugin (yapf).

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.pylsp.settings.rope.extensionModules

Builtin and c-extension modules that are allowed to be imported and inspected by rope.

Type: null or string

Default: null

Declared by:

plugins.lsp.servers.pylsp.settings.rope.ropeFolder

The name of the folder in which rope stores project configurations and data. Pass null for not using such a folder at all.

Type: null or (list of string)

Default: null

Declared by:

pylyzer

URL: https://github.com/mtshiba/pylyzer

plugins.lsp.servers.pylyzer.enable

Whether to enable https://github.com/mtshiba/pylyzer

pylyzer, a fast static code analyzer & language server for Python. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.pylyzer.package

The pylyzer package to use.

Type: null or package

Default: pkgs.pylyzer

Declared by:

plugins.lsp.servers.pylyzer.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.pylyzer.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.pylyzer.extraOptions

Extra options for the pylyzer language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.pylyzer.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.pylyzer.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.pylyzer.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:

plugins.lsp.servers.pylyzer.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.pylyzer.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.pylyzer.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

pyre

plugins.lsp.servers.pyre.enable

Whether to enable https://pyre-check.org/

pyre a static type checker for Python 3.

pyre offers an extremely limited featureset. It currently only supports diagnostics, which are triggered on save.

Do not report issues for missing features in pyre to lspconfig.

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.pyre.package

Package to use for pyre. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.pyre.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.pyre.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.pyre.extraOptions

Extra options for the pyre language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.pyre.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.pyre.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.pyre.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:

plugins.lsp.servers.pyre.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.pyre.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.pyre.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

pyright

URL: https://github.com/Microsoft/pyright

plugins.lsp.servers.pyright.enable

Whether to enable https://github.com/microsoft/pyright

pyright, a static type checker and language server for python .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.pyright.package

The pyright package to use.

Type: null or package

Default: pkgs.pyright

Declared by:

plugins.lsp.servers.pyright.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.pyright.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.pyright.extraOptions

Extra options for the pyright language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.pyright.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.pyright.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.pyright.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:

plugins.lsp.servers.pyright.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.pyright.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.pyright.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

qmlls

URL: https://www.qt.io/

plugins.lsp.servers.qmlls.enable

Whether to enable https://doc.qt.io/qt-6/qtqml-tooling-qmlls.html

QML Language Server is a tool shipped with Qt that helps you write code in your favorite (LSP-supporting) editor.

Source in the QtDeclarative repository .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.qmlls.package

The qmlls package to use.

Type: null or package

Default: pkgs.kdePackages.qtdeclarative

Declared by:

plugins.lsp.servers.qmlls.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.qmlls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.qmlls.extraOptions

Extra options for the qmlls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.qmlls.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.qmlls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.qmlls.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:

plugins.lsp.servers.qmlls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.qmlls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.qmlls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

quick_lint_js

URL: https://quick-lint-js.com

plugins.lsp.servers.quick_lint_js.enable

Whether to enable https://quick-lint-js.com/

quick-lint-js finds bugs in JavaScript programs.

See installation instructions .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.quick_lint_js.package

The quick_lint_js package to use.

Type: null or package

Default: pkgs.quick-lint-js

Declared by:

plugins.lsp.servers.quick_lint_js.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.quick_lint_js.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.quick_lint_js.extraOptions

Extra options for the quick_lint_js language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.quick_lint_js.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.quick_lint_js.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.quick_lint_js.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:

plugins.lsp.servers.quick_lint_js.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.quick_lint_js.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.quick_lint_js.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

r_language_server

plugins.lsp.servers.r_language_server.enable

Whether to enable languageserver is an implementation of the Microsoft’s Language Server Protocol for the R language.

It is released on CRAN and can be easily installed by

install.packages("languageserver")

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.r_language_server.package

Package to use for r_language_server. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.r_language_server.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.r_language_server.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.r_language_server.extraOptions

Extra options for the r_language_server language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.r_language_server.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.r_language_server.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.r_language_server.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:

plugins.lsp.servers.r_language_server.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.r_language_server.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.r_language_server.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

racket_langserver

plugins.lsp.servers.racket_langserver.enable

Whether to enable https://github.com/jeapostrophe/racket-langserver

The Racket language server. This project seeks to use DrRacket’s public API to provide functionality that mimics DrRacket’s code tools as closely as possible.

Install via raco: raco pkg install racket-langserver .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.racket_langserver.package

Package to use for racket_langserver. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.racket_langserver.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.racket_langserver.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.racket_langserver.extraOptions

Extra options for the racket_langserver language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.racket_langserver.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.racket_langserver.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.racket_langserver.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:

plugins.lsp.servers.racket_langserver.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.racket_langserver.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.racket_langserver.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

raku_navigator

plugins.lsp.servers.raku_navigator.enable

Whether to enable https://github.com/bscan/RakuNavigator A Raku language server By default, raku_navigator doesn’t have a cmd set. This is because nvim-lspconfig does not make assumptions about your path. You have to install the language server manually. Clone the RakuNavigator repo, install based on the instructions, and point cmd to server.js inside the server/out directory:

cmd = {'node', '<path_to_repo>/server/out/server.js', '--stdio'}

At minimum, you will need raku in your path. If you want to use a non-standard raku you will need to set your configuration like so:

settings = {
  raku_navigator = {
    rakuPath = '/some/odd/location/my-raku'
  }
}

The contributes.configuration.properties section of raku_navigator’s package.json has all available configuration settings. All settings have a reasonable default, but, at minimum, you may want to point raku_navigator at your raku_tidy and raku_critic configurations. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.raku_navigator.package

Package to use for raku_navigator. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.raku_navigator.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.raku_navigator.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.raku_navigator.extraOptions

Extra options for the raku_navigator language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.raku_navigator.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.raku_navigator.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.raku_navigator.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:

plugins.lsp.servers.raku_navigator.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.raku_navigator.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.raku_navigator.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

reason_ls

plugins.lsp.servers.reason_ls.enable

Whether to enable Reason language server

You can install reason language server from reason-language-server repository. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.reason_ls.package

Package to use for reason_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.reason_ls.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.reason_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.reason_ls.extraOptions

Extra options for the reason_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.reason_ls.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.reason_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.reason_ls.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:

plugins.lsp.servers.reason_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.reason_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.reason_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

regal

URL: https://github.com/StyraInc/regal

plugins.lsp.servers.regal.enable

Whether to enable https://github.com/StyraInc/regal

A linter for Rego, with support for running as an LSP server.

regal can be installed by running:

go install github.com/StyraInc/regal@latest
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.regal.package

The regal package to use.

Type: null or package

Default: pkgs.regal

Declared by:

plugins.lsp.servers.regal.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.regal.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.regal.extraOptions

Extra options for the regal language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.regal.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.regal.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.regal.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:

plugins.lsp.servers.regal.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.regal.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.regal.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

regols

URL: https://github.com/kitagry/regols

plugins.lsp.servers.regols.enable

Whether to enable https://github.com/kitagry/regols

OPA Rego language server.

regols can be installed by running:

go install github.com/kitagry/regols@latest
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.regols.package

The regols package to use.

Type: null or package

Default: pkgs.regols

Declared by:

plugins.lsp.servers.regols.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.regols.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.regols.extraOptions

Extra options for the regols language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.regols.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.regols.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.regols.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:

plugins.lsp.servers.regols.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.regols.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.regols.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

relay_lsp

plugins.lsp.servers.relay_lsp.enable

Whether to enable https://github.com/facebook/relay Relay is a JavaScript framework for building data-driven React applications

Setup:

- Make sure you have a Relay config file somewhere in your project.
- We support standard config file formats (`.yml`, `.js`, `.json`), and the the `relay` field in your `package.json`
- Make sure you have the `relay-compiler` installed in your project. The bare minimum is v13.
- Make sure you are able to run the `relay-compiler` command from the command line. If `yarn relay-compiler` works, it's very likely that the LSP will work.
- Remove / disable any conflicting GraphQL LSPs you have installed.

Relay LSP is a part of the Relay Compiler binary and available when adding `relay-compiler` to your project's devDependencies.

```lua
require'lspconfig'.relay_lsp.setup {
  -- (default: false) Whether or not we should automatically start
  -- the Relay Compiler in watch mode when you open a project
  auto_start_compiler = false,


  -- (default: null) Path to a relay config relative to the
  -- `root_dir`. Without this, the compiler will search for your
  -- config. This is helpful if your relay project is in a nested
  -- directory.
  path_to_config = nil,
}
```
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.relay_lsp.package

Package to use for relay_lsp. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.relay_lsp.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.relay_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.relay_lsp.extraOptions

Extra options for the relay_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.relay_lsp.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.relay_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.relay_lsp.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:

plugins.lsp.servers.relay_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.relay_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.relay_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

remark_ls

plugins.lsp.servers.remark_ls.enable

Whether to enable https://github.com/remarkjs/remark-language-server

remark-language-server can be installed via npm:

npm install -g remark-language-server

remark-language-server uses the same configuration files as remark-cli.

This uses a plugin based system. Each plugin needs to be installed locally using npm or yarn.

For example, given the following .remarkrc.json:

{
  "presets": [
    "remark-preset-lint-recommended"
  ]
}

remark-preset-lint-recommended needs to be installed in the local project:

npm install remark-preset-lint-recommended

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.remark_ls.package

Package to use for remark_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.remark_ls.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.remark_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.remark_ls.extraOptions

Extra options for the remark_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.remark_ls.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.remark_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.remark_ls.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:

plugins.lsp.servers.remark_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.remark_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.remark_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

rescriptls

URL: https://github.com/rescript-lang/rescript-vscode/tree/1.62.0/server

plugins.lsp.servers.rescriptls.enable

Whether to enable https://github.com/rescript-lang/rescript-vscode/tree/master/server

ReScript Language Server can be installed via npm:

npm install -g @rescript/language-server

See package.json for init_options supported.

For example, in order to disable the inlayHints option:

require'lspconfig'.pylsp.setup{
  settings = {
    rescript = {
      settings = {
        inlayHints = { enable = false },
      },
    },
  }
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.rescriptls.package

The rescriptls package to use.

Type: null or package

Default: pkgs.rescript-language-server

Declared by:

plugins.lsp.servers.rescriptls.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.rescriptls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.rescriptls.extraOptions

Extra options for the rescriptls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.rescriptls.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.rescriptls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.rescriptls.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:

plugins.lsp.servers.rescriptls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.rescriptls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.rescriptls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

rls

URL: https://www.rustup.rs/

plugins.lsp.servers.rls.enable

Whether to enable https://github.com/rust-lang/rls

rls, a language server for Rust

See https://github.com/rust-lang/rls#setup to setup rls itself. See https://github.com/rust-lang/rls#configuration for rls-specific settings. All settings listed on the rls configuration section of the readme must be set under settings.rust as follows:

nvim_lsp.rls.setup {
  settings = {
    rust = {
      unstable_features = true,
      build_on_save = false,
      all_features = true,
    },
  },
}

If you want to use rls for a particular build, eg nightly, set cmd as follows:

cmd = {"rustup", "run", "nightly", "rls"}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.rls.package

The rls package to use.

Type: null or package

Default: pkgs.rustup

Declared by:

plugins.lsp.servers.rls.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.rls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.rls.extraOptions

Extra options for the rls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.rls.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.rls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.rls.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:

plugins.lsp.servers.rls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.rls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.rls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

rnix

plugins.lsp.servers.rnix.enable

Whether to enable https://github.com/nix-community/rnix-lsp

A language server for Nix providing basic completion and formatting via nixpkgs-fmt.

To install manually, run cargo install rnix-lsp. If you are using nix, rnix-lsp is in nixpkgs.

This server accepts configuration via the settings key.

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.rnix.package

Package to use for rnix. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.rnix.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.rnix.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.rnix.extraOptions

Extra options for the rnix language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.rnix.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.rnix.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.rnix.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:

plugins.lsp.servers.rnix.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.rnix.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.rnix.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

robotcode

plugins.lsp.servers.robotcode.enable

Whether to enable https://robotcode.io

RobotCode - Language Server Protocol implementation for Robot Framework. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.robotcode.package

Package to use for robotcode. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.robotcode.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.robotcode.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.robotcode.extraOptions

Extra options for the robotcode language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.robotcode.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.robotcode.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.robotcode.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:

plugins.lsp.servers.robotcode.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.robotcode.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.robotcode.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

robotframework_ls

plugins.lsp.servers.robotframework_ls.enable

Whether to enable https://github.com/robocorp/robotframework-lsp

Language Server Protocol implementation for Robot Framework. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.robotframework_ls.package

Package to use for robotframework_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.robotframework_ls.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.robotframework_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.robotframework_ls.extraOptions

Extra options for the robotframework_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.robotframework_ls.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.robotframework_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.robotframework_ls.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:

plugins.lsp.servers.robotframework_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.robotframework_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.robotframework_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

roc_ls

plugins.lsp.servers.roc_ls.enable

Whether to enable https://github.com/roc-lang/roc/tree/main/crates/language_server#roc_language_server

The built-in language server for the Roc programming language. Installation .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.roc_ls.package

Package to use for roc_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.roc_ls.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.roc_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.roc_ls.extraOptions

Extra options for the roc_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.roc_ls.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.roc_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.roc_ls.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:

plugins.lsp.servers.roc_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.roc_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.roc_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

rome

plugins.lsp.servers.rome.enable

Whether to enable https://rome.tools

Language server for the Rome Frontend Toolchain.

(Unmaintained, use Biome instead.)

npm install [-g] rome

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.rome.package

Package to use for rome. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.rome.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.rome.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.rome.extraOptions

Extra options for the rome language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.rome.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.rome.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.rome.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:

plugins.lsp.servers.rome.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.rome.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.rome.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

rpmspec

plugins.lsp.servers.rpmspec.enable

Whether to enable https://github.com/dcermak/rpm-spec-language-server

Language server protocol (LSP) support for RPM Spec files.

rpm-spec-language-server can be installed by running,

pip install rpm-spec-language-server

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.rpmspec.package

Package to use for rpmspec. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.rpmspec.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.rpmspec.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.rpmspec.extraOptions

Extra options for the rpmspec language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.rpmspec.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.rpmspec.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.rpmspec.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:

plugins.lsp.servers.rpmspec.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.rpmspec.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.rpmspec.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

rubocop

plugins.lsp.servers.rubocop.enable

Whether to enable https://github.com/rubocop/rubocop .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.rubocop.package

The rubocop package to use.

Type: null or package

Default: pkgs.rubocop

Declared by:

plugins.lsp.servers.rubocop.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.rubocop.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.rubocop.extraOptions

Extra options for the rubocop language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.rubocop.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.rubocop.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.rubocop.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:

plugins.lsp.servers.rubocop.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.rubocop.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.rubocop.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

ruby_lsp

plugins.lsp.servers.ruby_lsp.enable

Whether to enable https://shopify.github.io/ruby-lsp/

This gem is an implementation of the language server protocol specification for Ruby, used to improve editor features.

Install the gem. There’s no need to require it, since the server is used as a standalone executable.

gem install ruby-lsp
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.ruby_lsp.package

The ruby_lsp package to use.

Type: null or package

Default: pkgs.ruby-lsp

Declared by:

plugins.lsp.servers.ruby_lsp.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.ruby_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.ruby_lsp.extraOptions

Extra options for the ruby_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.ruby_lsp.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.ruby_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.ruby_lsp.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:

plugins.lsp.servers.ruby_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.ruby_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.ruby_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

ruff

URL: https://github.com/astral-sh/ruff

plugins.lsp.servers.ruff.enable

Whether to enable https://github.com/astral-sh/ruff

A Language Server Protocol implementation for Ruff, an extremely fast Python linter and code formatter, written in Rust. It can be installed via pip.

pip install ruff

Available in Ruff v0.4.5 in beta and stabilized in Ruff v0.5.3.

This is the new built-in language server written in Rust. It supports the same feature set as ruff-lsp, but with superior performance and no installation required. Note that the ruff-lsp server will continue to be maintained until further notice.

Server settings can be provided via:

require('lspconfig').ruff.setup({
  init_options = {
    settings = {
      -- Server settings should go here
    }
  }
})

Refer to the documentation for more details.

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.ruff.package

The ruff package to use.

Type: null or package

Default: pkgs.ruff

Declared by:

plugins.lsp.servers.ruff.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.ruff.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.ruff.extraOptions

Extra options for the ruff language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.ruff.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.ruff.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.ruff.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:

plugins.lsp.servers.ruff.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.ruff.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.ruff.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

ruff_lsp

plugins.lsp.servers.ruff_lsp.enable

Whether to enable https://github.com/astral-sh/ruff-lsp

A Language Server Protocol implementation for Ruff, an extremely fast Python linter and code transformation tool, written in Rust. It can be installed via pip.

pip install ruff-lsp

Extra CLI arguments for ruff can be provided via

require'lspconfig'.ruff_lsp.setup{
  init_options = {
    settings = {
      -- Any extra CLI arguments for `ruff` go here.
      args = {},
    }
  }
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.ruff_lsp.package

Package to use for ruff_lsp. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.ruff_lsp.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.ruff_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.ruff_lsp.extraOptions

Extra options for the ruff_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.ruff_lsp.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.ruff_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.ruff_lsp.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:

plugins.lsp.servers.ruff_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.ruff_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.ruff_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

rune_languageserver

URL: https://crates.io/crates/rune-languageserver

plugins.lsp.servers.rune_languageserver.enable

Whether to enable https://crates.io/crates/rune-languageserver

A language server for the Rune Language, an embeddable dynamic programming language for Rust .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.rune_languageserver.package

The rune_languageserver package to use.

Type: null or package

Default: pkgs.rune-languageserver

Declared by:

plugins.lsp.servers.rune_languageserver.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.rune_languageserver.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.rune_languageserver.extraOptions

Extra options for the rune_languageserver language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.rune_languageserver.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.rune_languageserver.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.rune_languageserver.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:

plugins.lsp.servers.rune_languageserver.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.rune_languageserver.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.rune_languageserver.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

rust_analyzer

URL: https://rust-analyzer.github.io

plugins.lsp.servers.rust_analyzer.enable

Whether to enable https://github.com/rust-lang/rust-analyzer

rust-analyzer (aka rls 2.0), a language server for Rust

See docs for extra settings. The settings can be used like this:

require'lspconfig'.rust_analyzer.setup{
  settings = {
    ['rust-analyzer'] = {
      diagnostics = {
        enable = false;
      }
    }
  }
}

Note: do not set init_options for this LS config, it will be automatically populated by the contents of settings[“rust-analyzer”] per https://github.com/rust-lang/rust-analyzer/blob/eb5da56d839ae0a9e9f50774fa3eb78eb0964550/docs/dev/lsp-extensions.md?plain=1#L26. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.rust_analyzer.package

The rust_analyzer package to use.

Type: null or package

Default: pkgs.rust-analyzer

Declared by:

plugins.lsp.servers.rust_analyzer.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.rust_analyzer.cargoPackage

The cargo package to use.

Type: package

Default: pkgs.cargo

Declared by:

plugins.lsp.servers.rust_analyzer.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.rust_analyzer.extraOptions

Extra options for the rust_analyzer language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.rust_analyzer.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.rust_analyzer.installCargo

Whether to install cargo.

Type: null or boolean

Default: null

Example: true

Declared by:

plugins.lsp.servers.rust_analyzer.installRustc

Whether to install rustc.

Type: null or boolean

Default: null

Example: true

Declared by:

plugins.lsp.servers.rust_analyzer.installRustfmt

Whether to install rustfmt.

Type: null or boolean

Default: null

Example: true

Declared by:

plugins.lsp.servers.rust_analyzer.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.rust_analyzer.rustcPackage

The rustc package to use.

Type: package

Default: pkgs.rustc

Declared by:

plugins.lsp.servers.rust_analyzer.rustfmtPackage

The rustfmt package to use.

Type: package

Default: pkgs.rustfmt

Declared by:

plugins.lsp.servers.rust_analyzer.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.rust_analyzer.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.rust_analyzer.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

plugins.lsp.servers.rust_analyzer.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:

plugins.lsp.servers.rust_analyzer.settings.checkOnSave

Run the check command for diagnostics on save.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.linkedProjects

Disable project auto-discovery in favor of explicitly specified set of projects.

Elements must be paths pointing to Cargo.toml, rust-project.json, .rs files (which will be treated as standalone files) or JSON objects in rust-project.json format.

Type: null or (list of (string or attribute set of anything))

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.rust_analyzer.settings.numThreads

How many worker threads in the main loop. The default null means to pick automatically.

Values:

  • physical: Use the number of physical cores
  • logical: Use the number of logical cores

Type: null or integer or floating point number between 0 and 255 (both inclusive) or one of “physical”, “logical”

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.rust_analyzer.settings.assist.emitMustUse

Whether to insert #[must_use] when generating as_ methods for enum variants.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.assist.expressionFillDefault

Placeholder expression to use for missing expressions in assists.

Values:

  • todo: Fill missing expressions with the todo macro
  • default: Fill missing expressions with reasonable defaults, new or default constructors.

Type: null or one of “todo”, “default”

Default: null

Plugin default: "todo"

Declared by:

plugins.lsp.servers.rust_analyzer.settings.assist.termSearch.borrowcheck

Enable borrow checking for term search code assists. If set to false, also there will be more suggestions, but some of them may not borrow-check.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.assist.termSearch.fuel

Term search fuel in “units of work” for assists (Defaults to 1800).

Type: null or signed integer

Default: null

Plugin default: 1800

Declared by:

plugins.lsp.servers.rust_analyzer.settings.cachePriming.enable

Warm up caches on project load.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.cachePriming.numThreads

How many worker threads to handle priming caches. The default 0 means to pick automatically.

Values:

  • physical: Use the number of physical cores
  • logical: Use the number of logical cores

Type: null or integer or floating point number between 0 and 255 (both inclusive) or one of “physical”, “logical”

Default: null

Plugin default: "physical"

Declared by:

plugins.lsp.servers.rust_analyzer.settings.cargo.allTargets

Pass --all-targets to cargo invocation.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.cargo.autoreload

Automatically refresh project info via cargo metadata on Cargo.toml or .cargo/config.toml changes.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.cargo.cfgs

List of cfg options to enable with the given values.

To enable a name without a value, use "key". To enable a name with a value, use "key=value". To disable, prefix the entry with a !.

Type: null or (list of string)

Default: null

Plugin default:

[
  "debug_assertions"
  "miri"
]

Declared by:

plugins.lsp.servers.rust_analyzer.settings.cargo.extraArgs

Extra arguments that are passed to every cargo invocation.

Type: null or (list of string)

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.rust_analyzer.settings.cargo.extraEnv

Extra environment variables that will be set when running cargo, rustc or other commands within the workspace. Useful for setting RUSTFLAGS.

Type: null or (attribute set of anything)

Default: null

Plugin default: { }

Declared by:

plugins.lsp.servers.rust_analyzer.settings.cargo.features

List of features to activate.

Set this to "all" to pass --all-features to cargo.

Values:

  • all: Pass --all-features to cargo

Type: null or value “all” (singular enum) or list of string

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.rust_analyzer.settings.cargo.noDefaultFeatures

Whether to pass --no-default-features to cargo.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.cargo.noDeps

Whether to skip fetching dependencies. If set to “true”, the analysis is performed entirely offline, and Cargo metadata for dependencies is not fetched.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.cargo.sysroot

Relative path to the sysroot, or “discover” to try to automatically find it via “rustc --print sysroot”.

Unsetting this disables sysroot loading.

This option does not take effect until rust-analyzer is restarted.

Type: null or string

Default: null

Plugin default: "discover"

Declared by:

plugins.lsp.servers.rust_analyzer.settings.cargo.sysrootSrc

Relative path to the sysroot library sources. If left unset, this will default to {cargo.sysroot}/lib/rustlib/src/rust/library.

This option does not take effect until rust-analyzer is restarted.

Type: null or string

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.rust_analyzer.settings.cargo.target

Compilation target override (target tuple).

Type: null or string

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.rust_analyzer.settings.cargo.targetDir

Optional path to a rust-analyzer specific target directory. This prevents rust-analyzer’s cargo check and initial build-script and proc-macro building from locking the Cargo.lock at the expense of duplicating build artifacts.

Set to true to use a subdirectory of the existing target directory or set to a path relative to the workspace to use that path.

Type: null or boolean or string

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.rust_analyzer.settings.cargo.buildScripts.enable

Run build scripts (build.rs) for more precise code analysis.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.cargo.buildScripts.invocationStrategy

Specifies the invocation strategy to use when running the build scripts command. If per_workspace is set, the command will be executed for each Rust workspace with the workspace as the working directory. If once is set, the command will be executed once with the opened project as the working directory. This config only has an effect when #rust-analyzer.cargo.buildScripts.overrideCommand# is set.

Values:

  • per_workspace: The command will be executed for each Rust workspace with the workspace as the working directory.
  • once: The command will be executed once with the opened project as the working directory.

Type: null or one of “per_workspace”, “once”

Default: null

Plugin default: "per_workspace"

Declared by:

plugins.lsp.servers.rust_analyzer.settings.cargo.buildScripts.overrideCommand

Override the command rust-analyzer uses to run build scripts and build procedural macros. The command is required to output json and should therefore include --message-format=json or a similar option.

If there are multiple linked projects/workspaces, this command is invoked for each of them, with the working directory being the workspace root (i.e., the folder containing the Cargo.toml). This can be overwritten by changing #rust-analyzer.cargo.buildScripts.invocationStrategy#.

By default, a cargo invocation will be constructed for the configured targets and features, with the following base command line:

cargo check --quiet --workspace --message-format=json --all-targets --keep-going

.

Type: null or (list of string)

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.rust_analyzer.settings.cargo.buildScripts.rebuildOnSave

Rerun proc-macros building/build-scripts running when proc-macro or build-script sources change and are saved.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.cargo.buildScripts.useRustcWrapper

Use RUSTC_WRAPPER=rust-analyzer when running build scripts to avoid checking unnecessary things.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.cfg.setTest

Set cfg(test) for local crates. Defaults to true.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.check.allTargets

Check all targets and tests (--all-targets). Defaults to #rust-analyzer.cargo.allTargets#.

Type: null or boolean

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.rust_analyzer.settings.check.command

Cargo command to use for cargo check.

Type: null or string

Default: null

Plugin default: "check"

Declared by:

plugins.lsp.servers.rust_analyzer.settings.check.extraArgs

Extra arguments for cargo check.

Type: null or (list of string)

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.rust_analyzer.settings.check.extraEnv

Extra environment variables that will be set when running cargo check. Extends #rust-analyzer.cargo.extraEnv#.

Type: null or (attribute set of anything)

Default: null

Plugin default: { }

Declared by:

plugins.lsp.servers.rust_analyzer.settings.check.features

List of features to activate. Defaults to #rust-analyzer.cargo.features#.

Set to "all" to pass --all-features to Cargo.

Values:

  • all: Pass --all-features to cargo

Type: null or value “all” (singular enum) or list of string

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.rust_analyzer.settings.check.ignore

List of cargo check (or other command specified in check.command) diagnostics to ignore.

For example for cargo check: dead_code, unused_imports, unused_variables,…

Type: null or (list of string)

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.rust_analyzer.settings.check.invocationStrategy

Specifies the invocation strategy to use when running the check command. If per_workspace is set, the command will be executed for each workspace. If once is set, the command will be executed once. This config only has an effect when #rust-analyzer.check.overrideCommand# is set.

Values:

  • per_workspace: The command will be executed for each Rust workspace with the workspace as the working directory.
  • once: The command will be executed once with the opened project as the working directory.

Type: null or one of “per_workspace”, “once”

Default: null

Plugin default: "per_workspace"

Declared by:

plugins.lsp.servers.rust_analyzer.settings.check.noDefaultFeatures

Whether to pass --no-default-features to Cargo. Defaults to #rust-analyzer.cargo.noDefaultFeatures#.

Type: null or boolean

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.rust_analyzer.settings.check.overrideCommand

Override the command rust-analyzer uses instead of cargo check for diagnostics on save. The command is required to output json and should therefore include --message-format=json or a similar option (if your client supports the colorDiagnosticOutput experimental capability, you can use --message-format=json-diagnostic-rendered-ansi).

If you’re changing this because you’re using some tool wrapping Cargo, you might also want to change #rust-analyzer.cargo.buildScripts.overrideCommand#.

If there are multiple linked projects/workspaces, this command is invoked for each of them, with the working directory being the workspace root (i.e., the folder containing the Cargo.toml). This can be overwritten by changing #rust-analyzer.check.invocationStrategy#.

If $saved_file is part of the command, rust-analyzer will pass the absolute path of the saved file to the provided command. This is intended to be used with non-Cargo build systems. Note that $saved_file is experimental and may be removed in the future.

An example command would be:

cargo check --workspace --message-format=json --all-targets

.

Type: null or (list of string)

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.rust_analyzer.settings.check.targets

Check for specific targets. Defaults to #rust-analyzer.cargo.target# if empty.

Can be a single target, e.g. "x86_64-unknown-linux-gnu" or a list of targets, e.g. ["aarch64-apple-darwin", "x86_64-apple-darwin"].

Aliased as "checkOnSave.targets".

Type: null or string or list of string

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.rust_analyzer.settings.check.workspace

Whether --workspace should be passed to cargo check. If false, -p <package> will be passed instead if applicable. In case it is not, no check will be performed.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.completion.addSemicolonToUnit

Whether to automatically add a semicolon when completing unit-returning functions.

In match arms it completes a comma instead.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.completion.excludeTraits

A list of full paths to traits whose methods to exclude from completion.

Methods from these traits won’t be completed, even if the trait is in scope. However, they will still be suggested on expressions whose type is dyn Trait, impl Trait or T where T: Trait.

Note that the trait themselves can still be completed.

Type: null or (list of string)

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.rust_analyzer.settings.completion.hideDeprecated

Whether to omit deprecated items from autocompletion. By default they are marked as deprecated but not hidden.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.completion.limit

Maximum number of completions to return. If None, the limit is infinite.

Type: null or signed integer

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.rust_analyzer.settings.completion.autoAwait.enable

Toggles the additional completions that automatically show method calls and field accesses with await prefixed to them when completing on a future.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.completion.autoIter.enable

Toggles the additional completions that automatically show method calls with iter() or into_iter() prefixed to them when completing on a type that has them.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.completion.autoimport.enable

Toggles the additional completions that automatically add imports when completed. Note that your client must specify the additionalTextEdits LSP client capability to truly have this feature enabled.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.completion.autoimport.exclude

A list of full paths to items to exclude from auto-importing completions.

Traits in this list won’t have their methods suggested in completions unless the trait is in scope.

You can either specify a string path which defaults to type “always” or use the more verbose form { "path": "path::to::item", type: "always" }.

For traits the type “methods” can be used to only exclude the methods but not the trait itself.

This setting also inherits #rust-analyzer.completion.excludeTraits#.

Type: null or (list of (string or (submodule)))

Default: null

Plugin default:

[
  {
    path = "core::borrow::Borrow";
    type = "methods";
  }
  {
    path = "core::borrow::BorrowMut";
    type = "methods";
  }
]

Declared by:

plugins.lsp.servers.rust_analyzer.settings.completion.autoself.enable

Toggles the additional completions that automatically show method calls and field accesses with self prefixed to them when inside a method.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.completion.callable.snippets

Whether to add parenthesis and argument snippets when completing function.

Values:

  • fill_arguments: Add call parentheses and pre-fill arguments.
  • add_parentheses: Add call parentheses.
  • none: Do no snippet completions for callables.

Type: null or one of “fill_arguments”, “add_parentheses”, “none”

Default: null

Plugin default: "fill_arguments"

Declared by:

plugins.lsp.servers.rust_analyzer.settings.completion.fullFunctionSignatures.enable

Whether to show full function/method signatures in completion docs.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.completion.postfix.enable

Whether to show postfix snippets like dbg, if, not, etc.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.completion.privateEditable.enable

Enables completions of private items and fields that are defined in the current workspace even if they are not visible at the current position.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.completion.snippets.custom

Custom completion snippets.

Type: null or (attribute set of anything)

Default: null

Plugin default:

{
  "Arc::new" = {
    body = "Arc::new(\${receiver})";
    description = "Put the expression into an `Arc`";
    postfix = "arc";
    requires = "std::sync::Arc";
    scope = "expr";
  };
  "Box::pin" = {
    body = "Box::pin(\${receiver})";
    description = "Put the expression into a pinned `Box`";
    postfix = "pinbox";
    requires = "std::boxed::Box";
    scope = "expr";
  };
  Err = {
    body = "Err(\${receiver})";
    description = "Wrap the expression in a `Result::Err`";
    postfix = "err";
    scope = "expr";
  };
  Ok = {
    body = "Ok(\${receiver})";
    description = "Wrap the expression in a `Result::Ok`";
    postfix = "ok";
    scope = "expr";
  };
  "Rc::new" = {
    body = "Rc::new(\${receiver})";
    description = "Put the expression into an `Rc`";
    postfix = "rc";
    requires = "std::rc::Rc";
    scope = "expr";
  };
  Some = {
    body = "Some(\${receiver})";
    description = "Wrap the expression in an `Option::Some`";
    postfix = "some";
    scope = "expr";
  };
}

Declared by:

plugins.lsp.servers.rust_analyzer.settings.completion.termSearch.enable

Whether to enable term search based snippets like Some(foo.bar().baz()).

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.completion.termSearch.fuel

Term search fuel in “units of work” for autocompletion (Defaults to 1000).

Type: null or signed integer

Default: null

Plugin default: 1000

Declared by:

plugins.lsp.servers.rust_analyzer.settings.diagnostics.enable

Whether to show native rust-analyzer diagnostics.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.diagnostics.disabled

List of rust-analyzer diagnostics to disable.

Type: null or (list of string)

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.rust_analyzer.settings.diagnostics.remapPrefix

Map of prefixes to be substituted when parsing diagnostic file paths. This should be the reverse mapping of what is passed to rustc as --remap-path-prefix.

Type: null or (attribute set of anything)

Default: null

Plugin default: { }

Declared by:

plugins.lsp.servers.rust_analyzer.settings.diagnostics.warningsAsHint

List of warnings that should be displayed with hint severity.

The warnings will be indicated by faded text or three dots in code and will not show up in the Problems Panel.

Type: null or (list of string)

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.rust_analyzer.settings.diagnostics.warningsAsInfo

List of warnings that should be displayed with info severity.

The warnings will be indicated by a blue squiggly underline in code and a blue icon in the Problems Panel.

Type: null or (list of string)

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.rust_analyzer.settings.diagnostics.experimental.enable

Whether to show experimental rust-analyzer diagnostics that might have more false positives than usual.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.diagnostics.styleLints.enable

Whether to run additional style lints.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.files.exclude

These paths (file/directories) will be ignored by rust-analyzer. They are relative to the workspace root, and globs are not supported. You may also need to add the folders to Code’s files.watcherExclude.

Type: null or (list of string)

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.rust_analyzer.settings.files.watcher

Controls file watching implementation.

Values:

  • client: Use the client (editor) to watch files for changes
  • server: Use server-side file watching

Type: null or one of “client”, “server”

Default: null

Plugin default: "client"

Declared by:

plugins.lsp.servers.rust_analyzer.settings.highlightRelated.breakPoints.enable

Enables highlighting of related references while the cursor is on break, loop, while, or for keywords.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.highlightRelated.closureCaptures.enable

Enables highlighting of all captures of a closure while the cursor is on the | or move keyword of a closure.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.highlightRelated.exitPoints.enable

Enables highlighting of all exit points while the cursor is on any return, ?, fn, or return type arrow (->).

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.highlightRelated.references.enable

Enables highlighting of related references while the cursor is on any identifier.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.highlightRelated.yieldPoints.enable

Enables highlighting of all break points for a loop or block context while the cursor is on any async or await keywords.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.hover.maxSubstitutionLength

Whether to show what types are used as generic arguments in calls etc. on hover, and what is their max length to show such types, beyond it they will be shown with ellipsis.

This can take three values: null means “unlimited”, the string "hide" means to not show generic substitutions at all, and a number means to limit them to X characters.

The default is 20 characters.

Type: null or value “hide” (singular enum) or signed integer

Default: null

Plugin default: 20

Declared by:

plugins.lsp.servers.rust_analyzer.settings.hover.actions.enable

Whether to show HoverActions in Rust files.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.hover.actions.debug.enable

Whether to show Debug action. Only applies when #rust-analyzer.hover.actions.enable# is set.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.hover.actions.gotoTypeDef.enable

Whether to show Go to Type Definition action. Only applies when #rust-analyzer.hover.actions.enable# is set.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.hover.actions.implementations.enable

Whether to show Implementations action. Only applies when #rust-analyzer.hover.actions.enable# is set.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.hover.actions.references.enable

Whether to show References action. Only applies when #rust-analyzer.hover.actions.enable# is set.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.hover.actions.run.enable

Whether to show Run action. Only applies when #rust-analyzer.hover.actions.enable# is set.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.hover.actions.updateTest.enable

Whether to show Update Test action. Only applies when #rust-analyzer.hover.actions.enable# and #rust-analyzer.hover.actions.run.enable# are set.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.hover.documentation.enable

Whether to show documentation on hover.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.hover.documentation.keywords.enable

Whether to show keyword hover popups. Only applies when #rust-analyzer.hover.documentation.enable# is set.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.hover.dropGlue.enable

Whether to show drop glue information on hover.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.hover.links.enable

Use markdown syntax for links on hover.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.hover.memoryLayout.enable

Whether to show memory layout data on hover.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.hover.memoryLayout.alignment

How to render the align information in a memory layout hover.

Values:

  • both: Render as 12 (0xC)
  • decimal: Render as 12
  • hexadecimal: Render as 0xC

Type: null or one of “both”, “decimal”, “hexadecimal”

Default: null

Plugin default: "hexadecimal"

Declared by:

plugins.lsp.servers.rust_analyzer.settings.hover.memoryLayout.niches

How to render the niche information in a memory layout hover.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.hover.memoryLayout.offset

How to render the offset information in a memory layout hover.

Values:

  • both: Render as 12 (0xC)
  • decimal: Render as 12
  • hexadecimal: Render as 0xC

Type: null or one of “both”, “decimal”, “hexadecimal”

Default: null

Plugin default: "hexadecimal"

Declared by:

plugins.lsp.servers.rust_analyzer.settings.hover.memoryLayout.size

How to render the size information in a memory layout hover.

Values:

  • both: Render as 12 (0xC)
  • decimal: Render as 12
  • hexadecimal: Render as 0xC

Type: null or one of “both”, “decimal”, “hexadecimal”

Default: null

Plugin default: "both"

Declared by:

plugins.lsp.servers.rust_analyzer.settings.hover.show.enumVariants

How many variants of an enum to display when hovering on. Show none if empty.

Type: null or signed integer

Default: null

Plugin default: 5

Declared by:

plugins.lsp.servers.rust_analyzer.settings.hover.show.fields

How many fields of a struct, variant or union to display when hovering on. Show none if empty.

Type: null or signed integer

Default: null

Plugin default: 5

Declared by:

plugins.lsp.servers.rust_analyzer.settings.hover.show.traitAssocItems

How many associated items of a trait to display when hovering a trait.

Type: null or signed integer

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.rust_analyzer.settings.imports.preferNoStd

Prefer to unconditionally use imports of the core and alloc crate, over the std crate.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.imports.preferPrelude

Whether to prefer import paths containing a prelude module.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.imports.prefix

The path structure for newly inserted paths to use.

Values:

  • plain: Insert import paths relative to the current module, using up to one super prefix if the parent module contains the requested item.
  • self: Insert import paths relative to the current module, using up to one super prefix if the parent module contains the requested item. Prefixes self in front of the path if it starts with a module.
  • crate: Force import paths to be absolute by always starting them with crate or the extern crate name they come from.

Type: null or one of “plain”, “self”, “crate”

Default: null

Plugin default: "plain"

Declared by:

plugins.lsp.servers.rust_analyzer.settings.imports.prefixExternPrelude

Whether to prefix external (including std, core) crate imports with ::. e.g. “use ::std::io::Read;”.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.imports.granularity.enforce

Whether to enforce the import granularity setting for all files. If set to false rust-analyzer will try to keep import styles consistent per file.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.imports.granularity.group

How imports should be grouped into use statements.

Values:

  • preserve: Do not change the granularity of any imports and preserve the original structure written by the developer.
  • crate: Merge imports from the same crate into a single use statement. Conversely, imports from different crates are split into separate statements.
  • module: Merge imports from the same module into a single use statement. Conversely, imports from different modules are split into separate statements.
  • item: Flatten imports so that each has its own use statement.
  • one: Merge all imports into a single use statement as long as they have the same visibility and attributes.

Type: null or one of “preserve”, “crate”, “module”, “item”, “one”

Default: null

Plugin default: "crate"

Declared by:

plugins.lsp.servers.rust_analyzer.settings.imports.group.enable

Group inserted imports by the following order. Groups are separated by newlines.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.imports.merge.glob

Whether to allow import insertion to merge new imports into single path glob imports like use std::fmt::*;.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.inlayHints.closureStyle

Closure notation in type and chaining inlay hints.

Values:

  • impl_fn: impl_fn: impl FnMut(i32, u64) -> i8
  • rust_analyzer: rust_analyzer: |i32, u64| -> i8
  • with_id: with_id: {closure#14352}, where that id is the unique number of the closure in r-a internals
  • hide: hide: Shows ... for every closure type

Type: null or one of “impl_fn”, “rust_analyzer”, “with_id”, “hide”

Default: null

Plugin default: "impl_fn"

Declared by:

plugins.lsp.servers.rust_analyzer.settings.inlayHints.maxLength

Maximum length for inlay hints. Set to null to have an unlimited length.

Type: null or signed integer

Default: null

Plugin default: 25

Declared by:

plugins.lsp.servers.rust_analyzer.settings.inlayHints.renderColons

Whether to render leading colons for type hints, and trailing colons for parameter hints.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.inlayHints.bindingModeHints.enable

Whether to show inlay type hints for binding modes.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.inlayHints.chainingHints.enable

Whether to show inlay type hints for method chains.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.inlayHints.closingBraceHints.enable

Whether to show inlay hints after a closing } to indicate what item it belongs to.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.inlayHints.closingBraceHints.minLines

Minimum number of lines required before the } until the hint is shown (set to 0 or 1 to always show them).

Type: null or signed integer

Default: null

Plugin default: 25

Declared by:

plugins.lsp.servers.rust_analyzer.settings.inlayHints.closureCaptureHints.enable

Whether to show inlay hints for closure captures.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.inlayHints.closureReturnTypeHints.enable

Whether to show inlay type hints for return types of closures.

Values:

  • always: Always show type hints for return types of closures.
  • never: Never show type hints for return types of closures.
  • with_block: Only show type hints for return types of closures with blocks.

Type: null or one of “always”, “never”, “with_block”

Default: null

Plugin default: "never"

Declared by:

plugins.lsp.servers.rust_analyzer.settings.inlayHints.discriminantHints.enable

Whether to show enum variant discriminant hints.

Values:

  • always: Always show all discriminant hints.
  • never: Never show discriminant hints.
  • fieldless: Only show discriminant hints on fieldless enum variants.

Type: null or one of “always”, “never”, “fieldless”

Default: null

Plugin default: "never"

Declared by:

plugins.lsp.servers.rust_analyzer.settings.inlayHints.expressionAdjustmentHints.enable

Whether to show inlay hints for type adjustments.

Values:

  • always: Always show all adjustment hints.
  • never: Never show adjustment hints.
  • reborrow: Only show auto borrow and dereference adjustment hints.

Type: null or one of “always”, “never”, “reborrow”

Default: null

Plugin default: "never"

Declared by:

plugins.lsp.servers.rust_analyzer.settings.inlayHints.expressionAdjustmentHints.hideOutsideUnsafe

Whether to hide inlay hints for type adjustments outside of unsafe blocks.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.inlayHints.expressionAdjustmentHints.mode

Whether to show inlay hints as postfix ops (.* instead of *, etc).

Values:

  • prefix: Always show adjustment hints as prefix (*expr).
  • postfix: Always show adjustment hints as postfix (expr.*).
  • prefer_prefix: Show prefix or postfix depending on which uses less parenthesis, preferring prefix.
  • prefer_postfix: Show prefix or postfix depending on which uses less parenthesis, preferring postfix.

Type: null or one of “prefix”, “postfix”, “prefer_prefix”, “prefer_postfix”

Default: null

Plugin default: "prefix"

Declared by:

plugins.lsp.servers.rust_analyzer.settings.inlayHints.genericParameterHints.const.enable

Whether to show const generic parameter name inlay hints.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.inlayHints.genericParameterHints.lifetime.enable

Whether to show generic lifetime parameter name inlay hints.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.inlayHints.genericParameterHints.type.enable

Whether to show generic type parameter name inlay hints.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.inlayHints.implicitDrops.enable

Whether to show implicit drop hints.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.inlayHints.implicitSizedBoundHints.enable

Whether to show inlay hints for the implied type parameter Sized bound.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.inlayHints.lifetimeElisionHints.enable

Whether to show inlay type hints for elided lifetimes in function signatures.

Values:

  • always: Always show lifetime elision hints.
  • never: Never show lifetime elision hints.
  • skip_trivial: Only show lifetime elision hints if a return type is involved.

Type: null or one of “always”, “never”, “skip_trivial”

Default: null

Plugin default: "never"

Declared by:

plugins.lsp.servers.rust_analyzer.settings.inlayHints.lifetimeElisionHints.useParameterNames

Whether to prefer using parameter names as the name for elided lifetime hints if possible.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.inlayHints.parameterHints.enable

Whether to show function parameter name inlay hints at the call site.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.inlayHints.rangeExclusiveHints.enable

Whether to show exclusive range inlay hints.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.inlayHints.reborrowHints.enable

Whether to show inlay hints for compiler inserted reborrows. This setting is deprecated in favor of #rust-analyzer.inlayHints.expressionAdjustmentHints.enable#.

Values:

  • always: Always show reborrow hints.
  • never: Never show reborrow hints.
  • mutable: Only show mutable reborrow hints.

Type: null or one of “always”, “never”, “mutable”

Default: null

Plugin default: "never"

Declared by:

plugins.lsp.servers.rust_analyzer.settings.inlayHints.typeHints.enable

Whether to show inlay type hints for variables.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.inlayHints.typeHints.hideClosureInitialization

Whether to hide inlay type hints for let statements that initialize to a closure. Only applies to closures with blocks, same as #rust-analyzer.inlayHints.closureReturnTypeHints.enable#.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.inlayHints.typeHints.hideClosureParameter

Whether to hide inlay parameter type hints for closures.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.inlayHints.typeHints.hideNamedConstructor

Whether to hide inlay type hints for constructors.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.interpret.tests

Enables the experimental support for interpreting tests.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.joinLines.joinAssignments

Join lines merges consecutive declaration and initialization of an assignment.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.joinLines.joinElseIf

Join lines inserts else between consecutive ifs.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.joinLines.removeTrailingComma

Join lines removes trailing commas.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.joinLines.unwrapTrivialBlock

Join lines unwraps trivial blocks.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.lens.enable

Whether to show CodeLens in Rust files.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.lens.location

Where to render annotations.

Values:

  • above_name: Render annotations above the name of the item.
  • above_whole_item: Render annotations above the whole item, including documentation comments and attributes.

Type: null or one of “above_name”, “above_whole_item”

Default: null

Plugin default: "above_name"

Declared by:

plugins.lsp.servers.rust_analyzer.settings.lens.debug.enable

Whether to show Debug lens. Only applies when #rust-analyzer.lens.enable# is set.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.lens.implementations.enable

Whether to show Implementations lens. Only applies when #rust-analyzer.lens.enable# is set.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.lens.references.adt.enable

Whether to show References lens for Struct, Enum, and Union. Only applies when #rust-analyzer.lens.enable# is set.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.lens.references.enumVariant.enable

Whether to show References lens for Enum Variants. Only applies when #rust-analyzer.lens.enable# is set.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.lens.references.method.enable

Whether to show Method References lens. Only applies when #rust-analyzer.lens.enable# is set.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.lens.references.trait.enable

Whether to show References lens for Trait. Only applies when #rust-analyzer.lens.enable# is set.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.lens.run.enable

Whether to show Run lens. Only applies when #rust-analyzer.lens.enable# is set.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.lens.updateTest.enable

Whether to show Update Test lens. Only applies when #rust-analyzer.lens.enable# and #rust-analyzer.lens.run.enable# are set.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.lru.capacity

Number of syntax trees rust-analyzer keeps in memory. Defaults to 128.

Type: null or integer between 0 and 65535 (both inclusive)

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.rust_analyzer.settings.lru.query.capacities

Sets the LRU capacity of the specified queries.

Type: null or (attribute set of anything)

Default: null

Plugin default: { }

Declared by:

plugins.lsp.servers.rust_analyzer.settings.notifications.cargoTomlNotFound

Whether to show can't find Cargo.toml error message.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.procMacro.enable

Enable support for procedural macros, implies #rust-analyzer.cargo.buildScripts.enable#.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.procMacro.ignored

These proc-macros will be ignored when trying to expand them.

This config takes a map of crate names with the exported proc-macro names to ignore as values.

Type: null or (attribute set of anything)

Default: null

Plugin default: { }

Declared by:

plugins.lsp.servers.rust_analyzer.settings.procMacro.server

Internal config, path to proc-macro server executable.

Type: null or string

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.rust_analyzer.settings.procMacro.attributes.enable

Expand attribute macros. Requires #rust-analyzer.procMacro.enable# to be set.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.references.excludeImports

Exclude imports from find-all-references.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.references.excludeTests

Exclude tests from find-all-references and call-hierarchy.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.runnables.command

Command to be executed instead of ‘cargo’ for runnables.

Type: null or string

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.rust_analyzer.settings.runnables.extraArgs

Additional arguments to be passed to cargo for runnables such as tests or binaries. For example, it may be --release.

Type: null or (list of string)

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.rust_analyzer.settings.runnables.extraTestBinaryArgs

Additional arguments to be passed through Cargo to launched tests, benchmarks, or doc-tests.

Unless the launched target uses a custom test harness, they will end up being interpreted as options to rustc’s built-in test harness (“libtest”).

Type: null or (list of string)

Default: null

Plugin default:

[
  "--show-output"
]

Declared by:

plugins.lsp.servers.rust_analyzer.settings.rustc.source

Path to the Cargo.toml of the rust compiler workspace, for usage in rustc_private projects, or “discover” to try to automatically find it if the rustc-dev component is installed.

Any project which uses rust-analyzer with the rustcPrivate crates must set [package.metadata.rust-analyzer] rustc_private=true to use it.

This option does not take effect until rust-analyzer is restarted.

Type: null or string

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.rust_analyzer.settings.rustfmt.extraArgs

Additional arguments to rustfmt.

Type: null or (list of string)

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.rust_analyzer.settings.rustfmt.overrideCommand

Advanced option, fully override the command rust-analyzer uses for formatting. This should be the equivalent of rustfmt here, and not that of cargo fmt. The file contents will be passed on the standard input and the formatted result will be read from the standard output.

Type: null or (list of string)

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.rust_analyzer.settings.rustfmt.rangeFormatting.enable

Enables the use of rustfmt’s unstable range formatting command for the textDocument/rangeFormatting request. The rustfmt option is unstable and only available on a nightly build.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.semanticHighlighting.nonStandardTokens

Whether the server is allowed to emit non-standard tokens and modifiers.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.semanticHighlighting.doc.comment.inject.enable

Inject additional highlighting into doc comments.

When enabled, rust-analyzer will highlight rust source in doc comments as well as intra doc links.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.semanticHighlighting.operator.enable

Use semantic tokens for operators.

When disabled, rust-analyzer will emit semantic tokens only for operator tokens when they are tagged with modifiers.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.semanticHighlighting.operator.specialization.enable

Use specialized semantic tokens for operators.

When enabled, rust-analyzer will emit special token types for operator tokens instead of the generic operator token type.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.semanticHighlighting.punctuation.enable

Use semantic tokens for punctuation.

When disabled, rust-analyzer will emit semantic tokens only for punctuation tokens when they are tagged with modifiers or have a special role.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.semanticHighlighting.punctuation.separate.macro.bang

When enabled, rust-analyzer will emit a punctuation semantic token for the ! of macro calls.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.semanticHighlighting.punctuation.specialization.enable

Use specialized semantic tokens for punctuation.

When enabled, rust-analyzer will emit special token types for punctuation tokens instead of the generic punctuation token type.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.rust_analyzer.settings.semanticHighlighting.strings.enable

Use semantic tokens for strings.

In some editors (e.g. vscode) semantic tokens override other highlighting grammars. By disabling semantic tokens for strings, other grammars can be used to highlight their contents.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.signatureInfo.detail

Show full signature of the callable. Only shows parameters if disabled.

Values:

  • full: Show the entire signature.
  • parameters: Show only the parameters.

Type: null or one of “full”, “parameters”

Default: null

Plugin default: "full"

Declared by:

plugins.lsp.servers.rust_analyzer.settings.signatureInfo.documentation.enable

Show documentation.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.rust_analyzer.settings.typing.triggerChars

Specify the characters allowed to invoke special on typing triggers.

  • typing = after let tries to smartly add ; if = is followed by an existing expression
  • typing = between two expressions adds ; when in statement position
  • typing = to turn an assignment into an equality comparison removes ; when in expression position
  • typing . in a chain method call auto-indents
  • typing { or ( in front of an expression inserts a closing } or ) after the expression
  • typing { in a use item adds a closing } in the right place
  • typing > to complete a return type -> will insert a whitespace after it
  • typing < in a path or type position inserts a closing > after the path or type.

Type: null or string

Default: null

Plugin default: "=."

Declared by:

plugins.lsp.servers.rust_analyzer.settings.vfs.extraIncludes

Additional paths to include in the VFS. Generally for code that is generated or otherwise managed by a build system outside of Cargo, though Cargo might be the eventual consumer.

Type: null or (list of string)

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.rust_analyzer.settings.workspace.discoverConfig

Enables automatic discovery of projects using [DiscoverWorkspaceConfig::command].

[DiscoverWorkspaceConfig] also requires setting progress_label and files_to_watch. progress_label is used for the title in progress indicators, whereas files_to_watch is used to determine which build system-specific files should be watched in order to reload rust-analyzer.

Below is an example of a valid configuration:

"rust-analyzer.workspace.discoverConfig": {
        "command": [
                "rust-project",
                "develop-json"
        ],
        "progressLabel": "rust-analyzer",
        "filesToWatch": [
                "BUCK"
        ]
}

On DiscoverWorkspaceConfig::command

Warning: This format is provisional and subject to change.

[DiscoverWorkspaceConfig::command] must return a JSON object corresponding to DiscoverProjectData::Finished:

#[derive(Debug, Clone, Deserialize, Serialize)]
#[serde(tag = "kind")]
#[serde(rename_all = "snake_case")]
enum DiscoverProjectData {
        Finished { buildfile: Utf8PathBuf, project: ProjectJsonData },
        Error { error: String, source: Option<String> },
        Progress { message: String },
}

As JSON, DiscoverProjectData::Finished is:

{
        // the internally-tagged representation of the enum.
        "kind": "finished",
        // the file used by a non-Cargo build system to define
        // a package or target.
        "buildfile": "rust-analyzer/BUILD",
        // the contents of a rust-project.json, elided for brevity
        "project": {
                "sysroot": "foo",
                "crates": []
        }
}

It is encouraged, but not required, to use the other variants on DiscoverProjectData to provide a more polished end-user experience.

DiscoverWorkspaceConfig::command may optionally include an {arg}, which will be substituted with the JSON-serialized form of the following enum:

#[derive(PartialEq, Clone, Debug, Serialize)]
#[serde(rename_all = "camelCase")]
pub enum DiscoverArgument {
     Path(AbsPathBuf),
     Buildfile(AbsPathBuf),
}

The JSON representation of DiscoverArgument::Path is:

{
        "path": "src/main.rs"
}

Similarly, the JSON representation of DiscoverArgument::Buildfile is:

{
        "buildfile": "BUILD"
}

DiscoverArgument::Path is used to find and generate a rust-project.json, and therefore, a workspace, whereas DiscoverArgument::buildfile is used to to update an existing workspace. As a reference for implementors, buck2’s rust-project will likely be useful: https://github.com/facebook/buck2/tree/main/integrations/rust-project.

Type: null or (submodule)

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.rust_analyzer.settings.workspace.discoverConfig.command

Type: list of string

Declared by:

plugins.lsp.servers.rust_analyzer.settings.workspace.discoverConfig.filesToWatch

Type: list of string

Declared by:

plugins.lsp.servers.rust_analyzer.settings.workspace.discoverConfig.progressLabel

Type: string

Declared by:

plugins.lsp.servers.rust_analyzer.settings.workspace.symbol.search.kind

Workspace symbol search kind.

Values:

  • only_types: Search for types only.
  • all_symbols: Search for all symbols kinds.

Type: null or one of “only_types”, “all_symbols”

Default: null

Plugin default: "only_types"

Declared by:

plugins.lsp.servers.rust_analyzer.settings.workspace.symbol.search.limit

Limits the number of items returned from a workspace symbol search (Defaults to 128). Some clients like vs-code issue new searches on result filtering and don’t require all results to be returned in the initial search. Other clients requires all results upfront and might require a higher limit.

Type: null or signed integer

Default: null

Plugin default: 128

Declared by:

plugins.lsp.servers.rust_analyzer.settings.workspace.symbol.search.scope

Workspace symbol search scope.

Values:

  • workspace: Search in current workspace only.
  • workspace_and_dependencies: Search in current workspace and dependencies.

Type: null or one of “workspace”, “workspace_and_dependencies”

Default: null

Plugin default: "workspace"

Declared by:

salt_ls

plugins.lsp.servers.salt_ls.enable

Whether to enable Language server for Salt configuration files. https://github.com/dcermak/salt-lsp

The language server can be installed with pip:

pip install salt-lsp
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.salt_ls.package

Package to use for salt_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.salt_ls.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.salt_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.salt_ls.extraOptions

Extra options for the salt_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.salt_ls.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.salt_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.salt_ls.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:

plugins.lsp.servers.salt_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.salt_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.salt_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

scheme_langserver

URL:

plugins.lsp.servers.scheme_langserver.enable

Whether to enable https://github.com/ufo5260987423/scheme-langserver scheme-langserver, a language server protocol implementation for scheme. And for nvim user, please add .sls to scheme file extension list. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.scheme_langserver.package

The scheme_langserver package to use.

Type: null or package

Default: pkgs.akkuPackages.scheme-langserver

Declared by:

plugins.lsp.servers.scheme_langserver.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.scheme_langserver.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.scheme_langserver.extraOptions

Extra options for the scheme_langserver language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.scheme_langserver.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.scheme_langserver.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.scheme_langserver.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:

plugins.lsp.servers.scheme_langserver.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.scheme_langserver.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.scheme_langserver.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

scry

plugins.lsp.servers.scry.enable

Whether to enable https://github.com/crystal-lang-tools/scry

Crystal language server. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.scry.package

Package to use for scry. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.scry.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.scry.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.scry.extraOptions

Extra options for the scry language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.scry.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.scry.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.scry.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:

plugins.lsp.servers.scry.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.scry.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.scry.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

selene3p_ls

plugins.lsp.servers.selene3p_ls.enable

Whether to enable https://github.com/antonk52/lua-3p-language-servers

3rd party Language Server for Selene lua linter .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.selene3p_ls.package

Package to use for selene3p_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.selene3p_ls.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.selene3p_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.selene3p_ls.extraOptions

Extra options for the selene3p_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.selene3p_ls.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.selene3p_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.selene3p_ls.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:

plugins.lsp.servers.selene3p_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.selene3p_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.selene3p_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

serve_d

URL: https://github.com/Pure-D/serve-d

plugins.lsp.servers.serve_d.enable

Whether to enable https://github.com/Pure-D/serve-d

       `Microsoft language server protocol implementation for D using workspace-d.`
       Download a binary from https://github.com/Pure-D/serve-d/releases and put it in your $PATH.
    .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.serve_d.package

The serve_d package to use.

Type: null or package

Default: pkgs.serve-d

Declared by:

plugins.lsp.servers.serve_d.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.serve_d.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.serve_d.extraOptions

Extra options for the serve_d language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.serve_d.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.serve_d.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.serve_d.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:

plugins.lsp.servers.serve_d.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.serve_d.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.serve_d.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

shopify_theme_ls

URL: https://github.com/Shopify/cli

plugins.lsp.servers.shopify_theme_ls.enable

Whether to enable https://shopify.dev/docs/api/shopify-cli

Language Server and Theme Check (linter) for Shopify themes.

shopify can be installed via npm npm install -g @shopify/cli.

Note: This LSP already includes Theme Check so you don’t need to use the theme_check server configuration as well. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.shopify_theme_ls.package

The shopify_theme_ls package to use.

Type: null or package

Default: pkgs.shopify-cli

Declared by:

plugins.lsp.servers.shopify_theme_ls.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.shopify_theme_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.shopify_theme_ls.extraOptions

Extra options for the shopify_theme_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.shopify_theme_ls.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.shopify_theme_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.shopify_theme_ls.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:

plugins.lsp.servers.shopify_theme_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.shopify_theme_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.shopify_theme_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

sixtyfps

plugins.lsp.servers.sixtyfps.enable

Whether to enable https://github.com/sixtyfpsui/sixtyfps SixtyFPS’s language server

You can build and install sixtyfps-lsp binary with cargo:

cargo install sixtyfps-lsp

Vim does not have built-in syntax for the sixtyfps filetype currently.

This can be added via an autocmd:

vim.cmd [[ autocmd BufRead,BufNewFile *.60 set filetype=sixtyfps ]]

or by installing a filetype plugin such as https://github.com/RustemB/sixtyfps-vim .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.sixtyfps.package

Package to use for sixtyfps. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.sixtyfps.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.sixtyfps.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.sixtyfps.extraOptions

Extra options for the sixtyfps language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.sixtyfps.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.sixtyfps.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.sixtyfps.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:

plugins.lsp.servers.sixtyfps.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.sixtyfps.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.sixtyfps.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

slangd

plugins.lsp.servers.slangd.enable

Whether to enable https://github.com/shader-slang/slang

The slangd binary can be downloaded as part of slang releases or by building slang from source.

The server can be configured by passing a “settings” object to slangd.setup{}:

require('lspconfig').slangd.setup{
  settings = {
    slang = {
      predefinedMacros = {"MY_VALUE_MACRO=1"},
      inlayHints = {
        deducedTypes = true,
        parameterNames = true,
      }
    }
  }
}

Available options are documented here or in more detail here. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.slangd.package

Package to use for slangd. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.slangd.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.slangd.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.slangd.extraOptions

Extra options for the slangd language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.slangd.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.slangd.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.slangd.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:

plugins.lsp.servers.slangd.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.slangd.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.slangd.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

slint_lsp

URL: https://slint-ui.com/

plugins.lsp.servers.slint_lsp.enable

Whether to enable https://github.com/slint-ui/slint Slint’s language server

You can build and install slint-lsp binary with cargo:

cargo install slint-lsp

Vim does not have built-in syntax for the slint filetype at this time.

This can be added via an autocmd:

vim.cmd [[ autocmd BufRead,BufNewFile *.slint set filetype=slint ]]

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.slint_lsp.package

The slint_lsp package to use.

Type: null or package

Default: pkgs.slint-lsp

Declared by:

plugins.lsp.servers.slint_lsp.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.slint_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.slint_lsp.extraOptions

Extra options for the slint_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.slint_lsp.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.slint_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.slint_lsp.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:

plugins.lsp.servers.slint_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.slint_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.slint_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

smarty_ls

plugins.lsp.servers.smarty_ls.enable

Whether to enable https://github.com/landeaux/vscode-smarty-langserver-extracted

Language server for Smarty.

smarty-language-server can be installed via npm:

npm i -g vscode-smarty-langserver-extracted

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.smarty_ls.package

Package to use for smarty_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.smarty_ls.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.smarty_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.smarty_ls.extraOptions

Extra options for the smarty_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.smarty_ls.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.smarty_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.smarty_ls.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:

plugins.lsp.servers.smarty_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.smarty_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.smarty_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

smithy_ls

plugins.lsp.servers.smithy_ls.enable

Whether to enable https://github.com/awslabs/smithy-language-server

Smithy Language Server, A Language Server Protocol implementation for the Smithy IDL .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.smithy_ls.package

Package to use for smithy_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.smithy_ls.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.smithy_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.smithy_ls.extraOptions

Extra options for the smithy_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.smithy_ls.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.smithy_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.smithy_ls.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:

plugins.lsp.servers.smithy_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.smithy_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.smithy_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

snakeskin_ls

plugins.lsp.servers.snakeskin_ls.enable

Whether to enable https://www.npmjs.com/package/@snakeskin/cli

snakeskin cli can be installed via npm:

npm install -g @snakeskin/cli

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.snakeskin_ls.package

Package to use for snakeskin_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.snakeskin_ls.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.snakeskin_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.snakeskin_ls.extraOptions

Extra options for the snakeskin_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.snakeskin_ls.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.snakeskin_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.snakeskin_ls.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:

plugins.lsp.servers.snakeskin_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.snakeskin_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.snakeskin_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

snyk_ls

plugins.lsp.servers.snyk_ls.enable

Whether to enable https://github.com/snyk/snyk-ls

LSP for Snyk Open Source, Snyk Infrastructure as Code, and Snyk Code. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.snyk_ls.package

Package to use for snyk_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.snyk_ls.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.snyk_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.snyk_ls.extraOptions

Extra options for the snyk_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.snyk_ls.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.snyk_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.snyk_ls.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:

plugins.lsp.servers.snyk_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.snyk_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.snyk_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

solang

plugins.lsp.servers.solang.enable

Whether to enable A language server for Solidity

See the documentation for installation instructions.

The language server only provides the following capabilities:

  • Syntax highlighting
  • Diagnostics
  • Hover

There is currently no support for completion, goto definition, references, or other functionality.

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.solang.package

Package to use for solang. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.solang.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.solang.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.solang.extraOptions

Extra options for the solang language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.solang.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.solang.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.solang.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:

plugins.lsp.servers.solang.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.solang.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.solang.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

solargraph

plugins.lsp.servers.solargraph.enable

Whether to enable https://solargraph.org/

solargraph, a language server for Ruby

You can install solargraph via gem install.

gem install --user-install solargraph
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.solargraph.package

The solargraph package to use.

Type: null or package

Default: pkgs.rubyPackages.solargraph

Declared by:

plugins.lsp.servers.solargraph.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.solargraph.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.solargraph.extraOptions

Extra options for the solargraph language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.solargraph.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.solargraph.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.solargraph.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:

plugins.lsp.servers.solargraph.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.solargraph.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.solargraph.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

solc

URL: https://github.com/ethereum/solidity

plugins.lsp.servers.solc.enable

Whether to enable https://docs.soliditylang.org/en/latest/installing-solidity.html

solc is the native language server for the Solidity language. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.solc.package

The solc package to use.

Type: null or package

Default: pkgs.solc

Declared by:

plugins.lsp.servers.solc.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.solc.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.solc.extraOptions

Extra options for the solc language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.solc.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.solc.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.solc.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:

plugins.lsp.servers.solc.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.solc.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.solc.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

solidity

plugins.lsp.servers.solidity.enable

Whether to enable https://github.com/qiuxiang/solidity-ls

npm i solidity-ls -g

Make sure that solc is installed and it’s the same version of the file. solc-select is recommended.

Solidity language server is a LSP with autocomplete, go to definition and diagnostics.

If you use brownie, use this root_dir: root_dir = util.root_pattern(‘brownie-config.yaml’, ‘.git’)

on includePath, you can add an extra path to search for external libs, on remapping you can remap lib <> path, like:

{ solidity = { includePath = '/Users/your_user/.brownie/packages/', remapping = { ["@OpenZeppelin/"] = 'OpenZeppelin/openzeppelin-contracts@4.6.0/' } } }

For brownie users Change the root_dir to:

root_pattern("brownie-config.yaml", ".git")

The best way of using it is to have a package.json in your project folder with the packages that you will use. After installing with package.json, just create a remappings.txt with:

@OpenZeppelin/=node_modules/OpenZeppelin/openzeppelin-contracts@4.6.0/

You can omit the node_modules as well. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.solidity.package

Package to use for solidity. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.solidity.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.solidity.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.solidity.extraOptions

Extra options for the solidity language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.solidity.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.solidity.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.solidity.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:

plugins.lsp.servers.solidity.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.solidity.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.solidity.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

solidity_ls

plugins.lsp.servers.solidity_ls.enable

Whether to enable https://github.com/juanfranblanco/vscode-solidity

vscode-solidity-server can be installed via npm:

npm install -g vscode-solidity-server

vscode-solidity-server is a language server for the Solidity language ported from the VSCode “solidity” extension. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.solidity_ls.package

Package to use for solidity_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.solidity_ls.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.solidity_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.solidity_ls.extraOptions

Extra options for the solidity_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.solidity_ls.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.solidity_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.solidity_ls.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:

plugins.lsp.servers.solidity_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.solidity_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.solidity_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

solidity_ls_nomicfoundation

plugins.lsp.servers.solidity_ls_nomicfoundation.enable

Whether to enable https://github.com/NomicFoundation/hardhat-vscode/blob/development/server/README.md

nomicfoundation-solidity-language-server can be installed via npm:

npm install -g @nomicfoundation/solidity-language-server

A language server for the Solidity programming language, built by the Nomic Foundation for the Ethereum community. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.solidity_ls_nomicfoundation.package

Package to use for solidity_ls_nomicfoundation. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.solidity_ls_nomicfoundation.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.solidity_ls_nomicfoundation.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.solidity_ls_nomicfoundation.extraOptions

Extra options for the solidity_ls_nomicfoundation language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.solidity_ls_nomicfoundation.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.solidity_ls_nomicfoundation.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.solidity_ls_nomicfoundation.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:

plugins.lsp.servers.solidity_ls_nomicfoundation.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.solidity_ls_nomicfoundation.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.solidity_ls_nomicfoundation.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

somesass_ls

plugins.lsp.servers.somesass_ls.enable

Whether to enable https://github.com/wkillerud/some-sass/tree/main/packages/language-server

some-sass-language-server can be installed via npm:

npm i -g some-sass-language-server

The language server provides:

  • Full support for @use and @forward, including aliases, prefixes and hiding.
  • Workspace-wide code navigation and refactoring, such as Rename Symbol.
  • Rich documentation through SassDoc.
  • Language features for %placeholder-selectors, both when using them and writing them.
  • Suggestions and hover info for built-in Sass modules, when used with @use.

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.somesass_ls.package

Package to use for somesass_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.somesass_ls.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.somesass_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.somesass_ls.extraOptions

Extra options for the somesass_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.somesass_ls.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.somesass_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.somesass_ls.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:

plugins.lsp.servers.somesass_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.somesass_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.somesass_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

sorbet

plugins.lsp.servers.sorbet.enable

Whether to enable https://sorbet.org

Sorbet is a fast, powerful type checker designed for Ruby.

You can install Sorbet via gem install. You might also be interested in how to set Sorbet up for new projects: https://sorbet.org/docs/adopting.

gem install sorbet
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.sorbet.package

Package to use for sorbet. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.sorbet.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.sorbet.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.sorbet.extraOptions

Extra options for the sorbet language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.sorbet.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.sorbet.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.sorbet.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:

plugins.lsp.servers.sorbet.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.sorbet.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.sorbet.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

sourcekit

URL: https://github.com/apple/sourcekit-lsp

plugins.lsp.servers.sourcekit.enable

Whether to enable https://github.com/swiftlang/sourcekit-lsp

Language server for Swift and C/C++/Objective-C. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.sourcekit.package

The sourcekit package to use.

Type: null or package

Default: pkgs.sourcekit-lsp

Declared by:

plugins.lsp.servers.sourcekit.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.sourcekit.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.sourcekit.extraOptions

Extra options for the sourcekit language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.sourcekit.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.sourcekit.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.sourcekit.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:

plugins.lsp.servers.sourcekit.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.sourcekit.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.sourcekit.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

sourcery

plugins.lsp.servers.sourcery.enable

Whether to enable https://github.com/sourcery-ai/sourcery

Refactor Python instantly using the power of AI.

It requires the init_options param to be populated as shown below and will respond with the list of ServerCapabilities that it supports:

require'lspconfig'.sourcery.setup {
    init_options = {
        --- The Sourcery token for authenticating the user.
        --- This is retrieved from the Sourcery website and must be
        --- provided by each user. The extension must provide a
        --- configuration option for the user to provide this value.
        token = <YOUR_TOKEN>,

        --- The extension's name and version as defined by the extension.
        extension_version = 'vim.lsp',

        --- The editor's name and version as defined by the editor.
        editor_version = 'vim',
    },
}

Alternatively, you can login to sourcery by running sourcery login with sourcery-cli. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.sourcery.package

Package to use for sourcery. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.sourcery.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.sourcery.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.sourcery.extraOptions

Extra options for the sourcery language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.sourcery.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.sourcery.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.sourcery.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:

plugins.lsp.servers.sourcery.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.sourcery.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.sourcery.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

spectral

URL: https://github.com/luizcorreia/spectral-language-server

plugins.lsp.servers.spectral.enable

Whether to enable https://github.com/luizcorreia/spectral-language-server A flexible JSON/YAML linter for creating automated style guides, with baked in support for OpenAPI v2 & v3.

spectral-language-server can be installed via npm:

npm i -g spectral-language-server

See vscode-spectral for configuration options. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.spectral.package

The spectral package to use.

Type: null or package

Default: pkgs.spectral-language-server

Declared by:

plugins.lsp.servers.spectral.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.spectral.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.spectral.extraOptions

Extra options for the spectral language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.spectral.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.spectral.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.spectral.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:

plugins.lsp.servers.spectral.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.spectral.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.spectral.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

spyglassmc_language_server

plugins.lsp.servers.spyglassmc_language_server.enable

Whether to enable https://github.com/SpyglassMC/Spyglass/tree/main/packages/language-server

Language server for Minecraft datapacks.

spyglassmc-language-server can be installed via npm:

npm i -g @spyglassmc/language-server

You may also need to configure the filetype:

autocmd BufNewFile,BufRead *.mcfunction set filetype=mcfunction

This is automatically done by CrystalAlpha358/vim-mcfunction, which also provide syntax highlight. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.spyglassmc_language_server.package

Package to use for spyglassmc_language_server. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.spyglassmc_language_server.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.spyglassmc_language_server.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.spyglassmc_language_server.extraOptions

Extra options for the spyglassmc_language_server language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.spyglassmc_language_server.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.spyglassmc_language_server.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.spyglassmc_language_server.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:

plugins.lsp.servers.spyglassmc_language_server.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.spyglassmc_language_server.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.spyglassmc_language_server.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

sqlls

plugins.lsp.servers.sqlls.enable

Whether to enable https://github.com/joe-re/sql-language-server

This LSP can be installed via npm. Find further instructions on manual installation of the sql-language-server at joe-re/sql-language-server. <br> .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.sqlls.package

Package to use for sqlls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.sqlls.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.sqlls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.sqlls.extraOptions

Extra options for the sqlls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.sqlls.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.sqlls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.sqlls.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:

plugins.lsp.servers.sqlls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.sqlls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.sqlls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

sqls

URL: https://github.com/sqls-server/sqls

plugins.lsp.servers.sqls.enable

Whether to enable https://github.com/sqls-server/sqls

require'lspconfig'.sqls.setup{
  cmd = {"path/to/command", "-config", "path/to/config.yml"};
  ...
}

Sqls can be installed via go install github.com/sqls-server/sqls@latest. Instructions for compiling Sqls from the source can be found at sqls-server/sqls.

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.sqls.package

The sqls package to use.

Type: null or package

Default: pkgs.sqls

Declared by:

plugins.lsp.servers.sqls.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.sqls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.sqls.extraOptions

Extra options for the sqls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.sqls.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.sqls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.sqls.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:

plugins.lsp.servers.sqls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.sqls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.sqls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

standardrb

plugins.lsp.servers.standardrb.enable

Whether to enable https://github.com/testdouble/standard

Ruby Style Guide, with linter & automatic code fixer. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.standardrb.package

The standardrb package to use.

Type: null or package

Default: pkgs.rubyPackages.standard

Declared by:

plugins.lsp.servers.standardrb.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.standardrb.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.standardrb.extraOptions

Extra options for the standardrb language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.standardrb.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.standardrb.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.standardrb.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:

plugins.lsp.servers.standardrb.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.standardrb.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.standardrb.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

starlark_rust

URL: https://github.com/facebook/starlark-rust

plugins.lsp.servers.starlark_rust.enable

Whether to enable https://github.com/facebookexperimental/starlark-rust/ The LSP part of starlark-rust is not currently documented, but the implementation works well for linting. This gives valuable warnings for potential issues in the code, but does not support refactorings.

It can be installed with cargo: https://crates.io/crates/starlark .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.starlark_rust.package

The starlark_rust package to use.

Type: null or package

Default: pkgs.starlark-rust

Declared by:

plugins.lsp.servers.starlark_rust.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.starlark_rust.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.starlark_rust.extraOptions

Extra options for the starlark_rust language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.starlark_rust.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.starlark_rust.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.starlark_rust.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:

plugins.lsp.servers.starlark_rust.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.starlark_rust.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.starlark_rust.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

starpls

URL: https://github.com/withered-magic/starpls

plugins.lsp.servers.starpls.enable

Whether to enable https://github.com/withered-magic/starpls

starpls is an LSP implementation for Starlark. Installation instructions can be found in the project’s README. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.starpls.package

The starpls package to use.

Type: null or package

Default: pkgs.starpls-bin

Declared by:

plugins.lsp.servers.starpls.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.starpls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.starpls.extraOptions

Extra options for the starpls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.starpls.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.starpls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.starpls.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:

plugins.lsp.servers.starpls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.starpls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.starpls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

statix

URL: https://github.com/nerdypepper/statix

plugins.lsp.servers.statix.enable

Whether to enable https://github.com/nerdypepper/statix

lints and suggestions for the nix programming language .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.statix.package

The statix package to use.

Type: null or package

Default: pkgs.statix

Declared by:

plugins.lsp.servers.statix.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.statix.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.statix.extraOptions

Extra options for the statix language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.statix.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.statix.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.statix.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:

plugins.lsp.servers.statix.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.statix.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.statix.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

steep

plugins.lsp.servers.steep.enable

Whether to enable https://github.com/soutaro/steep

steep is a static type checker for Ruby.

You need Steepfile to make it work. Generate it with steep init. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.steep.package

Package to use for steep. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.steep.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.steep.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.steep.extraOptions

Extra options for the steep language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.steep.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.steep.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.steep.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:

plugins.lsp.servers.steep.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.steep.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.steep.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

stimulus_ls

plugins.lsp.servers.stimulus_ls.enable

Whether to enable https://www.npmjs.com/package/stimulus-language-server

stimulus-lsp can be installed via npm:

npm install -g stimulus-language-server

or via yarn:

yarn global add stimulus-language-server

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.stimulus_ls.package

Package to use for stimulus_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.stimulus_ls.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.stimulus_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.stimulus_ls.extraOptions

Extra options for the stimulus_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.stimulus_ls.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.stimulus_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.stimulus_ls.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:

plugins.lsp.servers.stimulus_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.stimulus_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.stimulus_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

stylelint_lsp

URL: https://github.com/bmatcuk/stylelint-lsp

plugins.lsp.servers.stylelint_lsp.enable

Whether to enable https://github.com/bmatcuk/stylelint-lsp

stylelint-lsp can be installed via npm:

npm i -g stylelint-lsp

Can be configured by passing a settings.stylelintplus object to stylelint_lsp.setup:

require'lspconfig'.stylelint_lsp.setup{
  settings = {
    stylelintplus = {
      -- see available options in stylelint-lsp documentation
    }
  }
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.stylelint_lsp.package

The stylelint_lsp package to use.

Type: null or package

Default: pkgs.stylelint-lsp

Declared by:

plugins.lsp.servers.stylelint_lsp.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.stylelint_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.stylelint_lsp.extraOptions

Extra options for the stylelint_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.stylelint_lsp.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.stylelint_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.stylelint_lsp.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:

plugins.lsp.servers.stylelint_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.stylelint_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.stylelint_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

stylua3p_ls

plugins.lsp.servers.stylua3p_ls.enable

Whether to enable https://github.com/antonk52/lua-3p-language-servers

3rd party Language Server for Stylua lua formatter .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.stylua3p_ls.package

Package to use for stylua3p_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.stylua3p_ls.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.stylua3p_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.stylua3p_ls.extraOptions

Extra options for the stylua3p_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.stylua3p_ls.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.stylua3p_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.stylua3p_ls.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:

plugins.lsp.servers.stylua3p_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.stylua3p_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.stylua3p_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

superhtml

URL: https://github.com/kristoff-it/superhtml

plugins.lsp.servers.superhtml.enable

Whether to enable https://github.com/kristoff-it/superhtml

HTML Language Server & Templating Language Library

This LSP is designed to tightly adhere to the HTML spec as well as enforcing some additional rules that ensure HTML clarity.

If you want to disable HTML support for another HTML LSP, add the following to your configuration:

require'lspconfig'.superhtml.setup {
  filetypes = { 'superhtml' }
}
    .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.superhtml.package

The superhtml package to use.

Type: null or package

Default: pkgs.superhtml

Declared by:

plugins.lsp.servers.superhtml.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.superhtml.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.superhtml.extraOptions

Extra options for the superhtml language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.superhtml.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.superhtml.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.superhtml.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:

plugins.lsp.servers.superhtml.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.superhtml.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.superhtml.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

svelte

URL: https://github.com/sveltejs/language-tools

plugins.lsp.servers.svelte.enable

Whether to enable https://github.com/sveltejs/language-tools/tree/master/packages/language-server

Note: assuming that ts_ls is setup, full JavaScript/TypeScript support (find references, rename, etc of symbols in Svelte files when working in JS/TS files) requires per-project installation and configuration of typescript-svelte-plugin.

svelte-language-server can be installed via npm:

npm install -g svelte-language-server

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.svelte.package

The svelte package to use.

Type: null or package

Default: pkgs.svelte-language-server

Declared by:

plugins.lsp.servers.svelte.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.svelte.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.svelte.extraOptions

Extra options for the svelte language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.svelte.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.svelte.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.svelte.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:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.css.enable

Enable the CSS plugin.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.css.globals

Which css files should be checked for global variables (--global-var: value;). These variables are added to the css completions. String of comma-separated file paths or globs relative to workspace root.

Type: null or string

Default: null

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.css.colorPresentations.enable

Enable color picker for CSS.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.css.completions.enable

Enable completions for CSS.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.css.completions.emmet

Enable emmet auto completions for CSS.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.css.diagnostics.enable

Enable diagnostic messages for CSS.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.css.documentColors.enable

Enable document colors for CSS.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.css.documentSymbols.enable

Enable document symbols for CSS.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.css.hover.enable

Enable hover info for CSS.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.css.selectionRange.enable

Enable selection range for CSS.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.html.enable

Enable the HTML plugin.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.html.completions.enable

Enable completions for HTML.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.html.completions.emmet

Enable emmet auto completions for HTML.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.html.documentSymbols.enable

Enable document symbols for HTML.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.html.hover.enable

Enable hover info for HTML.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.html.linkedEditing.enable

Enable Linked Editing for HTML.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.html.tagComplete.enable

Enable tag auto closing.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.svelte.enable

Enable the Svelte plugin.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.svelte.compilerWarnings

Svelte compiler warning codes to ignore or to treat as errors. Example:

{
  css-unused-selector = "ignore";
  unused-export-let = "error";
}

Type: null or (attribute set of string)

Default: null

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.svelte.defaultScriptLanguage

The default language to use when generating new script tags in Svelte.

Type: null or string

Default: null

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.svelte.codeActions.enable

Enable code actions for Svelte.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.svelte.completions.enable

Enable completions for TypeScript. Enable autocompletion for Svelte (for tags like #if/#each).

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.svelte.diagnostics.enable

Enable diagnostic messages for Svelte.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.svelte.format.enable

Enable formatting for Svelte (includes css & js) using prettier-plugin-svelte.

You can set some formatting options through this extension. They will be ignored if there’s any kind of configuration file, for example a .prettierrc file.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.svelte.format.config.printWidth

Maximum line width after which code is tried to be broken up.

This is a Prettier core option. If you have the Prettier extension installed, this option is ignored and the corresponding option of that extension is used instead. This option is also ignored if there’s any kind of configuration file, for example a .prettierrc file.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 80

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.svelte.format.config.singleQuote

Use single quotes instead of double quotes, where possible.

This is a Prettier core option. If you have the Prettier extension installed, this option is ignored and the corresponding option of that extension is used instead. This option is also ignored if there’s any kind of configuration file, for example a .prettierrc file.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.svelte.format.config.svelteAllowShorthand

Option to enable/disable component attribute shorthand if attribute name and expression are the same.

This option is ignored if there’s any kind of configuration file, for example a .prettierrc file.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.svelte.format.config.svelteBracketNewLine

Put the > of a multiline element on a new line.

This option is ignored if there’s any kind of configuration file, for example a .prettierrc file.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.svelte.format.config.svelteIndentScriptAndStyle

Whether or not to indent code inside <script> and <style> tags.

This option is ignored if there’s any kind of configuration file, for example a .prettierrc file.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.svelte.format.config.svelteSortOrder

Format: join the keys options, scripts, markup, styles with a - in the order you want.

This option is ignored if there’s any kind of configuration file, for example a .prettierrc file.

Type: null or string or raw lua code

Default: null

Plugin default: "options-scripts-markup-styles"

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.svelte.format.config.svelteStrictMode

More strict HTML syntax.

This option is ignored if there’s any kind of configuration file, for example a .prettierrc file.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.svelte.hover.enable

Enable hover info for Svelte (for tags like #if/#each).

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.svelte.rename.enable

Enable rename/move Svelte files functionality.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.svelte.selectionRange.enable

Enable selection range for Svelte.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.typescript.enable

Enable the TypeScript plugin.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.typescript.codeActions.enable

Enable code actions for TypeScript.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.typescript.completions.enable

Enable completions for TypeScript.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.typescript.diagnostics.enable

Enable diagnostic messages for TypeScript.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.typescript.documentSymbols.enable

Enable document symbols for TypeScript.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.typescript.hover.enable

Enable hover info for TypeScript.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.typescript.selectionRange.enable

Enable selection range for TypeScript.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.typescript.semanticTokens.enable

Enable semantic tokens (semantic highlight) for TypeScript.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.initOptions.svelte.plugin.typescript.signatureHelp.enable

Enable signature help (parameter hints) for JS/TS.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.svelte.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.svelte.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.svelte.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

svlangserver

plugins.lsp.servers.svlangserver.enable

Whether to enable https://github.com/imc-trading/svlangserver

Language server for SystemVerilog.

svlangserver can be installed via npm:

$ npm install -g @imc-trading/svlangserver

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.svlangserver.package

Package to use for svlangserver. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.svlangserver.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.svlangserver.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.svlangserver.extraOptions

Extra options for the svlangserver language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.svlangserver.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.svlangserver.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.svlangserver.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:

plugins.lsp.servers.svlangserver.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.svlangserver.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.svlangserver.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

svls

URL: https://github.com/dalance/svls

plugins.lsp.servers.svls.enable

Whether to enable https://github.com/dalance/svls

Language server for verilog and SystemVerilog

svls can be installed via cargo:

cargo install svls
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.svls.package

The svls package to use.

Type: null or package

Default: pkgs.svls

Declared by:

plugins.lsp.servers.svls.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.svls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.svls.extraOptions

Extra options for the svls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.svls.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.svls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.svls.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:

plugins.lsp.servers.svls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.svls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.svls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

swift_mesonls

URL: https://github.com/JCWasmx86/mesonlsp

plugins.lsp.servers.swift_mesonls.enable

Whether to enable https://github.com/JCWasmx86/Swift-MesonLSP

Meson language server written in Swift .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.swift_mesonls.package

The swift_mesonls package to use.

Type: null or package

Default: pkgs.mesonlsp

Declared by:

plugins.lsp.servers.swift_mesonls.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.swift_mesonls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.swift_mesonls.extraOptions

Extra options for the swift_mesonls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.swift_mesonls.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.swift_mesonls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.swift_mesonls.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:

plugins.lsp.servers.swift_mesonls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.swift_mesonls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.swift_mesonls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

syntax_tree

plugins.lsp.servers.syntax_tree.enable

Whether to enable https://ruby-syntax-tree.github.io/syntax_tree/

A fast Ruby parser and formatter.

Syntax Tree is a suite of tools built on top of the internal CRuby parser. It provides the ability to generate a syntax tree from source, as well as the tools necessary to inspect and manipulate that syntax tree. It can be used to build formatters, linters, language servers, and more.

gem install syntax_tree
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.syntax_tree.package

The syntax_tree package to use.

Type: null or package

Default: pkgs.rubyPackages.syntax_tree

Declared by:

plugins.lsp.servers.syntax_tree.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.syntax_tree.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.syntax_tree.extraOptions

Extra options for the syntax_tree language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.syntax_tree.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.syntax_tree.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.syntax_tree.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:

plugins.lsp.servers.syntax_tree.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.syntax_tree.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.syntax_tree.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

systemd_ls

URL: https://github.com/psacawa/systemd-language-server

plugins.lsp.servers.systemd_ls.enable

Whether to enable https://github.com/psacawa/systemd-language-server

systemd-language-server can be installed via pip:

pip install systemd-language-server

Language Server for Systemd unit files .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.systemd_ls.package

The systemd_ls package to use.

Type: null or package

Default: pkgs.systemd-language-server

Declared by:

plugins.lsp.servers.systemd_ls.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.systemd_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.systemd_ls.extraOptions

Extra options for the systemd_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.systemd_ls.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.systemd_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.systemd_ls.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:

plugins.lsp.servers.systemd_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.systemd_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.systemd_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

tabby_ml

plugins.lsp.servers.tabby_ml.enable

Whether to enable https://tabby.tabbyml.com/blog/running-tabby-as-a-language-server

Language server for Tabby, an opensource, self-hosted AI coding assistant.

tabby-agent can be installed via npm:

npm install --global tabby-agent

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.tabby_ml.package

Package to use for tabby_ml. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.tabby_ml.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.tabby_ml.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.tabby_ml.extraOptions

Extra options for the tabby_ml language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.tabby_ml.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.tabby_ml.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.tabby_ml.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:

plugins.lsp.servers.tabby_ml.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.tabby_ml.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.tabby_ml.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

tailwindcss

URL: https://github.com/tailwindlabs/tailwindcss-intellisense

plugins.lsp.servers.tailwindcss.enable

Whether to enable https://github.com/tailwindlabs/tailwindcss-intellisense

Tailwind CSS Language Server can be installed via npm:

npm install -g @tailwindcss/language-server

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.tailwindcss.package

The tailwindcss package to use.

Type: null or package

Default: pkgs.tailwindcss-language-server

Declared by:

plugins.lsp.servers.tailwindcss.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.tailwindcss.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.tailwindcss.extraOptions

Extra options for the tailwindcss language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.tailwindcss.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.tailwindcss.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.tailwindcss.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:

plugins.lsp.servers.tailwindcss.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.tailwindcss.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.tailwindcss.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

taplo

URL: https://taplo.tamasfe.dev

plugins.lsp.servers.taplo.enable

Whether to enable https://taplo.tamasfe.dev/cli/usage/language-server.html

Language server for Taplo, a TOML toolkit.

taplo-cli can be installed via cargo:

cargo install --features lsp --locked taplo-cli
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.taplo.package

The taplo package to use.

Type: null or package

Default: pkgs.taplo

Declared by:

plugins.lsp.servers.taplo.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.taplo.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.taplo.extraOptions

Extra options for the taplo language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.taplo.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.taplo.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.taplo.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:

plugins.lsp.servers.taplo.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.taplo.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.taplo.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

tblgen_lsp_server

URL: https://mlir.llvm.org/

plugins.lsp.servers.tblgen_lsp_server.enable

Whether to enable https://mlir.llvm.org/docs/Tools/MLIRLSP/#tablegen-lsp-language-server–tblgen-lsp-server

The Language Server for the LLVM TableGen language

tblgen-lsp-server can be installed at the llvm-project repository (https://github.com/llvm/llvm-project) .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.tblgen_lsp_server.package

The tblgen_lsp_server package to use.

Type: null or package

Default: pkgs.llvmPackages.mlir

Declared by:

plugins.lsp.servers.tblgen_lsp_server.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.tblgen_lsp_server.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.tblgen_lsp_server.extraOptions

Extra options for the tblgen_lsp_server language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.tblgen_lsp_server.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.tblgen_lsp_server.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.tblgen_lsp_server.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:

plugins.lsp.servers.tblgen_lsp_server.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.tblgen_lsp_server.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.tblgen_lsp_server.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

teal_ls

URL: https://github.com/teal-language/teal-language-server

plugins.lsp.servers.teal_ls.enable

Whether to enable https://github.com/teal-language/teal-language-server

Install with:

luarocks install teal-language-server

Optional Command Args:

  • “–log-mode=by_date” - Enable logging in $HOME/.cache/teal-language-server. Log name will be date + pid of process
  • “–log-mode=by_proj_path” - Enable logging in $HOME/.cache/teal-language-server. Log name will be project path + pid of process
  • “–verbose=true” - Increases log level. Does nothing unless log-mode is set .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.teal_ls.package

The teal_ls package to use.

Type: null or package

Default: pkgs.luaPackages.teal-language-server

Declared by:

plugins.lsp.servers.teal_ls.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.teal_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.teal_ls.extraOptions

Extra options for the teal_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.teal_ls.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.teal_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.teal_ls.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:

plugins.lsp.servers.teal_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.teal_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.teal_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

templ

URL: https://github.com/a-h/templ

plugins.lsp.servers.templ.enable

Whether to enable https://templ.guide

The official language server for the templ HTML templating language. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.templ.package

The templ package to use.

Type: null or package

Default: pkgs.templ

Declared by:

plugins.lsp.servers.templ.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.templ.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.templ.extraOptions

Extra options for the templ language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.templ.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.templ.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.templ.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:

plugins.lsp.servers.templ.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.templ.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.templ.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

terraform_lsp

URL: https://github.com/juliosueiras/terraform-lsp

plugins.lsp.servers.terraform_lsp.enable

Whether to enable https://github.com/juliosueiras/terraform-lsp

Terraform language server Download a released binary from https://github.com/juliosueiras/terraform-lsp/releases.

From https://github.com/hashicorp/terraform-ls#terraform-ls-vs-terraform-lsp:

Both HashiCorp and the maintainer of terraform-lsp expressed interest in collaborating on a language server and are working towards a long-term goal of a single stable and feature-complete implementation.

For the time being both projects continue to exist, giving users the choice:

  • terraform-ls providing

    • overall stability (by relying only on public APIs)
    • compatibility with any provider and any Terraform >=0.12.0 currently less features
    • due to project being younger and relying on public APIs which may not offer the same functionality yet
  • terraform-lsp providing

    • currently more features

    • compatibility with a single particular Terraform (0.12.20 at time of writing)

      • configs designed for other 0.12 versions may work, but interpretation may be inaccurate
    • less stability (due to reliance on Terraform’s own internal packages) .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.terraform_lsp.package

The terraform_lsp package to use.

Type: null or package

Default: pkgs.terraform-lsp

Declared by:

plugins.lsp.servers.terraform_lsp.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.terraform_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.terraform_lsp.extraOptions

Extra options for the terraform_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.terraform_lsp.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.terraform_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.terraform_lsp.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:

plugins.lsp.servers.terraform_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.terraform_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.terraform_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

terraformls

URL: https://github.com/hashicorp/terraform-ls

plugins.lsp.servers.terraformls.enable

Whether to enable https://github.com/hashicorp/terraform-ls

Terraform language server Download a released binary from https://github.com/hashicorp/terraform-ls/releases.

From https://github.com/hashicorp/terraform-ls#terraform-ls-vs-terraform-lsp:

Both HashiCorp and the maintainer of terraform-lsp expressed interest in collaborating on a language server and are working towards a long-term goal of a single stable and feature-complete implementation.

For the time being both projects continue to exist, giving users the choice:

  • terraform-ls providing

    • overall stability (by relying only on public APIs)
    • compatibility with any provider and any Terraform >=0.12.0 currently less features
    • due to project being younger and relying on public APIs which may not offer the same functionality yet
  • terraform-lsp providing

    • currently more features

    • compatibility with a single particular Terraform (0.12.20 at time of writing)

      • configs designed for other 0.12 versions may work, but interpretation may be inaccurate
    • less stability (due to reliance on Terraform’s own internal packages)

Note, that the settings configuration option uses the workspace/didChangeConfiguration event, which is not supported by terraform-ls. Instead you should use init_options which passes the settings as part of the LSP initialize call as is required by terraform-ls. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.terraformls.package

The terraformls package to use.

Type: null or package

Default: pkgs.terraform-ls

Declared by:

plugins.lsp.servers.terraformls.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.terraformls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.terraformls.extraOptions

Extra options for the terraformls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.terraformls.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.terraformls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.terraformls.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:

plugins.lsp.servers.terraformls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.terraformls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.terraformls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

texlab

URL: https://github.com/latex-lsp/texlab

plugins.lsp.servers.texlab.enable

Whether to enable https://github.com/latex-lsp/texlab

A completion engine built from scratch for (La)TeX.

See https://github.com/latex-lsp/texlab/wiki/Configuration for configuration options. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.texlab.package

The texlab package to use.

Type: null or package

Default: pkgs.texlab

Declared by:

plugins.lsp.servers.texlab.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.texlab.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.texlab.extraOptions

Extra options for the texlab language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.texlab.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.texlab.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.texlab.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:

plugins.lsp.servers.texlab.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.texlab.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.texlab.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

textlsp

plugins.lsp.servers.textlsp.enable

Whether to enable https://github.com/hangyav/textLSP

textLSP is an LSP server for text spell and grammar checking with various AI tools. It supports multiple text file formats, such as LaTeX, Org or txt.

For the available text analyzer tools and their configuration, see the GitHub page. By default, all analyzers are disabled in textLSP, since most of them need special settings. For quick testing, LanguageTool is enabled in the default nvim-lspconfig configuration.

To install run: pip install textLSP .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.textlsp.package

Package to use for textlsp. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.textlsp.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.textlsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.textlsp.extraOptions

Extra options for the textlsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.textlsp.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.textlsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.textlsp.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:

plugins.lsp.servers.textlsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.textlsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.textlsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

tflint

URL: https://github.com/terraform-linters/tflint

plugins.lsp.servers.tflint.enable

Whether to enable https://github.com/terraform-linters/tflint

A pluggable Terraform linter that can act as lsp server. Installation instructions can be found in https://github.com/terraform-linters/tflint#installation. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.tflint.package

The tflint package to use.

Type: null or package

Default: pkgs.tflint

Declared by:

plugins.lsp.servers.tflint.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.tflint.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.tflint.extraOptions

Extra options for the tflint language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.tflint.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.tflint.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.tflint.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:

plugins.lsp.servers.tflint.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.tflint.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.tflint.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

theme_check

plugins.lsp.servers.theme_check.enable

Whether to enable https://github.com/Shopify/shopify-cli

theme-check-language-server is bundled with shopify-cli or it can also be installed via

https://github.com/Shopify/theme-check#installation

NOTE: If installed via Homebrew, cmd must be set to ‘theme-check-liquid-server’

require lspconfig.theme_check.setup {
  cmd = { 'theme-check-liquid-server' }
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.theme_check.package

Package to use for theme_check. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.theme_check.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.theme_check.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.theme_check.extraOptions

Extra options for the theme_check language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.theme_check.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.theme_check.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.theme_check.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:

plugins.lsp.servers.theme_check.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.theme_check.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.theme_check.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

thriftls

URL: https://github.com/joyme123/thrift-ls

plugins.lsp.servers.thriftls.enable

Whether to enable https://github.com/joyme123/thrift-ls

you can install thriftls by mason or download binary here: https://github.com/joyme123/thrift-ls/releases .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.thriftls.package

The thriftls package to use.

Type: null or package

Default: pkgs.thrift-ls

Declared by:

plugins.lsp.servers.thriftls.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.thriftls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.thriftls.extraOptions

Extra options for the thriftls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.thriftls.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.thriftls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.thriftls.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:

plugins.lsp.servers.thriftls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.thriftls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.thriftls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

tilt_ls

URL: https://tilt.dev/

plugins.lsp.servers.tilt_ls.enable

Whether to enable https://github.com/tilt-dev/tilt

Tilt language server.

You might need to add filetype detection manually:

autocmd BufRead Tiltfile setf=tiltfile

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.tilt_ls.package

The tilt_ls package to use.

Type: null or package

Default: pkgs.tilt

Declared by:

plugins.lsp.servers.tilt_ls.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.tilt_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.tilt_ls.extraOptions

Extra options for the tilt_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.tilt_ls.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.tilt_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.tilt_ls.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:

plugins.lsp.servers.tilt_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.tilt_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.tilt_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

tinymist

URL: https://github.com/Myriad-Dreamin/tinymist

plugins.lsp.servers.tinymist.enable

Whether to enable https://github.com/Myriad-Dreamin/tinymist An integrated language service for Typst [taɪpst]. You can also call it “微霭” [wēi ǎi] in Chinese.

Currently some of Tinymist’s workspace commands are supported, namely: LspTinymistExportSvg, LspTinymistExportPng, LspTinymistExportPdf LspTinymistExportMarkdown, LspTinymistExportText, LspTinymistExportQuery, LspTinymistExportAnsiHighlight, LspTinymistGetServerInfo, LspTinymistGetDocumentTrace, LspTinymistGetWorkspaceLabels, and LspTinymistGetDocumentMetrics`. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.tinymist.package

The tinymist package to use.

Type: null or package

Default: pkgs.tinymist

Declared by:

plugins.lsp.servers.tinymist.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.tinymist.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.tinymist.extraOptions

Extra options for the tinymist language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.tinymist.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.tinymist.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.tinymist.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.tinymist.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.tinymist.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

plugins.lsp.servers.tinymist.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:

plugins.lsp.servers.tinymist.settings.compileStatus

In VSCode, enable compile status meaning that the extension will show the compilation status in the status bar.

Since neovim and helix don’t have a such feature, it is disabled by default at the language server level.

Type: null or one of “disable”, “enable” or raw lua code

Default: null

Plugin default: "disable"

Declared by:

plugins.lsp.servers.tinymist.settings.exportPdf

The extension can export PDFs of your Typst files. This setting controls whether this feature is enabled and how often it runs.

  • auto: Select best solution automatically. (Recommended)
  • never: Never export PDFs, you will manually run typst.
  • onSave: Export PDFs when you save a file.
  • onType: Export PDFs as you type in a file.
  • onDocumentHasTitle: Export PDFs when a document has a title (and save a file), which is useful to filter out template files.

Type: null or one of “auto”, “never”, “onSave”, “onType”, “onDocumentHasTitle” or raw lua code

Default: null

Plugin default: "auto"

Declared by:

plugins.lsp.servers.tinymist.settings.fontPaths

Font paths, which doesn’t allow for dynamic configuration. Note: you can use vscode variables in the path, e.g. $\{workspaceFolder}/fonts.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.tinymist.settings.formatterMode

The extension can format Typst files using typstfmt or typstyle.

  • disable: Formatter is not activated.
  • typstyle: Use typstyle formatter.
  • typstfmt: Use typstfmt formatter.

Type: null or one of “disable”, “typstyle”, “typstfmt” or raw lua code

Default: null

Plugin default: "disable"

Declared by:

plugins.lsp.servers.tinymist.settings.formatterPrintWidth

Set the print width for the formatter, which is a soft limit of characters per line. See the definition of Print Width.

Note: this has lower priority than the formatter’s specific configurations.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 120

Declared by:

plugins.lsp.servers.tinymist.settings.outputPath

The path pattern to store Typst artifacts, you can use $root or $dir or $name to do magic configuration, e.g. $dir/$name (default) and $root/target/$dir/$name.

Type: null or string or raw lua code

Default: null

Plugin default: "$dir/$name"

Declared by:

plugins.lsp.servers.tinymist.settings.rootPath

Configure the root for absolute paths in typst.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.lsp.servers.tinymist.settings.semanticTokens

Enable or disable semantic tokens (LSP syntax highlighting).

  • enable: Use semantic tokens for syntax highlighting
  • disable: Do not use semantic tokens for syntax highlighting

Type: null or one of “enable”, “disable” or raw lua code

Default: null

Plugin default: "enable"

Declared by:

plugins.lsp.servers.tinymist.settings.systemFonts

A flag that determines whether to load system fonts for Typst compiler, which is useful for ensuring reproducible compilation. If set to null or not set, the extension will use the default behavior of the Typst compiler.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.tinymist.settings.typstExtraArgs

You can pass any arguments as you like, and we will try to follow behaviors of the same version of typst-cli.

Note: the arguments may be overridden by other settings. For example, --font-path will be overridden by tinymist.fontPaths.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp.servers.tinymist.settings.completion.postfix

Whether to enable postfix code completion. For example, [A].box| will be completed to box[A]|.

Hint: Restarting the editor is required to change this setting.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.tinymist.settings.completion.postfixUfcs

Whether to enable UFCS-style completion.

For example, [A].box| will be completed to box[A]|. Hint: Restarting the editor is required to change this setting.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.tinymist.settings.completion.postfixUfcsLeft

Whether to enable left-variant UFCS-style completion.

For example, [A].table| will be completed to table(|)[A].

Hint: Restarting the editor is required to change this setting.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.tinymist.settings.completion.postfixUfcsRight

Whether to enable right-variant UFCS-style completion.

For example, [A].table| will be completed to table([A], |).

Hint: Restarting the editor is required to change this setting.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp.servers.tinymist.settings.completion.triggerOnSnippetPlaceholders

Whether to trigger completions on arguments (placeholders) of snippets.

For example, box will be completed to box(|), and server will request the editor (lsp client) to request completion after moving cursor to the placeholder in the snippet.

Note: this has no effect if the editor doesn’t support editor.action.triggerSuggest or tinymist.triggerSuggestAndParameterHints command.

Hint: Restarting the editor is required to change this setting.

Type: null or boolean

Default: null

Declared by:

ts_ls

URL: https://github.com/typescript-language-server/typescript-language-server

plugins.lsp.servers.ts_ls.enable

Whether to enable https://github.com/typescript-language-server/typescript-language-server

ts_ls, aka typescript-language-server, is a Language Server Protocol implementation for TypeScript wrapping tsserver. Note that ts_ls is not tsserver.

typescript-language-server depends on typescript. Both packages can be installed via npm:

npm install -g typescript typescript-language-server

To configure typescript language server, add a tsconfig.json or jsconfig.json to the root of your project.

Here’s an example that disables type checking in JavaScript files.

{
  "compilerOptions": {
    "module": "commonjs",
    "target": "es6",
    "checkJs": false
  },
  "exclude": [
    "node_modules"
  ]
}

Vue support

As of 2.0.0, Volar no longer supports TypeScript itself. Instead, a plugin adds Vue support to this language server.

IMPORTANT: It is crucial to ensure that @vue/typescript-plugin and volarare of identical versions.

require'lspconfig'.ts_ls.setup{
  init_options = {
    plugins = {
      {
        name = "@vue/typescript-plugin",
        location = "/usr/local/lib/node_modules/@vue/typescript-plugin",
        languages = {"javascript", "typescript", "vue"},
      },
    },
  },
  filetypes = {
    "javascript",
    "typescript",
    "vue",
  },
}

-- You must make sure volar is setup
-- e.g. require'lspconfig'.volar.setup{}
-- See volar's section for more information

location MUST be defined. If the plugin is installed in node_modules, location can have any value.

languages must include vue even if it is listed in filetypes.

filetypes is extended here to include Vue SFC. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.ts_ls.package

The ts_ls package to use.

Type: null or package

Default: pkgs.typescript-language-server

Declared by:

plugins.lsp.servers.ts_ls.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.ts_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.ts_ls.extraOptions

Extra options for the ts_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.ts_ls.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.ts_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.ts_ls.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:

plugins.lsp.servers.ts_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.ts_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.ts_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

ts_query_ls

URL: https://github.com/ribru17/ts_query_ls

plugins.lsp.servers.ts_query_ls.enable

Whether to enable https://github.com/ribru17/ts_query_ls Can be configured by passing a “settings” object to ts_query_ls.setup{}:

require('lspconfig').ts_query_ls.setup{
    settings = {
      parser_install_directories = {
        -- If using nvim-treesitter with lazy.nvim
        vim.fs.joinpath(
          vim.fn.stdpath('data'),
          '/lazy/nvim-treesitter/parser/'
        ),
      },
      -- This setting is provided by default
      parser_aliases = {
        ecma = 'javascript',
        jsx = 'javascript',
        php_only = 'php',
      },
      -- E.g. zed support
      language_retrieval_patterns = {
        'languages/src/([^/]+)/[^/]+\\.scm$',
      },
    },
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.ts_query_ls.package

The ts_query_ls package to use.

Type: null or package

Default: pkgs.ts_query_ls

Declared by:

plugins.lsp.servers.ts_query_ls.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.ts_query_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.ts_query_ls.extraOptions

Extra options for the ts_query_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.ts_query_ls.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.ts_query_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.ts_query_ls.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:

plugins.lsp.servers.ts_query_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.ts_query_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.ts_query_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

tsp_server

plugins.lsp.servers.tsp_server.enable

Whether to enable https://github.com/microsoft/typespec

The language server for TypeSpec, a language for defining cloud service APIs and shapes.

tsp-server can be installed together with the typespec compiler via npm:

npm install -g @typespec/compiler

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.tsp_server.package

Package to use for tsp_server. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.tsp_server.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.tsp_server.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.tsp_server.extraOptions

Extra options for the tsp_server language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.tsp_server.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.tsp_server.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.tsp_server.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:

plugins.lsp.servers.tsp_server.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.tsp_server.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.tsp_server.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

ttags

URL: https://github.com/npezza93/ttags

plugins.lsp.servers.ttags.enable

Whether to enable https://github.com/npezza93/ttags .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.ttags.package

The ttags package to use.

Type: null or package

Default: pkgs.ttags

Declared by:

plugins.lsp.servers.ttags.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.ttags.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.ttags.extraOptions

Extra options for the ttags language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.ttags.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.ttags.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.ttags.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:

plugins.lsp.servers.ttags.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.ttags.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.ttags.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

turbo_ls

plugins.lsp.servers.turbo_ls.enable

Whether to enable https://www.npmjs.com/package/turbo-language-server

turbo-language-server can be installed via npm:

npm install -g turbo-language-server

or via yarn:

yarn global add turbo-language-server

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.turbo_ls.package

Package to use for turbo_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.turbo_ls.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.turbo_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.turbo_ls.extraOptions

Extra options for the turbo_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.turbo_ls.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.turbo_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.turbo_ls.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:

plugins.lsp.servers.turbo_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.turbo_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.turbo_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

turtle_ls

plugins.lsp.servers.turtle_ls.enable

Whether to enable https://github.com/stardog-union/stardog-language-servers/tree/master/packages/turtle-language-server turtle-language-server, An editor-agnostic server providing language intelligence (diagnostics, hover tooltips, etc.) for the W3C standard Turtle RDF syntax via the Language Server Protocol. installable via npm install -g turtle-language-server or yarn global add turtle-language-server. requires node. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.turtle_ls.package

Package to use for turtle_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.turtle_ls.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.turtle_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.turtle_ls.extraOptions

Extra options for the turtle_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.turtle_ls.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.turtle_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.turtle_ls.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:

plugins.lsp.servers.turtle_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.turtle_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.turtle_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

tvm_ffi_navigator

plugins.lsp.servers.tvm_ffi_navigator.enable

Whether to enable https://github.com/tqchen/ffi-navigator

The Language Server for FFI calls in TVM to be able jump between python and C++

FFI navigator can be installed with pip install ffi-navigator, buf for more details, please see https://github.com/tqchen/ffi-navigator?tab=readme-ov-file#installation .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.tvm_ffi_navigator.package

Package to use for tvm_ffi_navigator. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.tvm_ffi_navigator.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.tvm_ffi_navigator.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.tvm_ffi_navigator.extraOptions

Extra options for the tvm_ffi_navigator language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.tvm_ffi_navigator.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.tvm_ffi_navigator.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.tvm_ffi_navigator.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:

plugins.lsp.servers.tvm_ffi_navigator.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.tvm_ffi_navigator.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.tvm_ffi_navigator.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

twiggy_language_server

plugins.lsp.servers.twiggy_language_server.enable

Whether to enable https://github.com/moetelo/twiggy

twiggy-language-server can be installed via npm:

npm install -g twiggy-language-server

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.twiggy_language_server.package

Package to use for twiggy_language_server. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.twiggy_language_server.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.twiggy_language_server.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.twiggy_language_server.extraOptions

Extra options for the twiggy_language_server language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.twiggy_language_server.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.twiggy_language_server.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.twiggy_language_server.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:

plugins.lsp.servers.twiggy_language_server.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.twiggy_language_server.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.twiggy_language_server.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

typeprof

URL: https://www.ruby-lang.org/

plugins.lsp.servers.typeprof.enable

Whether to enable https://github.com/ruby/typeprof

typeprof is the built-in analysis and LSP tool for Ruby 3.1+. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.typeprof.package

The typeprof package to use.

Type: null or package

Default: pkgs.ruby

Declared by:

plugins.lsp.servers.typeprof.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.typeprof.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.typeprof.extraOptions

Extra options for the typeprof language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.typeprof.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.typeprof.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.typeprof.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:

plugins.lsp.servers.typeprof.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.typeprof.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.typeprof.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

typos_lsp

URL: https://github.com/tekumara/typos-lsp

plugins.lsp.servers.typos_lsp.enable

Whether to enable https://github.com/crate-ci/typos https://github.com/tekumara/typos-lsp

A Language Server Protocol implementation for Typos, a low false-positive source code spell checker, written in Rust. Download it from the releases page on GitHub: https://github.com/tekumara/typos-lsp/releases .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.typos_lsp.package

The typos_lsp package to use.

Type: null or package

Default: pkgs.typos-lsp

Declared by:

plugins.lsp.servers.typos_lsp.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.typos_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.typos_lsp.extraOptions

Extra options for the typos_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.typos_lsp.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.typos_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.typos_lsp.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:

plugins.lsp.servers.typos_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.typos_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.typos_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

typst_lsp

plugins.lsp.servers.typst_lsp.enable

Whether to enable https://github.com/nvarner/typst-lsp

Language server for Typst. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.typst_lsp.package

Package to use for typst_lsp. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.typst_lsp.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.typst_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.typst_lsp.extraOptions

Extra options for the typst_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.typst_lsp.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.typst_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.typst_lsp.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:

plugins.lsp.servers.typst_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.typst_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.typst_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

uiua

URL: https://www.uiua.org/

plugins.lsp.servers.uiua.enable

Whether to enable https://github.com/uiua-lang/uiua/

The builtin language server of the Uiua interpreter.

The Uiua interpreter can be installed with cargo install uiua .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.uiua.package

The uiua package to use.

Type: null or package

Default: pkgs.uiua

Declared by:

plugins.lsp.servers.uiua.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.uiua.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.uiua.extraOptions

Extra options for the uiua language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.uiua.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.uiua.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.uiua.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:

plugins.lsp.servers.uiua.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.uiua.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.uiua.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

ungrammar_languageserver

plugins.lsp.servers.ungrammar_languageserver.enable

Whether to enable https://github.com/binhtran432k/ungrammar-language-features Language Server for Ungrammar.

Ungrammar Language Server can be installed via npm:

npm i ungrammar-languageserver -g
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.ungrammar_languageserver.package

Package to use for ungrammar_languageserver. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.ungrammar_languageserver.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.ungrammar_languageserver.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.ungrammar_languageserver.extraOptions

Extra options for the ungrammar_languageserver language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.ungrammar_languageserver.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.ungrammar_languageserver.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.ungrammar_languageserver.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:

plugins.lsp.servers.ungrammar_languageserver.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.ungrammar_languageserver.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.ungrammar_languageserver.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

unison

plugins.lsp.servers.unison.enable

Whether to enable https://github.com/unisonweb/unison/blob/trunk/docs/language-server.markdown

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.unison.package

Package to use for unison. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.unison.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.unison.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.unison.extraOptions

Extra options for the unison language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.unison.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.unison.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.unison.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:

plugins.lsp.servers.unison.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.unison.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.unison.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

unocss

plugins.lsp.servers.unocss.enable

Whether to enable https://github.com/xna00/unocss-language-server

UnoCSS Language Server can be installed via npm:

npm i unocss-language-server -g

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.unocss.package

Package to use for unocss. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.unocss.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.unocss.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.unocss.extraOptions

Extra options for the unocss language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.unocss.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.unocss.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.unocss.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:

plugins.lsp.servers.unocss.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.unocss.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.unocss.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

uvls

plugins.lsp.servers.uvls.enable

Whether to enable https://codeberg.org/caradhras/uvls Language server for UVL, written using tree sitter and rust. You can install the server easily using cargo:

git clone https://codeberg.org/caradhras/uvls
cd  uvls
cargo install --path .

Note: To activate properly nvim needs to know the uvl filetype. You can add it via:

vim.cmd([[au BufRead,BufNewFile *.uvl setfiletype uvl]])

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.uvls.package

Package to use for uvls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.uvls.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.uvls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.uvls.extraOptions

Extra options for the uvls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.uvls.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.uvls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.uvls.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:

plugins.lsp.servers.uvls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.uvls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.uvls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

v_analyzer

plugins.lsp.servers.v_analyzer.enable

Whether to enable https://github.com/vlang/v-analyzer

V language server.

v-analyzer can be installed by following the instructions here. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.v_analyzer.package

Package to use for v_analyzer. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.v_analyzer.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.v_analyzer.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.v_analyzer.extraOptions

Extra options for the v_analyzer language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.v_analyzer.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.v_analyzer.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.v_analyzer.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:

plugins.lsp.servers.v_analyzer.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.v_analyzer.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.v_analyzer.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

vacuum

URL: https://quobix.com/vacuum

plugins.lsp.servers.vacuum.enable

Whether to enable Vacuum is the worlds fastest OpenAPI 3, OpenAPI 2 / Swagger linter and quality analysis tool.

You can install vacuum using mason or follow the instructions here: https://github.com/daveshanley/vacuum

The file types are not detected automatically, you can register them manually (see below) or override the filetypes:

vim.filetype.add {
  pattern = {
    ['openapi.*%.ya?ml'] = 'yaml.openapi',
    ['openapi.*%.json'] = 'json.openapi',
  },
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.vacuum.package

The vacuum package to use.

Type: null or package

Default: pkgs.vacuum-go

Declared by:

plugins.lsp.servers.vacuum.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.vacuum.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.vacuum.extraOptions

Extra options for the vacuum language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.vacuum.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.vacuum.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.vacuum.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:

plugins.lsp.servers.vacuum.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.vacuum.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.vacuum.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

vala_ls

URL: https://github.com/vala-lang/vala-language-server

plugins.lsp.servers.vala_ls.enable

Whether to enable https://github.com/Prince781/vala-language-server.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.vala_ls.package

The vala_ls package to use.

Type: null or package

Default: pkgs.vala-language-server

Declared by:

plugins.lsp.servers.vala_ls.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.vala_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.vala_ls.extraOptions

Extra options for the vala_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.vala_ls.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.vala_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.vala_ls.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:

plugins.lsp.servers.vala_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.vala_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.vala_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

vale_ls

URL: https://github.com/errata-ai/vale-ls

plugins.lsp.servers.vale_ls.enable

Whether to enable https://github.com/errata-ai/vale-ls

An implementation of the Language Server Protocol (LSP) for the Vale command-line tool. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.vale_ls.package

The vale_ls package to use.

Type: null or package

Default: pkgs.vale-ls

Declared by:

plugins.lsp.servers.vale_ls.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.vale_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.vale_ls.extraOptions

Extra options for the vale_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.vale_ls.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.vale_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.vale_ls.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:

plugins.lsp.servers.vale_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.vale_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.vale_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

vdmj

plugins.lsp.servers.vdmj.enable

Whether to enable https://github.com/nickbattle/vdmj

The VDMJ language server can be installed by cloning the VDMJ repository and running mvn clean install.

Various options are provided to configure the language server (see below). In particular:

  • annotation_paths is a list of folders and/or jar file paths for annotations that should be used with the language server;
  • any value of debugger_port less than zero will disable the debugger; note that if a non-zero value is used, only one instance of the server can be active at a time.

More settings for VDMJ can be changed in a file called vdmj.properties under root_dir/.vscode. For a description of the available settings, see Section 7 of the VDMJ User Guide.

Note: proof obligations and combinatorial testing are not currently supported by neovim. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.vdmj.package

Package to use for vdmj. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.vdmj.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.vdmj.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.vdmj.extraOptions

Extra options for the vdmj language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.vdmj.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.vdmj.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.vdmj.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:

plugins.lsp.servers.vdmj.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.vdmj.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.vdmj.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

vectorcode_server

URL: https://github.com/Davidyz/VectorCode

plugins.lsp.servers.vectorcode_server.enable

Whether to enable https://github.com/Davidyz/VectorCode

A Language Server Protocol implementation for VectorCode, a code repository indexing tool. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.vectorcode_server.package

The vectorcode_server package to use.

Type: null or package

Default: pkgs.vectorcode

Declared by:

plugins.lsp.servers.vectorcode_server.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.vectorcode_server.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.vectorcode_server.extraOptions

Extra options for the vectorcode_server language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.vectorcode_server.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.vectorcode_server.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.vectorcode_server.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:

plugins.lsp.servers.vectorcode_server.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.vectorcode_server.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.vectorcode_server.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

verible

URL: https://github.com/chipsalliance/verible

plugins.lsp.servers.verible.enable

Whether to enable https://github.com/chipsalliance/verible

A linter and formatter for verilog and SystemVerilog files.

Release binaries can be downloaded from here and placed in a directory on PATH.

See https://github.com/chipsalliance/verible/tree/master/verilog/tools/ls/README.md for options. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.verible.package

The verible package to use.

Type: null or package

Default: pkgs.verible

Declared by:

plugins.lsp.servers.verible.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.verible.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.verible.extraOptions

Extra options for the verible language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.verible.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.verible.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.verible.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:

plugins.lsp.servers.verible.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.verible.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.verible.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

veridian

plugins.lsp.servers.veridian.enable

Whether to enable https://github.com/vivekmalneedi/veridian

A SystemVerilog LanguageServer.

Download the latest release for your OS from the releases page

Install with slang feature, if C++17 compiler is available:

cargo install --git https://github.com/vivekmalneedi/veridian.git --all-features

Install if C++17 compiler is not available:

cargo install --git https://github.com/vivekmalneedi/veridian.git
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.veridian.package

Package to use for veridian. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.veridian.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.veridian.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.veridian.extraOptions

Extra options for the veridian language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.veridian.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.veridian.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.veridian.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:

plugins.lsp.servers.veridian.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.veridian.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.veridian.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

veryl_ls

URL: https://veryl-lang.org/

plugins.lsp.servers.veryl_ls.enable

Whether to enable https://github.com/veryl-lang/veryl

Language server for Veryl

veryl-ls can be installed via cargo:

cargo install veryl-ls
.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.veryl_ls.package

The veryl_ls package to use.

Type: null or package

Default: pkgs.veryl

Declared by:

plugins.lsp.servers.veryl_ls.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.veryl_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.veryl_ls.extraOptions

Extra options for the veryl_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.veryl_ls.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.veryl_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.veryl_ls.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:

plugins.lsp.servers.veryl_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.veryl_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.veryl_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

vhdl_ls

URL: https://github.com/VHDL-LS/rust_hdl

plugins.lsp.servers.vhdl_ls.enable

Whether to enable Install vhdl_ls from https://github.com/VHDL-LS/rust_hdl and add it to path

Configuration

The language server needs to know your library mapping to perform full analysis of the code. For this it uses a configuration file in the TOML format named vhdl_ls.toml.

vhdl_ls will load configuration files in the following order of priority (first to last):

A file named .vhdl_ls.toml in the user home folder.
A file name from the VHDL_LS_CONFIG environment variable.
A file named vhdl_ls.toml in the workspace root.

Settings in a later files overwrites those from previously loaded files.

Example vhdl_ls.toml

# File names are either absolute or relative to the parent folder of the vhdl_ls.toml file
[libraries]
lib2.files = [
  'pkg2.vhd',
]
lib1.files = [
  'pkg1.vhd',
  'tb_ent.vhd'
]

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.vhdl_ls.package

The vhdl_ls package to use.

Type: null or package

Default: pkgs.vhdl-ls

Declared by:

plugins.lsp.servers.vhdl_ls.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.vhdl_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.vhdl_ls.extraOptions

Extra options for the vhdl_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.vhdl_ls.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.vhdl_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.vhdl_ls.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:

plugins.lsp.servers.vhdl_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.vhdl_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.vhdl_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

vimls

URL: https://github.com/iamcco/vim-language-server

plugins.lsp.servers.vimls.enable

Whether to enable https://github.com/iamcco/vim-language-server

You can install vim-language-server via npm:

npm install -g vim-language-server

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.vimls.package

The vimls package to use.

Type: null or package

Default: pkgs.vim-language-server

Declared by:

plugins.lsp.servers.vimls.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.vimls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.vimls.extraOptions

Extra options for the vimls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.vimls.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.vimls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.vimls.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:

plugins.lsp.servers.vimls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.vimls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.vimls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

visualforce_ls

plugins.lsp.servers.visualforce_ls.enable

Whether to enable https://github.com/forcedotcom/salesforcedx-vscode

Language server for Visualforce.

For manual installation, download the .vsix archive file from the forcedotcom/salesforcedx-vscode GitHub releases. Then, configure cmd to run the Node script at the unpacked location:

require'lspconfig'.visualforce_ls.setup {
  cmd = {
    'node',
    '/path/to/unpacked/archive/extension/node_modules/@salesforce/salesforcedx-visualforce-language-server/out/src/visualforceServer.js',
    '--stdio'
  }
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.visualforce_ls.package

Package to use for visualforce_ls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.visualforce_ls.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.visualforce_ls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.visualforce_ls.extraOptions

Extra options for the visualforce_ls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.visualforce_ls.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.visualforce_ls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.visualforce_ls.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:

plugins.lsp.servers.visualforce_ls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.visualforce_ls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.visualforce_ls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

vls

URL: https://vlang.io/

plugins.lsp.servers.vls.enable

Whether to enable https://github.com/vlang/vls

V language server.

v-language-server can be installed by following the instructions here. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.vls.package

The vls package to use.

Type: null or package

Default: pkgs.vlang

Declared by:

plugins.lsp.servers.vls.autoSetFiletype

Files with the .v extension are not automatically detected as vlang files. If this option is enabled, Nixvim will automatically set the filetype accordingly.

Type: boolean

Default: true

Example: false

Declared by:

plugins.lsp.servers.vls.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.vls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.vls.extraOptions

Extra options for the vls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.vls.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.vls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.vls.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:

plugins.lsp.servers.vls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.vls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.vls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

volar

URL: https://github.com/vuejs/language-tools#readme

plugins.lsp.servers.volar.enable

Whether to enable https://github.com/vuejs/language-tools/tree/master/packages/language-server

Volar language server for Vue

Volar can be installed via npm:

npm install -g @vue/language-server

Volar by default supports Vue 3 projects. For Vue 2 projects, additional configuration are required.

Hybrid Mode (by default)

In this mode, the Vue Language Server exclusively manages the CSS/HTML sections. You need the ts_ls server with the @vue/typescript-plugin plugin to support TypeScript in .vue files. See ts_ls section for more information

No Hybrid Mode

Volar will run embedded ts_ls therefore there is no need to run it separately.

local lspconfig = require('lspconfig')

lspconfig.volar.setup {
  -- add filetypes for typescript, javascript and vue
  filetypes = { 'typescript', 'javascript', 'javascriptreact', 'typescriptreact', 'vue' },
  init_options = {
    vue = {
      -- disable hybrid mode
      hybridMode = false,
    },
  },
}
-- you must remove ts_ls setup
-- lspconfig.ts_ls.setup {}

Overriding the default TypeScript Server used by Volar

The default config looks for TypeScript in the local node_modules. This can lead to issues e.g. when working on a monorepo. The alternatives are:

  • use a global TypeScript Server installation
require'lspconfig'.volar.setup {
  init_options = {
    typescript = {
      -- replace with your global TypeScript library path
      tsdk = '/path/to/node_modules/typescript/lib'
    }
  }
}
  • use a local server and fall back to a global TypeScript Server installation
require'lspconfig'.volar.setup {
  init_options = {
    typescript = {
      -- replace with your global TypeScript library path
      tsdk = '/path/to/node_modules/typescript/lib'
    }
  },
  on_new_config = function(new_config, new_root_dir)
    local lib_path = vim.fs.find('node_modules/typescript/lib', { path = new_root_dir, upward = true })[1]
    if lib_path then
      new_config.init_options.typescript.tsdk = lib_path
    end
  end
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.volar.package

The volar package to use.

Type: null or package

Default: pkgs.vue-language-server

Declared by:

plugins.lsp.servers.volar.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.volar.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.volar.extraOptions

Extra options for the volar language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.volar.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.volar.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.volar.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:

plugins.lsp.servers.volar.tslsIntegration

Enable integration with TypeScript language server.

Type: boolean

Default: true

Example: false

Declared by:

plugins.lsp.servers.volar.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.volar.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.volar.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

vscoqtop

plugins.lsp.servers.vscoqtop.enable

Whether to enable https://github.com/coq-community/vscoq .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.vscoqtop.package

Package to use for vscoqtop. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.vscoqtop.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.vscoqtop.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.vscoqtop.extraOptions

Extra options for the vscoqtop language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.vscoqtop.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.vscoqtop.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.vscoqtop.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:

plugins.lsp.servers.vscoqtop.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.vscoqtop.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.vscoqtop.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

vtsls

URL: https://github.com/yioneko/vtsls

plugins.lsp.servers.vtsls.enable

Whether to enable https://github.com/yioneko/vtsls

vtsls can be installed with npm:

npm install -g @vtsls/language-server

To configure a TypeScript project, add a tsconfig.json or jsconfig.json to the root of your project. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.vtsls.package

The vtsls package to use.

Type: null or package

Default: pkgs.vtsls

Declared by:

plugins.lsp.servers.vtsls.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.vtsls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.vtsls.extraOptions

Extra options for the vtsls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.vtsls.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.vtsls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.vtsls.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:

plugins.lsp.servers.vtsls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.vtsls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.vtsls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

vuels

plugins.lsp.servers.vuels.enable

Whether to enable https://github.com/vuejs/vetur/tree/master/server

Vue language server(vls) vue-language-server can be installed via npm:

npm install -g vls

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.vuels.package

Package to use for vuels. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.vuels.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.vuels.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.vuels.extraOptions

Extra options for the vuels language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.vuels.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.vuels.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.vuels.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:

plugins.lsp.servers.vuels.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.vuels.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.vuels.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

wasm_language_tools

plugins.lsp.servers.wasm_language_tools.enable

Whether to enable https://github.com/g-plane/wasm-language-tools

WebAssembly Language Tools aims to provide and improve the editing experience of WebAssembly Text Format. It also provides an out-of-the-box formatter (a.k.a. pretty printer) for WebAssembly Text Format. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.wasm_language_tools.package

Package to use for wasm_language_tools. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.wasm_language_tools.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.wasm_language_tools.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.wasm_language_tools.extraOptions

Extra options for the wasm_language_tools language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.wasm_language_tools.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.wasm_language_tools.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.wasm_language_tools.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:

plugins.lsp.servers.wasm_language_tools.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.wasm_language_tools.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.wasm_language_tools.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

wgsl_analyzer

URL: https://github.com/wgsl-analyzer/wgsl-analyzer

plugins.lsp.servers.wgsl_analyzer.enable

Whether to enable https://github.com/wgsl-analyzer/wgsl-analyzer

wgsl-analyzer can be installed via cargo:

cargo install --git https://github.com/wgsl-analyzer/wgsl-analyzer wgsl-analyzer

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.wgsl_analyzer.package

The wgsl_analyzer package to use.

Type: null or package

Default: pkgs.wgsl-analyzer

Declared by:

plugins.lsp.servers.wgsl_analyzer.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.wgsl_analyzer.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.wgsl_analyzer.extraOptions

Extra options for the wgsl_analyzer language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.wgsl_analyzer.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.wgsl_analyzer.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.wgsl_analyzer.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:

plugins.lsp.servers.wgsl_analyzer.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.wgsl_analyzer.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.wgsl_analyzer.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

yamlls

URL: https://github.com/redhat-developer/yaml-language-server

plugins.lsp.servers.yamlls.enable

Whether to enable https://github.com/redhat-developer/yaml-language-server

yaml-language-server can be installed via yarn:

yarn global add yaml-language-server

To use a schema for validation, there are two options:

  1. Add a modeline to the file. A modeline is a comment of the form:
# yaml-language-server: $schema=<urlToTheSchema|relativeFilePath|absoluteFilePath}>

where the relative filepath is the path relative to the open yaml file, and the absolute filepath is the filepath relative to the filesystem root (‘/’ on unix systems)

  1. Associated a schema url, relative , or absolute (to root of project, not to filesystem root) path to the a glob pattern relative to the detected project root. Check :LspInfo to determine the resolved project root.
require('lspconfig').yamlls.setup {
  ... -- other configuration for setup {}
  settings = {
    yaml = {
      ... -- other settings. note this overrides the lspconfig defaults.
      schemas = {
        ["https://json.schemastore.org/github-workflow.json"] = "/.github/workflows/*",
        ["../path/relative/to/file.yml"] = "/.github/workflows/*",
        ["/path/from/root/of/project"] = "/.github/workflows/*",
      },
    },
  }
}

Currently, kubernetes is special-cased in yammls, see the following upstream issues: * #211. * #307.

To override a schema to use a specific k8s schema version (for example, to use 1.18):

require('lspconfig').yamlls.setup {
  ... -- other configuration for setup {}
  settings = {
    yaml = {
      ... -- other settings. note this overrides the lspconfig defaults.
      schemas = {
        ["https://raw.githubusercontent.com/yannh/kubernetes-json-schema/refs/heads/master/v1.32.1-standalone-strict/all.json"] = "/*.k8s.yaml",
        ... -- other schemas
      },
    },
  }
}

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.yamlls.package

The yamlls package to use.

Type: null or package

Default: pkgs.yaml-language-server

Declared by:

plugins.lsp.servers.yamlls.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.yamlls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.yamlls.extraOptions

Extra options for the yamlls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.yamlls.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.yamlls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.yamlls.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:

plugins.lsp.servers.yamlls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.yamlls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.yamlls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

yang_lsp

plugins.lsp.servers.yang_lsp.enable

Whether to enable https://github.com/TypeFox/yang-lsp

A Language Server for the YANG data modeling language. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.yang_lsp.package

Package to use for yang_lsp. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.yang_lsp.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.yang_lsp.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.yang_lsp.extraOptions

Extra options for the yang_lsp language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.yang_lsp.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.yang_lsp.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.yang_lsp.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:

plugins.lsp.servers.yang_lsp.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.yang_lsp.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.yang_lsp.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

yls

plugins.lsp.servers.yls.enable

Whether to enable https://pypi.org/project/yls-yara/

An YLS plugin adding YARA linting capabilities.

This plugin runs yara.compile on every save, parses the errors, and returns list of diagnostic messages.

Language Server: https://github.com/avast/yls .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.yls.package

Package to use for yls. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.yls.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.yls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.yls.extraOptions

Extra options for the yls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.yls.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.yls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.yls.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:

plugins.lsp.servers.yls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.yls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.yls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

ziggy

plugins.lsp.servers.ziggy.enable

Whether to enable https://ziggy-lang.io/documentation/ziggy-lsp/

Language server for the Ziggy data serialization format

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.ziggy.package

Package to use for ziggy. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.ziggy.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.ziggy.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.ziggy.extraOptions

Extra options for the ziggy language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.ziggy.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.ziggy.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.ziggy.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:

plugins.lsp.servers.ziggy.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.ziggy.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.ziggy.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

ziggy_schema

plugins.lsp.servers.ziggy_schema.enable

Whether to enable https://ziggy-lang.io/documentation/ziggy-lsp/

Language server for schema files of the Ziggy data serialization format

.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.ziggy_schema.package

Package to use for ziggy_schema. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.lsp.servers.ziggy_schema.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.ziggy_schema.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.ziggy_schema.extraOptions

Extra options for the ziggy_schema language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.ziggy_schema.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.ziggy_schema.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.ziggy_schema.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:

plugins.lsp.servers.ziggy_schema.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.ziggy_schema.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.ziggy_schema.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

zk

URL: https://github.com/mickael-menu/zk

plugins.lsp.servers.zk.enable

Whether to enable https://github.com/mickael-menu/zk

A plain text note-taking assistant .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.zk.package

The zk package to use.

Type: null or package

Default: pkgs.zk

Declared by:

plugins.lsp.servers.zk.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.zk.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.zk.extraOptions

Extra options for the zk language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.zk.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.zk.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.zk.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:

plugins.lsp.servers.zk.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.zk.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.zk.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

zls

URL: https://github.com/zigtools/zls

plugins.lsp.servers.zls.enable

Whether to enable https://github.com/zigtools/zls

Zig LSP implementation + Zig Language Server .

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp.servers.zls.package

The zls package to use.

Type: null or package

Default: pkgs.zls

Declared by:

plugins.lsp.servers.zls.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.zls.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 when package is null, otherwise null

Declared by:

plugins.lsp.servers.zls.extraOptions

Extra options for the zls language server.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lsp.servers.zls.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.zls.rootMarkers

A list of files that mark the root of the project/workspace.

Vim’s LSP will try to share the same language server instance for all buffers matching filetypes within the same project.

A new server instance is only spawned when opening a buffer with a different project root.

See :h lsp-config and :h vim.fs.root().

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp.servers.zls.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:

plugins.lsp.servers.zls.onAttach

Server specific on_attach behavior.

Type: null or (submodule)

Default: null

Declared by:

plugins.lsp.servers.zls.onAttach.function

Body of the on_attach function. The argument client and bufnr is provided.

Type: strings concatenated with “\n”

Declared by:

plugins.lsp.servers.zls.onAttach.override

Override the global plugins.lsp.onAttach function.

Type: boolean

Default: false

Declared by:

lsp-format

URL: https://github.com/lukas-reineke/lsp-format.nvim/

Maintainers: Austin Horstman


Configuring a Language

lsp-format uses a table defining which lsp servers to use for each language.

  • exclude is a table of LSP servers that should not format the buffer.
    • Alternatively, you can also just not call on_attach for the clients you don't want to use for formatting.
  • order is a table that determines the order formatting is requested from the LSP server.
  • sync turns on synchronous formatting. The editor will block until the formatting is done.
  • force will write the format result to the buffer, even if the buffer changed after the format request started.

plugins.lsp-format.enable

Whether to enable lsp-format.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp-format.package

The lsp-format.nvim package to use.

Type: package

Default: pkgs.vimPlugins.lsp-format-nvim

Declared by:

plugins.lsp-format.autoLoad

Whether to automatically load lsp-format.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.lsp-format.lspServersToEnable

Choose the LSP servers for which lsp-format should be enabled.

Possible values:

  • “all” (default): Enable formatting for all language servers
  • “none”: Do not enable formatting on any language server. You might choose this if for some reason you want to manually call require("lsp-format").on_attach(client).
  • list of LS names: Manually choose the servers by name

Type: one of “none”, “all” or list of string

Default: "all"

Example:

[
  "efm"
  "gopls"
]

Declared by:

plugins.lsp-format.settings

Options provided to the require('lsp-format').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  go = {
    exclude = [
      "gopls"
    ];
    force = true;
    order = [
      "gopls"
      "efm"
    ];
    sync = true;
  };
  typescript = {
    tab_width = {
      __raw = ''
        function()
          return vim.opt.shiftwidth:get()
        end'';
    };
  };
  yaml = {
    tab_width = 2;
  };
}

Declared by:

plugins.lsp-format.lazyLoad

Lazy-load settings for lsp-format.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.lsp-format.lazyLoad.enable

lazy-loading for lsp-format.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.lsp-format.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.lsp-format.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.lsp-format.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.lsp-format.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

lsp-lines

URL: https://git.sr.ht/~whynothugo/lsp_lines.nvim

Maintainers: Matt Sturgeon

plugins.lsp-lines.enable

Whether to enable lsp_lines.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp-lines.package

The lsp_lines.nvim package to use.

Type: package

Default: pkgs.vimPlugins.lsp_lines-nvim

Declared by:

plugins.lsp-lines.autoLoad

Whether to automatically load lsp_lines.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.lsp-lines.lazyLoad

Lazy-load settings for lsp_lines.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.lsp-lines.lazyLoad.enable

lazy-loading for lsp_lines.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.lsp-lines.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.lsp-lines.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.lsp-lines.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.lsp-lines.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

lsp-signature

URL: https://github.com/ray-x/lsp_signature.nvim/

Maintainers: Esther

plugins.lsp-signature.enable

Whether to enable lsp_signature.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp-signature.package

The lsp_signature.nvim package to use.

Type: package

Default: pkgs.vimPlugins.lsp_signature-nvim

Declared by:

plugins.lsp-signature.autoLoad

Whether to automatically load lsp_signature.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.lsp-signature.lazyLoad

Lazy-load settings for lsp_signature.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.lsp-signature.lazyLoad.enable

lazy-loading for lsp_signature.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.lsp-signature.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.lsp-signature.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.lsp-signature.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.lsp-signature.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.lsp-signature.settings

Options provided to the require('lsp_signature').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  extra_trigger_chars = [
    "("
    ","
  ];
  hint_prefix = {
    above = "↙ ";
    below = "↖ ";
    current = "← ";
  };
  padding = " ";
  shadow_guibg = "#121315";
  toggle_key = "<M-x>";
}

Declared by:

plugins.lsp-signature.settings.always_trigger

Sometime show signature on new line or in middle of parameter can be confusing.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp-signature.settings.auto_close_after

Autoclose signature float win after x seconds, disabled if nil.

Type: null or lua code string

Default: null

Plugin default: "nil"

Declared by:

plugins.lsp-signature.settings.bind

This is mandatory, otherwise border config won’t get registered. If you want to hook lspsaga or other signature handler, please set to false.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp-signature.settings.close_timeout

Close the floating window after ms when last parameter is entered.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 4000

Declared by:

plugins.lsp-signature.settings.debug

Whether to enable debug logging.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp-signature.settings.doc_lines

Will show two lines of comment/doc(if there are more than two lines in the doc, will be truncated).

Set to zero if you DO NOT want any API comments be shown. This setting only take effect in insert mode, it does not affect signature help in normal mode.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.lsp-signature.settings.extra_trigger_chars

Array of of extra characters that will trigger signature completion.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp-signature.settings.fix_pos

If set to true, the floating window will not auto-close until all parameters are entered.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp-signature.settings.floating_window

Show hint in a floating window, set to false for virtual text only mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp-signature.settings.floating_window_above_cur_line

Whether to try to place the floating window above the current line when possible.

Note: Will set to true when fully tested, set to false will use whichever side has more space. This setting will be helpful if you do not want the PUM and floating win overlap.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp-signature.settings.floating_window_off_x

Adjust the floating window’s x position.

Type: null or lua function string or signed integer

Default: null

Plugin default: 1

Declared by:

plugins.lsp-signature.settings.floating_window_off_y

Adjust the floating window’s y positin. e.g:

  • -2 move window up 2 lines.
  • 2 move down 2 lines.

Type: null or lua function string or signed integer

Default: null

Plugin default: 0

Declared by:

plugins.lsp-signature.settings.handler_opts

border can be double, rounded, single, shadow, none or a lua table of borders.

Type: null or (attribute set) or raw lua code

Default: null

Plugin default:

{
  border = "rounded";
}

Declared by:

plugins.lsp-signature.settings.hi_parameter

How your parameter will be highlighted.

Type: null or string or raw lua code

Default: null

Plugin default: "LspSignatureActiveParameter"

Declared by:

plugins.lsp-signature.settings.hint_enable

Whether to enable virtual hint.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp-signature.settings.hint_inline

Should the hint be inline(nvim 0.10 only)? False by default.

  • Return true | 'inline' to show hint inline.
  • Return 'eol' to show hint at the end of line.
  • Return false to disable.
  • Return 'right_align' to display hint right aligned in the current line.

Type: null or lua function string

Default: null

Plugin default:

''
  function() return false end
''

Declared by:

plugins.lsp-signature.settings.hint_prefix

Panda for parameter. Note: for the terminal not support emoji, might crash.

Alternatively, you can provide a table with 3 icons.

Type: null or anything

Default: null

Plugin default: "🐼 "

Declared by:

plugins.lsp-signature.settings.hint_scheme

Type: null or string or raw lua code

Default: null

Plugin default: "String"

Declared by:

plugins.lsp-signature.settings.keymaps

Related to move_cursor_key. The keymaps inside floating window with arguments of bufnr. It can be a function that sets keymaps. <M-d> and <M-u> are default keymaps for moving the cursor up and down.

Type: null or (list of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lsp-signature.settings.log_path

Log directory for when debug is on. Default is ~/.cache/nvim/lsp_signature.log.

Type: null or string or raw lua code

Default: null

Plugin default:

{
  __raw = ''
    vim.fn.stdpath("cache") .. "/lsp_signature.log"
  '';
}

Declared by:

plugins.lsp-signature.settings.max_height

Maximum height of the signature floating_window.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 12

Declared by:

plugins.lsp-signature.settings.max_width

Maximum height of the signature floating_window, line will be wrapped if it exceeds max_width.

Type: null or positive integer, meaning >0, or raw lua code

Default: null

Plugin default: 80

Declared by:

plugins.lsp-signature.settings.move_cursor_key

imap, use nvim_set_current_win to move cursor between current window and floating window. Once moved to floating window, you can use <M-d>, <M-u> to move cursor up and down.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp-signature.settings.padding

Character to pad on left and right of signature.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.lsp-signature.settings.select_signature_key

The keybind for cycling to next signature.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp-signature.settings.shadow_blend

If you’re using shadow as border, use this to set the opacity.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 36

Declared by:

plugins.lsp-signature.settings.shadow_guibg

If you’re using shadow as border, use this to set the color.

Type: null or string or raw lua code

Default: null

Plugin default: "Green"

Declared by:

plugins.lsp-signature.settings.time_interval

Timer check interval. Set to a lower value if you want to reduce latency.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 200

Declared by:

plugins.lsp-signature.settings.toggle_flip_floatwin_setting

  • true: toggle.
  • floating_windows: true|false setting after toggle key pressed.
  • false: floating_window’s setup will not change, toggle_key will pop up signature helper, but signature.

May not popup when typing, depending on floating_window setting.

Type: null or lua code string or boolean

Default: null

Plugin default: false

Declared by:

plugins.lsp-signature.settings.toggle_key

Toggle signature on and off in insert mode.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.lsp-signature.settings.transparency

Disabled by default, allow floating window transparent value 1~100.

Type: null or lua code string or integer between 1 and 100 (both inclusive)

Default: null

Plugin default: "nil"

Declared by:

plugins.lsp-signature.settings.verbose

Whether to show the debug line number.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lsp-signature.settings.wrap

Allow doc/signature text wrap inside floating_window, useful if your lsp return/sig is too long.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp-signature.settings.zindex

By default it will be on top of all floating windows. Set to <= 50 to send it to the bottom.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 200

Declared by:

lsp-status

URL: https://github.com/nvim-lua/lsp-status.nvim/

Maintainers: Ben

plugins.lsp-status.enable

Whether to enable lsp-status.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lsp-status.package

The lsp-status.nvim package to use.

Type: package

Default: pkgs.vimPlugins.lsp-status-nvim

Declared by:

plugins.lsp-status.autoLoad

Whether to automatically load lsp-status.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.lsp-status.lazyLoad

Lazy-load settings for lsp-status.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.lsp-status.lazyLoad.enable

lazy-loading for lsp-status.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.lsp-status.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.lsp-status.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.lsp-status.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.lsp-status.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.lsp-status.settings

Options provided to the require('lsp-status').setup function.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.lsp-status.settings.component_separator

A string which goes between each “chunk” of the statusline component (i.e. different diagnostic groups, messages).

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.lsp-status.settings.current_function

True if the current function should be updated and displayed in the default statusline component.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp-status.settings.diagnostics

If false, the default statusline component does not display LSP diagnostics.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp-status.settings.indicator_errors

The string to show as diagnostics. If you don’t have Nerd/Awesome Fonts you can replace defaults with ASCII chars.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.lsp-status.settings.indicator_hint

The string to show as diagnostics. If you don’t have Nerd/Awesome Fonts you can replace defaults with ASCII chars.

Type: null or string or raw lua code

Default: null

Plugin default: "❗"

Declared by:

plugins.lsp-status.settings.indicator_info

The string to show as diagnostics. If you don’t have Nerd/Awesome Fonts you can replace defaults with ASCII chars.

Type: null or string or raw lua code

Default: null

Plugin default: "🛈"

Declared by:

plugins.lsp-status.settings.indicator_ok

The string to show as diagnostics. If you don’t have Nerd/Awesome Fonts you can replace defaults with ASCII chars.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.lsp-status.settings.indicator_separator

A string which goes between each diagnostic group symbol and its count.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.lsp-status.settings.indicator_warnings

The string to show as diagnostics. If you don’t have Nerd/Awesome Fonts you can replace defaults with ASCII chars.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.lsp-status.settings.kind_labels

An optional map from LSP symbol kinds to label symbols. Used to decorate the current function name.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.lsp-status.settings.select_symbol

An optional handler of the form function(cursor_pos, document_symbol) that should return true if document_symbol (a DocumentSymbol) should be accepted as the symbol currently containing the cursor.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.lsp-status.settings.show_filename

True if the current function should be updated and displayed in the default statusline component.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lsp-status.settings.spinner_frames

Animation frames of the spinner displayed while lsp is processing.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "⣾"
  "⣽"
  "⣻"
  "⢿"
  "⡿"
  "⣟"
  "⣯"
  "⣷"
]

Declared by:

plugins.lsp-status.settings.status_symbol

Symbol displayed at the beginning of the status message.

Type: null or string or raw lua code

Default: null

Plugin default: " 🇻"

Declared by:

plugins.lsp-status.settings.update_interval

The interval, in milliseconds, to update the status message.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 100

Declared by:

lspconfig

URL: https://github.com/neovim/nvim-lspconfig/

Maintainers: Gaetan Lepage, Heitor Augusto, Matt Sturgeon, Austin Horstman, Quentin Boyer


nvim-lspconfig provides default configs for many language servers, but it does not enable any of them. You should use the lsp module to configure and enable LSP servers.

note

This plugin module will soon replace plugins.lsp.

Both plugins.lspconfig.enable and plugins.lsp.enable will install nvim-lspconfig, however the older plugins.lsp module includes additional options and setup that relate to neovim's builtin LSP and are now being moved to the new lsp module.

plugins.lspconfig.enable

Whether to enable nvim-lspconfig.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lspconfig.package

The nvim-lspconfig package to use.

Type: package

Default: pkgs.vimPlugins.nvim-lspconfig

Declared by:

plugins.lspconfig.autoLoad

Whether to automatically load nvim-lspconfig when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.lspconfig.lazyLoad

Lazy-load settings for nvim-lspconfig.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.lspconfig.lazyLoad.enable

lazy-loading for nvim-lspconfig

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.lspconfig.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.lspkind.enable

Whether to enable lspkind.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lspkind.package

The lspkind package to use.

Type: package

Default: pkgs.vimPlugins.lspkind-nvim

Declared by:

plugins.lspkind.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lspkind.mode

Defines how annotations are shown

Type: null or one of “text”, “text_symbol”, “symbol_text”, “symbol” or raw lua code

Default: null

Plugin default: "symbol_text"

Declared by:

plugins.lspkind.preset

Default symbol map

Type: null or one of “default”, “codicons” or raw lua code

Default: null

Plugin default: "codicons"

Declared by:

plugins.lspkind.symbolMap

Override preset symbols

Type: null or (attribute set of string)

Default: null

Declared by:

plugins.lspkind.cmp.enable

Integrate with nvim-cmp

Type: boolean

Default: true

Declared by:

plugins.lspkind.cmp.after

Function to run after calculating the formatting. function(entry, vim_item, kind)

Type: null or string

Default: null

Declared by:

plugins.lspkind.cmp.ellipsisChar

Character to show when the popup exceeds maxwidth

Type: null or string

Default: null

Declared by:

plugins.lspkind.cmp.maxWidth

Maximum number of characters to show in the popup

Type: null or signed integer

Default: null

Declared by:

plugins.lspkind.cmp.menu

Show source names in the popup

Type: null or (attribute set of string)

Default: null

Declared by:

plugins.lspsaga.enable

Whether to enable lspsaga.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lspsaga.package

The lspsaga package to use.

Type: package

Default: pkgs.vimPlugins.lspsaga-nvim

Declared by:

plugins.lspsaga.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.lspsaga.beacon.enable

In Lspsaga, some commands jump around in buffer(s). With beacon enabled, it will show a beacon to tell you where the cursor is.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lspsaga.beacon.frequency

Frequency.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 7

Declared by:

plugins.lspsaga.callhierarchy.layout

  • Layout normal and float.
  • Or you can pass in an extra argument like :Lspsaga incoming_calls ++normal, which overrides this option.

Type: null or one of “float”, “normal” or raw lua code

Default: null

Plugin default: "float"

Declared by:

plugins.lspsaga.callhierarchy.keys.close

Close layout.

Type: null or string or list of string

Default: null

Plugin default: "<C-c>k"

Declared by:

plugins.lspsaga.callhierarchy.keys.edit

Edit (open) file.

Type: null or string or list of string

Default: null

Plugin default: "e"

Declared by:

plugins.lspsaga.callhierarchy.keys.quit

Quit layout.

Type: null or string or list of string

Default: null

Plugin default: "q"

Declared by:

plugins.lspsaga.callhierarchy.keys.shuttle

Shuttle between the layout left and right.

Type: null or string or list of string

Default: null

Plugin default: "[w"

Declared by:

plugins.lspsaga.callhierarchy.keys.split

split

Type: null or string or list of string

Default: null

Plugin default: "i"

Declared by:

plugins.lspsaga.callhierarchy.keys.tabe

Open in new tab.

Type: null or string or list of string

Default: null

Plugin default: "t"

Declared by:

plugins.lspsaga.callhierarchy.keys.toggleOrReq

Toggle or do request.

Type: null or string or list of string

Default: null

Plugin default: "u"

Declared by:

plugins.lspsaga.callhierarchy.keys.vsplit

vsplit

Type: null or string or list of string

Default: null

Plugin default: "s"

Declared by:

plugins.lspsaga.codeAction.extendGitSigns

Extend gitsigns plugin diff action.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lspsaga.codeAction.numShortcut

Whether number shortcut for code actions are enabled.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lspsaga.codeAction.onlyInCursor

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lspsaga.codeAction.showServerName

Show language server name.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lspsaga.codeAction.keys.exec

Execute action.

Type: null or string or list of string

Default: null

Plugin default: "<CR>"

Declared by:

plugins.lspsaga.codeAction.keys.quit

Quit the float window.

Type: null or string or list of string

Default: null

Plugin default: "q"

Declared by:

plugins.lspsaga.definition.height

Defines float window height.

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.5

Declared by:

plugins.lspsaga.definition.width

Defines float window width.

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.6

Declared by:

plugins.lspsaga.definition.keys.close

close

Type: null or string or list of string

Default: null

Plugin default: "<C-c>k"

Declared by:

plugins.lspsaga.definition.keys.edit

edit

Type: null or string or list of string

Default: null

Plugin default: "<C-c>o"

Declared by:

plugins.lspsaga.definition.keys.quit

quit

Type: null or string or list of string

Default: null

Plugin default: "q"

Declared by:

plugins.lspsaga.definition.keys.split

split

Type: null or string or list of string

Default: null

Plugin default: "<C-c>i"

Declared by:

plugins.lspsaga.definition.keys.tabe

tabe

Type: null or string or list of string

Default: null

Plugin default: "<C-c>t"

Declared by:

plugins.lspsaga.definition.keys.vsplit

vsplit

Type: null or string or list of string

Default: null

Plugin default: "<C-c>v"

Declared by:

plugins.lspsaga.diagnostic.borderFollow

Diagnostic jump window border follow diagnostic type.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lspsaga.diagnostic.diagnosticOnlyCurrent

Only show diagnostic virtual text on the current line.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lspsaga.diagnostic.extendRelatedInformation

When have relatedInformation, diagnostic message is extended to show it.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lspsaga.diagnostic.jumpNumShortcut

Enable number shortcuts to execute code action quickly.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lspsaga.diagnostic.maxHeight

Diagnostic jump window max height.

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.6

Declared by:

plugins.lspsaga.diagnostic.maxShowHeight

Show window max height when layout is float.

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.6

Declared by:

plugins.lspsaga.diagnostic.maxShowWidth

Show window max width when layout is float.

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.9

Declared by:

plugins.lspsaga.diagnostic.maxWidth

Diagnostic jump window max width.

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.8

Declared by:

plugins.lspsaga.diagnostic.showCodeAction

Show code action in diagnostic jump window. It’s useful. Suggested to set to true.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lspsaga.diagnostic.showLayout

Config layout of diagnostic window not jump window.

Type: null or string or raw lua code

Default: null

Plugin default: "float"

Declared by:

plugins.lspsaga.diagnostic.showNormalHeight

Show window height when diagnostic show window layout is normal.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.lspsaga.diagnostic.textHlFollow

Diagnostic jump window text highlight follow diagnostic type.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lspsaga.diagnostic.keys.execAction

Execute action (in jump window).

Type: null or string or list of string

Default: null

Plugin default: "o"

Declared by:

plugins.lspsaga.diagnostic.keys.quit

Quit key for the jump window.

Type: null or string or list of string

Default: null

Plugin default: "q"

Declared by:

plugins.lspsaga.diagnostic.keys.quitInShow

Quit key for the diagnostic_show window.

Type: null or string or list of string

Default: null

Plugin default: "[q <ESC>]"

Declared by:

plugins.lspsaga.diagnostic.keys.toggleOrJump

Toggle or jump to position when in diagnostic_show window.

Type: null or string or list of string

Default: null

Plugin default: "<CR>"

Declared by:

plugins.lspsaga.finder.default

Default search results shown, ref for “references” and imp for “implementation”.

Type: null or string or raw lua code

Default: null

Plugin default: "ref+imp"

Declared by:

plugins.lspsaga.finder.filter

Keys are LSP methods. Values are a filter handler. Function parameter are client_id and result.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.lspsaga.finder.layout

normal will use the normal layout window priority is lower than command layout.

Type: null or one of “float”, “normal” or raw lua code

Default: null

Plugin default: "float"

Declared by:

plugins.lspsaga.finder.leftWidth

Width of the left finder window (float layout).

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.3

Declared by:

plugins.lspsaga.finder.maxHeight

max_height of the finder window (float layout).

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.5

Declared by:

plugins.lspsaga.finder.methods

Keys are alias of LSP methods. Values are LSP methods, which you want show in finder.

Example:

  {
    tyd = "textDocument/typeDefinition";
  }

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.lspsaga.finder.rightWidth

Width of the right finder window (float layout).

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.3

Declared by:

plugins.lspsaga.finder.silent

If it’s true, it will disable show the no response message.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lspsaga.finder.keys.close

Close finder.

Type: null or string or list of string

Default: null

Plugin default: "<C-c>k"

Declared by:

plugins.lspsaga.finder.keys.quit

Quit the finder, only works in layout left window.

Type: null or string or list of string

Default: null

Plugin default: "q"

Declared by:

plugins.lspsaga.finder.keys.shuttle

Shuttle between the finder layout window.

Type: null or string or list of string

Default: null

Plugin default: "[w"

Declared by:

plugins.lspsaga.finder.keys.split

Open in split.

Type: null or string or list of string

Default: null

Plugin default: "i"

Declared by:

plugins.lspsaga.finder.keys.tabe

Open in tabe.

Type: null or string or list of string

Default: null

Plugin default: "t"

Declared by:

plugins.lspsaga.finder.keys.tabnew

Open in new tab.

Type: null or string or list of string

Default: null

Plugin default: "r"

Declared by:

plugins.lspsaga.finder.keys.toggleOrOpen

Toggle expand or open.

Type: null or string or list of string

Default: null

Plugin default: "o"

Declared by:

plugins.lspsaga.finder.keys.vsplit

Open in vsplit.

Type: null or string or list of string

Default: null

Plugin default: "s"

Declared by:

plugins.lspsaga.hover.maxHeight

Defines float window height.

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.8

Declared by:

plugins.lspsaga.hover.maxWidth

Defines float window width.

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.9

Declared by:

plugins.lspsaga.hover.openCmd

cmd for opening links.

Type: null or string or raw lua code

Default: null

Plugin default: "!chrome"

Declared by:

Key for opening links.

Type: null or string or raw lua code

Default: null

Plugin default: "gx"

Declared by:

plugins.lspsaga.implement.enable

When buffer has instances of the interface type, Lspsaga will show extra information for it.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lspsaga.implement.priority

Sign priority.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 100

Declared by:

plugins.lspsaga.implement.sign

Show sign in status column.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lspsaga.implement.virtualText

Show virtual text at the end of line.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lspsaga.lightbulb.enable

Enable lightbulb.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lspsaga.lightbulb.debounce

Timer debounce.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.lspsaga.lightbulb.sign

Show sign in status column.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lspsaga.lightbulb.signPriority

Sign priority.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 40

Declared by:

plugins.lspsaga.lightbulb.virtualText

Show virtual text at the end of line.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lspsaga.outline.autoClose

Auto close itself when outline window is last window.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lspsaga.outline.autoPreview

Auto preview when cursor moved in outline window.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lspsaga.outline.closeAfterJump

Close after jump.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lspsaga.outline.detail

Show detail.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lspsaga.outline.layout

float or normal.

If set to float, above options will ignored.

Type: null or one of “normal”, “float” or raw lua code

Default: null

Plugin default: "normal"

Declared by:

plugins.lspsaga.outline.leftWidth

Width of outline float layout left window.

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.3

Declared by:

plugins.lspsaga.outline.maxHeight

Height of outline float layout.

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.5

Declared by:

plugins.lspsaga.outline.winPosition

right window position.

Type: null or string or raw lua code

Default: null

Plugin default: "right"

Declared by:

plugins.lspsaga.outline.winWidth

Window width.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 30

Declared by:

plugins.lspsaga.outline.keys.jump

Jump to pos even on a expand/collapse node.

Type: null or string or list of string

Default: null

Plugin default: "e"

Declared by:

plugins.lspsaga.outline.keys.quit

Quit outline window.

Type: null or string or list of string

Default: null

Plugin default: "q"

Declared by:

plugins.lspsaga.outline.keys.toggleOrJump

Toggle or jump.

Type: null or string or list of string

Default: null

Plugin default: "o"

Declared by:

plugins.lspsaga.rename.autoSave

Auto save file when the rename is done.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lspsaga.rename.inSelect

Default is true. Whether the name is selected when the float opens.

In some situation, just like want to change one or less characters, inSelect is not so useful. You can tell the Lspsaga to start in normal mode using an extra argument like :Lspsaga lsp_rename mode=n.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lspsaga.rename.projectMaxHeight

Height for the project_replace float window.

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.5

Declared by:

plugins.lspsaga.rename.projectMaxWidth

Width for the project_replace float window.

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.5

Declared by:

plugins.lspsaga.rename.keys.exec

Execute rename in rename window or execute replace in project_replace window.

Type: null or string or list of string

Default: null

Plugin default: "<CR>"

Declared by:

plugins.lspsaga.rename.keys.quit

Quit rename window or project_replace window.

Type: null or string or list of string

Default: null

Plugin default: "<C-k>"

Declared by:

plugins.lspsaga.rename.keys.select

Select or cancel select item in project_replace float window.

Type: null or string or list of string

Default: null

Plugin default: "x"

Declared by:

plugins.lspsaga.scrollPreview.scrollDown

Scroll down.

Type: null or string or list of string

Default: null

Plugin default: "<C-f>"

Declared by:

plugins.lspsaga.scrollPreview.scrollUp

Scroll up.

Type: null or string or list of string

Default: null

Plugin default: "<C-b>"

Declared by:

plugins.lspsaga.symbolInWinbar.enable

Enable.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lspsaga.symbolInWinbar.colorMode

Color mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lspsaga.symbolInWinbar.delay

Delay.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 300

Declared by:

plugins.lspsaga.symbolInWinbar.folderLevel

Folder level.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.lspsaga.symbolInWinbar.hideKeyword

Hide keyword.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lspsaga.symbolInWinbar.separator

Separator character.

Type: null or string or raw lua code

Default: null

Plugin default: " › "

Declared by:

plugins.lspsaga.symbolInWinbar.showFile

Show file.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lspsaga.ui.actionfix

Action fix icon.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.lspsaga.ui.border

Defines the border to use for lspsaga. Accepts same border values as nvim_open_win(). See :help nvim_open_win() for more info.

Type: null or string or list of string or list of list of string or raw lua code

Default: null

Plugin default: "single"

Declared by:

plugins.lspsaga.ui.codeAction

Code action icon.

Type: null or string or raw lua code

Default: null

Plugin default: "💡"

Declared by:

plugins.lspsaga.ui.collapse

Collapse icon.

Type: null or string or raw lua code

Default: null

Plugin default: "⊟"

Declared by:

plugins.lspsaga.ui.devicon

Whether to use nvim-web-devicons.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lspsaga.ui.expand

Expand icon.

Type: null or string or raw lua code

Default: null

Plugin default: "⊞"

Declared by:

plugins.lspsaga.ui.impSign

Implement icon.

Type: null or string or raw lua code

Default: null

Plugin default: "󰳛 "

Declared by:

plugins.lspsaga.ui.kind

LSP kind custom table.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.lspsaga.ui.lines

Symbols used in virtual text connect.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "┗"
  "┣"
  "┃"
  "━"
  "┏"
]

Declared by:

plugins.lspsaga.ui.title

Show title in some float window.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

ltex-extra

URL: https://github.com/barreiroleo/ltex_extra.nvim/

Maintainers: Loïc Reynier

plugins.ltex-extra.enable

Whether to enable ltex_extra.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.ltex-extra.package

The ltex_extra.nvim package to use.

Type: package

Default: pkgs.vimPlugins.ltex_extra-nvim

Declared by:

plugins.ltex-extra.autoLoad

Whether to automatically load ltex_extra.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.ltex-extra.lazyLoad

Lazy-load settings for ltex_extra.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.ltex-extra.lazyLoad.enable

lazy-loading for ltex_extra.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.ltex-extra.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.ltex-extra.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.ltex-extra.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.ltex-extra.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.ltex-extra.settings

Options provided to the require('ltex-extra').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  initCheck = true;
  loadLangs = [
    "en-US"
    "fr-FR"
  ];
  logLevel = "non";
  path = ".ltex";
}

Declared by:

plugins.ltex-extra.settings.init_check

Whether to load dictionaries on startup.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.ltex-extra.settings.load_langs

Languages for witch dicionnaries will be loaded. See plugins.lsp.servers.ltex.languages for possible values.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "en-US"
]

Declared by:

plugins.ltex-extra.settings.log_level

Log level.

Type: null or one of “none”, “trace”, “debug”, “info”, “warn”, “error”, “fatal” or raw lua code

Default: null

Plugin default: "none"

Declared by:

plugins.ltex-extra.settings.path

Path (relative to project root) to load external files from.

Commonly used values are:

  • .ltex
  • .vscode for compatibility with projects using the associated VS Code extension.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

lualine

URL: https://github.com/nvim-lualine/lualine.nvim

Maintainers: Austin Horstman

plugins.lualine.enable

Whether to enable lualine.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lualine.package

The lualine.nvim package to use.

Type: package

Default: pkgs.vimPlugins.lualine-nvim

Declared by:

plugins.lualine.autoLoad

Whether to automatically load lualine.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.lualine.lazyLoad

Lazy-load settings for lualine.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.lualine.lazyLoad.enable

lazy-loading for lualine.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.lualine.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.lualine.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.lualine.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.lualine.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.lualine.settings

Options provided to the require('lualine').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  options = {
    disabled_filetypes = {
      __unkeyed-1 = "startify";
      __unkeyed-2 = "neo-tree";
      statusline = [
        "dap-repl"
      ];
      winbar = [
        "aerial"
        "dap-repl"
        "neotest-summary"
      ];
    };
    globalstatus = true;
  };
  sections = {
    lualine_a = [
      "mode"
    ];
    lualine_b = [
      "branch"
    ];
    lualine_c = [
      "filename"
      "diff"
    ];
    lualine_x = [
      "diagnostics"
      {
        __unkeyed-1 = {
          __raw = ''
            function()
                local msg = ""
                local buf_ft = vim.api.nvim_buf_get_option(0, 'filetype')
                local clients = vim.lsp.get_active_clients()
                if next(clients) == nil then
                    return msg
                end
                for _, client in ipairs(clients) do
                    local filetypes = client.config.filetypes
                    if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then
                        return client.name
                    end
                end
                return msg
            end
          '';
        };
        color = {
          fg = "#ffffff";
        };
        icon = "";
      }
      "encoding"
      "fileformat"
      "filetype"
    ];
    lualine_y = [
      {
        __unkeyed-1 = "aerial";
        colored = true;
        cond = {
          __raw = ''
            function()
              local buf_size_limit = 1024 * 1024
              if vim.api.nvim_buf_get_offset(0, vim.api.nvim_buf_line_count(0)) > buf_size_limit then
                return false
              end
            
              return true
            end
          '';
        };
        dense = false;
        dense_sep = ".";
        depth = {
          __raw = "nil";
        };
        sep = " ) ";
      }
    ];
    lualine_z = [
      {
        __unkeyed-1 = "location";
      }
    ];
  };
  tabline = {
    lualine_a = [
      {
        __unkeyed-1 = "buffers";
        symbols = {
          alternate_file = "";
        };
      }
    ];
    lualine_z = [
      "tabs"
    ];
  };
  winbar = {
    lualine_c = [
      {
        __unkeyed-1 = "navic";
      }
    ];
    lualine_x = [
      {
        __unkeyed-1 = "filename";
        newfile_status = true;
        path = 3;
        shorting_target = 150;
      }
    ];
  };
}

Declared by:

plugins.lualine.settings.extensions

List of enabled extensions.

Type: null or (list of (string or attribute set of anything or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.lualine.settings.inactive_sections.lualine_a

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.inactive_sections.lualine_b

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.inactive_sections.lualine_c

filename

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.inactive_sections.lualine_x

location

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.inactive_sections.lualine_y

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.inactive_sections.lualine_z

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.inactive_winbar.lualine_a

Left section on left side.

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.inactive_winbar.lualine_b

Middle section on left side.

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.inactive_winbar.lualine_c

Right section on left side.

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.inactive_winbar.lualine_x

Left section on right side.

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.inactive_winbar.lualine_y

Middle section on right side.

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.inactive_winbar.lualine_z

Right section on right side.

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.options.always_divide_middle

Whether to prevent left sections i.e. ‘a’,‘b’ and ‘c’ from taking over the entire statusline even if neither of ‘x’, ‘y’ or ‘z’ are present.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lualine.settings.options.component_separators

Filetypes in which to disable lualine. Allows you to specify filetypes that you want to only disable on specific components.

Type: null or string or (attribute set of anything) or raw lua code

Default: null

Plugin default:

{
  left = "";
  right = "";
}

Declared by:

plugins.lualine.settings.options.disabled_filetypes

Filetypes in which to disable lualine. Allows you to specify filetypes that you want to only disable on specific components.

Type: null or (list of (string or raw lua code)) or (attribute set of anything) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.lualine.settings.options.globalstatus

Whether to enable “global” statusline. I.e. having a single statusline at bottom of neovim, instead of one for each individual window.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lualine.settings.options.icons_enabled

Whether to enable icons for all components.

This option is also available on individual components to control whether they should display icons.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lualine.settings.options.ignore_focus

A list of filetypes that should always show an “unfocused” statusline.

If the focused window’s filetype is in this list, then the most recently focused window will be drawn as the active statusline.

Type: null or (list of string) or raw lua code

Default: null

Plugin default: [ ]

Example:

[
  "neo-tree"
  "nvim-tree"
  "mini-files"
]

Declared by:

plugins.lualine.settings.options.section_separators

Filetypes in which to disable lualine. Allows you to specify filetypes that you want to only disable on specific components.

Type: null or string or (attribute set of anything) or raw lua code

Default: null

Plugin default:

{
  left = "";
  right = "";
}

Declared by:

plugins.lualine.settings.options.theme

The theme to use for lualine-nvim.

Type: null or string or (attribute set)

Default: null

Plugin default: "auto"

Declared by:

plugins.lualine.settings.options.refresh.statusline

Refresh time for the status line (ms)

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 1000

Declared by:

plugins.lualine.settings.options.refresh.tabline

Refresh time for the tabline (ms)

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 1000

Declared by:

plugins.lualine.settings.options.refresh.winbar

Refresh time for the winbar (ms)

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 1000

Declared by:

plugins.lualine.settings.sections.lualine_a

mode

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.sections.lualine_b

branch

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.sections.lualine_c

filename

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.sections.lualine_x

encoding

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.sections.lualine_y

progress

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.sections.lualine_z

location

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.tabline.lualine_a

Left section on left side.

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.tabline.lualine_b

Middle section on left side.

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.tabline.lualine_c

Right section on left side.

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.tabline.lualine_x

Left section on right side.

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.tabline.lualine_y

Middle section on right side.

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.tabline.lualine_z

Right section on right side.

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.winbar.lualine_a

Left section on left side.

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.winbar.lualine_b

Middle section on left side.

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.winbar.lualine_c

Right section on left side.

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.winbar.lualine_x

Left section on right side.

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.winbar.lualine_y

Middle section on right side.

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

plugins.lualine.settings.winbar.lualine_z

Right section on right side.

Type: null or (list of (string or ((attribute set of anything) or raw lua code))) or raw lua code

Default: null

Declared by:

luasnip

URL: https://github.com/L3MON4D3/LuaSnip

Maintainers: Heitor Augusto

plugins.luasnip.enable

Whether to enable luasnip.

Type: boolean

Default: false

Example: true

Declared by:

plugins.luasnip.package

The luasnip package to use.

Type: package

Default: pkgs.vimPlugins.luasnip

Declared by:

plugins.luasnip.autoLoad

Whether to automatically load luasnip when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.luasnip.filetypeExtend

Wrapper for the filetype_extend function. Keys are filetypes (filetype) and values are list of filetypes (["ft1" "ft2" "ft3"]).

Tells luasnip that for a buffer with ft=filetype, snippets from extend_filetypes should be searched as well.

For example, filetypeExtend.lua = ["c" "cpp"] would search and expand c and cpp snippets for lua files.

Type: attribute set of list of string

Default: { }

Example:

{
  lua = [
    "c"
    "cpp"
  ];
}

Declared by:

plugins.luasnip.fromLua

Load lua snippets with the lua loader. Check https://github.com/L3MON4D3/LuaSnip/blob/master/DOC.md#lua for the necessary file structure.

Type: list of (submodule)

Default: [ ]

Example:

[
  {}
  {
    paths = ./path/to/snippets;
  }
]

Declared by:

plugins.luasnip.fromLua.*.exclude

List of languages to exclude, by default is empty.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Declared by:

plugins.luasnip.fromLua.*.include

List of languages to include, by default is not set.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Declared by:

plugins.luasnip.fromLua.*.lazyLoad

Whether or not to lazy load the snippets

Type: boolean

Default: true

Declared by:

plugins.luasnip.fromLua.*.paths

List of paths to load.

Type: null or string or absolute path or raw lua code or list of (string or absolute path or raw lua code)

Default: null

Declared by:

plugins.luasnip.fromSnipmate

Luasnip does not support the full snipmate format: Only ./{ft}.snippets and ./{ft}/*.snippets will be loaded. See https://github.com/honza/vim-snippets for lots of examples.

Type: list of (submodule)

Default: [ ]

Example:

[
  { }
  { paths = ./path/to/snippets; }
]

Declared by:

plugins.luasnip.fromSnipmate.*.exclude

List of languages to exclude, by default is empty.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Declared by:

plugins.luasnip.fromSnipmate.*.include

List of languages to include, by default is not set.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Declared by:

plugins.luasnip.fromSnipmate.*.lazyLoad

Whether or not to lazy load the snippets

Type: boolean

Default: true

Declared by:

plugins.luasnip.fromSnipmate.*.paths

List of paths to load.

Type: null or string or absolute path or raw lua code or list of (string or absolute path or raw lua code)

Default: null

Declared by:

plugins.luasnip.fromVscode

List of custom vscode style snippets to load.

For example,

  [ {} { paths = ./path/to/snippets; } ]

will generate the following lua:

  require("luasnip.loaders.from_vscode").lazy_load({})
  require("luasnip.loaders.from_vscode").lazy_load({['paths'] = {'/nix/store/.../path/to/snippets'}})

Type: list of (submodule)

Default: [ ]

Example:

[
  { }
  { paths = ./path/to/snippets; }
]

Declared by:

plugins.luasnip.fromVscode.*.exclude

List of languages to exclude, by default is empty.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Declared by:

plugins.luasnip.fromVscode.*.include

List of languages to include, by default is not set.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Declared by:

plugins.luasnip.fromVscode.*.lazyLoad

Whether or not to lazy load the snippets

Type: boolean

Default: true

Declared by:

plugins.luasnip.fromVscode.*.paths

List of paths to load.

Type: null or string or absolute path or raw lua code or list of (string or absolute path or raw lua code)

Default: null

Declared by:

plugins.luasnip.lazyLoad

Lazy-load settings for luasnip.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.luasnip.lazyLoad.enable

lazy-loading for luasnip

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.luasnip.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.luasnip.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.luasnip.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.luasnip.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.luasnip.settings

Options provided to the require('luasnip').config.setup function.

Type: attribute set of anything

Default: { }

Example:

{
  enable_autosnippets = true;
  exit_roots = false;
  keep_roots = true;
  link_roots = true;
  update_events = [
    "TextChanged"
    "TextChangedI"
  ];
}

Declared by:

plugins.luasnip.settings.enable_autosnippets

Autosnippets are disabled by default to minimize performance penalty if unused. Set to true to enable.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.luasnip.settings.cut_selection_keys

Mapping for populating TM_SELECTED_TEXT and related variables (not set by default).

Type: null or string or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "nil"

Declared by:

plugins.luasnip.settings.delete_check_events

When to check if the current snippet was deleted, and if so, remove it from the history. Off by default.

Type: null or string or list of string or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "nil"

Declared by:

plugins.luasnip.settings.exit_roots

Whether snippet-roots should exit at reaching at their last node, $0. This setting is only valid for root snippets, not child snippets. This setting may avoid unexpected behavior by disallowing to jump earlier (finished) snippets.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.luasnip.settings.ext_base_prio

Base priority for extmarks.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 200

Declared by:

plugins.luasnip.settings.ext_opts

Additional options passed to extmarks. Can be used to add passive/active highlight on a per-node-basis.

Type: null or (attribute set of ((attribute set of attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "types.choiceNode" = {
    active = {
      hl_group = "LuasnipChoiceNodeActive";
    };
    passive = {
      hl_group = "LuasnipChoiceNodePassive";
    };
    snippet_passive = {
      hl_group = "LuasnipChoiceNodeSnippetPassive";
    };
    unvisited = {
      hl_group = "LuasnipChoiceNodeUnvisited";
    };
    visited = {
      hl_group = "LuasnipChoiceNodeVisited";
    };
  };
  "types.dynamicNode" = {
    active = {
      hl_group = "LuasnipDynamicNodeActive";
    };
    passive = {
      hl_group = "LuasnipDynamicNodePassive";
    };
    snippet_passive = {
      hl_group = "LuasnipDynamicNodeSnippetPassive";
    };
    unvisited = {
      hl_group = "LuasnipDynamicNodeUnvisited";
    };
    visited = {
      hl_group = "LuasnipDynamicNodeVisited";
    };
  };
  "types.exitNode" = {
    active = {
      hl_group = "LuasnipExitNodeActive";
    };
    passive = {
      hl_group = "LuasnipExitNodePassive";
    };
    snippet_passive = {
      hl_group = "LuasnipExitNodeSnippetPassive";
    };
    unvisited = {
      hl_group = "LuasnipExitNodeUnvisited";
    };
    visited = {
      hl_group = "LuasnipExitNodeVisited";
    };
  };
  "types.functionNode" = {
    active = {
      hl_group = "LuasnipFunctionNodeActive";
    };
    passive = {
      hl_group = "LuasnipFunctionNodePassive";
    };
    snippet_passive = {
      hl_group = "LuasnipFunctionNodeSnippetPassive";
    };
    unvisited = {
      hl_group = "LuasnipFunctionNodeUnvisited";
    };
    visited = {
      hl_group = "LuasnipFunctionNodeVisited";
    };
  };
  "types.insertNode" = {
    active = {
      hl_group = "LuasnipInsertNodeActive";
    };
    passive = {
      hl_group = "LuasnipInsertNodePassive";
    };
    snippet_passive = {
      hl_group = "LuasnipInsertNodeSnippetPassive";
    };
    unvisited = {
      hl_group = "LuasnipInsertNodeUnvisited";
    };
    visited = {
      hl_group = "LuasnipInsertNodeVisited";
    };
  };
  "types.snippetNode" = {
    active = {
      hl_group = "LuasnipSnippetNodeActive";
    };
    passive = {
      hl_group = "LuasnipSnippetNodePassive";
    };
    snippet_passive = {
      hl_group = "LuasnipSnippetNodeSnippetPassive";
    };
    unvisited = {
      hl_group = "LuasnipSnippetNodeUnvisited";
    };
    visited = {
      hl_group = "LuasnipSnippetNodeVisited";
    };
  };
  "types.textNode" = {
    active = {
      hl_group = "LuasnipTextNodeActive";
    };
    passive = {
      hl_group = "LuasnipTextNodePassive";
    };
    snippet_passive = {
      hl_group = "LuasnipTextNodeSnippetPassive";
    };
    unvisited = {
      hl_group = "LuasnipTextNodeUnvisited";
    };
    visited = {
      hl_group = "LuasnipTextNodeVisited";
    };
  };
}

Declared by:

plugins.luasnip.settings.ext_prio_increase

Priority increase for extmarks.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 9

Declared by:

plugins.luasnip.settings.ft_func

Source of possible filetypes for snippets. Defaults to a function, which returns vim.split(vim.bo.filetype, “.”, true), but check filetype_functions or the Extras-Filetype-Functions-section for more options.

Type: null or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  require("luasnip.extras.filetype_functions").from_filetype
''

Declared by:

plugins.luasnip.settings.keep_roots

Whether snippet-roots should be linked.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

Whether children should be linked.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

Whether snippet-roots should be linked.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.luasnip.settings.load_ft_func

Function to determine which filetypes belong to a given buffer (used for lazy_loading). fn(bufnr) -> filetypes (string[]). Again, there are some examples in filetype_functions.

Type: null or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  require("luasnip.extras.filetype_functions").from_filetype_load
''

Declared by:

plugins.luasnip.settings.loaders_store_source

Whether loaders should store the source of the loaded snippets. Enabling this means that the definition of any snippet can be jumped to via Extras-Snippet-Location, but also entails slightly increased memory consumption (and load-time, but it’s not really noticeable).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.luasnip.settings.parser_nested_assembler

Override the default behavior of inserting a choiceNode containing the nested snippet and an empty insertNode for nested placeholders.

Type: null or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(pos, snip)
    local iNode = require("luasnip.nodes.insertNode")
    local cNode = require("luasnip.nodes.choiceNode")
  
    modify_nodes(snip)
    snip:init_nodes()
    snip.pos = nil
  
    return cNode.C(pos, { snip, iNode.I(nil, { "" }) })
  end
''

Declared by:

plugins.luasnip.settings.region_check_events

Events on which to leave the current snippet-root if the cursor is outside its’ ‘region’. Disabled by default.

Type: null or string or list of string or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "nil"

Declared by:

plugins.luasnip.settings.update_events

Choose which events trigger an update of the active nodes’ dependents.

Type: null or string or list of string or raw lua code

Default: null

Plugin default: "InsertLeave"

Declared by:

lz-n

URL: https://github.com/nvim-neorocks/lz.n

Maintainers: Heitor Augusto, Pedro Sánchez

plugins.lz-n.enable

Whether to enable lz.n.

Type: boolean

Default: false

Example: true

Declared by:

plugins.lz-n.package

The lz.n package to use.

Type: package

Default: pkgs.vimPlugins.lz-n

Declared by:

plugins.lz-n.autoLoad

Whether to automatically load lz.n when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.lz-n.keymaps

Define keymaps that will use lz.n’s keymap(<plugin>).set functionality. This provides a more intuitive way to define lazy-loaded keymaps with the familiar keymaps option API style.

Type: list of (submodule)

Default: [ ]

Example:

[
  {
    action = lib.nixvim.mkRaw "function() require('telescope.builtin').find_files() end";
    key = "<leader>ff";
    options = {
      desc = "Find files";
    };
    plugin = "telescope.nvim";
  }
  {
    action = "<CMD>Neotree toggle<CR>";
    key = "<leader>ft";
    options = {
      desc = "NeoTree toggle";
    };
    plugin = "neo-tree.nvim";
  }
]

Declared by:

plugins.lz-n.keymaps.*.action

The action to execute.

Type: string or raw lua code

Declared by:

plugins.lz-n.keymaps.*.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.lz-n.keymaps.*.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: ""

Example:

[
  "n"
  "v"
]

Declared by:

plugins.lz-n.keymaps.*.plugin

The plugin (name or spec) to lazy-load when the keymap is triggered.

note

This must match the name used in the plugins list or be a valid plugin that can be loaded.

Type: string or (attribute set of anything)

Example: "telescope.nvim"

Declared by:

plugins.lz-n.keymaps.*.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lz-n.keymaps.*.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.lz-n.keymaps.*.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lz-n.keymaps.*.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.lz-n.keymaps.*.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lz-n.keymaps.*.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lz-n.keymaps.*.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.lz-n.keymaps.*.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lz-n.keymaps.*.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lz-n.keymaps.*.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.lz-n.lazyLoad

Lazy-load settings for lz.n.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.lz-n.lazyLoad.enable

lazy-loading for lz.n

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.lz-n.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.lz-n.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.lz-n.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.lz-n.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.lz-n.plugins

List of plugin specs provided to the require('lz.n').load function. Plugin specs can be raw lua code.

Type: list of (attribute set of anything)

Default: [ ]

Example:

[
  {
    __unkeyed-1 = "neo-tree.nvim";
    after = ''
      function()
        require("neo-tree").setup()
      end
    '';
    enabled = ''
      function()
        return true
      end
    '';
    keys = [
      {
        __unkeyed-1 = "<leader>ft";
        __unkeyed-2 = "<CMD>Neotree toggle<CR>";
        desc = "NeoTree toggle";
      }
    ];
  }
  {
    __unkeyed-1 = "telescope.nvim";
    cmd = [
      "Telescope"
    ];
    keys = [
      {
        __unkeyed-1 = "<leader>fa";
        __unkeyed-2 = "<CMD>Telescope autocommands<CR>";
        desc = "Telescope autocommands";
      }
      {
        __unkeyed-1 = "<leader>fb";
        __unkeyed-2 = "<CMD>Telescope buffers<CR>";
        desc = "Telescope buffers";
      }
    ];
  }
  {
    __unkeyed-1 = "onedarker.nvim";
    colorscheme = [
      "onedarker"
    ];
  }
  {
    __raw = ''
      {
          "crates.nvim",
          ft = "toml",
      },
    '';
  }
]

Declared by:

plugins.lz-n.plugins.*.enabled

When false, or if the function returns false, then this plugin will not be included in the spec. This option corresponds to the enabled property of lz.n.

Type: null or lua function string or boolean

Default: null

Plugin default: true

Declared by:

plugins.lz-n.plugins.*.__unkeyed-1

The “unkeyed” attribute is the plugin’s name. This is passed to load function and should normally match the repo name of the plugin.

More specifically, this is the name of the folder in /pack/opt/{name} that is loaded with load (packadd by default). See :h packadd.

Type: string

Declared by:

plugins.lz-n.plugins.*.after

Executed after this plugin is loaded.

Type: null or lua code string

Default: null

Declared by:

plugins.lz-n.plugins.*.before

Executed before this plugin is loaded.

Type: null or lua code string

Default: null

Declared by:

plugins.lz-n.plugins.*.beforeAll

Always executed before any plugins are loaded.

Type: null or lua code string

Default: null

Declared by:

plugins.lz-n.plugins.*.cmd

Lazy-load on command.

Type: null or anything

Default: null

Example:

[
  "Neotree"
  "Telescope"
]

Declared by:

plugins.lz-n.plugins.*.colorscheme

Lazy-load on colorscheme.

Type: null or anything

Default: null

Example: "onedarker"

Declared by:

plugins.lz-n.plugins.*.event

Lazy-load on event. Events can be specified as BufEnter or with a pattern like BufEnter *.lua

Type: null or anything

Default: null

Example:

[
  "BufEnter *.lua"
  "DeferredUIEnter"
]

Declared by:

plugins.lz-n.plugins.*.ft

Lazy-load on filetype.

Type: null or anything

Default: null

Example:

[
  "tex"
]

Declared by:

plugins.lz-n.plugins.*.keys

Lazy-load on key mapping. Mode is n by default.

Type: null or (list of anything)

Default: null

Example:

[
  "<C-a>"
  [
    "<C-x>"
    "g<C-x>"
  ]
  {
    __unkeyed-1 = "<leader>fb";
    __unkeyed-2 = "<CMD>Telescope buffers<CR>";
    desc = "Telescope buffers";
  }
  {
    __raw = "{ '<leader>ft', '<CMD>Neotree toggle<CR>', desc = 'NeoTree toggle' }";
  }
]

Declared by:

plugins.lz-n.plugins.*.load

Can be used to override the vim.g.lz_n.load() function for this plugin.

Type: null or lua code string

Default: null

Declared by:

plugins.lz-n.plugins.*.priority

Only useful for start plugins (not lazy-loaded) to force loading certain plugins first.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 50 (or 1000 if colorscheme is set)

Declared by:

plugins.lz-n.settings

Options provided to vim.g.lz_n.

{ load = "fun"; } -> vim.g.lz_n = { load = fun, }

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.lz-n.settings.load

Function used by lz.n to load plugins.

Type: null or lua function string

Default: null

Plugin default: "vim.cmd.packadd"

Declared by:

magma-nvim

URL: https://github.com/dccsillag/magma-nvim/

Maintainers: Gaetan Lepage

plugins.magma-nvim.enable

Whether to enable magma-nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.magma-nvim.package

The magma-nvim package to use.

Type: package

Default: pkgs.vimPlugins.magma-nvim

Declared by:

plugins.magma-nvim.autoLoad

Whether to automatically load magma-nvim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.magma-nvim.settings

The configuration options for magma-nvim without the magma_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal magma_foo_bar=1
  • hello = "world" -> :setglobal magma_hello="world"
  • some_toggle = true -> :setglobal magma_some_toggle
  • other_toggle = false -> :setglobal nomagma_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  automatically_open_output = true;
  cell_highlight_group = "CursorLine";
  image_provider = "none";
  output_window_borders = true;
  save_path = {
    __raw = "vim.fn.stdpath('data') .. '/magma'";
  };
  show_mimetype_debug = false;
  wrap_output = true;
}

Declared by:

plugins.magma-nvim.settings.automatically_open_output

If this is true, then whenever you have an active cell its output window will be automatically shown.

If this is false, then the output window will only be automatically shown when you’ve just evaluated the code. So, if you take your cursor out of the cell, and then come back, the output window won’t be opened (but the cell will be highlighted). This means that there will be nothing covering your code. You can then open the output window at will using :MagmaShowOutput.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.magma-nvim.settings.cell_highlight_group

The highlight group to be used for highlighting cells.

Type: null or string or raw lua code

Default: null

Plugin default: "CursorLine"

Declared by:

plugins.magma-nvim.settings.image_provider

This configures how to display images. The following options are available:

  • “none” – don’t show images.
  • “ueberzug” – use Ueberzug to display images.
  • “kitty” – use the Kitty protocol to display images.

Type: null or one of “none”, “ueberzug”, “kitty” or raw lua code

Default: null

Plugin default: "none"

Declared by:

plugins.magma-nvim.settings.output_window_borders

If this is true, then the output window will have rounded borders. If it is false, it will have no borders.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.magma-nvim.settings.save_path

Where to save/load with :MagmaSave and :MagmaLoad (with no parameters). The generated file is placed in this directory, with the filename itself being the buffer’s name, with % replaced by %% and / replaced by %, and postfixed with the extension .json.

Type: null or string or raw lua code

Default: null

Plugin default:

{
  __raw = "vim.fn.stdpath('data') .. '/magma'";
}

Declared by:

plugins.magma-nvim.settings.show_mimetype_debug

If this is true, then before any non-iostream output chunk, Magma shows the mimetypes it received for it. This is meant for debugging and adding new mimetypes.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.magma-nvim.settings.wrap_output

If this is true, then text output in the output window will be wrapped (akin to set wrap).

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

mark-radar

URL: https://github.com/winston0410/mark-radar.nvim/

Maintainers: Austin Horstman


Provides visual markers for easier navigation.

plugins.mark-radar.enable

Whether to enable mark-radar.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.mark-radar.package

The mark-radar.nvim package to use.

Type: package

Default: pkgs.vimPlugins.mark-radar-nvim

Declared by:

plugins.mark-radar.autoLoad

Whether to automatically load mark-radar.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.mark-radar.lazyLoad

Lazy-load settings for mark-radar.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.mark-radar.lazyLoad.enable

lazy-loading for mark-radar.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.mark-radar.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.mark-radar.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.mark-radar.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.mark-radar.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.mark-radar.settings

Options provided to the require('mark-radar').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  background_highlight = true;
  background_highlight_group = "RadarBackground";
  highlight_group = "RadarMark";
  set_default_mappings = true;
}

Declared by:

plugins.mark-radar.settings.background_highlight

Whether to highlight the background.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.mark-radar.settings.background_highlight_group

The name of the highlight group to use for the background.

Type: null or string or raw lua code

Default: null

Plugin default: "RadarBackground"

Declared by:

plugins.mark-radar.settings.highlight_group

The name of the highlight group to use.

Type: null or string or raw lua code

Default: null

Plugin default: "RadarMark"

Declared by:

plugins.mark-radar.settings.set_default_mappings

Whether to set default mappings.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

markdown-preview

URL: https://github.com/iamcco/markdown-preview.nvim/

Maintainers: Gaetan Lepage

plugins.markdown-preview.enable

Whether to enable markdown-preview.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.markdown-preview.package

The markdown-preview.nvim package to use.

Type: package

Default: pkgs.vimPlugins.markdown-preview-nvim

Declared by:

plugins.markdown-preview.autoLoad

Whether to automatically load markdown-preview.nvim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.markdown-preview.settings

The configuration options for markdown-preview without the mkdp_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal mkdp_foo_bar=1
  • hello = "world" -> :setglobal mkdp_hello="world"
  • some_toggle = true -> :setglobal mkdp_some_toggle
  • other_toggle = false -> :setglobal nomkdp_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  auto_close = 1;
  auto_start = 1;
  browser = "firefox";
  echo_preview_url = 1;
  highlight_css = {
    __raw = "vim.fn.expand('~/highlight.css')";
  };
  markdown_css = "/Users/username/markdown.css";
  page_title = "「\${name}」";
  port = "8080";
  preview_options = {
    disable_filename = 1;
    disable_sync_scroll = 1;
    sync_scroll_type = "middle";
  };
  theme = "dark";
}

Declared by:

plugins.markdown-preview.settings.auto_close

Auto close current preview window when change from markdown buffer to another buffer.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.markdown-preview.settings.auto_start

Open the preview window after entering the markdown buffer.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.markdown-preview.settings.browser

The browser to open the preview page.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.markdown-preview.settings.browserfunc

A custom vim function name to open preview page. This function will receive url as param.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.markdown-preview.settings.combine_preview

Combine preview window. If enable it will reuse previous opened preview window when you preview markdown file. Ensure to set auto_close = 0 if you have enable this option.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.markdown-preview.settings.combine_preview_auto_refresh

Auto refetch combine preview contents when change markdown buffer only when combine_preview is 1.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.markdown-preview.settings.command_for_global

Enable markdown preview for all files (by default, the plugin is only enabled for markdown files).

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.markdown-preview.settings.echo_preview_url

Echo preview page url in command line when opening the preview page.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.markdown-preview.settings.filetypes

Recognized filetypes. These filetypes will have MarkdownPreview... commands.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "markdown"
]

Declared by:

plugins.markdown-preview.settings.highlight_css

Custom highlight style. Must be an absolute path like “/Users/username/highlight.css” or {__raw = "vim.fn.expand('~/highlight.css')";}.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.markdown-preview.settings.images_path

Use a custom location for images.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.markdown-preview.settings.markdown_css

Custom markdown style. Must be an absolute path like "/Users/username/markdown.css" or {__raw = "vim.fn.expand('~/markdown.css')";}.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.markdown-preview.settings.open_ip

Custom IP used to open the preview page. This can be useful when you work in remote vim and preview on local browser. For more detail see: https://github.com/iamcco/markdown-preview.nvim/pull/9.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.markdown-preview.settings.open_to_the_world

Make the preview server available to others in your network. By default, the server listens on localhost (127.0.0.1).

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.markdown-preview.settings.page_title

Preview page title. $${name} will be replaced with the file name.

Type: null or string or raw lua code

Default: null

Plugin default: "「\${name}」"

Declared by:

plugins.markdown-preview.settings.port

Custom port to start server or empty for random.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.markdown-preview.settings.refresh_slow

Refresh markdown when save the buffer or leave from insert mode, default 0 is auto refresh markdown as you edit or move the cursor.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.markdown-preview.settings.theme

Default theme (dark or light).

Type: null or one of “dark”, “light” or raw lua code

Default: null

Plugin default: chosen based on system preferences

Declared by:

plugins.markdown-preview.settings.preview_options

Preview options

Type: null or (attribute set)

Default: null

Declared by:

plugins.markdown-preview.settings.preview_options.content_editable

Content editable from the preview page.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.markdown-preview.settings.preview_options.disable_filename

Disable filename header for the preview page.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.markdown-preview.settings.preview_options.disable_sync_scroll

Disable sync scroll.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.markdown-preview.settings.preview_options.flowchart_diagrams

flowcharts diagrams options.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.markdown-preview.settings.preview_options.hide_yaml_meta

Hide yaml metadata.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.markdown-preview.settings.preview_options.katex

katex options for math.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.markdown-preview.settings.preview_options.maid

mermaid options.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.markdown-preview.settings.preview_options.mkit

markdown-it options for render.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.markdown-preview.settings.preview_options.sequence_diagrams

js-sequence-diagrams options.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.markdown-preview.settings.preview_options.sync_scroll_type

Scroll type:

  • “middle”: The cursor position is always shown at the middle of the preview page.
  • “top”: The vim top viewport is always shown at the top of the preview page.
  • “relative”: The cursor position is always shown at the relative position of the preview page.

Type: null or one of “middle”, “top”, “relative” or raw lua code

Default: null

Plugin default: "middle"

Declared by:

plugins.markdown-preview.settings.preview_options.toc

Toc options.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.markdown-preview.settings.preview_options.uml

markdown-it-plantuml options.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.marks.enable

Whether to enable marks.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.marks.package

The marks.nvim package to use.

Type: package

Default: pkgs.vimPlugins.marks-nvim

Declared by:

plugins.marks.builtinMarks

Which builtin marks to track and show. If set, these marks will also show up in the signcolumn and will update on |CursorMoved|.

Type: null or (list of (one of “'”, “^”, “.”, “<”, “>” or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.marks.cyclic

Whether forward/backwards movement should cycle back to the beginning/end of buffer.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.marks.defaultMappings

Whether to use the default plugin mappings or not. See |marks-mappings| for more.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.marks.excludedBuftypes

Which buftypes to ignore. If a buffer with this buftype is opened, then marks.nvim will not track any marks set in this buffer, and will not display any signs. Setting and moving to marks with ` or ’ will still work, but movement commands like “m]” or “m[” will not.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.marks.excludedFiletypes

Which filetypes to ignore. If a buffer with this filetype is opened, then marks.nvim will not track any marks set in this buffer, and will not display any signs. Setting and moving to marks with ` or ’ will still work, but movement commands like “m]” or “m[” will not.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.marks.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.marks.forceWriteShada

If true, then deleting global (uppercase) marks will also update the |shada| file accordingly and force deletion of the mark permanently. This option can be destructive and should be set only after reading more about the shada file.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.marks.mappings

Custom mappings. Set a mapping to false to disable it.

Type: null or (attribute set of (string or value false (singular enum) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.marks.refreshInterval

How often (in ms) marks.nvim should update the marks list and recompute mark positions/redraw signs. Lower values means that mark positions and signs will refresh much quicker, but may incur a higher performance penalty, whereas higher values may result in better performance, but may also cause noticeable lag in signs updating.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 150

Declared by:

plugins.marks.signPriority

The sign priority to be used for marks. Can either be a number, in which case the priority applies to all types of marks, or a table with some or all of the following keys:

  • lower: sign priority for lowercase marks
  • upper: sign priority for uppercase marks
  • builtin: sign priority for builtin marks
  • bookmark: sign priority for bookmarks

Type: null or unsigned integer, meaning >=0, or (attribute set)

Default: null

Plugin default: 10

Declared by:

plugins.marks.signs

Whether to show marks in the signcolumn or not. If set to true, its recommended to also set |signcolumn| to “auto”, for cases where multiple marks are placed on the same line.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.marks.bookmarks

Configuration table for each bookmark group (see |marks-bookmarks|).

Type: attribute set of (submodule)

Default: { }

Declared by:

plugins.marks.bookmarks.<name>.annotate

When true, explicitly prompts the user for an annotation that will be displayed above the bookmark.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.marks.bookmarks.<name>.sign

The character to use in the signcolumn for this bookmark group.

Defaults to “!@#$%^&*()” - in order from group 1 to 10. Set to false to turn off signs for this bookmark.

Type: null or string or value false (singular enum)

Default: null

Declared by:

plugins.marks.bookmarks.<name>.virtText

Virtual text annotations to place at the eol of a bookmark. Defaults to null, meaning no virtual text.

Type: null or string

Default: null

Declared by:

markview

URL: https://github.com/OXY2DEV/markview.nvim/

Maintainers: Austin Horstman


An experimental markdown previewer for Neovim.

Supports a vast amount of rendering customization. Please refer to the plugin's documentation for more details.

plugins.markview.enable

Whether to enable markview.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.markview.package

The markview.nvim package to use.

Type: package

Default: pkgs.vimPlugins.markview-nvim

Declared by:

plugins.markview.autoLoad

Whether to automatically load markview.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.markview.lazyLoad

Lazy-load settings for markview.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.markview.lazyLoad.enable

lazy-loading for markview.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.markview.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.markview.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.markview.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.markview.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.markview.settings

Options provided to the require('markview').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  preview = {
    buf_ignore = [ ];
    hybrid_modes = [
      "i"
      "r"
    ];
    modes = [
      "n"
      "x"
    ];
  };
}

Declared by:

plugins.markview.settings.preview.enable

Enable preview functionality.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.markview.settings.preview.enable_hybrid_mode

Enable hybrid mode functionality.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.markview.settings.preview.buf_ignore

Buftypes to disable markview-nvim.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "nofile"
]

Declared by:

plugins.markview.settings.preview.hybrid_modes

Modes where hybrid mode is enabled.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.markview.settings.preview.icon_provider

Provider for icons. Available options:

  • “devicons”: Use nvim-web-devicons
  • “internal”: Use internal icons (default)
  • “mini”: Use mini.icons

Type: null or one of “devicons”, “internal”, “mini” or raw lua code

Default: null

Plugin default: "internal"

Declared by:

plugins.markview.settings.preview.modes

Modes where preview is enabled.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "n"
  "no"
  "c"
]

Declared by:

mini

URL: https://github.com/echasnovski/mini.nvim/

Maintainers: Austin Horstman

plugins.mini.enable

Whether to enable mini.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.mini.package

The mini.nvim package to use.

Type: package

Default: pkgs.vimPlugins.mini-nvim

Declared by:

plugins.mini.autoLoad

Whether to automatically load mini.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.mini.mockDevIcons

Whether to tell mini.icons to emulate nvim-web-devicons for plugins that don’t natively support it.

When enabled, you don’t need to set plugins.web-devicons.enable. This will replace the need for it.

Type: boolean

Default: false NOTE: This option is experimental and the default value may change without notice.

Example: true

Declared by:

plugins.mini.modules

Enable and configure the mini modules.

The attr name represent mini’s module names, without the "mini." prefix. The attr value is an attrset of options provided to the module’s setup function.

See the plugin documentation for available modules to configure:

Type: attribute set of attribute set of anything

Default: { }

Example:

{
  ai = {
    n_lines = 50;
    search_method = "cover_or_next";
  };
  comment = {
    mappings = {
      comment = "<leader>/";
      comment_line = "<leader>/";
      comment_visual = "<leader>/";
      textobject = "<leader>/";
    };
  };
  diff = {
    view = {
      style = "sign";
    };
  };
  starter = {
    content_hooks = {
      "__unkeyed-1.adding_bullet" = {
        __raw = "require('mini.starter').gen_hook.adding_bullet()";
      };
      "__unkeyed-2.indexing" = {
        __raw = "require('mini.starter').gen_hook.indexing('all', { 'Builtin actions' })";
      };
      "__unkeyed-3.padding" = {
        __raw = "require('mini.starter').gen_hook.aligning('center', 'center')";
      };
    };
    evaluate_single = true;
    header = ''
      ███╗   ██╗██╗██╗  ██╗██╗   ██╗██╗███╗   ███╗
      ████╗  ██║██║╚██╗██╔╝██║   ██║██║████╗ ████║
      ██╔██╗ ██║██║ ╚███╔╝ ██║   ██║██║██╔████╔██║
      ██║╚██╗██║██║ ██╔██╗ ╚██╗ ██╔╝██║██║╚██╔╝██║
      ██║ ╚████║██║██╔╝ ██╗ ╚████╔╝ ██║██║ ╚═╝ ██║
    '';
    items = {
      "__unkeyed-1.buildtin_actions" = {
        __raw = "require('mini.starter').sections.builtin_actions()";
      };
      "__unkeyed-2.recent_files_current_directory" = {
        __raw = "require('mini.starter').sections.recent_files(10, false)";
      };
      "__unkeyed-3.recent_files" = {
        __raw = "require('mini.starter').sections.recent_files(10, true)";
      };
      "__unkeyed-4.sessions" = {
        __raw = "require('mini.starter').sections.sessions(5, true)";
      };
    };
  };
  surround = {
    mappings = {
      add = "gsa";
      delete = "gsd";
      find = "gsf";
      find_left = "gsF";
      highlight = "gsh";
      replace = "gsr";
      update_n_lines = "gsn";
    };
  };
}

Declared by:

plugins.mini.lazyLoad

Lazy-load settings for mini.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.mini.lazyLoad.enable

lazy-loading for mini.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.mini.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.mini.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.mini.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.mini.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

minuet

URL: https://github.com/milanglacier/minuet-ai.nvim/

Maintainers: Gaetan Lepage

plugins.minuet.enable

Whether to enable minuet-ai.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.minuet.package

The minuet-ai.nvim package to use.

Type: package

Default: pkgs.vimPlugins.minuet-ai-nvim

Declared by:

plugins.minuet.autoLoad

Whether to automatically load minuet-ai.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.minuet.settings

Options provided to the require('minuet').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  provider = "openai_compatible";
  provider_options = {
    openai_compatible = {
      api_key = "OPENROUTER_API_KEY";
      end_point = "https://openrouter.ai/api/v1/chat/completions";
      model = "google/gemini-flash-1.5";
      name = "OpenRouter";
      optional = {
        max_tokens = 256;
        top_p = 0.9;
      };
      stream = true;
    };
  };
}

Declared by:

plugins.minuet.lazyLoad

Lazy-load settings for minuet-ai.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.minuet.lazyLoad.enable

lazy-loading for minuet-ai.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.minuet.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.minuet.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.minuet.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.minuet.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.mkdnflow.enable

Whether to enable mkdnflow.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.mkdnflow.package

The mkdnflow.nvim package to use.

Type: package

Default: pkgs.vimPlugins.mkdnflow-nvim

Declared by:

plugins.mkdnflow.createDirs

  • true: Directories referenced in a link will be (recursively) created if they do not exist.
  • false: No action will be taken when directories referenced in a link do not exist. Neovim will open a new file, but you will get an error when you attempt to write the file.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.mkdnflow.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.mkdnflow.filetypes

A matching extension will enable the plugin’s functionality for a file with that extension.

NOTE: This functionality references the file’s extension. It does not rely on Neovim’s filetype recognition. The extension must be provided in lower case because the plugin converts file names to lowercase. Any arbitrary extension can be supplied. Setting an extension to false is the same as not including it in the list.

Type: null or (attribute set of (boolean or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  markdown = true;
  md = true;
  rmd = true;
}

Declared by:

plugins.mkdnflow.mappings

An attrs declaring the key mappings. The keys should be the name of a commands defined in mkdnflow.nvim/plugin/mkdnflow.lua (see :h Mkdnflow-commands for a list). Set to false to disable a mapping.

Type: null or (attribute set of (value false (singular enum) or (submodule) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  MkdnCreateLink = false;
  MkdnCreateLinkFromClipboard = {
    key = "<leader>p";
    modes = [
      "n"
      "v"
    ];
  };
  MkdnDecreaseHeading = {
    key = "-";
    modes = "n";
  };
  MkdnDestroyLink = {
    key = "<M-CR>";
    modes = "n";
  };
  MkdnEnter = {
    key = "<CR>";
    modes = [
      "n"
      "v"
      "i"
    ];
  };
  MkdnExtendList = false;
  MkdnFoldSection = {
    key = "<leader>f";
    modes = "n";
  };
  MkdnFollowLink = false;
  MkdnGoBack = {
    key = "<BS>";
    modes = "n";
  };
  MkdnGoForward = {
    key = "<Del>";
    modes = "n";
  };
  MkdnIncreaseHeading = {
    key = "+";
    modes = "n";
  };
  MkdnMoveSource = {
    key = "<F2>";
    modes = "n";
  };
  MkdnNewListItem = false;
  MkdnNewListItemAboveInsert = {
    key = "O";
    modes = "n";
  };
  MkdnNewListItemBelowInsert = {
    key = "o";
    modes = "n";
  };
  MkdnNextHeading = {
    key = "]]";
    modes = "n";
  };
  MkdnNextLink = {
    key = "<Tab>";
    modes = "n";
  };
  MkdnPrevHeading = {
    key = "[[";
    modes = "n";
  };
  MkdnPrevLink = {
    key = "<S-Tab>";
    modes = "n";
  };
  MkdnSTab = false;
  MkdnTab = false;
  MkdnTableNewColAfter = {
    key = "<leader>ic";
    modes = "n";
  };
  MkdnTableNewColBefore = {
    key = "<leader>iC";
    modes = "n";
  };
  MkdnTableNewRowAbove = {
    key = "<leader>iR";
    modes = "n";
  };
  MkdnTableNewRowBelow = {
    key = "<leader>ir";
    modes = "n";
  };
  MkdnTableNextCell = {
    key = "<Tab>";
    modes = "i";
  };
  MkdnTableNextRow = false;
  MkdnTablePrevCell = {
    key = "<S-Tab>";
    modes = "i";
  };
  MkdnTablePrevRow = {
    key = "<M-CR>";
    modes = "i";
  };
  MkdnToggleToDo = {
    key = "<C-Space>";
    modes = [
      "n"
      "v"
    ];
  };
  MkdnUnfoldSection = {
    key = "<leader>F";
    modes = "n";
  };
  MkdnUpdateNumbering = {
    key = "<leader>nn";
    modes = "n";
  };
  MkdnYankAnchorLink = {
    key = "ya";
    modes = "n";
  };
  MkdnYankFileAnchorLink = {
    key = "yfa";
    modes = "n";
  };
}

Declared by:

plugins.mkdnflow.silent

  • true: The plugin will not display any messages in the console except compatibility warnings related to your config.
  • false: The plugin will display messages to the console (all messages from the plugin start with ⬇️ ).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.mkdnflow.wrap

  • true: When jumping to next/previous links or headings, the cursor will continue searching at the beginning/end of the file.
  • false: When jumping to next/previous links or headings, the cursor will stop searching at the end/beginning of the file.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.mkdnflow.bib.defaultPath

Specifies a path to a default .bib file to look for citation keys in (need not be in root directory of notebook).

Type: null or string

Default: null

Declared by:

plugins.mkdnflow.bib.findInRoot

  • true: When perspective.priority is also set to root (and a root directory was found), the plugin will search for bib files to reference in the notebook’s top-level directory. If bib.default_path is also specified, the default path will be appended to the list of bib files found in the top level directory so that it will also be searched.
  • false: The notebook’s root directory will not be searched for bib files.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.mkdnflow.links.conceal

  • true: Link sources and delimiters will be concealed (depending on which link style is selected)
  • false: Link sources and delimiters will not be concealed by mkdnflow

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.mkdnflow.links.context

  • 0 (default): When following or jumping to links, assume that no link will be split over multiple lines
  • n: When following or jumping to links, consider n lines before and after a given line (useful if you ever permit links to be interrupted by a hard line break)

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.mkdnflow.links.implicitExtension

A string that instructs the plugin (a) how to interpret links to files that do not have an extension, and (b) that new links should be created without an explicit extension.

Type: null or string

Default: null

Declared by:

plugins.mkdnflow.links.style

  • markdown: Links will be expected in the standard markdown format: [<title>](<source>)
  • wiki: Links will be expected in the unofficial wiki-link style, specifically the title-after-pipe format (see https://github.com/jgm/pandoc/pull/7705): [[<source>|<title>]].

Type: null or one of “markdown”, “wiki” or raw lua code

Default: null

Plugin default: "markdown"

Declared by:

plugins.mkdnflow.links.transformExplicit

A function that transforms the text to be inserted as the source/path of a link when a link is created. Anchor links are not currently customizable. If you want all link paths to be explicitly prefixed with the year, for instance, and for the path to be converted to uppercase, you could provide the following function under this key. (NOTE: The previous functionality specified under the prefix key has been migrated here to provide greater flexibility.)

Example:

  function(input)
      return(string.upper(os.date('%Y-')..input))
  end

Type: null or lua function string or value false (singular enum)

Default: null

Plugin default: false

Declared by:

plugins.mkdnflow.links.transformImplicit

A function that transforms the path of a link immediately before interpretation. It does not transform the actual text in the buffer but can be used to modify link interpretation. For instance, link paths that match a date pattern can be opened in a journals subdirectory of your notebook, and all others can be opened in a pages subdirectory, using the following function:

  function(input)
      if input:match('%d%d%d%d%-%d%d%-%d%d') then
          return('journals/'..input)
      else
          return('pages/'..input)
      end
  end

Type: null or lua function string or value false (singular enum)

Default: null

Plugin default:

''
  function(text)
      text = text:gsub(" ", "-")
      text = text:lower()
      text = os.date('%Y-%m-%d_')..text
      return(text)
  end
''

Declared by:

plugins.mkdnflow.modules.bib

Enable module bib. Required for parsing bib files and following citations.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.mkdnflow.modules.buffers

Enable module buffers. Required for backward and forward navigation through buffers.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.mkdnflow.modules.conceal

Enable module conceal. Required if you wish to enable link concealing. Note that you must declare links.conceal as true in addition to enabling this module if you wish to conceal links.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.mkdnflow.modules.cursor

Enable module cursor. Required for jumping to links and headings; yanking anchor links.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.mkdnflow.modules.folds

Enable module folds. Required for folding by section.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

Enable module links. Required for creating and destroying links and following links.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.mkdnflow.modules.lists

Enable module lists. Required for manipulating lists, toggling to-do list items, etc.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.mkdnflow.modules.maps

Enable module maps. Required for setting mappings via the mappings table. Set to false if you wish to set mappings outside of the plugin.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.mkdnflow.modules.paths

Enable module paths. Required for link interpretation and following links.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.mkdnflow.modules.tables

Enable module tables. Required for table navigation and formatting.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.mkdnflow.modules.yaml

Enable module yaml. Required for parsing yaml blocks.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.mkdnflow.perspective.fallback

Specifies the backup perspective to take if priority isn’t possible (e.g. if it is root but no root directory is found).

  • first (default): Links will be interpreted relative to the first-opened file (when the current instance of Neovim was started)
  • current: Links will be interpreted relative to the current file
  • root: Links will be interpreted relative to the root directory of the current notebook (requires perspective.root_tell to be specified)

Type: null or one of “first”, “current”, “root” or raw lua code

Default: null

Plugin default: "first"

Declared by:

plugins.mkdnflow.perspective.nvimWdHeel

Specifies whether changes in perspective will result in corresponding changes to Neovim’s working directory.

  • true: Changes in perspective will be reflected in the nvim working directory. (In other words, the working directory will “heel” to the plugin’s perspective.) This helps ensure (at least) that path completions (if using a completion plugin with support for paths) will be accurate and usable.
  • false (default): Neovim’s working directory will not be affected by Mkdnflow.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.mkdnflow.perspective.priority

Specifies the priority perspective to take when interpreting link paths

  • first (default): Links will be interpreted relative to the first-opened file (when the current instance of Neovim was started)
  • current: Links will be interpreted relative to the current file
  • root: Links will be interpreted relative to the root directory of the current notebook (requires perspective.root_tell to be specified)

Type: null or one of “first”, “current”, “root” or raw lua code

Default: null

Plugin default: "first"

Declared by:

plugins.mkdnflow.perspective.rootTell

  • <any file name>: Any arbitrary filename by which the plugin can uniquely identify the root directory of the current notebook.
  • If false is used instead, the plugin will never search for a root directory, even if perspective.priority is set to root.

Type: null or value false (singular enum) or string

Default: null

Plugin default: false

Declared by:

plugins.mkdnflow.perspective.update

Determines whether the plugin looks to determine if a followed link is in a different notebook/wiki than before. If it is, the perspective will be updated. Requires rootTell to be defined and priority to be root.

  • true (default): Perspective will be updated when following a link to a file in a separate notebook/wiki (or navigating backwards to a file in another notebook/wiki).
  • false: Perspective will be not updated when following a link to a file in a separate notebook/wiki. Under the hood, links in the file in the separate notebook/wiki will be interpreted relative to the original notebook/wiki.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.mkdnflow.tables.autoExtendCols

Whether a new column should automatically be added to a table when :MkdnTableNextCell is triggered when the cursor is in the final column of the table. If false, the cursor will jump to the first cell of the next row, unless the cursor is already in the last row, in which case nothing will happen.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.mkdnflow.tables.autoExtendRows

Whether a new row should automatically be added to a table when :MkdnTableNextRow is triggered when the cursor is in the final row of the table. If false, the cursor will simply leave the table for the next line.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.mkdnflow.tables.formatOnMove

Whether tables should be formatted each time the cursor is moved via MkdnTableNext/PrevCell or MkdnTableNext/Prev/Row.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.mkdnflow.tables.trimWhitespace

Whether extra whitespace should be trimmed from the end of a table cell when a table is formatted.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.mkdnflow.toDo.complete

This option can be used to stipulate which symbols shall be used when updating a parent to-do’s status when a child to-do’s status is changed. This is not required: if toDo.symbols is customized but this option is not provided, the plugin will attempt to infer what the meanings of the symbols in your list are by their order.

For example, if you set toDo.symbols as [" " "⧖" "✓"], " " will be assigned to toDo.notStarted, “⧖” will be assigned to toDo.inProgress, etc. If more than three symbols are specified, the first will be used as notStarted, the second will be used as inProgress, and the last will be used as complete. If two symbols are provided (e.g. " ", "✓"), the first will be used as both notStarted and inProgress, and the second will be used as complete.

toDo.complete stipulates which symbol represents a complete to-do.

Type: null or string or raw lua code

Default: null

Plugin default: "X"

Declared by:

plugins.mkdnflow.toDo.inProgress

This option can be used to stipulate which symbols shall be used when updating a parent to-do’s status when a child to-do’s status is changed. This is not required: if toDo.symbols is customized but this option is not provided, the plugin will attempt to infer what the meanings of the symbols in your list are by their order.

For example, if you set toDo.symbols as [" " "⧖" "✓"], " " will be assigned to toDo.notStarted, “⧖” will be assigned to toDo.inProgress, etc. If more than three symbols are specified, the first will be used as notStarted, the second will be used as inProgress, and the last will be used as complete. If two symbols are provided (e.g. " ", "✓"), the first will be used as both notStarted and inProgress, and the second will be used as complete.

toDo.inProgress stipulates which symbol represents an in-progress to-do.

Type: null or string or raw lua code

Default: null

Plugin default: "-"

Declared by:

plugins.mkdnflow.toDo.notStarted

This option can be used to stipulate which symbols shall be used when updating a parent to-do’s status when a child to-do’s status is changed. This is not required: if toDo.symbols is customized but this option is not provided, the plugin will attempt to infer what the meanings of the symbols in your list are by their order.

For example, if you set toDo.symbols as [" " "⧖" "✓"], " " will be assigned to toDo.notStarted, “⧖” will be assigned to toDo.inProgress, etc. If more than three symbols are specified, the first will be used as notStarted, the second will be used as inProgress, and the last will be used as complete. If two symbols are provided (e.g. " ", "✓"), the first will be used as both notStarted and inProgress, and the second will be used as complete.

toDo.notStarted stipulates which symbol represents a not-yet-started to-do.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.mkdnflow.toDo.symbols

A list of symbols (each no more than one character) that represent to-do list completion statuses. MkdnToggleToDo references these when toggling the status of a to-do item. Three are expected: one representing not-yet-started to-dos (default: ' '), one representing in-progress to-dos (default: -), and one representing complete to-dos (default: X).

NOTE: Native Lua support for UTF-8 characters is limited, so in order to ensure all functionality works as intended if you are using non-ascii to-do symbols, you’ll need to install the luarocks module “luautf8”.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  " "
  "-"
  "X"
]

Declared by:

plugins.mkdnflow.toDo.updateParents

Whether parent to-dos’ statuses should be updated based on child to-do status changes performed via MkdnToggleToDo

  • true (default): Parent to-do statuses will be inferred and automatically updated when a child to-do’s status is changed
  • false: To-do items can be toggled, but parent to-do statuses (if any) will not be automatically changed

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.mkdnflow.yaml.bib.override

Whether or not a bib path specified in a yaml block should be the only source considered for bib references in that file.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

modicator

URL: https://github.com/mawkler/modicator.nvim/

Maintainers: Gaetan Lepage

plugins.modicator.enable

Whether to enable modicator.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.modicator.package

The modicator.nvim package to use.

Type: package

Default: pkgs.vimPlugins.modicator-nvim

Declared by:

plugins.modicator.autoLoad

Whether to automatically load modicator.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.modicator.settings

Options provided to the require('modicator').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  highlights = {
    defaults = {
      bold = false;
      italic = false;
    };
  };
  show_warnings = true;
}

Declared by:

plugins.modicator.lazyLoad

Lazy-load settings for modicator.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.modicator.lazyLoad.enable

lazy-loading for modicator.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.modicator.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.modicator.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.modicator.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.modicator.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

molten

URL: https://github.com/benlubas/molten-nvim/

Maintainers: Gaetan Lepage

plugins.molten.enable

Whether to enable molten-nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.molten.package

The molten-nvim package to use.

Type: package

Default: pkgs.vimPlugins.molten-nvim

Declared by:

plugins.molten.autoLoad

Whether to automatically load molten-nvim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.molten.python3Dependencies

Python packages to add to the PYTHONPATH of neovim.

Type: function that evaluates to a(n) list of package

Default:

p: with p; [
  pynvim
  jupyter-client
  cairosvg
  ipython
  nbformat
  ipykernel
]

Declared by:

plugins.molten.settings

The configuration options for molten without the molten_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal molten_foo_bar=1
  • hello = "world" -> :setglobal molten_hello="world"
  • some_toggle = true -> :setglobal molten_some_toggle
  • other_toggle = false -> :setglobal nomolten_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  auto_open_output = true;
  copy_output = false;
  enter_output_behavior = "open_then_enter";
  image_provider = "none";
  output_crop_border = true;
  output_show_more = false;
  output_virt_lines = false;
  output_win_border = [
    ""
    "━"
    ""
    ""
  ];
  output_win_cover_gutter = true;
  output_win_hide_on_leave = true;
  output_win_style = false;
  save_path = {
    __raw = "vim.fn.stdpath('data')..'/molten'";
  };
  show_mimetype_debug = false;
  use_border_highlights = false;
  virt_lines_off_by1 = false;
  wrap_output = false;
}

Declared by:

plugins.molten.settings.auto_image_popup

When true, cells that produce an image output will open the image output automatically with python’s Image.show().

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.molten.settings.auto_init_behavior

When set to “raise” commands which would otherwise ask for a kernel when they’re run without a running kernel will instead raise an exception. Useful for other plugins that want to use pcall and do their own error handling.

Type: null or string or raw lua code

Default: null

Plugin default: "init"

Declared by:

plugins.molten.settings.auto_open_html_in_browser

Automatically open HTML outputs in a browser. related: open_cmd.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.molten.settings.auto_open_output

Automatically open the floating output window when your cursor moves into a cell.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.molten.settings.copy_output

Copy evaluation output to clipboard automatically (requires pyperclip).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.molten.settings.cover_empty_lines

The output window and virtual text will be shown just below the last line of code in the cell.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.molten.settings.cover_lines_starting_with

When cover_empty_lines is true, also covers lines starting with these strings.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.molten.settings.enter_output_behavior

The behavior of MoltenEnterOutput.

Type: null or one of “open_then_enter”, “open_and_enter”, “no_open” or raw lua code

Default: null

Plugin default: "open_then_enter"

Declared by:

plugins.molten.settings.image_provider

How images are displayed.

Type: null or one of “none”, “image.nvim”, “wezterm” or raw lua code

Default: null

Plugin default: "none"

Declared by:

plugins.molten.settings.limit_output_chars

Limit on the number of chars in an output. If you’re lagging your editor with too much output text, decrease it.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1000000

Declared by:

plugins.molten.settings.open_cmd

Defaults to xdg-open on Linux, open on Darwin, and start on Windows. But you can override it to whatever you want. The command is called like: subprocess.run([open_cmd, filepath])

Type: null or string

Default: null

Declared by:

plugins.molten.settings.output_crop_border

‘crops’ the bottom border of the output window when it would otherwise just sit at the bottom of the screen.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.molten.settings.output_show_more

When the window can’t display the entire contents of the output buffer, shows the number of extra lines in the window footer (requires nvim 10.0+ and a window border).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.molten.settings.output_virt_lines

Pad the main buffer with virtual lines so the floating window doesn’t cover anything while it’s open.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.molten.settings.output_win_border

Defines the border to use for output window. Accepts same border values as nvim_open_win(). See :help nvim_open_win() for more info.

Type: null or string or list of string or list of list of string or raw lua code

Default: null

Plugin default:

[
  ""
  "━"
  ""
  ""
]

Declared by:

plugins.molten.settings.output_win_cover_gutter

Should the output window cover the gutter (numbers and sign col), or not. If you change this, you probably also want to change output_win_style.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.molten.settings.output_win_hide_on_leave

After leaving the output window (via :q or switching windows), do not attempt to redraw the output window.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.molten.settings.output_win_max_height

Max height of the output window.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 999999

Declared by:

plugins.molten.settings.output_win_max_width

Max width of the output window.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 999999

Declared by:

plugins.molten.settings.output_win_style

Value passed to the style option in :h nvim_open_win().

Type: null or one of false, “minimal” or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.molten.settings.save_path

Where to save/load data with :MoltenSave and :MoltenLoad.

Type: null or string or raw lua code

Default: null

Plugin default:

{
  __raw = "vim.fn.stdpath('data')..'/molten'";
}

Declared by:

plugins.molten.settings.show_mimetype_debug

Before any non-iostream output chunk, the mime-type for that output chunk is shown. Meant for debugging/plugin development.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.molten.settings.tick_rate

How often (in ms) we poll the kernel for updates. Determines how quickly the ui will update, if you want a snappier experience, you can set this to 150 or 200.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 500

Declared by:

plugins.molten.settings.use_border_highlights

When true, uses different highlights for output border depending on the state of the cell (running, done, error).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.molten.settings.virt_lines_off_by_1

Allows the output window to cover exactly one line of the regular buffer when output_virt_lines is true, also effects where virt_text_output is displayed. (useful for running code in a markdown file where that covered line will just be ```).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.molten.settings.virt_text_max_lines

Max height of the virtual text.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 12

Declared by:

plugins.molten.settings.virt_text_output

When true, show output as virtual text below the cell, virtual text stays after leaving the cell. When true, output window doesn’t open automatically on run. Effected by virt_lines_off_by_1.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.molten.settings.wrap_output

Wrap output text.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.multicursors.enable

Whether to enable multicursors.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.multicursors.package

The multicursors.nvim package to use.

Type: package

Default: pkgs.vimPlugins.multicursors-nvim

Declared by:

plugins.multicursors.createCommands

Create Multicursor user commands.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.multicursors.debugMode

Enable debug mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.multicursors.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.multicursors.nowait

see :help :map-nowait.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.multicursors.updatetime

Selections get updated if this many milliseconds nothing is typed in the insert mode see :help updatetime.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 50

Declared by:

plugins.multicursors.extendKeys

Insert mode key mappings.

Default: see the README.md

Type: null or (attribute set of (submodule))

Default: null

Declared by:

plugins.multicursors.extendKeys.<name>.method

Assigning "nil" exits from multi cursor mode. Assigning false removes the binding

Type: string or value false (singular enum)

Example:

''
  function()
    require('multicursors.utils').call_on_selections(
      function(selection)
        vim.api.nvim_win_set_cursor(0, { selection.row + 1, selection.col + 1 })
        local line_count = selection.end_row - selection.row + 1
        vim.cmd('normal ' .. line_count .. 'gcc')
      end
    )
  end
''

Declared by:

plugins.multicursors.extendKeys.<name>.opts

You can pass :map-arguments here.

Type: attribute set of string

Default: { }

Example:

{
  desc = "comment selections";
}

Declared by:

plugins.multicursors.generateHints.extend

Hints for extend mode.

Accepted values:

  • true: generate hints
  • false: don’t generate hints
  • str: provide your own hints

Type: null or boolean or string

Default: null

Plugin default: false

Declared by:

plugins.multicursors.generateHints.insert

Hints for insert mode.

Accepted values:

  • true: generate hints
  • false: don’t generate hints
  • str: provide your own hints

Type: null or boolean or string

Default: null

Plugin default: false

Declared by:

plugins.multicursors.generateHints.normal

Hints for normal mode.

Accepted values:

  • true: generate hints
  • false: don’t generate hints
  • str: provide your own hints

Type: null or boolean or string

Default: null

Plugin default: false

Declared by:

plugins.multicursors.hintConfig.border

Defines the border to use for the hint window. Accepts same border values as nvim_open_win(). See :help nvim_open_win() for more info.

Type: null or string or list of string or list of list of string or raw lua code

Default: null

Plugin default: "none"

Declared by:

plugins.multicursors.hintConfig.funcs

Attrs where keys are function names and values are functions themselves. Each function should return string. This functions can be required from hint with %{func_name} syntaxis.

Type: null or (attribute set of string)

Default: null

Declared by:

plugins.multicursors.hintConfig.offset

The offset from the nearest editor border. (valid when type if "window").

Type: null or signed integer

Default: null

Declared by:

plugins.multicursors.hintConfig.position

Set the position of the hint.

Type: null or one of “top-left”, “top”, “top-right”, “middle-left”, “middle”, “middle-right”, “bottom-left”, “bottom”, “bottom-right” or raw lua code

Default: null

Plugin default: "bottom"

Declared by:

plugins.multicursors.hintConfig.showName

Show hydras name or HYDRA: label at the beginning of an auto-generated hint.

Type: null or boolean

Default: null

Declared by:

plugins.multicursors.hintConfig.type

  • “window”: show hint in a floating window;
  • “cmdline”: show hint in a echo area;
  • “statusline”: show auto-generated hint in the statusline.

Type: null or one of “window”, “cmdline”, “statusline”

Default: null

Declared by:

plugins.multicursors.insertKeys

Insert mode key mappings.

Default: see the README.md

Type: null or (attribute set of (submodule))

Default: null

Declared by:

plugins.multicursors.insertKeys.<name>.method

Assigning "nil" exits from multi cursor mode. Assigning false removes the binding

Type: string or value false (singular enum)

Example:

''
  function()
    require('multicursors.utils').call_on_selections(
      function(selection)
        vim.api.nvim_win_set_cursor(0, { selection.row + 1, selection.col + 1 })
        local line_count = selection.end_row - selection.row + 1
        vim.cmd('normal ' .. line_count .. 'gcc')
      end
    )
  end
''

Declared by:

plugins.multicursors.insertKeys.<name>.opts

You can pass :map-arguments here.

Type: attribute set of string

Default: { }

Example:

{
  desc = "comment selections";
}

Declared by:

plugins.multicursors.normalKeys

Normal mode key mappings.

Default: see the README.md

Example:

  {
    # to change default lhs of key mapping, change the key
    "," = {
      # assigning `null` to method exits from multi cursor mode
      # assigning `false` to method removes the binding
      method = "require 'multicursors.normal_mode'.clear_others";

      # you can pass :map-arguments here
      opts = { desc = "Clear others"; };
    };
    "<C-/>" = {
        method = \'\'
          function()
            require('multicursors.utils').call_on_selections(
              function(selection)
                vim.api.nvim_win_set_cursor(0, { selection.row + 1, selection.col + 1 })
                local line_count = selection.end_row - selection.row + 1
                vim.cmd('normal ' .. line_count .. 'gcc')
              end
            )
          end
        \'\';
        opts = { desc = "comment selections"; };
    };
  }

Type: null or (attribute set of (submodule))

Default: null

Declared by:

plugins.multicursors.normalKeys.<name>.method

Assigning "nil" exits from multi cursor mode. Assigning false removes the binding

Type: string or value false (singular enum)

Example:

''
  function()
    require('multicursors.utils').call_on_selections(
      function(selection)
        vim.api.nvim_win_set_cursor(0, { selection.row + 1, selection.col + 1 })
        local line_count = selection.end_row - selection.row + 1
        vim.cmd('normal ' .. line_count .. 'gcc')
      end
    )
  end
''

Declared by:

plugins.multicursors.normalKeys.<name>.opts

You can pass :map-arguments here.

Type: attribute set of string

Default: { }

Example:

{
  desc = "comment selections";
}

Declared by:

muren

URL: https://github.com/AckslD/muren.nvim/

Maintainers: Gaetan Lepage

plugins.muren.enable

Whether to enable muren.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.muren.package

The muren.nvim package to use.

Type: package

Default: pkgs.vimPlugins.muren-nvim

Declared by:

plugins.muren.autoLoad

Whether to automatically load muren.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.muren.lazyLoad

Lazy-load settings for muren.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.muren.lazyLoad.enable

lazy-loading for muren.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.muren.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.muren.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.muren.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.muren.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.muren.settings

Options provided to the require('muren').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  create_commands = true;
  filetype_in_preview = true;
}

Declared by:

plugins.muren.settings.all_on_line

When enabled, all replacements are applied on the same line.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.muren.settings.anchor

Specify the location of the muren UI.

Type: null or one of “center”, “top”, “bottom”, “left”, “right”, “top_left”, “top_right”, “bottom_left”, “bottom_right” or raw lua code

Default: null

Plugin default: "center"

Declared by:

plugins.muren.settings.create_commands

Automatically creates commands for the plugin.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.muren.settings.cwd

Use the current working directory for replacements.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.muren.settings.files

Specify the file pattern for replacements.

Type: null or string or raw lua code

Default: null

Plugin default: "**/*"

Declared by:

plugins.muren.settings.filetype_in_preview

Applies file type highlighting in the preview window.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.muren.settings.horizontal_offset

Horizontal offset relative to the anchor.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.muren.settings.keys

Specify the keyboard shortcuts for various actions.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  close = "q";
  do_redo = "<localleader>r";
  do_replace = "<CR>";
  do_undo = "<localleader>u";
  scroll_preview_down = "<Down>";
  scroll_preview_up = "<Up>";
  toggle_option_under_cursor = "<CR>";
  toggle_options_focus = "<C-s>";
  toggle_side = "<Tab>";
}

Declared by:

plugins.muren.settings.options_width

Width of the options panel.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 20

Declared by:

plugins.muren.settings.order

Specify the order of options in the UI.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "buffer"
  "dir"
  "files"
  "two_step"
  "all_on_line"
  "preview"
]

Declared by:

plugins.muren.settings.patterns_height

Height of the patterns panel.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.muren.settings.patterns_width

Width of the patterns panel.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 30

Declared by:

plugins.muren.settings.preview

Show a preview of the replacements.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.muren.settings.preview_height

Height of the preview panel.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 12

Declared by:

plugins.muren.settings.two_step

Enables two-step replacements for non-recursive replacements.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.muren.settings.vertical_offset

Vertical offset relative to the anchor.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.muren.settings.hl.options.off

Highlight group for disabled options.

Type: null or string or raw lua code

Default: null

Plugin default: "@variable.builtin"

Declared by:

plugins.muren.settings.hl.options.on

Highlight group for enabled options.

Type: null or string or raw lua code

Default: null

Plugin default: "@string"

Declared by:

plugins.muren.settings.hl.preview.cwd.lnum

Highlight group for line numbers in the preview.

Type: null or string or raw lua code

Default: null

Plugin default: "Number"

Declared by:

plugins.muren.settings.hl.preview.cwd.path

Highlight group for the directory path in the preview.

Type: null or string or raw lua code

Default: null

Plugin default: "Comment"

Declared by:

nabla

URL: https://github.com/jbyuki/nabla.nvim/

Maintainers: Gaetan Lepage


You can bind the popup action like so:

  keymaps = [
    {
      key = "<leader>p";
      action.__raw = "require('nabla').popup";
    }
  ];

You can also wrap an explicit call to popup in a function() ... end in order to provide a border option.

See README for more information.

plugins.nabla.enable

Whether to enable nabla.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.nabla.package

The nabla.nvim package to use.

Type: package

Default: pkgs.vimPlugins.nabla-nvim

Declared by:

plugins.nabla.autoLoad

Whether to automatically load nabla.nvim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.navbuddy.enable

Whether to enable nvim-navbuddy.

Type: boolean

Default: false

Example: true

Declared by:

plugins.navbuddy.package

The nvim-navbuddy package to use.

Type: package

Default: pkgs.vimPlugins.nvim-navbuddy

Declared by:

plugins.navbuddy.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.navbuddy.keymapsSilent

Whether navbuddy keymaps should be silent

Type: boolean

Default: false

Declared by:

plugins.navbuddy.mappings

Actions to be triggered for specified keybindings. It can take either action name i.e toggle_preview Or it can a rawLua.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "0" = "root";
  "<C-s>" = "hsplit";
  "<C-v>" = "vsplit";
  "<enter>" = "select";
  "<esc>" = "close";
  A = "append_scope";
  F = "fold_delete";
  I = "insert_scope";
  J = "move_down";
  K = "move_up";
  V = "visual_scope";
  Y = "yank_scope";
  a = "append_name";
  c = "comment";
  d = "delete";
  f = "fold_create";
  h = "parent";
  i = "insert_name";
  j = "next_sibling";
  k = "previous_sibling";
  l = "children";
  o = "select";
  q = "close";
  r = "rename";
  s = "toggle_preview";
  v = "visual_name";
  y = "yank_name";
}

Declared by:

plugins.navbuddy.useDefaultMapping

If set to false, only mappings set by user are set. Else default mappings are used for keys that are not set by user

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.navbuddy.icons.Array

icon for Array.

Type: null or string or raw lua code

Default: null

Plugin default: "󰅪 "

Declared by:

plugins.navbuddy.icons.Boolean

icon for Boolean.

Type: null or string or raw lua code

Default: null

Plugin default: "◩ "

Declared by:

plugins.navbuddy.icons.Class

icon for Class.

Type: null or string or raw lua code

Default: null

Plugin default: "󰌗 "

Declared by:

plugins.navbuddy.icons.Constant

icon for Constant.

Type: null or string or raw lua code

Default: null

Plugin default: "󰏿 "

Declared by:

plugins.navbuddy.icons.Constructor

icon for Constructor.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.navbuddy.icons.Enum

icon for Enum.

Type: null or string or raw lua code

Default: null

Plugin default: "󰕘"

Declared by:

plugins.navbuddy.icons.EnumMember

icon for EnumMember.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.navbuddy.icons.Event

icon for Event.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.navbuddy.icons.Field

icon for Field.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.navbuddy.icons.File

icon for File.

Type: null or string or raw lua code

Default: null

Plugin default: "󰈙 "

Declared by:

plugins.navbuddy.icons.Function

icon for Function.

Type: null or string or raw lua code

Default: null

Plugin default: "󰊕 "

Declared by:

plugins.navbuddy.icons.Interface

icon for Interface.

Type: null or string or raw lua code

Default: null

Plugin default: "󰕘"

Declared by:

plugins.navbuddy.icons.Key

icon for Key.

Type: null or string or raw lua code

Default: null

Plugin default: "󰌋 "

Declared by:

plugins.navbuddy.icons.Method

icon for Method.

Type: null or string or raw lua code

Default: null

Plugin default: "󰆧 "

Declared by:

plugins.navbuddy.icons.Module

icon for Module.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.navbuddy.icons.Namespace

icon for Namespace.

Type: null or string or raw lua code

Default: null

Plugin default: "󰌗 "

Declared by:

plugins.navbuddy.icons.Null

icon for Null.

Type: null or string or raw lua code

Default: null

Plugin default: "󰟢 "

Declared by:

plugins.navbuddy.icons.Number

icon for Number.

Type: null or string or raw lua code

Default: null

Plugin default: "󰎠 "

Declared by:

plugins.navbuddy.icons.Object

icon for Object.

Type: null or string or raw lua code

Default: null

Plugin default: "󰅩 "

Declared by:

plugins.navbuddy.icons.Operator

icon for Operator.

Type: null or string or raw lua code

Default: null

Plugin default: "󰆕 "

Declared by:

plugins.navbuddy.icons.Package

icon for Package.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.navbuddy.icons.Property

icon for Property.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.navbuddy.icons.String

icon for String.

Type: null or string or raw lua code

Default: null

Plugin default: "󰀬 "

Declared by:

plugins.navbuddy.icons.Struct

icon for Struct.

Type: null or string or raw lua code

Default: null

Plugin default: "󰌗 "

Declared by:

plugins.navbuddy.icons.TypeParameter

icon for TypeParameter.

Type: null or string or raw lua code

Default: null

Plugin default: "󰊄 "

Declared by:

plugins.navbuddy.icons.Variable

icon for Variable.

Type: null or string or raw lua code

Default: null

Plugin default: "󰆧 "

Declared by:

plugins.navbuddy.lsp.autoAttach

If set to true, you don’t need to manually use attach function

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.navbuddy.lsp.preference

list of lsp server names in order of preference

Type: null or (list of string)

Default: null

Declared by:

plugins.navbuddy.nodeMarkers.enabled

Enable node markers.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.navbuddy.nodeMarkers.icons.branch

The icon to use for branch nodes.

Type: null or string or raw lua code

Default: null

Plugin default: "  "

Declared by:

plugins.navbuddy.nodeMarkers.icons.leaf

The icon to use for leaf nodes.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.navbuddy.nodeMarkers.icons.leafSelected

The icon to use for selected leaf node.

Type: null or string or raw lua code

Default: null

Plugin default: " → "

Declared by:

plugins.navbuddy.sourceBuffer.followNode

Keep the current node in focus on the source buffer

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.navbuddy.sourceBuffer.highlight

Highlight the currently focused node

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.navbuddy.sourceBuffer.reorient

Right section can show previews too. Options: “leaf”, “always” or “never”

Type: null or one of “smart”, “top”, “mid”, “none” or raw lua code

Default: null

Plugin default: "smart"

Declared by:

plugins.navbuddy.sourceBuffer.scrolloff

scrolloff value when navbuddy is open.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.navbuddy.window.border

“rounded”, “double”, “solid”, “none” or an array with eight chars building up the border in a clockwise fashion starting with the top-left corner. eg: { “╔”, “═” ,“╗”, “║”, “╝”, “═”, “╚”, “║” }.

Defines the border to use for window border. Accepts same border values as nvim_open_win(). See :help nvim_open_win() for more info.

Type: null or string or list of string or list of list of string or raw lua code

Default: null

Plugin default: "rounded"

Declared by:

plugins.navbuddy.window.position

The position of the window.

Type: null or integer between 0 and 100 (both inclusive) or (submodule)

Default: null

Plugin default: 50

Declared by:

plugins.navbuddy.window.scrolloff

scrolloff value within navbuddy window

Type: null or signed integer

Default: null

Declared by:

plugins.navbuddy.window.size

The size of the window.

Type: null or integer between 0 and 100 (both inclusive) or (submodule)

Default: null

Plugin default: 60

Declared by:

plugins.navbuddy.window.sections.left.border

“rounded”, “double”, “solid”, “none” or an array with eight chars building up the border in a clockwise fashion starting with the top-left corner. eg: { “╔”, “═” ,“╗”, “║”, “╝”, “═”, “╚”, “║” }.

Defines the border to use for left section border. Accepts same border values as nvim_open_win(). See :help nvim_open_win() for more info.

Type: null or string or list of string or list of list of string or raw lua code

Default: null

Plugin default: "rounded"

Declared by:

plugins.navbuddy.window.sections.left.size

The height size (in %).

Type: null or integer between 0 and 100 (both inclusive)

Default: null

Plugin default: "20"

Declared by:

plugins.navbuddy.window.sections.mid.border

“rounded”, “double”, “solid”, “none” or an array with eight chars building up the border in a clockwise fashion starting with the top-left corner. eg: { “╔”, “═” ,“╗”, “║”, “╝”, “═”, “╚”, “║” }.

Defines the border to use for mid section border. Accepts same border values as nvim_open_win(). See :help nvim_open_win() for more info.

Type: null or string or list of string or list of list of string or raw lua code

Default: null

Plugin default: "rounded"

Declared by:

plugins.navbuddy.window.sections.mid.size

The height size (in %).

Type: null or integer between 0 and 100 (both inclusive)

Default: null

Plugin default: "40"

Declared by:

plugins.navbuddy.window.sections.right.border

“rounded”, “double”, “solid”, “none” or an array with eight chars building up the border in a clockwise fashion starting with the top-left corner. eg: { “╔”, “═” ,“╗”, “║”, “╝”, “═”, “╚”, “║” }.

Defines the border to use for right section border. Accepts same border values as nvim_open_win(). See :help nvim_open_win() for more info.

Type: null or string or list of string or list of list of string or raw lua code

Default: null

Plugin default: "rounded"

Declared by:

plugins.navbuddy.window.sections.right.preview

Right section can show previews too. Options: “leaf”, “always” or “never”

Type: null or one of “leaf”, “always”, “never” or raw lua code

Default: null

Plugin default: "leaf"

Declared by:

navic

URL: https://github.com/smiteshp/nvim-navic/

Maintainers: Austin Horstman

plugins.navic.enable

Whether to enable nvim-navic.

Type: boolean

Default: false

Example: true

Declared by:

plugins.navic.package

The nvim-navic package to use.

Type: package

Default: pkgs.vimPlugins.nvim-navic

Declared by:

plugins.navic.autoLoad

Whether to automatically load nvim-navic when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.navic.lazyLoad

Lazy-load settings for nvim-navic.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.navic.lazyLoad.enable

lazy-loading for nvim-navic

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.navic.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.navic.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.navic.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.navic.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.navic.settings

Options provided to the require('nvim-navic').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  lsp = {
    auto_attach = true;
    preference = [
      "clangd"
      "tsserver"
    ];
  };
}

Declared by:

plugins.navic.settings.click

Single click to goto element, double click to open nvim-navbuddy on the clicked element.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.navic.settings.depth_limit

Maximum depth of context to be shown. If the context hits this depth limit, it is truncated.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.navic.settings.depth_limit_indicator

Icon to indicate that depth_limit was hit and the shown context is truncated.

Type: null or string or raw lua code

Default: null

Plugin default: ".."

Declared by:

plugins.navic.settings.highlight

If set to true, will add colors to icons and text as defined by highlight groups NavicIcons* (NavicIconsFile, NavicIconsModule… etc.), NavicText and NavicSeparator.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.navic.settings.lazy_update_context

If true, turns off context updates for the “CursorMoved” event.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.navic.settings.safe_output

Sanitize the output for use in statusline and winbar.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.navic.settings.separator

Icon to separate items. to use between items.

Type: null or string or raw lua code

Default: null

Plugin default: " > "

Declared by:

plugins.navic.settings.icons.Array

icon for Array.

Type: null or string or raw lua code

Default: null

Plugin default: "󰅪 "

Declared by:

plugins.navic.settings.icons.Boolean

icon for Boolean.

Type: null or string or raw lua code

Default: null

Plugin default: "◩ "

Declared by:

plugins.navic.settings.icons.Class

icon for Class.

Type: null or string or raw lua code

Default: null

Plugin default: "󰌗 "

Declared by:

plugins.navic.settings.icons.Constant

icon for Constant.

Type: null or string or raw lua code

Default: null

Plugin default: "󰏿 "

Declared by:

plugins.navic.settings.icons.Constructor

icon for Constructor.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.navic.settings.icons.Enum

icon for Enum.

Type: null or string or raw lua code

Default: null

Plugin default: "󰕘"

Declared by:

plugins.navic.settings.icons.EnumMember

icon for EnumMember.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.navic.settings.icons.Event

icon for Event.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.navic.settings.icons.Field

icon for Field.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.navic.settings.icons.File

icon for File.

Type: null or string or raw lua code

Default: null

Plugin default: "󰈙 "

Declared by:

plugins.navic.settings.icons.Function

icon for Function.

Type: null or string or raw lua code

Default: null

Plugin default: "󰊕 "

Declared by:

plugins.navic.settings.icons.Interface

icon for Interface.

Type: null or string or raw lua code

Default: null

Plugin default: "󰕘"

Declared by:

plugins.navic.settings.icons.Key

icon for Key.

Type: null or string or raw lua code

Default: null

Plugin default: "󰌋 "

Declared by:

plugins.navic.settings.icons.Method

icon for Method.

Type: null or string or raw lua code

Default: null

Plugin default: "󰆧 "

Declared by:

plugins.navic.settings.icons.Module

icon for Module.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.navic.settings.icons.Namespace

icon for Namespace.

Type: null or string or raw lua code

Default: null

Plugin default: "󰌗 "

Declared by:

plugins.navic.settings.icons.Null

icon for Null.

Type: null or string or raw lua code

Default: null

Plugin default: "󰟢 "

Declared by:

plugins.navic.settings.icons.Number

icon for Number.

Type: null or string or raw lua code

Default: null

Plugin default: "󰎠 "

Declared by:

plugins.navic.settings.icons.Object

icon for Object.

Type: null or string or raw lua code

Default: null

Plugin default: "󰅩 "

Declared by:

plugins.navic.settings.icons.Operator

icon for Operator.

Type: null or string or raw lua code

Default: null

Plugin default: "󰆕 "

Declared by:

plugins.navic.settings.icons.Package

icon for Package.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.navic.settings.icons.Property

icon for Property.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.navic.settings.icons.String

icon for String.

Type: null or string or raw lua code

Default: null

Plugin default: "󰀬 "

Declared by:

plugins.navic.settings.icons.Struct

icon for Struct.

Type: null or string or raw lua code

Default: null

Plugin default: "󰌗 "

Declared by:

plugins.navic.settings.icons.TypeParameter

icon for TypeParameter.

Type: null or string or raw lua code

Default: null

Plugin default: "󰊄 "

Declared by:

plugins.navic.settings.icons.Variable

icon for Variable.

Type: null or string or raw lua code

Default: null

Plugin default: "󰆧 "

Declared by:

plugins.navic.settings.lsp.auto_attach

Enable to have nvim-navic automatically attach to every LSP for current buffer. Its disabled by default.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.navic.settings.lsp.preference

Table ranking lsp_servers. Lower the index, higher the priority of the server. If there are more than one server attached to a buffer. In the example below will prefer clangd over pyright

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Example:

[
  "clangd"
  "pyright"
]

Declared by:

plugins.neo-tree.enable

Whether to enable neo-tree.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neo-tree.enableDiagnostics

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neo-tree.enableGitStatus

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neo-tree.enableModifiedMarkers

Show markers for files with unsaved changes.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neo-tree.enableRefreshOnWrite

Refresh the tree when a file is written. Only used if use_libuv_file_watcher is false.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neo-tree.package

The neo-tree package to use.

Type: package

Default: pkgs.vimPlugins.neo-tree-nvim

Declared by:

plugins.neo-tree.addBlankLineAtTop

Add a blank line at the top of the tree.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neo-tree.autoCleanAfterSessionRestore

Automatically clean up broken neo-tree buffers saved in sessions

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neo-tree.closeIfLastWindow

Close Neo-tree if it is the last window left in the tab

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neo-tree.defaultSource

Type: null or string or raw lua code

Default: null

Plugin default: "filesystem"

Declared by:

plugins.neo-tree.eventHandlers

Configuration of event handlers. Attrs:

  • keys are the events (e.g. before_render, file_opened)
  • values are lua code defining the callback function.

Example:

{
  before_render = \'\'
    function (state)
      -- add something to the state that can be used by custom components
    end
  \'\';

  file_opened = \'\'
    function(file_path)
      --auto close
      require("neo-tree").close_all()
    end
  \'\';
}

Type: null or (attribute set of string)

Default: null

Declared by:

plugins.neo-tree.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.neo-tree.extraSources

Extra sources to be added to the sources. This is an internal nixvim option.

Type: null or (list of string)

Default: null

Declared by:

plugins.neo-tree.gitStatusAsync

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neo-tree.hideRootNode

Hide the root node.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neo-tree.logLevel

Type: null or one of “trace”, “debug”, “info”, “warn”, “error”, “fatal” or raw lua code

Default: null

Plugin default: "info"

Declared by:

plugins.neo-tree.logToFile

use :NeoTreeLogs to show the file

Type: null or boolean or string

Default: null

Plugin default: false

Declared by:

plugins.neo-tree.nestingRules

nesting rules

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.neo-tree.openFilesInLastWindow

If false, open files in top left window

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neo-tree.popupBorderStyle

Type: null or one of “NC”, “double”, “none”, “rounded”, “shadow”, “single”, “solid” or raw lua code

Default: null

Plugin default: "NC"

Declared by:

plugins.neo-tree.resizeTimerInterval

In ms, needed for containers to redraw right aligned and faded content. Set to -1 to disable the resize timer entirely.

NOTE: this will speed up to 50 ms for 1 second following a resize

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 500

Declared by:

plugins.neo-tree.retainHiddenRootIndent

If the root node is hidden, keep the indentation anyhow. This is needed if you use expanders because they render in the indent.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neo-tree.sortCaseInsensitive

Used when sorting files and directories in the tree

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neo-tree.sortFunction

Uses a custom function for sorting files and directories in the tree

Type: null or lua function string

Default: null

Plugin default: "nil"

Declared by:

plugins.neo-tree.sources

If a user has a sources list it will replace this one. Only sources listed here will be loaded. You can also add an external source by adding it’s name to this list. The name used here must be the same name you would use in a require() call.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "filesystem"
  "buffers"
  "git_status"
]

Declared by:

plugins.neo-tree.useDefaultMappings

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neo-tree.usePopupsForInput

If false, inputs will use vim.ui.input() instead of custom floats.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neo-tree.buffers.bindToCwd

Bind to current working directory.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neo-tree.buffers.groupEmptyDirs

When true, empty directories will be grouped together.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neo-tree.buffers.followCurrentFile.enabled

This will find and focus the file in the active buffer every time the current file is changed while the tree is open.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neo-tree.buffers.followCurrentFile.leaveDirsOpen

false closes auto expanded dirs, such as with :Neotree reveal.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neo-tree.buffers.window.mappings

Mapping options

Type: null or (attribute set of (string or (attribute set)))

Default: null

Plugin default:

{
  "." = "set_root";
  "<bs>" = "navigate_up";
  bd = "buffer_delete";
}

Declared by:

plugins.neo-tree.defaultComponentConfigs.container.enableCharacterFade

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neo-tree.defaultComponentConfigs.container.rightPadding

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.neo-tree.defaultComponentConfigs.container.width

Type: null or string or raw lua code

Default: null

Plugin default: "100%"

Declared by:

plugins.neo-tree.defaultComponentConfigs.diagnostics.highlights.error

Type: null or string or raw lua code

Default: null

Plugin default: "DiagnosticSignError"

Declared by:

plugins.neo-tree.defaultComponentConfigs.diagnostics.highlights.hint

Type: null or string or raw lua code

Default: null

Plugin default: "DiagnosticSignHint"

Declared by:

plugins.neo-tree.defaultComponentConfigs.diagnostics.highlights.info

Type: null or string or raw lua code

Default: null

Plugin default: "DiagnosticSignInfo"

Declared by:

plugins.neo-tree.defaultComponentConfigs.diagnostics.highlights.warn

Type: null or string or raw lua code

Default: null

Plugin default: "DiagnosticSignWarn"

Declared by:

plugins.neo-tree.defaultComponentConfigs.diagnostics.symbols.error

Type: null or string or raw lua code

Default: null

Plugin default: "X"

Declared by:

plugins.neo-tree.defaultComponentConfigs.diagnostics.symbols.hint

Type: null or string or raw lua code

Default: null

Plugin default: "H"

Declared by:

plugins.neo-tree.defaultComponentConfigs.diagnostics.symbols.info

Type: null or string or raw lua code

Default: null

Plugin default: "I"

Declared by:

plugins.neo-tree.defaultComponentConfigs.diagnostics.symbols.warn

Type: null or string or raw lua code

Default: null

Plugin default: "!"

Declared by:

plugins.neo-tree.defaultComponentConfigs.gitStatus.align

icon alignment

Type: null or string or raw lua code

Default: null

Plugin default: "right"

Declared by:

plugins.neo-tree.defaultComponentConfigs.gitStatus.symbols.added

added

Type: null or string or raw lua code

Default: null

Plugin default: "✚"

Declared by:

plugins.neo-tree.defaultComponentConfigs.gitStatus.symbols.conflict

conflict

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.neo-tree.defaultComponentConfigs.gitStatus.symbols.deleted

deleted

Type: null or string or raw lua code

Default: null

Plugin default: "✖"

Declared by:

plugins.neo-tree.defaultComponentConfigs.gitStatus.symbols.ignored

ignored

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.neo-tree.defaultComponentConfigs.gitStatus.symbols.modified

modified

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.neo-tree.defaultComponentConfigs.gitStatus.symbols.renamed

renamed

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.neo-tree.defaultComponentConfigs.gitStatus.symbols.staged

staged

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.neo-tree.defaultComponentConfigs.gitStatus.symbols.unstaged

unstaged

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.neo-tree.defaultComponentConfigs.gitStatus.symbols.untracked

untracked

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.neo-tree.defaultComponentConfigs.icon.default

Only a fallback, if you use nvim-web-devicons and configure default icons there then this will never be used.

Type: null or string or raw lua code

Default: null

Plugin default: "*"

Declared by:

plugins.neo-tree.defaultComponentConfigs.icon.folderClosed

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.neo-tree.defaultComponentConfigs.icon.folderEmpty

Type: null or string or raw lua code

Default: null

Plugin default: "ﰊ"

Declared by:

plugins.neo-tree.defaultComponentConfigs.icon.folderEmptyOpen

Type: null or string or raw lua code

Default: null

Plugin default: "ﰊ"

Declared by:

plugins.neo-tree.defaultComponentConfigs.icon.folderOpen

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.neo-tree.defaultComponentConfigs.icon.highlight

Only a fallback, if you use nvim-web-devicons and configure default icons there then this will never be used.

Type: null or string or raw lua code

Default: null

Plugin default: "NeoTreeFileIcon"

Declared by:

plugins.neo-tree.defaultComponentConfigs.indent.expanderCollapsed

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.neo-tree.defaultComponentConfigs.indent.expanderExpanded

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.neo-tree.defaultComponentConfigs.indent.expanderHighlight

Type: null or string or raw lua code

Default: null

Plugin default: "NeoTreeExpander"

Declared by:

plugins.neo-tree.defaultComponentConfigs.indent.highlight

Type: null or string or raw lua code

Default: null

Plugin default: "NeoTreeIndentMarker"

Declared by:

plugins.neo-tree.defaultComponentConfigs.indent.indentMarker

Type: null or string or raw lua code

Default: null

Plugin default: "│"

Declared by:

plugins.neo-tree.defaultComponentConfigs.indent.indentSize

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 2

Declared by:

plugins.neo-tree.defaultComponentConfigs.indent.lastIndentMarker

Type: null or string or raw lua code

Default: null

Plugin default: "└"

Declared by:

plugins.neo-tree.defaultComponentConfigs.indent.padding

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.neo-tree.defaultComponentConfigs.indent.withExpanders

If null and file nesting is enabled, will enable expanders.

Type: null or boolean

Default: null

Plugin default: null

Declared by:

plugins.neo-tree.defaultComponentConfigs.indent.withMarkers

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neo-tree.defaultComponentConfigs.modified.highlight

Type: null or string or raw lua code

Default: null

Plugin default: "NeoTreeModified"

Declared by:

plugins.neo-tree.defaultComponentConfigs.modified.symbol

Type: null or string or raw lua code

Default: null

Plugin default: "[+] "

Declared by:

plugins.neo-tree.defaultComponentConfigs.name.highlight

Type: null or string or raw lua code

Default: null

Plugin default: "NeoTreeFileName"

Declared by:

plugins.neo-tree.defaultComponentConfigs.name.trailingSlash

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neo-tree.defaultComponentConfigs.name.useGitStatusColors

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neo-tree.documentSymbols.customKinds

A table mapping the LSP kind id (an integer) to the LSP kind name that is used for kinds.

For the list of kinds (id and name), please refer to https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_documentSymbol

Type: attribute set of string

Default: { }

Example:

{
  "252" = "TypeAlias";
}

Declared by:

plugins.neo-tree.documentSymbols.followCursor

If set to true, will automatically focus on the symbol under the cursor.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neo-tree.documentSymbols.kinds

An attrs specifying how LSP kinds should be rendered. Each entry should map the LSP kind name to an icon and a highlight group, for example Class = { icon = ""; hl = "Include"; }

Type: null or (attribute set of (submodule))

Default: null

Declared by:

plugins.neo-tree.documentSymbols.kinds.<name>.hl

Highlight group for this LSP kind.

Type: string

Example: "Include"

Declared by:

plugins.neo-tree.documentSymbols.kinds.<name>.icon

Icon for this LSP kind.

Type: string

Example: ""

Declared by:

plugins.neo-tree.documentSymbols.window.mappings

Mapping options

Type: null or (attribute set of (string or (attribute set)))

Default: null

Plugin default: { }

Declared by:

plugins.neo-tree.example.renderers.custom

custom renderers

Type: null or (list of (string or (attribute set)))

Default: null

Plugin default:

[
  "indent"
  {
    default = "C";
    name = "icon";
  }
  "custom"
  "name"
]

Declared by:

plugins.neo-tree.example.window.mappings

Mapping options

Type: null or (attribute set of (string or (attribute set)))

Default: null

Plugin default:

{
  "<C-e>" = "example_command";
  "<cr>" = "toggle_node";
  d = "show_debug_info";
}

Declared by:

plugins.neo-tree.filesystem.asyncDirectoryScan

  • “auto” means refreshes are async, but it’s synchronous when called from the Neotree commands.
  • “always” means directory scans are always async.
  • “never” means directory scans are never async.

Type: null or one of “auto”, “always”, “never” or raw lua code

Default: null

Plugin default: "auto"

Declared by:

plugins.neo-tree.filesystem.bindToCwd

true creates a 2-way binding between vim’s cwd and neo-tree’s root.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neo-tree.filesystem.findArgs

Find arguments

Either use a list of strings:

findArgs = {
  fd = [
    "--exclude"
    ".git"
    "--exclude"
    "node_modules"
  ];
};

Or use a function instead of list of strings

findArgs = \'\'
  find_args = function(cmd, path, search_term, args)
    if cmd ~= "fd" then
      return args
    end
    --maybe you want to force the filter to always include hidden files:
    table.insert(args, "--hidden")
    -- but no one ever wants to see .git files
    table.insert(args, "--exclude")
    table.insert(args, ".git")
    -- or node_modules
    table.insert(args, "--exclude")
    table.insert(args, "node_modules")
    --here is where it pays to use the function, you can exclude more for
    --short search terms, or vary based on the directory
    if string.len(search_term) < 4 and path == "/home/cseickel" then
      table.insert(args, "--exclude")
      table.insert(args, "Library")
    end
    return args
  end
\'\';

Type: null or lua function string or (submodule)

Default: null

Declared by:

plugins.neo-tree.filesystem.findByFullPathWords

false means it only searches the tail of a path. true will change the filter into a full path

search with space as an implicit “.*”, so fi init will match: `./sources/filesystem/init.lua

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neo-tree.filesystem.findCommand

This is determined automatically, you probably don’t need to set it

Type: null or string or raw lua code

Default: null

Plugin default: "fd"

Declared by:

plugins.neo-tree.filesystem.groupEmptyDirs

when true, empty folders will be grouped together

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neo-tree.filesystem.hijackNetrwBehavior

  • “open_default”: netrw disabled, opening a directory opens neo-tree in whatever position is specified in window.position
  • “open_current”: netrw disabled, opening a directory opens within the window like netrw would, regardless of window.position
  • “disabled”: netrw left alone, neo-tree does not handle opening dirs

Type: null or one of “open_default”, “open_current”, “disabled” or raw lua code

Default: null

Plugin default: "open_default"

Declared by:

plugins.neo-tree.filesystem.scanMode

  • “shallow”: Don’t scan into directories to detect possible empty directory a priori.
  • “deep”: Scan into directories to detect empty or grouped empty directories a priori.

Type: null or one of “shallow”, “deep” or raw lua code

Default: null

Plugin default: "shallow"

Declared by:

plugins.neo-tree.filesystem.searchLimit

max number of search results when using filters

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 50

Declared by:

plugins.neo-tree.filesystem.useLibuvFileWatcher

This will use the OS level file watchers to detect changes instead of relying on nvim autocmd events.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neo-tree.filesystem.cwdTarget.current

current is when position = current

Type: null or string or raw lua code

Default: null

Plugin default: "window"

Declared by:

plugins.neo-tree.filesystem.cwdTarget.sidebar

sidebar is when position = left or right

Type: null or string or raw lua code

Default: null

Plugin default: "tab"

Declared by:

plugins.neo-tree.filesystem.filteredItems.alwaysShow

Files/folders to always show.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Example:

[
  ".gitignore"
]

Declared by:

plugins.neo-tree.filesystem.filteredItems.forceVisibleInEmptyFolder

when true, hidden files will be shown if the root folder is otherwise empty

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neo-tree.filesystem.filteredItems.hideByName

hide by name

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  ".DS_Store"
  "thumbs.db"
]

Declared by:

plugins.neo-tree.filesystem.filteredItems.hideByPattern

Hide by pattern.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Example:

[
  "*.meta"
  "*/src/*/tsconfig.json"
]

Declared by:

plugins.neo-tree.filesystem.filteredItems.hideDotfiles

hide dotfiles

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neo-tree.filesystem.filteredItems.hideGitignored

hide gitignored files

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neo-tree.filesystem.filteredItems.hideHidden

only works on Windows for hidden files/directories

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neo-tree.filesystem.filteredItems.neverShow

Files/folders to never show.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Example:

[
  ".DS_Store"
  "thumbs.db"
]

Declared by:

plugins.neo-tree.filesystem.filteredItems.neverShowByPattern

Files/folders to never show (by pattern).

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Example:

[
  ".null-ls_*"
]

Declared by:

plugins.neo-tree.filesystem.filteredItems.showHiddenCount

when true, the number of hidden items in each folder will be shown as the last entry

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neo-tree.filesystem.filteredItems.visible

when true, they will just be displayed differently than normal items

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neo-tree.filesystem.followCurrentFile.enabled

This will find and focus the file in the active buffer every time the current file is changed while the tree is open.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neo-tree.filesystem.followCurrentFile.leaveDirsOpen

false closes auto expanded dirs, such as with :Neotree reveal.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neo-tree.filesystem.window.mappings

Mapping options

Type: null or (attribute set of (string or (attribute set)))

Default: null

Plugin default:

  {
    H = "toggle_hidden";
    "/" = "fuzzy_finder";
    D = "fuzzy_finder_directory";
    # "/" = "filter_as_you_type"; # this was the default until v1.28
    "#" = "fuzzy_sorter"; # fuzzy sorting using the fzy algorithm
    # D = "fuzzy_sorter_directory";
    f = "filter_on_submit";
    "<C-x>" = "clear_filter";
    "<bs>" = "navigate_up";
    "." = "set_root";
    "[g" = "prev_git_modified";
    "]g" = "next_git_modified";
  }

Declared by:

plugins.neo-tree.gitStatus.window.mappings

Mapping options

Type: null or (attribute set of (string or (attribute set)))

Default: null

Plugin default:

{
  A = "git_add_all";
  ga = "git_add_file";
  gc = "git_commit";
  gg = "git_commit_and_push";
  gp = "git_push";
  gr = "git_revert_file";
  gu = "git_unstage_file";
}

Declared by:

plugins.neo-tree.gitStatusAsyncOptions.batchDelay

delay in ms between batches. Spreads out the workload to let other processes run.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.neo-tree.gitStatusAsyncOptions.batchSize

How many lines of git status results to process at a time

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 1000

Declared by:

plugins.neo-tree.gitStatusAsyncOptions.maxLines

How many lines of git status results to process. Anything after this will be dropped. Anything before this will be used. The last items to be processed are the untracked files.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 10000

Declared by:

plugins.neo-tree.renderers.directory

directory renderers

Type: null or (list of (string or (attribute set)))

Default: null

Plugin default:

[
  "indent"
  "icon"
  "current_filter"
  {
    content = [
      {
        name = "name";
        zindex = 10;
      }
      {
        name = "clipboard";
        zindex = 10;
      }
      {
        align = "right";
        errors_only = true;
        hide_when_expanded = true;
        name = "diagnostics";
        zindex = 20;
      }
      {
        align = "right";
        hide_when_expanded = true;
        name = "git_status";
        zindex = 20;
      }
    ];
    name = "container";
  }
]

Declared by:

plugins.neo-tree.renderers.file

file renderers

Type: null or (list of (string or (attribute set)))

Default: null

Plugin default:

[
  "indent"
  "icon"
  {
    content = [
      {
        name = "name";
        zindex = 10;
      }
      {
        name = "clipboard";
        zindex = 10;
      }
      {
        name = "bufnr";
        zindex = 10;
      }
      {
        align = "right";
        name = "modified";
        zindex = 20;
      }
      {
        align = "right";
        name = "diagnostics";
        zindex = 20;
      }
      {
        align = "right";
        name = "git_status";
        zindex = 20;
      }
    ];
    name = "container";
  }
]

Declared by:

plugins.neo-tree.renderers.message

message renderers

Type: null or (list of (string or (attribute set)))

Default: null

Plugin default:

[
  {
    name = "indent";
    with_markers = false;
  }
  {
    highlight = "NeoTreeMessage";
    name = "name";
  }
]

Declared by:

plugins.neo-tree.renderers.terminal

message renderers

Type: null or (list of (string or (attribute set)))

Default: null

Plugin default:

[
  "indent"
  "icon"
  "name"
  "bufnr"
]

Declared by:

plugins.neo-tree.sourceSelector.contentLayout

Defines how the labels are placed inside a tab. This only takes effect when the tab width is greater than the length of label i.e. tabsLayout = "equal", "focus" or when tabsMinWidth is large enough.

Following options are available. “start” : left aligned / 裡 bufname /… “end” : right aligned / 裡 bufname /… “center” : centered with equal padding / 裡 bufname /…

Type: null or one of “start”, “end”, “center” or raw lua code

Default: null

Plugin default: "start"

Declared by:

plugins.neo-tree.sourceSelector.highlightBackground

Type: null or string or raw lua code

Default: null

Plugin default: "NeoTreeTabInactive"

Declared by:

plugins.neo-tree.sourceSelector.highlightSeparator

Type: null or string or raw lua code

Default: null

Plugin default: "NeoTreeTabSeparatorInactive"

Declared by:

plugins.neo-tree.sourceSelector.highlightSeparatorActive

Type: null or string or raw lua code

Default: null

Plugin default: "NeoTreeTabSeparatorActive"

Declared by:

plugins.neo-tree.sourceSelector.highlightTab

Type: null or string or raw lua code

Default: null

Plugin default: "NeoTreeTabInactive"

Declared by:

plugins.neo-tree.sourceSelector.highlightTabActive

Type: null or string or raw lua code

Default: null

Plugin default: "NeoTreeTabActive"

Declared by:

plugins.neo-tree.sourceSelector.padding

Defines the global padding of the source selector. It can be an integer or an attrs with keys left and right. Setting padding = 2 is exactly the same as { left = 2; right = 2; }.

Example: { left = 2; right = 0; }

Type: null or signed integer or attribute set of signed integer

Default: null

Plugin default: 0

Declared by:

plugins.neo-tree.sourceSelector.separator

Can be a string or a table

Type: null or string or (submodule)

Default: null

Plugin default:

{
  left = "▏";
  right = "▕";
}

Declared by:

plugins.neo-tree.sourceSelector.separatorActive

Set separators around the active tab. null falls back to sourceSelector.separator.

Type: null or string or (submodule)

Default: null

Plugin default: null

Declared by:

plugins.neo-tree.sourceSelector.showScrolledOffParentNode

If true, tabs are replaced with the parent path of the top visible node when scrolled down.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neo-tree.sourceSelector.showSeparatorOnEdge

Takes a boolean value where false (default) hides the separators on the far left / right. Especially useful when left and right separator are the same.

'true'  : ┃/    ~    \/    ~    \/    ~    \┃
'false' : ┃     ~    \/    ~    \/    ~     ┃

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neo-tree.sourceSelector.statusline

toggle to show selector on statusline

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neo-tree.sourceSelector.tabsLayout

Defines how the tabs are aligned inside the window when there is more than enough space. The following options are available. active will expand the focused tab as much as possible. Bars denote the edge of window.

"start"  : left aligned                                       ┃/  ~  \/  ~  \/  ~  \            ┃
"end"    : right aligned                                      ┃            /  ~  \/  ~  \/  ~  \┃
"center" : centered with equal padding                        ┃      /  ~  \/  ~  \/  ~  \      ┃
"equal"  : expand all tabs equally to fit the window width    ┃/    ~    \/    ~    \/    ~    \┃
"active" : expand the focused tab to fit the window width     ┃/  focused tab    \/  ~  \/  ~  \┃

Type: null or one of “start”, “end”, “center”, “equal”, “focus” or raw lua code

Default: null

Plugin default: "equal"

Declared by:

plugins.neo-tree.sourceSelector.tabsMaxWidth

This will truncate text even if textTruncToFit = false

Type: null or signed integer

Default: null

Plugin default: null

Declared by:

plugins.neo-tree.sourceSelector.tabsMinWidth

If int padding is added based on contentLayout

Type: null or signed integer

Default: null

Plugin default: null

Declared by:

plugins.neo-tree.sourceSelector.truncationCharacter

Character to use when truncating the tab label

Type: null or string or raw lua code

Default: null

Plugin default: "…"

Declared by:

plugins.neo-tree.sourceSelector.winbar

toggle to show selector on winbar

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neo-tree.sourceSelector.sources

Configure the characters shown on each tab.

Type: null or (list of (submodule))

Default: null

Declared by:

plugins.neo-tree.sourceSelector.sources.*.displayName

How that source to appear in the bar.

Type: null or string

Default: null

Declared by:

plugins.neo-tree.sourceSelector.sources.*.source

Name of the source to add to the bar.

Type: string

Declared by:

plugins.neo-tree.window.autoExpandWidth

Expand the window when file exceeds the window width. does not work with position = “float”

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neo-tree.window.height

Applies to top and bottom positions

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 15

Declared by:

plugins.neo-tree.window.insertAs

Affects how nodes get inserted into the tree during creation/pasting/moving of files if the node under the cursor is a directory:

  • “child”: Insert nodes as children of the directory under cursor.
  • “sibling”: Insert nodes as siblings of the directory under cursor.

Type: null or one of “child”, “sibling” or raw lua code

Default: null

Plugin default: "child"

Declared by:

plugins.neo-tree.window.mappings

Mapping options

Type: null or (attribute set of (string or (attribute set)))

Default: null

Plugin default:

  {
    "<space>" = {
      command = "toggle_node";
      # disable `nowait` if you have existing combos starting with this char that you want to use
      nowait = false;
    };
    "<2-LeftMouse>" = "open";
    "<cr>" = "open";
    "<esc>" = "revert_preview";
    P = {
      command = "toggle_preview";
      config = { use_float = true; };
    };
    l = "focus_preview";
    S = "open_split";
    # S = "split_with_window_picker";
    s = "open_vsplit";
    # s = "vsplit_with_window_picker";
    t = "open_tabnew";
    # "<cr>" = "open_drop";
    # t = "open_tab_drop";
    w = "open_with_window_picker";
    C = "close_node";
    z = "close_all_nodes";
    # Z = "expand_all_nodes";
    R = "refresh";
    a = {
      command = "add";
      # some commands may take optional config options, see `:h neo-tree-mappings` for details
      config = {
        show_path = "none"; # "none", "relative", "absolute"
      };
    };
    A = "add_directory"; # also accepts the config.show_path and config.insert_as options.
    d = "delete";
    r = "rename";
    y = "copy_to_clipboard";
    x = "cut_to_clipboard";
    p = "paste_from_clipboard";
    c = "copy"; # takes text input for destination, also accepts the config.show_path and config.insert_as options
    m = "move"; # takes text input for destination, also accepts the config.show_path and config.insert_as options
    e = "toggle_auto_expand_width";
    q = "close_window";
    "?" = "show_help";
    "<" = "prev_source";
    ">" = "next_source";
  }

Declared by:

plugins.neo-tree.window.position

position

Type: null or one of “left”, “right”, “top”, “bottom”, “float”, “current” or raw lua code

Default: null

Plugin default: "left"

Declared by:

plugins.neo-tree.window.sameLevel

Create and paste/move files/directories on the same level as the directory under cursor (as opposed to within the directory under cursor).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neo-tree.window.width

Applies to left and right positions

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 40

Declared by:

plugins.neo-tree.window.mappingOptions.noremap

noremap

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neo-tree.window.mappingOptions.nowait

nowait

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neo-tree.window.popup.position

50% means center it. You can also specify border here, if you want a different setting from the global popupBorderStyle.

Type: null or string or raw lua code

Default: null

Plugin default: "80%"

Declared by:

plugins.neo-tree.window.popup.size.height

height

Type: null or string or raw lua code

Default: null

Plugin default: "80%"

Declared by:

plugins.neo-tree.window.popup.size.width

height

Type: null or string or raw lua code

Default: null

Plugin default: "50%"

Declared by:

neoclip

URL: https://github.com/AckslD/nvim-neoclip.lua/

Maintainers: Gaetan Lepage

plugins.neoclip.enable

Whether to enable nvim-neoclip.lua.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neoclip.package

The nvim-neoclip.lua package to use.

Type: package

Default: pkgs.vimPlugins.nvim-neoclip-lua

Declared by:

plugins.neoclip.autoLoad

Whether to automatically load nvim-neoclip.lua when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.neoclip.lazyLoad

Lazy-load settings for nvim-neoclip.lua.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.neoclip.lazyLoad.enable

lazy-loading for nvim-neoclip.lua

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.neoclip.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.neoclip.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.neoclip.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.neoclip.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.neoclip.settings

Options provided to the require('neoclip').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  content_spec_column = false;
  default_register = "\"";
  filter = null;
  keys = {
    fzf = {
      custom = { };
      paste = "ctrl-l";
      paste_behind = "ctrl-h";
      select = "default";
    };
    telescope = {
      i = {
        custom = { };
        paste = "<c-l>";
        paste_behind = "<c-h>";
        select = "<cr>";
      };
      n = {
        custom = { };
        paste = "p";
        paste_behind = "P";
        select = "<cr>";
      };
    };
  };
  on_paste = {
    set_reg = false;
  };
  preview = true;
}

Declared by:

plugins.neoclip.settings.enable_macro_history

If true (default) any recorded macro will be saved, see macros.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neoclip.settings.enable_persistent_history

If set to true the history is stored on VimLeavePre using sqlite.lua and lazy loaded when querying.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neoclip.settings.content_spec_column

Can be set to true to use instead of the preview.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neoclip.settings.continuous_sync

If set to true, the runtime history is synced with the persistent storage everytime it’s changed or queried.

If you often use multiple sessions in parallel and wants the history synced you might want to enable this.

Off by default; it can cause delays because the history file is written everytime you yank something. Although, in practice no real slowdowns were noticed.

Alternatively see db_pull and db_push functions in the README.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neoclip.settings.db_path

The path to the sqlite database to store history if enable_persistent_history=true. Defaults to $XDG_DATA_HOME/nvim/databases/neoclip.sqlite3.

Type: null or string or raw lua code

Default: null

Plugin default:

{
  __raw = "vim.fn.stdpath('data') .. '/databases/neoclip.sqlite3'";
}

Declared by:

plugins.neoclip.settings.default_register

What register to use by default when not specified (e.g. Telescope neoclip). Can be a string such as "\"" (single register) or a table of strings such as ["\"" "+" "*"].

Type: null or string or list of string

Default: null

Plugin default: "\""

Declared by:

plugins.neoclip.settings.default_register_macros

What register to use for macros by default when not specified (e.g. Telescope macroscope).

Type: null or string or raw lua code

Default: null

Plugin default: "q"

Declared by:

plugins.neoclip.settings.disable_keycodes_parsing

If set to true, macroscope will display the internal byte representation, instead of a proper string that can be used in a map.

So a macro like "one<CR>two" will be displayed as "one\ntwo". It will only show the type and number of lines next to the first line of the entry.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neoclip.settings.filter

A function to filter what entries to store (default all are stored). This function filter should return true (include the yanked entry) or false (don’t include it) based on a table as the only argument, which has the following keys:

  • event: The event from TextYankPost (see ``:help TextYankPost` for which keys it contains).
  • filetype: The filetype of the buffer where the yank happened.
  • buffer_name: The name of the buffer where the yank happened.

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.neoclip.settings.history

The max number of entries to store.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1000

Declared by:

plugins.neoclip.settings.length_limit

The max number of characters of an entry to be stored (default 1MiB). If the length of the yanked string is larger than the limit, it will not be stored.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1048576

Declared by:

plugins.neoclip.settings.preview

Whether to show a preview (default) of the current entry or not. Useful for for example multiline yanks. When yanking the filetype is recorded in order to enable correct syntax highlighting in the preview.

NOTE: in order to use the dynamic title showing the type of content and number of lines you need to configure telescope with the dynamic_preview_title = true option.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neoclip.settings.prompt

The prompt string used by the picker (telescope/fzf-lua).

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.neoclip.settings.keys.fzf

Keys to use for the fzf picker. Only insert mode is supported and fzf-style key-syntax needs to be used. You can also use the custom entry to specify custom actions to take on certain key-presses, see here for more details.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  custom = { };
  paste = "ctrl-p";
  paste_behind = "ctrl-k";
  select = "default";
}

Declared by:

plugins.neoclip.settings.keys.telescope

Keys to use for the telescope picker. Normal key-syntax is supported and both insert i and normal mode n. You can also use the custom entry to specify custom actions to take on certain key-presses, see here for more details.

NOTE: these are only set in the telescope buffer and you need to setup your own keybindings to for example open telescope.

Type: null or (attribute set of ((attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  i = {
    custom = { };
    delete = "<c-d>";
    edit = "<c-e>";
    paste = "<c-p>";
    paste_behind = "<c-k>";
    replay = "<c-q>";
    select = "<cr>";
  };
  n = {
    custom = { };
    delete = "d";
    edit = "e";
    paste = "p";
    paste_behind = "P";
    replay = "q";
    select = "<cr>";
  };
}

Declared by:

plugins.neoclip.settings.on_custom_action.close_telescope

If telescope should close whenever a custom action is executed.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neoclip.settings.on_paste.close_telescope

If telescope should close whenever a yank is pasted.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neoclip.settings.on_paste.move_to_front

If the entry should be set to last in the list when pressing the key to paste directly.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neoclip.settings.on_paste.set_reg

If the register should be populated when pressing the key to paste directly.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neoclip.settings.on_replay.close_telescope

If telescope should close whenever a macro is replayed.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neoclip.settings.on_replay.move_to_front

If the entry should be set to last in the list when pressing the key to replay a recorded macro.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neoclip.settings.on_replay.set_reg

If the register should be populated when pressing the key to replay a recorded macro.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neoclip.settings.on_select.close_telescope

If telescope should close whenever an item is selected.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neoclip.settings.on_select.move_to_front

If the entry should be set to last in the list when pressing the key to select a yank.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

neoconf

URL: https://github.com/folke/neoconf.nvim/

Maintainers: Boney Patel

plugins.neoconf.enable

Whether to enable neoconf.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neoconf.package

The neoconf.nvim package to use.

Type: package

Default: pkgs.vimPlugins.neoconf-nvim

Declared by:

plugins.neoconf.autoLoad

Whether to automatically load neoconf.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.neoconf.lazyLoad

Lazy-load settings for neoconf.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.neoconf.lazyLoad.enable

lazy-loading for neoconf.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.neoconf.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.neoconf.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.neoconf.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.neoconf.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.neoconf.settings

Options provided to the require('neoconf').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  filetype_jsonc = true;
  global_settings = "neoconf.json";
  import = {
    coc = true;
    lsp = true;
    vscode = true;
  };
  live_reload = true;
  local_settings = ".neoconf.json";
  plugins = {
    lspconfig = {
      enabled = true;
    };
    lua_ls = {
      enabled = false;
      enabled_for_neovim_config = true;
    };
  };
}

Declared by:

plugins.neoconf.settings.filetype_jsonc

Set the filetype to JSONC for settings files, allowing comments. Requires the JSONC treesitter parser.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neoconf.settings.global_settings

Name of the global settings file in your Neovim config directory.

Type: null or string or raw lua code

Default: null

Plugin default: "neoconf.json"

Declared by:

plugins.neoconf.settings.live_reload

Send new configuration to LSP clients when JSON settings change.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neoconf.settings.local_settings

Name of the local settings file for the plugin.

Type: null or string or raw lua code

Default: null

Plugin default: ".neoconf.json"

Declared by:

plugins.neoconf.settings.import.coc

Whether to import settings from global/local coc-settings.json files.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neoconf.settings.import.lsp

Whether to import settings from global/local nlsp-settings.nvim JSON settings.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neoconf.settings.import.vscode

Whether to import settings from local .vscode/settings.json files.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neoconf.settings.plugins.jsonls.enabled

Enable jsonls to provide completion for .nvim.settings.json files.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neoconf.settings.plugins.jsonls.configured_servers_only

Limit JSON settings completion to configured LSP servers only.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neoconf.settings.plugins.lspconfig.enabled

Enable configuration of LSP clients in order of Lua settings, global JSON settings, then local JSON settings.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neoconf.settings.plugins.lua_ls.enabled

Enable adding annotations in local .nvim.settings.json files.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neoconf.settings.plugins.lua_ls.enabled_for_neovim_config

Enable lua_ls annotations specifically within the Neovim config directory.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

neocord

URL: https://github.com/IogaMaster/neocord/

plugins.neocord.enable

Whether to enable neocord.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neocord.package

The neocord package to use.

Type: package

Default: pkgs.vimPlugins.neocord

Declared by:

plugins.neocord.autoLoad

Whether to automatically load neocord when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.neocord.lazyLoad

Lazy-load settings for neocord.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.neocord.lazyLoad.enable

lazy-loading for neocord

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.neocord.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.neocord.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.neocord.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.neocord.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.neocord.settings

Options provided to the require('neocord').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  auto_update = true;
  blacklist = [ ];
  client_id = "1157438221865717891";
  debounce_timeout = 10;
  editing_text = "Editing...";
  enable_line_number = false;
  file_assets = null;
  file_explorer_text = "Browsing...";
  git_commit_text = "Committing changes...";
  global_timer = false;
  line_number_text = "Line %s out of %s";
  log_level = null;
  logo = "auto";
  logo_tooltip = null;
  main_image = "language";
  plugin_manager_text = "Managing plugins...";
  reading_text = "Reading...";
  show_time = true;
  terminal_text = "Using Terminal...";
  workspace_text = "Working on %s";
}

Declared by:

plugins.neocord.settings.enable_line_number

Displays the current line number instead of the current project.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neocord.settings.auto_update

Update activity based on autocmd events. If false, map or manually execute :lua package.loaded.neocord:update()

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neocord.settings.blacklist

A list of strings or Lua patterns that disable Rich Presence if the current file name, path, or workspace matches.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.neocord.settings.buttons

Button configurations which will always appear in Rich Presence. Can be a list of attribute sets, each with the following attributes: label: The label of the button. e.g. "GitHub Profile". url: The URL the button leads to. e.g. "https://github.com/<NAME>". Can also be a lua function: function(buffer: string, repo_url: string|nil): table

Type: null or (list of ((submodule) or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.neocord.settings.client_id

Use your own Discord application client id. (not recommended)

Type: null or string or raw lua code

Default: null

Plugin default: "1157438221865717891"

Declared by:

plugins.neocord.settings.debounce_timeout

Number of seconds to debounce events. (or calls to :lua package.loaded.neocord:update(<filename>, true))

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.neocord.settings.editing_text

String rendered when an editable file is loaded in the buffer. Can also be a lua function: function(filename: string): string

Type: null or string or raw lua code

Default: null

Plugin default: "Editing %s"

Declared by:

plugins.neocord.settings.file_assets

Custom file asset definitions keyed by file names and extensions. List elements for each attribute (filetype): name: The name of the asset shown as the title of the file in Discord. source: The source of the asset, either an art asset key or the URL of an image asset. Example:

  {
    # Use art assets uploaded in Discord application for the configured client id
    js = [ "JavaScript" "javascript" ];
    ts = [ "TypeScript" "typescript" ];
    # Use image URLs
    rs = [ "Rust" "https://www.rust-lang.org/logos/rust-logo-512x512.png" ];
    go = [ "Go" "https://go.dev/blog/go-brand/Go-Logo/PNG/Go-Logo_Aqua.png" ];
  };

Type: null or (attribute set of list of string)

Default: null

Declared by:

plugins.neocord.settings.file_explorer_text

String rendered when browsing a file explorer. Can also be a lua function: function(file_explorer_name: string): string

Type: null or string or raw lua code

Default: null

Plugin default: "Browsing %s"

Declared by:

plugins.neocord.settings.git_commit_text

String rendered when committing changes in git. Can also be a lua function: function(filename: string): string

Type: null or string or raw lua code

Default: null

Plugin default: "Committing changes"

Declared by:

plugins.neocord.settings.global_timer

if set true, timer won’t update when any event are triggered.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neocord.settings.line_number_text

String rendered when enableLineNumber is set to true to display the current line number. Can also be a lua function: function(line_number: number, line_count: number): string

Type: null or string or raw lua code

Default: null

Plugin default: "Line %s out of %s"

Declared by:

plugins.neocord.settings.log_level

Log messages at or above this level.

Type: null or one of “debug”, “info”, “warn”, “error” or raw lua code

Default: null

Plugin default: null

Declared by:

Update the Logo to the specified option (“auto” or url).

Type: null or string or raw lua code

Default: null

Plugin default: "auto"

Declared by:

plugins.neocord.settings.logo_tooltip

Sets the logo tooltip

Type: null or string or raw lua code

Default: null

Declared by:

plugins.neocord.settings.main_image

Main image display (either “language” or “logo”)

Type: null or one of “language”, “logo” or raw lua code

Default: null

Plugin default: "language"

Declared by:

plugins.neocord.settings.plugin_manager_text

String rendered when managing plugins. Can also be a lua function: function(plugin_manager_name: string): string

Type: null or string or raw lua code

Default: null

Plugin default: "Managing plugins"

Declared by:

plugins.neocord.settings.reading_text

String rendered when a read-only/unmodifiable file is loaded into the buffer. Can also be a lua function: function(filename: string): string

Type: null or string or raw lua code

Default: null

Plugin default: "Reading %s"

Declared by:

plugins.neocord.settings.show_time

Show the timer.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neocord.settings.terminal_text

Format string rendered when in terminal mode.

Type: null or string or raw lua code

Default: null

Plugin default: "Using Terminal"

Declared by:

plugins.neocord.settings.workspace_text

String rendered when in a git repository. Can also be a lua function: function(project_name: string|nil, filename: string): string

Type: null or string or raw lua code

Default: null

Plugin default: "Working on %s"

Declared by:

plugins.neogen.enable

Whether to enable neogen.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neogen.enablePlaceholders

If true, enables placeholders when inserting annotation

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neogen.package

The neogen package to use.

Type: package

Default: pkgs.vimPlugins.neogen

Declared by:

plugins.neogen.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.neogen.inputAfterComment

If true, go to annotation after insertion, and change to insert mode

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neogen.keymapsSilent

Whether Neogen keymaps should be silent

Type: boolean

Default: false

Declared by:

plugins.neogen.languages

Configuration for languages.

template.annotation_convention (default: check the language default configurations): Change the annotation convention to use with the language.

template.use_default_comment (default: true): Prepend any template line with the default comment for the filetype

template.position (fun(node: userdata, type: string):(number,number)?): Provide an absolute position for the annotation. If return values are nil, use default position

template.append: If you want to customize the position of the annotation.

template.append.child_name: What child node to use for appending the annotation.

template.append.position (before/after): Relative positioning with child_name.

template.<convention_name> (replace <convention_name> with an annotation convention): Template for an annotation convention. To know more about how to create your own template, go here: https://github.com/danymat/neogen/blob/main/docs/adding-languages.md#default-generator

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Example:

{
  csharp = {
    template = {
      annotation_convention = "...";
    };
  };
}

Declared by:

plugins.neogen.placeholderHighlight

Placeholders highlights to use. If you don’t want custom highlight, pass “None”

Type: null or string or raw lua code

Default: null

Plugin default: "DiagnosticHint"

Declared by:

plugins.neogen.snippetEngine

Use a snippet engine to generate annotations. Some snippet engines come out of the box bundled with neogen:

  • "luasnip" (https://github.com/L3MON4D3/LuaSnip)
  • "snippy" (https://github.com/dcampos/nvim-snippy)
  • "vsnip" (https://github.com/hrsh7th/vim-vsnip)

Type: null or string

Default: null

Declared by:

plugins.neogen.keymaps.generate

The only function required to use Neogen.

It’ll try to find the first parent that matches a certain type. For example, if you are inside a function, and called generate({ type = "func" }), Neogen will go until the start of the function and start annotating for you.

Type: null or string

Default: null

Declared by:

plugins.neogen.keymaps.generateClass

Generates annotation for class.

Type: null or string

Default: null

Declared by:

plugins.neogen.keymaps.generateFile

Generates annotation for file.

Type: null or string

Default: null

Declared by:

plugins.neogen.keymaps.generateFunction

Generates annotation for function.

Type: null or string

Default: null

Declared by:

plugins.neogen.keymaps.generateType

Generates annotation for type.

Type: null or string

Default: null

Declared by:

plugins.neogen.placeholdersText.args

Placeholder for args.

Type: null or string or raw lua code

Default: null

Plugin default: "[TODO:args]"

Declared by:

plugins.neogen.placeholdersText.attribute

Placeholder for attribute.

Type: null or string or raw lua code

Default: null

Plugin default: "[TODO:attribute]"

Declared by:

plugins.neogen.placeholdersText.class

Placeholder for class.

Type: null or string or raw lua code

Default: null

Plugin default: "[TODO:class]"

Declared by:

plugins.neogen.placeholdersText.description

Placeholder for description.

Type: null or string or raw lua code

Default: null

Plugin default: "[TODO:description]"

Declared by:

plugins.neogen.placeholdersText.kwargs

Placeholder for kwargs.

Type: null or string or raw lua code

Default: null

Plugin default: "[TODO:kwargs]"

Declared by:

plugins.neogen.placeholdersText.parameter

Placeholder for parameter.

Type: null or string or raw lua code

Default: null

Plugin default: "[TODO:parameter]"

Declared by:

plugins.neogen.placeholdersText.return

Placeholder for return.

Type: null or string or raw lua code

Default: null

Plugin default: "[TODO:return]"

Declared by:

plugins.neogen.placeholdersText.throw

Placeholder for throw.

Type: null or string or raw lua code

Default: null

Plugin default: "[TODO:throw]"

Declared by:

plugins.neogen.placeholdersText.tparam

Placeholder for tparam.

Type: null or string or raw lua code

Default: null

Plugin default: "[TODO:tparam]"

Declared by:

plugins.neogen.placeholdersText.type

Placeholder for type.

Type: null or string or raw lua code

Default: null

Plugin default: "[TODO:type]"

Declared by:

plugins.neogen.placeholdersText.varargs

Placeholder for varargs.

Type: null or string or raw lua code

Default: null

Plugin default: "[TODO:varargs]"

Declared by:

neogit

URL: https://github.com/NeogitOrg/neogit/

Maintainers: Gaetan Lepage

plugins.neogit.enable

Whether to enable neogit.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neogit.package

The neogit package to use.

Type: package

Default: pkgs.vimPlugins.neogit

Declared by:

plugins.neogit.autoLoad

Whether to automatically load neogit when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.neogit.lazyLoad

Lazy-load settings for neogit.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.neogit.lazyLoad.enable

lazy-loading for neogit

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.neogit.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.neogit.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.neogit.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.neogit.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.neogit.settings

Options provided to the require('neogit').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  commit_popup = {
    kind = "floating";
  };
  disable_builtin_notifications = true;
  disable_commit_confirmation = true;
  integrations = {
    diffview = false;
  };
  kind = "floating";
  mappings = {
    status = {
      a = "Stage";
      l = "Toggle";
    };
  };
  popup = {
    kind = "floating";
  };
  preview_buffer = {
    kind = "floating";
  };
  sections = {
    recent = {
      folded = true;
    };
    staged = {
      folded = false;
    };
    stashes = {
      folded = false;
    };
    unmerged = {
      folded = true;
    };
    unpulled = {
      folded = false;
    };
    unstaged = {
      folded = false;
    };
    untracked = {
      folded = false;
    };
  };
}

Declared by:

plugins.neogit.settings.auto_refresh

Neogit refreshes its internal state after specific events, which can be expensive depending on the repository size. Disabling auto_refresh will make it so you have to manually refresh the status after you open it.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neogit.settings.auto_show_console

Automatically show console if a command takes more than consoleTimeout milliseconds.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neogit.settings.console_timeout

The time after which an output console is shown for slow running commands.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 2000

Declared by:

plugins.neogit.settings.disable_context_highlighting

Disables changing the buffer highlights based on where the cursor is.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neogit.settings.disable_hint

Hides the hints at the top of the status buffer.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neogit.settings.disable_insert_on_commit

Changes what mode the Commit Editor starts in. true will leave nvim in normal mode, false will change nvim to insert mode, and "auto" will change nvim to insert mode IF the commit message is empty, otherwise leaving it in normal mode.

Type: null or boolean or value “auto” (singular enum)

Default: null

Plugin default: "auto"

Declared by:

plugins.neogit.settings.disable_line_numbers

Disable line numbers and relative line numbers.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neogit.settings.disable_signs

Disables signs for sections/items/hunks.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neogit.settings.fetch_after_checkout

Perform a fetch if the newly checked out branch has an upstream or pushRemote set.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neogit.settings.git_services

Used to generate URL’s for branch popup action ‘pull request’.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "bitbucket.org" = "https://bitbucket.org/\${owner}/\${repository}/pull-requests/new?source=\${branch_name}&t=1";
  "github.com" = "https://github.com/\${owner}/\${repository}/compare/\${branch_name}?expand=1";
  "gitlab.com" = "https://gitlab.com/\${owner}/\${repository}/merge_requests/new?merge_request[source_branch]=\${branch_name}";
}

Declared by:

plugins.neogit.settings.graph_style

  • “ascii” is the graph the git CLI generates
  • “unicode” is the graph like https://github.com/rbong/vim-flog

Type: null or one of “ascii”, “unicode” or raw lua code

Default: null

Plugin default: "ascii"

Declared by:

plugins.neogit.settings.ignored_settings

Table of settings to never persist. Uses format “Filetype–cli-value”.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "NeogitPushPopup--force-with-lease"
  "NeogitPushPopup--force"
  "NeogitPullPopup--rebase"
  "NeogitCommitPopup--allow-empty"
  "NeogitRevertPopup--no-edit"
]

Declared by:

plugins.neogit.settings.kind

Change the default way of opening neogit.

Type: null or one of “split”, “vsplit”, “split_above”, “tab”, “floating”, “replace”, “auto” or raw lua code

Default: null

Plugin default: "tab"

Declared by:

plugins.neogit.settings.notification_icon

Icon for notifications.

Type: null or string or raw lua code

Default: null

Plugin default: "󰊢"

Declared by:

plugins.neogit.settings.remember_settings

Persist the values of switches/options within and across sessions.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neogit.settings.sort_branches

Value used for --sort option for git branch command. By default, branches will be sorted by commit date descending. Flag description: https://git-scm.com/docs/git-branch#Documentation/git-branch.txt—sortltkeygt Sorting keys: https://git-scm.com/docs/git-for-each-ref#_options

Type: null or string or raw lua code

Default: null

Plugin default: "-committerdate"

Declared by:

plugins.neogit.settings.telescope_sorter

Allows a different telescope sorter. Defaults to ‘fuzzy_with_index_bias’. The example below will use the native fzf sorter instead. By default, this function returns nil.

Example:

  require("telescope").extensions.fzf.native_fzf_sorter

Type: null or lua code string

Default: null

Declared by:

plugins.neogit.settings.use_default_keymaps

Set to false if you want to be responsible for creating ALL keymappings.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neogit.settings.use_per_project_settings

Scope persisted settings on a per-project basis.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neogit.settings.commit_editor.kind

The type of window that should be opened.

Type: null or one of “split”, “vsplit”, “split_above”, “tab”, “floating”, “replace”, “auto” or raw lua code

Default: null

Plugin default: "auto"

Declared by:

plugins.neogit.settings.commit_select_view.kind

The type of window that should be opened.

Type: null or one of “split”, “vsplit”, “split_above”, “tab”, “floating”, “replace”, “auto” or raw lua code

Default: null

Plugin default: "tab"

Declared by:

plugins.neogit.settings.commit_view.kind

The type of window that should be opened.

Type: null or one of “split”, “vsplit”, “split_above”, “tab”, “floating”, “replace”, “auto” or raw lua code

Default: null

Plugin default: "vsplit"

Declared by:

plugins.neogit.settings.commit_view.verify_commit

Show commit signature information in the buffer. Can be set to true or false, otherwise we try to find the binary.

Default: “os.execute(‘which gpg’) == 0”

Type: null or lua code string or boolean

Default: null

Declared by:

plugins.neogit.settings.description_editor.kind

The type of window that should be opened.

Type: null or one of “split”, “vsplit”, “split_above”, “tab”, “floating”, “replace”, “auto” or raw lua code

Default: null

Plugin default: "auto"

Declared by:

plugins.neogit.settings.filewatcher.enabled

When enabled, will watch the .git/ directory for changes and refresh the status buffer in response to filesystem events.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neogit.settings.highlight.bold

Set the bold property of the highlight group.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neogit.settings.highlight.italic

Set the italic property of the highlight group.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neogit.settings.highlight.underline

Set the underline property of the highlight group.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neogit.settings.integrations.diffview

Neogit only provides inline diffs. If you want a more traditional way to look at diffs, you can use diffview. The diffview integration enables the diff popup.

Type: null or boolean

Default: null

Declared by:

plugins.neogit.settings.integrations.fzf-lua

If enabled, uses fzf-lua for menu selection. If the telescope integration is also selected then telescope is used instead.

Type: null or boolean

Default: null

Declared by:

plugins.neogit.settings.integrations.telescope

If enabled, use telescope for menu selection rather than vim.ui.select. Allows multi-select and some things that vim.ui.select doesn’t.

Type: null or boolean

Default: null

Declared by:

plugins.neogit.settings.log_view.kind

The type of window that should be opened.

Type: null or one of “split”, “vsplit”, “split_above”, “tab”, “floating”, “replace”, “auto” or raw lua code

Default: null

Plugin default: "tab"

Declared by:

plugins.neogit.settings.mappings.commit_editor

Mappings for the commit editor.

Type: null or (attribute set of (string or value false (singular enum) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "<c-c><c-c>" = "Submit";
  "<c-c><c-k>" = "Abort";
  "<m-n>" = "NextMessage";
  "<m-p>" = "PrevMessage";
  "<m-r>" = "ResetMessage";
  q = "Close";
}

Declared by:

plugins.neogit.settings.mappings.commit_editor_I

Mappings for the commit editor (insert mode)

Type: null or (attribute set of (string or value false (singular enum) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "<c-c><c-c>" = "Submit";
  "<c-c><c-k>" = "Abort";
}

Declared by:

plugins.neogit.settings.mappings.finder

Mappings for the finder.

Type: null or (attribute set of (string or value false (singular enum) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "<2-LeftMouse>" = "NOP";
  "<LeftMouse>" = "MouseClick";
  "<ScrollWheelDown>" = "ScrollWheelDown";
  "<ScrollWheelLeft>" = "NOP";
  "<ScrollWheelRight>" = "NOP";
  "<ScrollWheelUp>" = "ScrollWheelUp";
  "<c-c>" = "Close";
  "<c-j>" = "NOP";
  "<c-n>" = "Next";
  "<c-p>" = "Previous";
  "<cr>" = "Select";
  "<down>" = "Next";
  "<esc>" = "Close";
  "<s-tab>" = "MultiselectTogglePrevious";
  "<tab>" = "MultiselectToggleNext";
  "<up>" = "Previous";
}

Declared by:

plugins.neogit.settings.mappings.popup

Mappings for popups.

Type: null or (attribute set of (string or value false (singular enum) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "?" = "HelpPopup";
  A = "CherryPickPopup";
  B = "BisectPopup";
  M = "RemotePopup";
  P = "PushPopup";
  X = "ResetPopup";
  Z = "StashPopup";
  b = "BranchPopup";
  c = "CommitPopup";
  d = "DiffPopup";
  f = "FetchPopup";
  i = "IgnorePopup";
  l = "LogPopup";
  m = "MergePopup";
  p = "PullPopup";
  r = "RebasePopup";
  t = "TagPopup";
  v = "RevertPopup";
  w = "WorktreePopup";
}

Declared by:

plugins.neogit.settings.mappings.rebase_editor

Mappings for the rebase editor.

Type: null or (attribute set of (string or value false (singular enum) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "<c-c><c-c>" = "Submit";
  "<c-c><c-k>" = "Abort";
  "<cr>" = "OpenCommit";
  "[c" = "OpenOrScrollUp";
  "]c" = "OpenOrScrollDown";
  b = "Break";
  d = "Drop";
  e = "Edit";
  f = "Fixup";
  gj = "MoveDown";
  gk = "MoveUp";
  p = "Pick";
  q = "Close";
  r = "Reword";
  s = "Squash";
  x = "Execute";
}

Declared by:

plugins.neogit.settings.mappings.rebase_editor_I

Mappings for the rebase editor (insert mode).

Type: null or (attribute set of (string or value false (singular enum) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "<c-c><c-c>" = "Submit";
  "<c-c><c-k>" = "Abort";
}

Declared by:

plugins.neogit.settings.mappings.status

Mappings for status.

Type: null or (attribute set of (string or value false (singular enum) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "\$" = "CommandHistory";
  "1" = "Depth1";
  "2" = "Depth2";
  "3" = "Depth3";
  "4" = "Depth4";
  "<c-r>" = "RefreshBuffer";
  "<c-s>" = "StageAll";
  "<c-t>" = "TabOpen";
  "<c-v>" = "VSplitOpen";
  "<c-x>" = "SplitOpen";
  "<cr>" = "GoToFile";
  "<tab>" = "Toggle";
  I = "InitRepo";
  K = "Untrack";
  S = "StageUnstaged";
  U = "UnstageStaged";
  Y = "YankSelected";
  "[c" = "OpenOrScrollUp";
  "]c" = "OpenOrScrollDown";
  q = "Close";
  s = "Stage";
  u = "Unstage";
  x = "Discard";
  y = "ShowRefs";
  "{" = "GoToPreviousHunkHeader";
  "}" = "GoToNextHunkHeader";
}

Declared by:

plugins.neogit.settings.merge_editor.kind

The type of window that should be opened.

Type: null or one of “split”, “vsplit”, “split_above”, “tab”, “floating”, “replace”, “auto” or raw lua code

Default: null

Plugin default: "auto"

Declared by:

plugins.neogit.settings.popup.kind

The type of window that should be opened.

Type: null or one of “split”, “vsplit”, “split_above”, “tab”, “floating”, “replace”, “auto” or raw lua code

Default: null

Plugin default: "split"

Declared by:

plugins.neogit.settings.preview_buffer.kind

The type of window that should be opened.

Type: null or one of “split”, “vsplit”, “split_above”, “tab”, “floating”, “replace”, “auto” or raw lua code

Default: null

Plugin default: "split"

Declared by:

plugins.neogit.settings.rebase_editor.kind

The type of window that should be opened.

Type: null or one of “split”, “vsplit”, “split_above”, “tab”, “floating”, “replace”, “auto” or raw lua code

Default: null

Plugin default: "auto"

Declared by:

plugins.neogit.settings.reflog_view.kind

The type of window that should be opened.

Type: null or one of “split”, “vsplit”, “split_above”, “tab”, “floating”, “replace”, “auto” or raw lua code

Default: null

Plugin default: "tab"

Declared by:

plugins.neogit.settings.sections.rebase

Settings for the rebase section

Type: null or (submodule)

Default:

{
  folded = true;
  hidden = false;
}

Declared by:

plugins.neogit.settings.sections.rebase.folded

Whether or not this section should be open or closed by default.

Type: boolean

Declared by:

plugins.neogit.settings.sections.rebase.hidden

Whether or not this section should be shown.

Type: boolean

Declared by:

plugins.neogit.settings.sections.recent

Settings for the recent section

Type: null or (submodule)

Default:

{
  folded = true;
  hidden = false;
}

Declared by:

plugins.neogit.settings.sections.recent.folded

Whether or not this section should be open or closed by default.

Type: boolean

Declared by:

plugins.neogit.settings.sections.recent.hidden

Whether or not this section should be shown.

Type: boolean

Declared by:

plugins.neogit.settings.sections.sequencer

Settings for the sequencer section

Type: null or (submodule)

Default:

{
  folded = false;
  hidden = false;
}

Declared by:

plugins.neogit.settings.sections.sequencer.folded

Whether or not this section should be open or closed by default.

Type: boolean

Declared by:

plugins.neogit.settings.sections.sequencer.hidden

Whether or not this section should be shown.

Type: boolean

Declared by:

plugins.neogit.settings.sections.staged

Settings for the staged section

Type: null or (submodule)

Default:

{
  folded = false;
  hidden = false;
}

Declared by:

plugins.neogit.settings.sections.staged.folded

Whether or not this section should be open or closed by default.

Type: boolean

Declared by:

plugins.neogit.settings.sections.staged.hidden

Whether or not this section should be shown.

Type: boolean

Declared by:

plugins.neogit.settings.sections.stashes

Settings for the stashes section

Type: null or (submodule)

Default:

{
  folded = true;
  hidden = false;
}

Declared by:

plugins.neogit.settings.sections.stashes.folded

Whether or not this section should be open or closed by default.

Type: boolean

Declared by:

plugins.neogit.settings.sections.stashes.hidden

Whether or not this section should be shown.

Type: boolean

Declared by:

plugins.neogit.settings.sections.unmerged_pushRemote

Settings for the unmerged_pushRemote section

Type: null or (submodule)

Default:

{
  folded = false;
  hidden = false;
}

Declared by:

plugins.neogit.settings.sections.unmerged_pushRemote.folded

Whether or not this section should be open or closed by default.

Type: boolean

Declared by:

plugins.neogit.settings.sections.unmerged_pushRemote.hidden

Whether or not this section should be shown.

Type: boolean

Declared by:

plugins.neogit.settings.sections.unmerged_upstream

Settings for the unmerged_upstream section

Type: null or (submodule)

Default:

{
  folded = false;
  hidden = false;
}

Declared by:

plugins.neogit.settings.sections.unmerged_upstream.folded

Whether or not this section should be open or closed by default.

Type: boolean

Declared by:

plugins.neogit.settings.sections.unmerged_upstream.hidden

Whether or not this section should be shown.

Type: boolean

Declared by:

plugins.neogit.settings.sections.unpulled_pushRemote

Settings for the unpulled_pushRemote section

Type: null or (submodule)

Default:

{
  folded = true;
  hidden = false;
}

Declared by:

plugins.neogit.settings.sections.unpulled_pushRemote.folded

Whether or not this section should be open or closed by default.

Type: boolean

Declared by:

plugins.neogit.settings.sections.unpulled_pushRemote.hidden

Whether or not this section should be shown.

Type: boolean

Declared by:

plugins.neogit.settings.sections.unpulled_upstream

Settings for the unpulled_upstream section

Type: null or (submodule)

Default:

{
  folded = true;
  hidden = false;
}

Declared by:

plugins.neogit.settings.sections.unpulled_upstream.folded

Whether or not this section should be open or closed by default.

Type: boolean

Declared by:

plugins.neogit.settings.sections.unpulled_upstream.hidden

Whether or not this section should be shown.

Type: boolean

Declared by:

plugins.neogit.settings.sections.unstaged

Settings for the unstaged section

Type: null or (submodule)

Default:

{
  folded = false;
  hidden = false;
}

Declared by:

plugins.neogit.settings.sections.unstaged.folded

Whether or not this section should be open or closed by default.

Type: boolean

Declared by:

plugins.neogit.settings.sections.unstaged.hidden

Whether or not this section should be shown.

Type: boolean

Declared by:

plugins.neogit.settings.sections.untracked

Settings for the untracked section

Type: null or (submodule)

Default:

{
  folded = false;
  hidden = false;
}

Declared by:

plugins.neogit.settings.sections.untracked.folded

Whether or not this section should be open or closed by default.

Type: boolean

Declared by:

plugins.neogit.settings.sections.untracked.hidden

Whether or not this section should be shown.

Type: boolean

Declared by:

plugins.neogit.settings.signs.hunk

The icons to use for open and closed hunks.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  ""
  ""
]

Declared by:

plugins.neogit.settings.signs.item

The icons to use for open and closed items.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  ">"
  "v"
]

Declared by:

plugins.neogit.settings.signs.section

The icons to use for open and closed sections.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  ">"
  "v"
]

Declared by:

plugins.neogit.settings.status.recent_commit_count

Recent commit count in the status buffer.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.neogit.settings.tag_editor.kind

The type of window that should be opened.

Type: null or one of “split”, “vsplit”, “split_above”, “tab”, “floating”, “replace”, “auto” or raw lua code

Default: null

Plugin default: "auto"

Declared by:

neorg

URL: https://github.com/nvim-neorg/neorg

Maintainers: Gaetan Lepage

plugins.neorg.enable

Whether to enable neorg.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neorg.package

The neorg package to use.

Type: package

Default: pkgs.vimPlugins.neorg

Declared by:

plugins.neorg.autoLoad

Whether to automatically load neorg when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.neorg.lazyLoad

Lazy-load settings for neorg.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.neorg.lazyLoad.enable

lazy-loading for neorg

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.neorg.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.neorg.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.neorg.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.neorg.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.neorg.settings

Options provided to the require('neorg').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  load = {
    "core.concealer" = {
      config = {
        icon_preset = "varied";
      };
    };
    "core.defaults" = {
      __empty = null;
    };
    "core.dirman" = {
      config = {
        workspaces = {
          home = "~/notes/home";
          work = "~/notes/work";
        };
      };
    };
  };
}

Declared by:

plugins.neorg.settings.hook

A user-defined function that is invoked whenever Neorg starts up. May be used to e.g. set custom keybindings.

fun(manual: boolean, arguments?: string)

Type: null or raw lua code

Default: null

Declared by:

plugins.neorg.settings.lazy_loading

Whether to defer loading the Neorg core until after the user has entered a .norg file.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neorg.settings.load

A list of modules to load, alongside their configurations.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Example:

{
  "core.concealer" = {
    config = {
      icon_preset = "varied";
    };
  };
  "core.defaults" = {
    __empty = null;
  };
  "core.dirman" = {
    config = {
      workspaces = {
        home = "~/notes/home";
        work = "~/notes/work";
      };
    };
  };
}

Declared by:

plugins.neorg.settings.logger.float_precision

Can limit the number of decimals displayed for floats.

Type: null or floating point number or raw lua code

Default: null

Plugin default: 0.01

Declared by:

plugins.neorg.settings.logger.highlights

Whether highlighting should be used in console (using :echohl).

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neorg.settings.logger.level

Any messages above this level will be logged.

Type: null or string or raw lua code

Default: null

Plugin default: "warn"

Declared by:

plugins.neorg.settings.logger.modes

Level configuration.

Type: null or (list of ((attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  {
    hl = "Comment";
    level = {
      __raw = "vim.log.levels.TRACE";
    };
    name = "trace";
  }
  {
    hl = "Comment";
    level = {
      __raw = "vim.log.levels.DEBUG";
    };
    name = "debug";
  }
  {
    hl = "None";
    level = {
      __raw = "vim.log.levels.INFO";
    };
    name = "info";
  }
  {
    hl = "WarningMsg";
    level = {
      __raw = "vim.log.levels.WARN";
    };
    name = "warn";
  }
  {
    hl = "ErrorMsg";
    level = {
      __raw = "vim.log.levels.ERROR";
    };
    name = "error";
  }
  {
    hl = "ErrorMsg";
    level = 5;
    name = "fatal";
  }
]

Declared by:

plugins.neorg.settings.logger.plugin

Name of the plugin. Prepended to log messages.

Type: null or string or raw lua code

Default: null

Plugin default: "neorg"

Declared by:

plugins.neorg.settings.logger.use_console

Whether to print the output to Neovim while running.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neorg.settings.logger.use_file

Whether to write output to a file.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neorg.telescopeIntegration.enable

Whether to enable neorg-telescope plugin for telescope integration…

Type: boolean

Default: false

Example: true

Declared by:

plugins.neorg.telescopeIntegration.package

The neorg-telescope package to use.

Type: package

Default: pkgs.vimPlugins.neorg-telescope

Declared by:

neoscroll

URL: https://github.com/karb94/neoscroll.nvim/

Maintainers: Gaetan Lepage

plugins.neoscroll.enable

Whether to enable neoscroll.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neoscroll.package

The neoscroll.nvim package to use.

Type: package

Default: pkgs.vimPlugins.neoscroll-nvim

Declared by:

plugins.neoscroll.autoLoad

Whether to automatically load neoscroll.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.neoscroll.lazyLoad

Lazy-load settings for neoscroll.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.neoscroll.lazyLoad.enable

lazy-loading for neoscroll.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.neoscroll.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.neoscroll.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.neoscroll.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.neoscroll.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.neoscroll.settings

Options provided to the require('neoscroll').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  cursor_scrolls_alone = true;
  easing_function = "quadratic";
  hide_cursor = true;
  mappings = [
    "<C-u>"
    "<C-d>"
    "<C-b>"
    "<C-f>"
    "<C-y>"
    "<C-e>"
    "zt"
    "zz"
    "zb"
  ];
  respect_scrolloff = false;
  stop_eof = true;
}

Declared by:

plugins.neoscroll.settings.cursor_scrolls_alone

The cursor will keep on scrolling even if the window cannot scroll further.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neoscroll.settings.easing_function

Name of the easing function to use by default in all scrolling animamtions. scroll() that don’t provide the optional easing argument will use this easing function. If set to null (the default) no easing function will be used in the scrolling animation (constant scrolling speed).

Type: null or string or raw lua code

Default: null

Declared by:

plugins.neoscroll.settings.hide_cursor

If ‘termguicolors’ is set, hide the cursor while scrolling.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neoscroll.settings.mappings

All the keys defined in this option will be mapped to their corresponding default scrolling animation. To no map any key pass an empty table:

  mappings.__empty = null;

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "<C-u>"
  "<C-d>"
  "<C-b>"
  "<C-f>"
  "<C-y>"
  "<C-e>"
  "zt"
  "zz"
  "zb"
]

Declared by:

plugins.neoscroll.settings.performance_mode

Option to enable “Performance Mode” on all buffers.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neoscroll.settings.post_hook

Equivalent to pre_hook but the function will run after the scrolling animation ends.

Type: null or lua code string

Default: null

Declared by:

plugins.neoscroll.settings.pre_hook

Function to run before the scrolling animation starts. The function will be called with the info parameter which can be optionally passed to scroll() (or any of the provided wrappers). This can be used to conditionally run different hooks for different types of scrolling animations.

Type: null or lua code string

Default: null

Declared by:

plugins.neoscroll.settings.respect_scrolloff

The cursor stops at the scrolloff margin. Try combining this option with either stop_eof or cursor_scrolls_alone (or both).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neoscroll.settings.step_eof

When move_cursor is true scrolling downwards will stop when the bottom line of the window is the last line of the file.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

neotest

URL: https://github.com/nvim-neotest/neotest

Maintainers: Gaetan Lepage

plugins.neotest.enable

Whether to enable neotest.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neotest.package

The neotest package to use.

Type: package

Default: pkgs.vimPlugins.neotest

Declared by:

plugins.neotest.autoLoad

Whether to automatically load neotest when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.neotest.adapters.bash.enable

Whether to enable bash.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neotest.adapters.bash.package

The bash package to use.

Type: package

Default: pkgs.vimPlugins.neotest-bash

Declared by:

plugins.neotest.adapters.bash.settings

settings for the bash adapter.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.neotest.adapters.dart.enable

Whether to enable dart.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neotest.adapters.dart.package

The dart package to use.

Type: package

Default: pkgs.vimPlugins.neotest-dart

Declared by:

plugins.neotest.adapters.dart.settings

settings for the dart adapter.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.neotest.adapters.deno.enable

Whether to enable deno.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neotest.adapters.deno.package

The deno package to use.

Type: package

Default: pkgs.vimPlugins.neotest-deno

Declared by:

plugins.neotest.adapters.deno.settings

settings for the deno adapter.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.neotest.adapters.dotnet.enable

Whether to enable dotnet.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neotest.adapters.dotnet.package

The dotnet package to use.

Type: package

Default: pkgs.vimPlugins.neotest-dotnet

Declared by:

plugins.neotest.adapters.dotnet.settings

settings for the dotnet adapter.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.neotest.adapters.elixir.enable

Whether to enable elixir.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neotest.adapters.elixir.package

The elixir package to use.

Type: package

Default: pkgs.vimPlugins.neotest-elixir

Declared by:

plugins.neotest.adapters.elixir.settings

settings for the elixir adapter.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.neotest.adapters.foundry.enable

Whether to enable foundry.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neotest.adapters.foundry.package

The foundry package to use.

Type: package

Default: pkgs.vimPlugins.neotest-foundry

Declared by:

plugins.neotest.adapters.foundry.settings

settings for the foundry adapter.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.neotest.adapters.go.enable

Whether to enable go.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neotest.adapters.go.package

The go package to use.

Type: package

Default: pkgs.vimPlugins.neotest-go

Declared by:

plugins.neotest.adapters.go.settings

settings for the go adapter.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.neotest.adapters.golang.enable

Whether to enable golang.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neotest.adapters.golang.package

The golang package to use.

Type: package

Default: pkgs.vimPlugins.neotest-golang

Declared by:

plugins.neotest.adapters.golang.settings

settings for the golang adapter.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.neotest.adapters.gradle.enable

Whether to enable gradle.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neotest.adapters.gradle.package

The gradle package to use.

Type: package

Default: pkgs.vimPlugins.neotest-gradle

Declared by:

plugins.neotest.adapters.gradle.settings

settings for the gradle adapter.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.neotest.adapters.gtest.enable

Whether to enable gtest.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neotest.adapters.gtest.package

The gtest package to use.

Type: package

Default: pkgs.vimPlugins.neotest-gtest

Declared by:

plugins.neotest.adapters.gtest.settings

settings for the gtest adapter.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.neotest.adapters.hardhat.enable

Whether to enable hardhat.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neotest.adapters.hardhat.package

The hardhat package to use.

Type: package

Default: pkgs.vimPlugins.hardhat-nvim

Declared by:

plugins.neotest.adapters.hardhat.settings

settings for the hardhat adapter.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.neotest.adapters.haskell.enable

Whether to enable haskell.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neotest.adapters.haskell.package

The haskell package to use.

Type: package

Default: pkgs.vimPlugins.neotest-haskell

Declared by:

plugins.neotest.adapters.haskell.settings

settings for the haskell adapter.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.neotest.adapters.java.enable

Whether to enable java.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neotest.adapters.java.package

The java package to use.

Type: package

Default: pkgs.vimPlugins.neotest-java

Declared by:

plugins.neotest.adapters.java.settings

settings for the java adapter.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.neotest.adapters.jest.enable

Whether to enable jest.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neotest.adapters.jest.package

The jest package to use.

Type: package

Default: pkgs.vimPlugins.neotest-jest

Declared by:

plugins.neotest.adapters.jest.settings

settings for the jest adapter.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.neotest.adapters.minitest.enable

Whether to enable minitest.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neotest.adapters.minitest.package

The minitest package to use.

Type: package

Default: pkgs.vimPlugins.neotest-minitest

Declared by:

plugins.neotest.adapters.minitest.settings

settings for the minitest adapter.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.neotest.adapters.pest.enable

Whether to enable pest.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neotest.adapters.pest.package

The pest package to use.

Type: package

Default: pkgs.vimPlugins.neotest-pest

Declared by:

plugins.neotest.adapters.pest.settings

settings for the pest adapter.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.neotest.adapters.phpunit.enable

Whether to enable phpunit.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neotest.adapters.phpunit.package

The phpunit package to use.

Type: package

Default: pkgs.vimPlugins.neotest-phpunit

Declared by:

plugins.neotest.adapters.phpunit.settings

settings for the phpunit adapter.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.neotest.adapters.playwright.enable

Whether to enable playwright.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neotest.adapters.playwright.package

The playwright package to use.

Type: package

Default: pkgs.vimPlugins.neotest-playwright

Declared by:

plugins.neotest.adapters.playwright.settings

settings for the playwright adapter.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.neotest.adapters.plenary.enable

Whether to enable plenary.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neotest.adapters.plenary.package

The plenary package to use.

Type: package

Default: pkgs.vimPlugins.neotest-plenary

Declared by:

plugins.neotest.adapters.plenary.settings

settings for the plenary adapter.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.neotest.adapters.python.enable

Whether to enable python.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neotest.adapters.python.package

The python package to use.

Type: package

Default: pkgs.vimPlugins.neotest-python

Declared by:

plugins.neotest.adapters.python.settings

settings for the python adapter.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.neotest.adapters.rspec.enable

Whether to enable rspec.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neotest.adapters.rspec.package

The rspec package to use.

Type: package

Default: pkgs.vimPlugins.neotest-rspec

Declared by:

plugins.neotest.adapters.rspec.settings

settings for the rspec adapter.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.neotest.adapters.rust.enable

Whether to enable rust.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neotest.adapters.rust.package

The rust package to use.

Type: package

Default: pkgs.vimPlugins.neotest-rust

Declared by:

plugins.neotest.adapters.rust.settings

settings for the rust adapter.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.neotest.adapters.scala.enable

Whether to enable scala.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neotest.adapters.scala.package

The scala package to use.

Type: package

Default: pkgs.vimPlugins.neotest-scala

Declared by:

plugins.neotest.adapters.scala.settings

settings for the scala adapter.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.neotest.adapters.testthat.enable

Whether to enable testthat.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neotest.adapters.testthat.package

The testthat package to use.

Type: package

Default: pkgs.vimPlugins.neotest-testthat

Declared by:

plugins.neotest.adapters.testthat.settings

settings for the testthat adapter.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.neotest.adapters.vitest.enable

Whether to enable vitest.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neotest.adapters.vitest.package

The vitest package to use.

Type: package

Default: pkgs.vimPlugins.neotest-vitest

Declared by:

plugins.neotest.adapters.vitest.settings

settings for the vitest adapter.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.neotest.adapters.zig.enable

Whether to enable zig.

Type: boolean

Default: false

Example: true

Declared by:

plugins.neotest.adapters.zig.package

The zig package to use.

Type: package

Default: pkgs.vimPlugins.neotest-zig

Declared by:

plugins.neotest.adapters.zig.settings

settings for the zig adapter.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.neotest.lazyLoad

Lazy-load settings for neotest.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.neotest.lazyLoad.enable

lazy-loading for neotest

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.neotest.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.neotest.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.neotest.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.neotest.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.neotest.settings

Options provided to the require('neotest').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  output = {
    enabled = true;
    open_on_run = true;
  };
  output_panel = {
    enabled = true;
    open = "botright split | resize 15";
  };
  quickfix = {
    enabled = false;
  };
}

Declared by:

plugins.neotest.settings.consumers

key: string value: lua function

Type: null or (attribute set of (lua function string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.neotest.settings.default_strategy

The default strategy.

Type: null or string or raw lua code

Default: null

Plugin default: "integrated"

Declared by:

plugins.neotest.settings.highlights

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  adapter_name = "NeotestAdapterName";
  border = "NeotestBorder";
  dir = "NeotestDir";
  expand_marker = "NeotestExpandMarker";
  failed = "NeotestFailed";
  file = "NeotestFile";
  focused = "NeotestFocused";
  indent = "NeotestIndent";
  marked = "NeotestMarked";
  namespace = "NeotestNamespace";
  passed = "NeotestPassed";
  running = "NeotestRunning";
  select_win = "NeotestWinSelect";
  skipped = "NeotestSkipped";
  target = "NeotestTarget";
  test = "NeotestTest";
  unknown = "NeotestUnknown";
  watching = "NeotestWatching";
}

Declared by:

plugins.neotest.settings.icons

Icons used throughout the UI. Defaults use VSCode’s codicons.

Type: null or (attribute set of (string or list of string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  child_indent = "│";
  child_prefix = "├";
  collapsed = "─";
  expanded = "╮";
  failed = "";
  final_child_indent = " ";
  final_child_prefix = "╰";
  non_collapsible = "─";
  passed = "";
  running = "";
  running_animated = [
    "/"
    "|"
    "\\"
    "-"
    "/"
    "|"
    "\\"
    "-"
  ];
  skipped = "";
  unknown = "";
  watching = "";
}

Declared by:

plugins.neotest.settings.log_level

Minimum log levels.

Type: null or unsigned integer, meaning >=0, or one of “off”, “error”, “warn”, “info”, “debug”, “trace”

Default: null

Plugin default: "warn"

Declared by:

plugins.neotest.settings.diagnostic.enabled

Enable diagnostic.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neotest.settings.diagnostic.severity

Diagnostic severity, one of vim.diagnostic.severity.

Type: null or unsigned integer, meaning >=0, or one of “error”, “warn”, “info”, “hint”

Default: null

Plugin default: "error"

Declared by:

plugins.neotest.settings.discovery.enabled

Enable discovery.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neotest.settings.discovery.concurrent

Number of workers to parse files concurrently. 0 automatically assigns number based on CPU. Set to 1 if experiencing lag.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.neotest.settings.discovery.filter_dir

fun(name: string, rel_path: string, root: string): boolean

A function to filter directories when searching for test files. Receives the name, path relative to project root and project root path.

Type: null or lua code string

Default: null

Declared by:

plugins.neotest.settings.floating.border

Border style.

Type: null or string or raw lua code

Default: null

Plugin default: "rounded"

Declared by:

plugins.neotest.settings.floating.max_height

Max height of window as proportion of NeoVim window.

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.6

Declared by:

plugins.neotest.settings.floating.max_width

Max width of window as proportion of NeoVim window.

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.6

Declared by:

plugins.neotest.settings.floating.options

Window local options to set on floating windows (e.g. winblend).

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.neotest.settings.output.enabled

Enable output.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neotest.settings.output.open_on_run

Open nearest test result after running.

Type: null or string or boolean

Default: null

Plugin default: "short"

Declared by:

plugins.neotest.settings.output_panel.enabled

Enable output panel.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neotest.settings.output_panel.open

A command or function to open a window for the output panel. Either a string or a function that returns an integer.

Type: null or string or raw lua code

Default: null

Plugin default: "botright split | resize 15"

Declared by:

plugins.neotest.settings.quickfix.enabled

Enable quickfix.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neotest.settings.quickfix.open

Set to true to open quickfix on startup, or a function to be called when the quickfix results are set.

Type: null or boolean or string

Default: null

Plugin default: false

Declared by:

plugins.neotest.settings.running.concurrent

Run tests concurrently when an adapter provides multiple commands to run.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neotest.settings.state.enabled

Enable state.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neotest.settings.status.enabled

Enable status.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neotest.settings.status.signs

Display status using signs.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neotest.settings.status.virtual_text

Display status using virtual text.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.neotest.settings.strategies.integrated.height

height to pass to the pty running commands.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 40

Declared by:

plugins.neotest.settings.strategies.integrated.width

Width to pass to the pty running commands.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 120

Declared by:

plugins.neotest.settings.summary.enabled

Whether to enable summary.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neotest.settings.summary.animated

Enable/disable animation of icons.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neotest.settings.summary.expandErrors

Expand all failed positions.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neotest.settings.summary.follow

Expand user’s current file.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neotest.settings.summary.mappings

Buffer mappings for summary window.

Type: null or (attribute set of (string or list of string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  attach = "a";
  clear_marked = "M";
  clear_target = "T";
  debug = "d";
  debug_marked = "D";
  expand = [
    "<CR>"
    "<2-LeftMouse>"
  ];
  expand_all = "e";
  jumpto = "i";
  mark = "m";
  next_failed = "J";
  output = "o";
  prev_failed = "K";
  run = "r";
  run_marked = "R";
  short = "O";
  stop = "u";
  target = "t";
  watch = "w";
}

Declared by:

plugins.neotest.settings.summary.open

A command or function to open a window for the summary. Either a string or a function that returns an integer.

Type: null or string or raw lua code

Default: null

Plugin default: "botright vsplit | vertical resize 50"

Declared by:

plugins.neotest.settings.watch.enabled

Enable watch.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.neotest.settings.watch.filter_path

(fun(path: string, root: string): boolean)

Returns whether the watcher should inspect a path for dependencies. Default ignores paths not under root or common package manager directories.

Type: null or lua code string

Default: null

Declared by:

plugins.neotest.settings.watch.symbol_queries

Treesitter queries or functions to capture symbols that are used for querying the LSP server for definitions to link files. If it is a function then the return value should be a list of node ranges.

Type: null or (attribute set of (string or raw lua code))

Default: null

Declared by:

nerdy

URL: https://github.com/2KAbhishek/nerdy.nvim/

Maintainers: Gaetan Lepage

plugins.nerdy.enable

Whether to enable nerdy.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.nerdy.enableTelescope

Whether to enable telescope integration.

Type: boolean

Default: false

Example: true

Declared by:

plugins.nerdy.package

The nerdy.nvim package to use.

Type: package

Default: pkgs.vimPlugins.nerdy-nvim

Declared by:

plugins.nerdy.autoLoad

Whether to automatically load nerdy.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.nerdy.lazyLoad

Lazy-load settings for nerdy.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.nerdy.lazyLoad.enable

lazy-loading for nerdy.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.nerdy.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.nerdy.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.nerdy.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.nerdy.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

netman

URL: https://github.com/miversen33/netman.nvim/

Maintainers: Austin Horstman

plugins.netman.enable

Whether to enable netman.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.netman.package

The netman.nvim package to use.

Type: package

Default: pkgs.vimPlugins.netman-nvim

Declared by:

plugins.netman.autoLoad

Whether to automatically load netman.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.netman.neoTreeIntegration

Whether to enable support for netman as a neo-tree source.

Type: boolean

Default: false

Example: true

Declared by:

plugins.netman.lazyLoad

Lazy-load settings for netman.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.netman.lazyLoad.enable

lazy-loading for netman.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.netman.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.netman.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.netman.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.netman.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

nix

URL: https://github.com/LnL7/vim-nix/

Maintainers: Gaetan Lepage

plugins.nix.enable

Whether to enable vim-nix.

Type: boolean

Default: false

Example: true

Declared by:

plugins.nix.package

The vim-nix package to use.

Type: package

Default: pkgs.vimPlugins.vim-nix

Declared by:

plugins.nix.autoLoad

Whether to automatically load vim-nix when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

nix-develop

URL: https://github.com/figsoda/nix-develop.nvim/

Maintainers: Heitor Augusto

plugins.nix-develop.enable

Whether to enable nix-develop.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.nix-develop.package

The nix-develop.nvim package to use.

Type: package

Default: pkgs.vimPlugins.nix-develop-nvim

Declared by:

plugins.nix-develop.autoLoad

Whether to automatically load nix-develop.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.nix-develop.ignoredVariables

Variables that should be ignored when generating the environment.

Type: null or (attribute set of (boolean or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  BASHOPTS = true;
  HOME = true;
  NIX_BUILD_TOP = true;
  NIX_ENFORCE_PURITY = true;
  NIX_LOG_FD = true;
  NIX_REMOTE = true;
  PPID = true;
  SHELL = true;
  SHELLOPTS = true;
  SSL_CERT_FILE = true;
  TEMP = true;
  TEMPDIR = true;
  TERM = true;
  TMP = true;
  TMPDIR = true;
  TZ = true;
  UID = true;
}

Declared by:

plugins.nix-develop.separatedVariables

Specified separators to use for particular environment variables.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  PATH = ":";
  XDG_DATA_DIRS = ":";
}

Declared by:

plugins.nix-develop.lazyLoad

Lazy-load settings for nix-develop.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.nix-develop.lazyLoad.enable

lazy-loading for nix-develop.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.nix-develop.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.nix-develop.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.nix-develop.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.nix-develop.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

noice

URL: https://github.com/folke/noice.nvim/

Maintainers: Austin Horstman


noice.nvim, an experimental Neovim UI.

note

If treesitter is enabled you need the following parsers: vim, regex, lua, bash, markdown, markdown_inline

plugins.noice.enable

Whether to enable noice.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.noice.package

The noice.nvim package to use.

Type: package

Default: pkgs.vimPlugins.noice-nvim

Declared by:

plugins.noice.autoLoad

Whether to automatically load noice.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.noice.lazyLoad

Lazy-load settings for noice.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.noice.lazyLoad.enable

lazy-loading for noice.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.noice.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.noice.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.noice.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.noice.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.noice.settings

Options provided to the require('noice').setup function.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.noice.settings.commands

You can add any custom commands that will be available with :Noice command.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  errors = {
    filter = {
      error = true;
    };
    filter_opts = {
      reverse = true;
    };
    opts = {
      enter = true;
      format = "details";
    };
    view = "popup";
  };
  history = {
    filter = {
      any = [
        {
          event = "notify";
        }
        {
          error = true;
        }
        {
          warning = true;
        }
        {
          event = "msg_show";
          kind = [
            ""
          ];
        }
        {
          event = "lsp";
          kind = "message";
        }
      ];
    };
    opts = {
      enter = true;
      format = "details";
    };
    view = "split";
  };
  last = {
    filter = {
      any = [
        {
          event = "notify";
        }
        {
          error = true;
        }
        {
          warning = true;
        }
        {
          event = "msg_show";
          kind = [
            ""
          ];
        }
        {
          event = "lsp";
          kind = "message";
        }
      ];
    };
    filter_opts = {
      count = 1;
    };
    opts = {
      enter = true;
      format = "details";
    };
    view = "popup";
  };
}

Declared by:

plugins.noice.settings.format

Formatters are used in format definitions.

Noice includes the following formatters:

  • level: message level with optional icon and hl_group per level
  • text: any text with optional hl_group
  • title: message title with optional hl_group
  • event: message event with optional hl_group
  • kind: message kind with optional hl_group
  • date: formatted date with optional date format string
  • message: message content itself with optional hl_group to override message highlights
  • confirm: only useful for confirm messages. Will format the choices as buttons.
  • cmdline: will render the cmdline in the message that generated the message.
  • progress: progress bar used by lsp progress
  • spinner: spinners used by lsp progress
  • data: render any custom data from Message.opts. Useful in combination with the opts passed to vim.notify

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.noice.settings.presets

You can enable a preset by setting it to true, or a table that will override the preset config.

You can also add custom presets that you can enable/disable with enabled=true.

Type: null or boolean or anything

Default: null

Plugin default:

{
  bottom_search = false;
  command_palette = false;
  inc_rename = false;
  long_message_to_split = false;
  lsp_doc_border = false;
}

Declared by:

plugins.noice.settings.redirect

Default options for require('noice').redirect.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  filter = {
    event = "msg_show";
  };
  view = "popup";
}

Declared by:

plugins.noice.settings.routes

Route options can be any of the view options or skip or stop.

A route has a filter, view and optional opts attribute.

  • view: one of the views (built-in or custom)
  • filter a filter for messages matching this route
  • opts: options for the view and the route

Type: null or (list of ((attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.noice.settings.status

Noice comes with the following statusline components:

  • ruler
  • message: last line of the last message (event=show_msg)
  • command: showcmd
  • mode: showmode (@recording messages)
  • search: search count messages

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.noice.settings.throttle

How frequently does Noice need to check for ui updates?

This has no effect when in blocking mode.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 1000 / 30

Declared by:

plugins.noice.settings.views

A view is a combination of a backend and options.

Noice comes with the following built-in backends:

  • popup: powered by nui.nvim
  • split: powered by nui.nvim
  • notify: powered by nvim-notify
  • virtualtext: shows the message as virtualtext (for example for search_count)
  • mini: similar to notifier.nvim & fidget.nvim
  • notify_send: generate a desktop notification

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.noice.settings.cmdline.enabled

Enables Noice cmdline UI.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.noice.settings.cmdline.format

conceal: (default=true) This will hide the text in the cmdline that matches the pattern. view: (default is cmdline view) opts: any options passed to the view icon_hl_group: optional hl_group for the icon title: set to anything or empty string to hide lua = false, to disable a format, set to false

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  cmdline = {
    icon = "";
    lang = "vim";
    pattern = "^:";
  };
  filter = {
    icon = "$";
    lang = "bash";
    pattern = "^:%s*!";
  };
  help = {
    icon = "";
    pattern = "^:%s*he?l?p?%s+";
  };
  input = { };
  lua = {
    icon = "";
    lang = "lua";
    pattern = "^:%s*lua%s+";
  };
  search_down = {
    icon = " ";
    kind = "search";
    lang = "regex";
    pattern = "^/";
  };
  search_up = {
    icon = " ";
    kind = "search";
    lang = "regex";
    pattern = "?%?";
  };
}

Declared by:

plugins.noice.settings.cmdline.opts

Global options for the cmdline. See section on [views].

[views] https://github.com/folke/noice.nvim?tab=readme-ov-file#-views

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.noice.settings.cmdline.view

View for rendering the cmdline.

Change to cmdline to get a classic cmdline at the bottom.

Type: null or string or raw lua code

Default: null

Plugin default: "cmdline_popup"

Declared by:

plugins.noice.settings.health.checker

Enables running health checks.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.noice.settings.lsp.override

Functions to override and use Noice.

Type: null or (attribute set of (boolean or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "cmp.entry.get_documentation" = false;
  "vim.lsp.util.convert_input_to_markdown_lines" = false;
  "vim.lsp.util.stylize_markdown" = false;
}

Declared by:

plugins.noice.settings.lsp.documentation.opts

Options for documentation backend.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  format = [
    "{message}"
  ];
  lang = "markdown";
  render = "plain";
  replace = true;
  win_options = {
    concealcursor = "n";
    conceallevel = 3;
  };
}

Declared by:

plugins.noice.settings.lsp.documentation.view

Documentation backend to use.

Type: null or string or raw lua code

Default: null

Plugin default: "hover"

Declared by:

plugins.noice.settings.lsp.hover.enabled

Enable hover UI.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.noice.settings.lsp.hover.opts

Options merged with defaults from documentation.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.noice.settings.lsp.hover.view

When null, use defaults from documentation.

Type: null or string or raw lua code

Default: null

Plugin default: Use defaults from documentation

Declared by:

plugins.noice.settings.lsp.message.enabled

Enable display of messages.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.noice.settings.lsp.message.opts

Options for message backend.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.noice.settings.lsp.message.view

Message backend to use.

Type: null or string or raw lua code

Default: null

Plugin default: "notify"

Declared by:

plugins.noice.settings.lsp.progress.enabled

Enable LSP progress.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.noice.settings.lsp.progress.format

Lsp Progress is formatted using the builtins for lsp_progress.

Type: null or string or anything or raw lua code

Default: null

Plugin default: "lsp_progress"

Declared by:

plugins.noice.settings.lsp.progress.format_done

Lsp Progress is formatted using the builtins for lsp_progress.

Type: null or string or anything or raw lua code

Default: null

Plugin default: "lsp_progress_done"

Declared by:

plugins.noice.settings.lsp.progress.throttle

Frequency to update lsp progress message.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 1000 / 30

Declared by:

plugins.noice.settings.lsp.progress.view

Lsp progress view backend.

Type: null or string or raw lua code

Default: null

Plugin default: "mini"

Declared by:

plugins.noice.settings.lsp.signature.enabled

Enable signature UI.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.noice.settings.lsp.signature.opts

Options merged with defaults from documentation.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.noice.settings.lsp.signature.view

When null, use defaults from documentation.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.noice.settings.lsp.signature.auto_open.enabled

Enable automatic opening of signature help.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.noice.settings.lsp.signature.auto_open.luasnip

Will open signature help when jumping to Luasnip insert nodes.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.noice.settings.lsp.signature.auto_open.throttle

Debounce lsp signature help request by 50ms.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 50

Declared by:

plugins.noice.settings.lsp.signature.auto_open.trigger

Automatically show signature help when typing a trigger character from the LSP.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.noice.settings.markdown.highlights

Set highlight groups.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "@%S+" = "@parameter";
  "^%s*(Parameters:)" = "@text.title";
  "^%s*(Return:)" = "@text.title";
  "^%s*(See also:)" = "@text.title";
  "{%S-}" = "@parameter";
  "|%S-|" = "@text.reference";
}

Declared by:

plugins.noice.settings.markdown.hover

Set handlers for hover.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "%[.-%]%((%S-)%)" = {
    __raw = "require('noice.util').open";
  };
  "|(%S-)|" = {
    __raw = "vim.cmd.help";
  };
}

Declared by:

plugins.noice.settings.messages.enabled

Enables the messages UI.

note

If you enable messages, then the cmdline is enabled automatically.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.noice.settings.messages.view

Default view for messages.

Type: null or string or raw lua code

Default: null

Plugin default: "notify"

Declared by:

plugins.noice.settings.messages.view_error

Default view for errors.

Type: null or string or raw lua code

Default: null

Plugin default: "notify"

Declared by:

plugins.noice.settings.messages.view_history

View for :messages.

Type: null or string or raw lua code

Default: null

Plugin default: "messages"

Declared by:

View for search count messages.

Type: null or string or raw lua code

Default: null

Plugin default: "virtualtext"

Declared by:

plugins.noice.settings.messages.view_warn

Default view for warnings.

Type: null or string or raw lua code

Default: null

Plugin default: "notify"

Declared by:

plugins.noice.settings.notify.enabled

Enable notification handling.

Noice can be used as vim.notify so you can route any notification like other messages.

Notification messages have their level and other properties set. event is always “notify” and kind can be any log level as a string.

The default routes will forward notifications to nvim-notify. Benefit of using Noice for this is the routing and consistent history view.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.noice.settings.notify.view

Notify backend to use.

Type: null or string or raw lua code

Default: null

Plugin default: "notify"

Declared by:

plugins.noice.settings.popupmenu.enabled

Enable the Noice popupmenu UI.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.noice.settings.popupmenu.backend

Backend to use to show regular cmdline completions.

Type: null or one of “nui”, “cmp” or raw lua code

Default: null

Plugin default: "nui"

Declared by:

plugins.noice.settings.popupmenu.kindIcons

Icons for completion item kinds. Set to false to disable icons.

Type: null or boolean or attribute set of anything or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.noice.settings.smart_move.enabled

Noice tries to move out of the way of existing floating windows. You can disable this behaviour here.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.noice.settings.smart_move.excluded_filetypes

Filetypes that shouldn’t trigger smart move.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "cmp_menu"
  "cmp_docs"
  "notify"
]

Declared by:

none-ls

URL: https://github.com/nvimtools/none-ls.nvim/

Maintainers: Matt Sturgeon

plugins.none-ls.enable

Whether to enable none-ls.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.enableLspFormat

Automatically configure none-ls to use the lsp-format plugin.

Enabled automatically when plugins.lsp-format is enabled. Set false to disable that behavior.

Type: boolean

Default: plugins.lsp-format.enable

Example: false

Declared by:

plugins.none-ls.package

The none-ls.nvim package to use.

Type: package

Default: pkgs.vimPlugins.none-ls-nvim

Declared by:

plugins.none-ls.autoLoad

Whether to automatically load none-ls.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.none-ls.lazyLoad

Lazy-load settings for none-ls.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.none-ls.lazyLoad.enable

lazy-loading for none-ls.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.none-ls.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.none-ls.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.none-ls.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.none-ls.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.none-ls.settings

Options provided to the require('null-ls').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  diagnostics_format = "[#{c}] #{m} (#{s})";
  on_attach = ''
    function(client, bufnr)
      -- Integrate lsp-format with none-ls
      require('lsp-format').on_attach(client, bufnr)
    end
  '';
  on_exit = ''
    function()
      print("Goodbye, cruel world!")
    end
  '';
  on_init = ''
    function(client, initialize_result)
      print("Hello, world!")
    end
  '';
  root_dir = ''
    function(fname)
      return fname:match("my-project") and "my-project-root"
    end
  '';
  root_dir_async = ''
    function(fname, cb)
      cb(fname:match("my-project") and "my-project-root")
    end
  '';
  should_attach = ''
    function(bufnr)
      return not vim.api.nvim_buf_get_name(bufnr):match("^git://")
    end
  '';
  temp_dir = "/tmp";
  update_in_insert = false;
}

Declared by:

plugins.none-ls.settings.border

Defines the border to use for the :NullLsInfo UI window. Uses NullLsInfoBorder highlight group (see Highlight Groups). Accepts same border values as nvim_open_win(). See :help nvim_open_win() for more info.

Type: null or (attribute set) or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.none-ls.settings.cmd

Defines the command used to start the null-ls server. If you do not have an nvim binary available on your $PATH, you should change this to an absolute path to the binary.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "nvim"
]

Declared by:

plugins.none-ls.settings.debounce

The debounce setting controls the amount of time between the last change to a buffer and the next textDocument/didChange notification. These notifications cause null-ls to generate diagnostics, so this setting indirectly controls the rate of diagnostic generation (affected by update_in_insert, described below).

Lowering debounce will result in quicker diagnostic refreshes at the cost of running diagnostic sources more frequently, which can affect performance. The default value should be enough to provide near-instantaneous feedback from most sources without unnecessary resource usage.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 250

Declared by:

plugins.none-ls.settings.debug

Displays all possible log messages and writes them to the null-ls log, which you can view with the command :NullLsLog. This option can slow down Neovim, so it’s strongly recommended to disable it for normal use.

debug = true is the same as setting log_level to "trace".

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.none-ls.settings.default_timeout

Sets the amount of time (in milliseconds) after which built-in sources will time out. Note that built-in sources can define their own timeout period and that users can override the timeout period on a per-source basis, too (see BUILTIN_CONFIG.md).

Specifying a timeout with a value less than zero will prevent commands from timing out.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 5000

Declared by:

plugins.none-ls.settings.diagnostic_config

Specifies diagnostic display options for null-ls sources, as described in :help vim.diagnostic.config(). (null-ls uses separate namespaces for each source, so server-wide configuration will not work as expected.)

You can also configure diagnostic_config per built-in by using the with method, described in BUILTIN_CONFIG.

Type: null or (attribute set) or string or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.none-ls.settings.diagnostics_format

Sets the default format used for diagnostics. The plugin will replace the following special components with the relevant diagnostic information:

  • #{m}: message
  • #{s}: source name (defaults to null-ls if not specified)
  • #{c}: code (if available)

For example, setting diagnostics_format to the following:

  diagnostics_format = "[#{c}] #{m} (#{s})"

Formats diagnostics as follows:

  [2148] Tips depend on target shell and yours is unknown. Add a shebang or a 'shell' directive. (shellcheck)

You can also configure diagnostics_format per built-in by using the with method, described in BUILTIN_CONFIG.

Type: null or string or raw lua code

Default: null

Plugin default: "#{m}"

Declared by:

plugins.none-ls.settings.fallback_severity

Defines the severity used when a diagnostic source does not explicitly define a severity. See :help diagnostic-severity for available values.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default:

{
  __raw = "vim.diagnostic.severity.ERROR";
}

Declared by:

plugins.none-ls.settings.log_level

Enables or disables logging to file.

Plugin logs messages on several logging levels to following destinations:

  • file, can be inspected by :NullLsLog.
  • neovim’s notification area.

Type: null or one of “off”, “error”, “warn”, “info”, “debug”, “trace” or raw lua code

Default: null

Plugin default: "warn"

Declared by:

plugins.none-ls.settings.notify_format

Sets the default format for vim.notify() messages. Can be used to customize 3rd party notification plugins like nvim-notify.

Type: null or string or raw lua code

Default: null

Plugin default: "[null-ls] %s"

Declared by:

plugins.none-ls.settings.on_attach

Defines an on_attach callback to run whenever null-ls attaches to a buffer. If you have a common on_attach you’re using for LSP servers, you can reuse that here, use a custom callback for null-ls, or leave this undefined.

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.none-ls.settings.on_exit

Defines an on_exit callback to run when the null-ls client exits.

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.none-ls.settings.on_init

Defines an on_init callback to run when null-ls initializes. From here, you can make changes to the client (the first argument) or initialize_result (the second argument, which as of now is not used).

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.none-ls.settings.root_dir

Determines the root of the null-ls server. On startup, null-ls will call root_dir with the full path to the first file that null-ls attaches to.

If root_dir returns nil, the root will resolve to the current working directory.

Type: null or lua function string

Default: null

Plugin default: "require('null-ls.utils').root_pattern('.null-ls-root', 'Makefile', '.git')"

Example:

''
  function(fname)
    return fname:match("my-project") and "my-project-root"
  end
''

Declared by:

plugins.none-ls.settings.root_dir_async

Like root_dir but also accepts a callback parameter allowing it to be asynchronous. Overwrites root_dir when present.

For a utility that asynchronously finds a matching file, see utils.root_pattern_async.

Type: null or lua function string

Default: null

Plugin default: null

Example:

''
  function(fname, cb)
    cb(fname:match("my-project") and "my-project-root")
  end
''

Declared by:

plugins.none-ls.settings.should_attach

A user-defined function that controls whether to enable null-ls for a given buffer. Receives bufnr as its first argument.

To cut down potentially expensive calls, null-ls will call should_attach after its own internal checks pass, so it’s not guaranteed to run on each new buffer.

Type: null or lua function string

Default: null

Plugin default: null

Example:

''
  function(bufnr)
    return not vim.api.nvim_buf_get_name(bufnr):match("^git://")
  end
''

Declared by:

plugins.none-ls.settings.temp_dir

Defines the directory used to create temporary files for sources that rely on them (a workaround used for command-based sources that do not support stdio).

To maximize compatibility, null-ls defaults to creating temp files in the same directory as the parent file. If this is causing issues, you can set it to /tmp (or another appropriate directory) here. Otherwise, there is no need to change this setting.

Note: some null-ls built-in sources expect temp files to exist within a project for context and so will not work if this option changes.

You can also configure temp_dir per built-in by using the with method, described in BUILTIN_CONFIG.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.none-ls.settings.update_in_insert

Controls whether diagnostic sources run in insert mode. If set to false, diagnostic sources will run upon exiting insert mode, which greatly improves performance but can create a slight delay before diagnostics show up. Set this to true if you don’t experience performance issues with your sources.

Note that by default, Neovim will not display updated diagnostics in insert mode. Together with the option above, you need to pass update_in_insert = true to vim.diagnostic.config for diagnostics to work as expected. See :help vim.diagnostic.config for more info.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.none-ls.sources.code_actions.gitrebase.enable

Whether to enable the gitrebase code_actions source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.code_actions.gitrebase.settings

Options provided to the require('null-ls').builtins.code_actions.gitrebase.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.code_actions.gitsigns.enable

Whether to enable the gitsigns code_actions source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.code_actions.gitsigns.package

The gitsigns package to use.

Type: null or package

Default: pkgs.git

Declared by:

plugins.none-ls.sources.code_actions.gitsigns.settings

Options provided to the require('null-ls').builtins.code_actions.gitsigns.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.code_actions.gomodifytags.enable

Whether to enable the gomodifytags code_actions source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.code_actions.gomodifytags.settings

Options provided to the require('null-ls').builtins.code_actions.gomodifytags.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.code_actions.impl.enable

Whether to enable the impl code_actions source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.code_actions.impl.settings

Options provided to the require('null-ls').builtins.code_actions.impl.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.code_actions.proselint.enable

Whether to enable the proselint code_actions source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.code_actions.proselint.package

The proselint package to use.

Type: null or package

Default: pkgs.proselint

Declared by:

plugins.none-ls.sources.code_actions.proselint.settings

Options provided to the require('null-ls').builtins.code_actions.proselint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.code_actions.refactoring.enable

Whether to enable the refactoring code_actions source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.code_actions.refactoring.settings

Options provided to the require('null-ls').builtins.code_actions.refactoring.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.code_actions.regal.enable

Whether to enable the regal code_actions source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.code_actions.regal.package

Package to use for regal. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.code_actions.regal.settings

Options provided to the require('null-ls').builtins.code_actions.regal.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.code_actions.statix.enable

Whether to enable the statix code_actions source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.code_actions.statix.package

The statix package to use.

Type: null or package

Default: pkgs.statix

Declared by:

plugins.none-ls.sources.code_actions.statix.settings

Options provided to the require('null-ls').builtins.code_actions.statix.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.code_actions.textlint.enable

Whether to enable the textlint code_actions source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.code_actions.textlint.package

Package to use for textlint. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.code_actions.textlint.settings

Options provided to the require('null-ls').builtins.code_actions.textlint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.code_actions.ts_node_action.enable

Whether to enable the ts_node_action code_actions source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.code_actions.ts_node_action.settings

Options provided to the require('null-ls').builtins.code_actions.ts_node_action.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.completion.luasnip.enable

Whether to enable the luasnip completion source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.completion.luasnip.settings

Options provided to the require('null-ls').builtins.completion.luasnip.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.completion.nvim_snippets.enable

Whether to enable the nvim_snippets completion source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.completion.nvim_snippets.settings

Options provided to the require('null-ls').builtins.completion.nvim_snippets.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.completion.spell.enable

Whether to enable the spell completion source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.completion.spell.settings

Options provided to the require('null-ls').builtins.completion.spell.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.completion.tags.enable

Whether to enable the tags completion source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.completion.tags.settings

Options provided to the require('null-ls').builtins.completion.tags.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.completion.vsnip.enable

Whether to enable the vsnip completion source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.completion.vsnip.settings

Options provided to the require('null-ls').builtins.completion.vsnip.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.actionlint.enable

Whether to enable the actionlint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.actionlint.package

The actionlint package to use.

Type: null or package

Default: pkgs.actionlint

Declared by:

plugins.none-ls.sources.diagnostics.actionlint.settings

Options provided to the require('null-ls').builtins.diagnostics.actionlint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.alex.enable

Whether to enable the alex diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.alex.package

The alex package to use.

Type: null or package

Default: pkgs.nodePackages.alex

Declared by:

plugins.none-ls.sources.diagnostics.alex.settings

Options provided to the require('null-ls').builtins.diagnostics.alex.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.ansiblelint.enable

Whether to enable the ansiblelint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.ansiblelint.package

The ansiblelint package to use.

Type: null or package

Default: pkgs.ansible-lint

Declared by:

plugins.none-ls.sources.diagnostics.ansiblelint.settings

Options provided to the require('null-ls').builtins.diagnostics.ansiblelint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.bean_check.enable

Whether to enable the bean_check diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.bean_check.package

The bean_check package to use.

Type: null or package

Default: pkgs.beancount

Declared by:

plugins.none-ls.sources.diagnostics.bean_check.settings

Options provided to the require('null-ls').builtins.diagnostics.bean_check.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.bslint.enable

Whether to enable the bslint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.bslint.package

Package to use for bslint. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.diagnostics.bslint.settings

Options provided to the require('null-ls').builtins.diagnostics.bslint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.buf.enable

Whether to enable the buf diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.buf.package

The buf package to use.

Type: null or package

Default: pkgs.buf

Declared by:

plugins.none-ls.sources.diagnostics.buf.settings

Options provided to the require('null-ls').builtins.diagnostics.buf.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.buildifier.enable

Whether to enable the buildifier diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.buildifier.package

The buildifier package to use.

Type: null or package

Default: pkgs.bazel-buildtools

Declared by:

plugins.none-ls.sources.diagnostics.buildifier.settings

Options provided to the require('null-ls').builtins.diagnostics.buildifier.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.cfn_lint.enable

Whether to enable the cfn_lint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.cfn_lint.package

The cfn_lint package to use.

Type: null or package

Default: pkgs.python3.pkgs.cfn-lint

Declared by:

plugins.none-ls.sources.diagnostics.cfn_lint.settings

Options provided to the require('null-ls').builtins.diagnostics.cfn_lint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.checkmake.enable

Whether to enable the checkmake diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.checkmake.package

The checkmake package to use.

Type: null or package

Default: pkgs.checkmake

Declared by:

plugins.none-ls.sources.diagnostics.checkmake.settings

Options provided to the require('null-ls').builtins.diagnostics.checkmake.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.checkstyle.enable

Whether to enable the checkstyle diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.checkstyle.package

The checkstyle package to use.

Type: null or package

Default: pkgs.checkstyle

Declared by:

plugins.none-ls.sources.diagnostics.checkstyle.settings

Options provided to the require('null-ls').builtins.diagnostics.checkstyle.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.clazy.enable

Whether to enable the clazy diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.clazy.package

The clazy package to use.

Type: null or package

Default: pkgs.clazy

Declared by:

plugins.none-ls.sources.diagnostics.clazy.settings

Options provided to the require('null-ls').builtins.diagnostics.clazy.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.clj_kondo.enable

Whether to enable the clj_kondo diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.clj_kondo.package

The clj_kondo package to use.

Type: null or package

Default: pkgs.clj-kondo

Declared by:

plugins.none-ls.sources.diagnostics.clj_kondo.settings

Options provided to the require('null-ls').builtins.diagnostics.clj_kondo.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.cmake_lint.enable

Whether to enable the cmake_lint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.cmake_lint.package

The cmake_lint package to use.

Type: null or package

Default: pkgs.cmake-format

Declared by:

plugins.none-ls.sources.diagnostics.cmake_lint.settings

Options provided to the require('null-ls').builtins.diagnostics.cmake_lint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.codespell.enable

Whether to enable the codespell diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.codespell.package

The codespell package to use.

Type: null or package

Default: pkgs.codespell

Declared by:

plugins.none-ls.sources.diagnostics.codespell.settings

Options provided to the require('null-ls').builtins.diagnostics.codespell.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.commitlint.enable

Whether to enable the commitlint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.commitlint.package

The commitlint package to use.

Type: null or package

Default: pkgs.commitlint

Declared by:

plugins.none-ls.sources.diagnostics.commitlint.settings

Options provided to the require('null-ls').builtins.diagnostics.commitlint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.cppcheck.enable

Whether to enable the cppcheck diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.cppcheck.package

The cppcheck package to use.

Type: null or package

Default: pkgs.cppcheck

Declared by:

plugins.none-ls.sources.diagnostics.cppcheck.settings

Options provided to the require('null-ls').builtins.diagnostics.cppcheck.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.credo.enable

Whether to enable the credo diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.credo.package

The credo package to use.

Type: null or package

Default: pkgs.elixir

Declared by:

plugins.none-ls.sources.diagnostics.credo.settings

Options provided to the require('null-ls').builtins.diagnostics.credo.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.cue_fmt.enable

Whether to enable the cue_fmt diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.cue_fmt.package

The cue_fmt package to use.

Type: null or package

Default: pkgs.cue

Declared by:

plugins.none-ls.sources.diagnostics.cue_fmt.settings

Options provided to the require('null-ls').builtins.diagnostics.cue_fmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.deadnix.enable

Whether to enable the deadnix diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.deadnix.package

The deadnix package to use.

Type: null or package

Default: pkgs.deadnix

Declared by:

plugins.none-ls.sources.diagnostics.deadnix.settings

Options provided to the require('null-ls').builtins.diagnostics.deadnix.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.djlint.enable

Whether to enable the djlint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.djlint.package

The djlint package to use.

Type: null or package

Default: pkgs.djlint

Declared by:

plugins.none-ls.sources.diagnostics.djlint.settings

Options provided to the require('null-ls').builtins.diagnostics.djlint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.dotenv_linter.enable

Whether to enable the dotenv_linter diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.dotenv_linter.package

The dotenv_linter package to use.

Type: null or package

Default: pkgs.dotenv-linter

Declared by:

plugins.none-ls.sources.diagnostics.dotenv_linter.settings

Options provided to the require('null-ls').builtins.diagnostics.dotenv_linter.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.editorconfig_checker.enable

Whether to enable the editorconfig_checker diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.editorconfig_checker.package

The editorconfig_checker package to use.

Type: null or package

Default: pkgs.editorconfig-checker

Declared by:

plugins.none-ls.sources.diagnostics.editorconfig_checker.settings

Options provided to the require('null-ls').builtins.diagnostics.editorconfig_checker.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.erb_lint.enable

Whether to enable the erb_lint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.erb_lint.package

Package to use for erb_lint. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.diagnostics.erb_lint.settings

Options provided to the require('null-ls').builtins.diagnostics.erb_lint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.fish.enable

Whether to enable the fish diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.fish.package

The fish package to use.

Type: null or package

Default: pkgs.fish

Declared by:

plugins.none-ls.sources.diagnostics.fish.settings

Options provided to the require('null-ls').builtins.diagnostics.fish.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.gccdiag.enable

Whether to enable the gccdiag diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.gccdiag.package

Package to use for gccdiag. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.diagnostics.gccdiag.settings

Options provided to the require('null-ls').builtins.diagnostics.gccdiag.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.gdlint.enable

Whether to enable the gdlint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.gdlint.package

The gdlint package to use.

Type: null or package

Default: pkgs.gdtoolkit_4

Declared by:

plugins.none-ls.sources.diagnostics.gdlint.settings

Options provided to the require('null-ls').builtins.diagnostics.gdlint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.gitlint.enable

Whether to enable the gitlint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.gitlint.package

The gitlint package to use.

Type: null or package

Default: pkgs.gitlint

Declared by:

plugins.none-ls.sources.diagnostics.gitlint.settings

Options provided to the require('null-ls').builtins.diagnostics.gitlint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.glslc.enable

Whether to enable the glslc diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.glslc.package

The glslc package to use.

Type: null or package

Default: pkgs.shaderc

Declared by:

plugins.none-ls.sources.diagnostics.glslc.settings

Options provided to the require('null-ls').builtins.diagnostics.glslc.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.golangci_lint.enable

Whether to enable the golangci_lint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.golangci_lint.package

The golangci_lint package to use.

Type: null or package

Default: pkgs.golangci-lint

Declared by:

plugins.none-ls.sources.diagnostics.golangci_lint.settings

Options provided to the require('null-ls').builtins.diagnostics.golangci_lint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.hadolint.enable

Whether to enable the hadolint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.hadolint.package

The hadolint package to use.

Type: null or package

Default: pkgs.hadolint

Declared by:

plugins.none-ls.sources.diagnostics.hadolint.settings

Options provided to the require('null-ls').builtins.diagnostics.hadolint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.haml_lint.enable

Whether to enable the haml_lint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.haml_lint.package

The haml_lint package to use.

Type: null or package

Default: pkgs.mastodon

Declared by:

plugins.none-ls.sources.diagnostics.haml_lint.settings

Options provided to the require('null-ls').builtins.diagnostics.haml_lint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.ktlint.enable

Whether to enable the ktlint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.ktlint.package

The ktlint package to use.

Type: null or package

Default: pkgs.ktlint

Declared by:

plugins.none-ls.sources.diagnostics.ktlint.settings

Options provided to the require('null-ls').builtins.diagnostics.ktlint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.ltrs.enable

Whether to enable the ltrs diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.ltrs.package

The ltrs package to use.

Type: null or package

Default: pkgs.languagetool-rust

Declared by:

plugins.none-ls.sources.diagnostics.ltrs.settings

Options provided to the require('null-ls').builtins.diagnostics.ltrs.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.markdownlint.enable

Whether to enable the markdownlint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.markdownlint.package

The markdownlint package to use.

Type: null or package

Default: pkgs.markdownlint-cli

Declared by:

plugins.none-ls.sources.diagnostics.markdownlint.settings

Options provided to the require('null-ls').builtins.diagnostics.markdownlint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.markdownlint_cli2.enable

Whether to enable the markdownlint_cli2 diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.markdownlint_cli2.package

The markdownlint_cli2 package to use.

Type: null or package

Default: pkgs.markdownlint-cli2

Declared by:

plugins.none-ls.sources.diagnostics.markdownlint_cli2.settings

Options provided to the require('null-ls').builtins.diagnostics.markdownlint_cli2.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.markuplint.enable

Whether to enable the markuplint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.markuplint.package

Package to use for markuplint. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.diagnostics.markuplint.settings

Options provided to the require('null-ls').builtins.diagnostics.markuplint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.mdl.enable

Whether to enable the mdl diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.mdl.package

The mdl package to use.

Type: null or package

Default: pkgs.mdl

Declared by:

plugins.none-ls.sources.diagnostics.mdl.settings

Options provided to the require('null-ls').builtins.diagnostics.mdl.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.mlint.enable

Whether to enable the mlint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.mlint.package

Package to use for mlint. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.diagnostics.mlint.settings

Options provided to the require('null-ls').builtins.diagnostics.mlint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.mypy.enable

Whether to enable the mypy diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.mypy.package

The mypy package to use.

Type: null or package

Default: pkgs.mypy

Declared by:

plugins.none-ls.sources.diagnostics.mypy.settings

Options provided to the require('null-ls').builtins.diagnostics.mypy.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.npm_groovy_lint.enable

Whether to enable the npm_groovy_lint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.npm_groovy_lint.package

Package to use for npm_groovy_lint. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.diagnostics.npm_groovy_lint.settings

Options provided to the require('null-ls').builtins.diagnostics.npm_groovy_lint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.opacheck.enable

Whether to enable the opacheck diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.opacheck.package

The opacheck package to use.

Type: null or package

Default: pkgs.open-policy-agent

Declared by:

plugins.none-ls.sources.diagnostics.opacheck.settings

Options provided to the require('null-ls').builtins.diagnostics.opacheck.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.opentofu_validate.enable

Whether to enable the opentofu_validate diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.opentofu_validate.package

The opentofu_validate package to use.

Type: null or package

Default: pkgs.opentofu

Declared by:

plugins.none-ls.sources.diagnostics.opentofu_validate.settings

Options provided to the require('null-ls').builtins.diagnostics.opentofu_validate.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.perlimports.enable

Whether to enable the perlimports diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.perlimports.package

Package to use for perlimports. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.diagnostics.perlimports.settings

Options provided to the require('null-ls').builtins.diagnostics.perlimports.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.phpcs.enable

Whether to enable the phpcs diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.phpcs.package

The phpcs package to use.

Type: null or package

Default: pkgs.phpPackages.php-codesniffer

Declared by:

plugins.none-ls.sources.diagnostics.phpcs.settings

Options provided to the require('null-ls').builtins.diagnostics.phpcs.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.phpmd.enable

Whether to enable the phpmd diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.phpmd.package

The phpmd package to use.

Type: null or package

Default: pkgs.phpPackages.phpmd

Declared by:

plugins.none-ls.sources.diagnostics.phpmd.settings

Options provided to the require('null-ls').builtins.diagnostics.phpmd.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.phpstan.enable

Whether to enable the phpstan diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.phpstan.package

The phpstan package to use.

Type: null or package

Default: pkgs.phpPackages.phpstan

Declared by:

plugins.none-ls.sources.diagnostics.phpstan.settings

Options provided to the require('null-ls').builtins.diagnostics.phpstan.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.pmd.enable

Whether to enable the pmd diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.pmd.package

The pmd package to use.

Type: null or package

Default: pkgs.pmd

Declared by:

plugins.none-ls.sources.diagnostics.pmd.settings

Options provided to the require('null-ls').builtins.diagnostics.pmd.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.proselint.enable

Whether to enable the proselint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.proselint.package

The proselint package to use.

Type: null or package

Default: pkgs.proselint

Declared by:

plugins.none-ls.sources.diagnostics.proselint.settings

Options provided to the require('null-ls').builtins.diagnostics.proselint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.protolint.enable

Whether to enable the protolint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.protolint.package

The protolint package to use.

Type: null or package

Default: pkgs.protolint

Declared by:

plugins.none-ls.sources.diagnostics.protolint.settings

Options provided to the require('null-ls').builtins.diagnostics.protolint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.puppet_lint.enable

Whether to enable the puppet_lint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.puppet_lint.package

The puppet_lint package to use.

Type: null or package

Default: pkgs.puppet-lint

Declared by:

plugins.none-ls.sources.diagnostics.puppet_lint.settings

Options provided to the require('null-ls').builtins.diagnostics.puppet_lint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.pydoclint.enable

Whether to enable the pydoclint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.pydoclint.settings

Options provided to the require('null-ls').builtins.diagnostics.pydoclint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.pylint.enable

Whether to enable the pylint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.pylint.package

The pylint package to use.

Type: null or package

Default: pkgs.pylint

Declared by:

plugins.none-ls.sources.diagnostics.pylint.settings

Options provided to the require('null-ls').builtins.diagnostics.pylint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.qmllint.enable

Whether to enable the qmllint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.qmllint.package

The qmllint package to use.

Type: null or package

Default: pkgs.qt6.qtdeclarative

Declared by:

plugins.none-ls.sources.diagnostics.qmllint.settings

Options provided to the require('null-ls').builtins.diagnostics.qmllint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.reek.enable

Whether to enable the reek diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.reek.package

Package to use for reek. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.diagnostics.reek.settings

Options provided to the require('null-ls').builtins.diagnostics.reek.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.regal.enable

Whether to enable the regal diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.regal.package

Package to use for regal. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.diagnostics.regal.settings

Options provided to the require('null-ls').builtins.diagnostics.regal.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.revive.enable

Whether to enable the revive diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.revive.package

The revive package to use.

Type: null or package

Default: pkgs.revive

Declared by:

plugins.none-ls.sources.diagnostics.revive.settings

Options provided to the require('null-ls').builtins.diagnostics.revive.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.rpmspec.enable

Whether to enable the rpmspec diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.rpmspec.package

The rpmspec package to use.

Type: null or package

Default: pkgs.rpm

Declared by:

plugins.none-ls.sources.diagnostics.rpmspec.settings

Options provided to the require('null-ls').builtins.diagnostics.rpmspec.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.rstcheck.enable

Whether to enable the rstcheck diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.rstcheck.package

The rstcheck package to use.

Type: null or package

Default: pkgs.rstcheck

Declared by:

plugins.none-ls.sources.diagnostics.rstcheck.settings

Options provided to the require('null-ls').builtins.diagnostics.rstcheck.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.rubocop.enable

Whether to enable the rubocop diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.rubocop.package

The rubocop package to use.

Type: null or package

Default: pkgs.rubocop

Declared by:

plugins.none-ls.sources.diagnostics.rubocop.settings

Options provided to the require('null-ls').builtins.diagnostics.rubocop.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.saltlint.enable

Whether to enable the saltlint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.saltlint.package

Package to use for saltlint. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.diagnostics.saltlint.settings

Options provided to the require('null-ls').builtins.diagnostics.saltlint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.selene.enable

Whether to enable the selene diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.selene.package

The selene package to use.

Type: null or package

Default: pkgs.selene

Declared by:

plugins.none-ls.sources.diagnostics.selene.settings

Options provided to the require('null-ls').builtins.diagnostics.selene.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.semgrep.enable

Whether to enable the semgrep diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.semgrep.package

The semgrep package to use.

Type: null or package

Default: pkgs.semgrep

Declared by:

plugins.none-ls.sources.diagnostics.semgrep.settings

Options provided to the require('null-ls').builtins.diagnostics.semgrep.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.solhint.enable

Whether to enable the solhint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.solhint.package

Package to use for solhint. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.diagnostics.solhint.settings

Options provided to the require('null-ls').builtins.diagnostics.solhint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.spectral.enable

Whether to enable the spectral diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.spectral.package

Package to use for spectral. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.diagnostics.spectral.settings

Options provided to the require('null-ls').builtins.diagnostics.spectral.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.sqlfluff.enable

Whether to enable the sqlfluff diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.sqlfluff.package

The sqlfluff package to use.

Type: null or package

Default: pkgs.sqlfluff

Declared by:

plugins.none-ls.sources.diagnostics.sqlfluff.settings

Options provided to the require('null-ls').builtins.diagnostics.sqlfluff.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.sqruff.enable

Whether to enable the sqruff diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.sqruff.package

The sqruff package to use.

Type: null or package

Default: pkgs.sqruff

Declared by:

plugins.none-ls.sources.diagnostics.sqruff.settings

Options provided to the require('null-ls').builtins.diagnostics.sqruff.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.staticcheck.enable

Whether to enable the staticcheck diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.staticcheck.package

The staticcheck package to use.

Type: null or package

Default: pkgs.go-tools

Declared by:

plugins.none-ls.sources.diagnostics.staticcheck.settings

Options provided to the require('null-ls').builtins.diagnostics.staticcheck.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.statix.enable

Whether to enable the statix diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.statix.package

The statix package to use.

Type: null or package

Default: pkgs.statix

Declared by:

plugins.none-ls.sources.diagnostics.statix.settings

Options provided to the require('null-ls').builtins.diagnostics.statix.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.stylelint.enable

Whether to enable the stylelint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.stylelint.package

The stylelint package to use.

Type: null or package

Default: pkgs.stylelint

Declared by:

plugins.none-ls.sources.diagnostics.stylelint.settings

Options provided to the require('null-ls').builtins.diagnostics.stylelint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.stylint.enable

Whether to enable the stylint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.stylint.package

Package to use for stylint. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.diagnostics.stylint.settings

Options provided to the require('null-ls').builtins.diagnostics.stylint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.swiftlint.enable

Whether to enable the swiftlint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.swiftlint.package

Package to use for swiftlint. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.diagnostics.swiftlint.settings

Options provided to the require('null-ls').builtins.diagnostics.swiftlint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.teal.enable

Whether to enable the teal diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.teal.package

The teal package to use.

Type: null or package

Default: pkgs.luaPackages.tl

Declared by:

plugins.none-ls.sources.diagnostics.teal.settings

Options provided to the require('null-ls').builtins.diagnostics.teal.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.terraform_validate.enable

Whether to enable the terraform_validate diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.terraform_validate.package

The terraform_validate package to use.

Type: null or package

Default: pkgs.terraform

Declared by:

plugins.none-ls.sources.diagnostics.terraform_validate.settings

Options provided to the require('null-ls').builtins.diagnostics.terraform_validate.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.terragrunt_validate.enable

Whether to enable the terragrunt_validate diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.terragrunt_validate.package

The terragrunt_validate package to use.

Type: null or package

Default: pkgs.terragrunt

Declared by:

plugins.none-ls.sources.diagnostics.terragrunt_validate.settings

Options provided to the require('null-ls').builtins.diagnostics.terragrunt_validate.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.textidote.enable

Whether to enable the textidote diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.textidote.package

Package to use for textidote. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.diagnostics.textidote.settings

Options provided to the require('null-ls').builtins.diagnostics.textidote.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.textlint.enable

Whether to enable the textlint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.textlint.package

Package to use for textlint. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.diagnostics.textlint.settings

Options provided to the require('null-ls').builtins.diagnostics.textlint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.tfsec.enable

Whether to enable the tfsec diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.tfsec.package

The tfsec package to use.

Type: null or package

Default: pkgs.tfsec

Declared by:

plugins.none-ls.sources.diagnostics.tfsec.settings

Options provided to the require('null-ls').builtins.diagnostics.tfsec.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.tidy.enable

Whether to enable the tidy diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.tidy.package

The tidy package to use.

Type: null or package

Default: pkgs.html-tidy

Declared by:

plugins.none-ls.sources.diagnostics.tidy.settings

Options provided to the require('null-ls').builtins.diagnostics.tidy.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.todo_comments.enable

Whether to enable the todo_comments diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.todo_comments.settings

Options provided to the require('null-ls').builtins.diagnostics.todo_comments.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.trail_space.enable

Whether to enable the trail_space diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.trail_space.settings

Options provided to the require('null-ls').builtins.diagnostics.trail_space.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.trivy.enable

Whether to enable the trivy diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.trivy.package

The trivy package to use.

Type: null or package

Default: pkgs.trivy

Declared by:

plugins.none-ls.sources.diagnostics.trivy.settings

Options provided to the require('null-ls').builtins.diagnostics.trivy.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.twigcs.enable

Whether to enable the twigcs diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.twigcs.package

Package to use for twigcs. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.diagnostics.twigcs.settings

Options provided to the require('null-ls').builtins.diagnostics.twigcs.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.vacuum.enable

Whether to enable the vacuum diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.vacuum.package

Package to use for vacuum. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.diagnostics.vacuum.settings

Options provided to the require('null-ls').builtins.diagnostics.vacuum.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.vale.enable

Whether to enable the vale diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.vale.package

The vale package to use.

Type: null or package

Default: pkgs.vale

Declared by:

plugins.none-ls.sources.diagnostics.vale.settings

Options provided to the require('null-ls').builtins.diagnostics.vale.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.verilator.enable

Whether to enable the verilator diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.verilator.package

The verilator package to use.

Type: null or package

Default: pkgs.verilator

Declared by:

plugins.none-ls.sources.diagnostics.verilator.settings

Options provided to the require('null-ls').builtins.diagnostics.verilator.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.vint.enable

Whether to enable the vint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.vint.package

The vint package to use.

Type: null or package

Default: pkgs.vim-vint

Declared by:

plugins.none-ls.sources.diagnostics.vint.settings

Options provided to the require('null-ls').builtins.diagnostics.vint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.write_good.enable

Whether to enable the write_good diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.write_good.package

The write_good package to use.

Type: null or package

Default: pkgs.write-good

Declared by:

plugins.none-ls.sources.diagnostics.write_good.settings

Options provided to the require('null-ls').builtins.diagnostics.write_good.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.yamllint.enable

Whether to enable the yamllint diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.yamllint.package

The yamllint package to use.

Type: null or package

Default: pkgs.yamllint

Declared by:

plugins.none-ls.sources.diagnostics.yamllint.settings

Options provided to the require('null-ls').builtins.diagnostics.yamllint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.diagnostics.zsh.enable

Whether to enable the zsh diagnostics source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.diagnostics.zsh.package

The zsh package to use.

Type: null or package

Default: pkgs.zsh

Declared by:

plugins.none-ls.sources.diagnostics.zsh.settings

Options provided to the require('null-ls').builtins.diagnostics.zsh.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.alejandra.enable

Whether to enable the alejandra formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.alejandra.package

The alejandra package to use.

Type: null or package

Default: pkgs.alejandra

Declared by:

plugins.none-ls.sources.formatting.alejandra.settings

Options provided to the require('null-ls').builtins.formatting.alejandra.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.asmfmt.enable

Whether to enable the asmfmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.asmfmt.package

The asmfmt package to use.

Type: null or package

Default: pkgs.asmfmt

Declared by:

plugins.none-ls.sources.formatting.asmfmt.settings

Options provided to the require('null-ls').builtins.formatting.asmfmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.astyle.enable

Whether to enable the astyle formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.astyle.package

The astyle package to use.

Type: null or package

Default: pkgs.astyle

Declared by:

plugins.none-ls.sources.formatting.astyle.settings

Options provided to the require('null-ls').builtins.formatting.astyle.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.atlas_fmt.enable

Whether to enable the atlas_fmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.atlas_fmt.package

The atlas_fmt package to use.

Type: null or package

Default: pkgs.atlas

Declared by:

plugins.none-ls.sources.formatting.atlas_fmt.settings

Options provided to the require('null-ls').builtins.formatting.atlas_fmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.bean_format.enable

Whether to enable the bean_format formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.bean_format.package

The bean_format package to use.

Type: null or package

Default: pkgs.beancount

Declared by:

plugins.none-ls.sources.formatting.bean_format.settings

Options provided to the require('null-ls').builtins.formatting.bean_format.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.bibclean.enable

Whether to enable the bibclean formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.bibclean.package

The bibclean package to use.

Type: null or package

Default: pkgs.bibclean

Declared by:

plugins.none-ls.sources.formatting.bibclean.settings

Options provided to the require('null-ls').builtins.formatting.bibclean.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.biome.enable

Whether to enable the biome formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.biome.package

The biome package to use.

Type: null or package

Default: pkgs.biome

Declared by:

plugins.none-ls.sources.formatting.biome.settings

Options provided to the require('null-ls').builtins.formatting.biome.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.black.enable

Whether to enable the black formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.black.package

The black package to use.

Type: null or package

Default: pkgs.python3.pkgs.black

Declared by:

plugins.none-ls.sources.formatting.black.settings

Options provided to the require('null-ls').builtins.formatting.black.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.blackd.enable

Whether to enable the blackd formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.blackd.package

The blackd package to use.

Type: null or package

Default: pkgs.black

Declared by:

plugins.none-ls.sources.formatting.blackd.settings

Options provided to the require('null-ls').builtins.formatting.blackd.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.blade_formatter.enable

Whether to enable the blade_formatter formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.blade_formatter.package

Package to use for blade_formatter. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.formatting.blade_formatter.settings

Options provided to the require('null-ls').builtins.formatting.blade_formatter.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.bsfmt.enable

Whether to enable the bsfmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.bsfmt.package

Package to use for bsfmt. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.formatting.bsfmt.settings

Options provided to the require('null-ls').builtins.formatting.bsfmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.buf.enable

Whether to enable the buf formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.buf.package

The buf package to use.

Type: null or package

Default: pkgs.buf

Declared by:

plugins.none-ls.sources.formatting.buf.settings

Options provided to the require('null-ls').builtins.formatting.buf.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.buildifier.enable

Whether to enable the buildifier formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.buildifier.package

The buildifier package to use.

Type: null or package

Default: pkgs.bazel-buildtools

Declared by:

plugins.none-ls.sources.formatting.buildifier.settings

Options provided to the require('null-ls').builtins.formatting.buildifier.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.cbfmt.enable

Whether to enable the cbfmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.cbfmt.package

The cbfmt package to use.

Type: null or package

Default: pkgs.cbfmt

Declared by:

plugins.none-ls.sources.formatting.cbfmt.settings

Options provided to the require('null-ls').builtins.formatting.cbfmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.clang_format.enable

Whether to enable the clang_format formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.clang_format.package

The clang_format package to use.

Type: null or package

Default: pkgs.clang-tools

Declared by:

plugins.none-ls.sources.formatting.clang_format.settings

Options provided to the require('null-ls').builtins.formatting.clang_format.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.cljfmt.enable

Whether to enable the cljfmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.cljfmt.package

The cljfmt package to use.

Type: null or package

Default: pkgs.cljfmt

Declared by:

plugins.none-ls.sources.formatting.cljfmt.settings

Options provided to the require('null-ls').builtins.formatting.cljfmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.cljstyle.enable

Whether to enable the cljstyle formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.cljstyle.package

Package to use for cljstyle. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.formatting.cljstyle.settings

Options provided to the require('null-ls').builtins.formatting.cljstyle.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.cmake_format.enable

Whether to enable the cmake_format formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.cmake_format.package

The cmake_format package to use.

Type: null or package

Default: pkgs.cmake-format

Declared by:

plugins.none-ls.sources.formatting.cmake_format.settings

Options provided to the require('null-ls').builtins.formatting.cmake_format.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.codespell.enable

Whether to enable the codespell formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.codespell.package

The codespell package to use.

Type: null or package

Default: pkgs.codespell

Declared by:

plugins.none-ls.sources.formatting.codespell.settings

Options provided to the require('null-ls').builtins.formatting.codespell.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.crystal_format.enable

Whether to enable the crystal_format formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.crystal_format.package

The crystal_format package to use.

Type: null or package

Default: pkgs.crystal

Declared by:

plugins.none-ls.sources.formatting.crystal_format.settings

Options provided to the require('null-ls').builtins.formatting.crystal_format.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.csharpier.enable

Whether to enable the csharpier formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.csharpier.package

The csharpier package to use.

Type: null or package

Default: pkgs.csharpier

Declared by:

plugins.none-ls.sources.formatting.csharpier.settings

Options provided to the require('null-ls').builtins.formatting.csharpier.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.cue_fmt.enable

Whether to enable the cue_fmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.cue_fmt.package

The cue_fmt package to use.

Type: null or package

Default: pkgs.cue

Declared by:

plugins.none-ls.sources.formatting.cue_fmt.settings

Options provided to the require('null-ls').builtins.formatting.cue_fmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.cueimports.enable

Whether to enable the cueimports formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.cueimports.package

Package to use for cueimports. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.formatting.cueimports.settings

Options provided to the require('null-ls').builtins.formatting.cueimports.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.d2_fmt.enable

Whether to enable the d2_fmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.d2_fmt.package

The d2_fmt package to use.

Type: null or package

Default: pkgs.d2

Declared by:

plugins.none-ls.sources.formatting.d2_fmt.settings

Options provided to the require('null-ls').builtins.formatting.d2_fmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.dart_format.enable

Whether to enable the dart_format formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.dart_format.package

The dart_format package to use.

Type: null or package

Default: pkgs.dart

Declared by:

plugins.none-ls.sources.formatting.dart_format.settings

Options provided to the require('null-ls').builtins.formatting.dart_format.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.dfmt.enable

Whether to enable the dfmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.dfmt.package

The dfmt package to use.

Type: null or package

Default: pkgs.dfmt

Declared by:

plugins.none-ls.sources.formatting.dfmt.settings

Options provided to the require('null-ls').builtins.formatting.dfmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.djhtml.enable

Whether to enable the djhtml formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.djhtml.package

The djhtml package to use.

Type: null or package

Default: pkgs.djhtml

Declared by:

plugins.none-ls.sources.formatting.djhtml.settings

Options provided to the require('null-ls').builtins.formatting.djhtml.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.djlint.enable

Whether to enable the djlint formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.djlint.package

The djlint package to use.

Type: null or package

Default: pkgs.djlint

Declared by:

plugins.none-ls.sources.formatting.djlint.settings

Options provided to the require('null-ls').builtins.formatting.djlint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.duster.enable

Whether to enable the duster formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.duster.package

Package to use for duster. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.formatting.duster.settings

Options provided to the require('null-ls').builtins.formatting.duster.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.dxfmt.enable

Whether to enable the dxfmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.dxfmt.package

The dxfmt package to use.

Type: null or package

Default: pkgs.dioxus-cli

Declared by:

plugins.none-ls.sources.formatting.dxfmt.settings

Options provided to the require('null-ls').builtins.formatting.dxfmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.elm_format.enable

Whether to enable the elm_format formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.elm_format.package

The elm_format package to use.

Type: null or package

Default: pkgs.elmPackages.elm-format

Declared by:

plugins.none-ls.sources.formatting.elm_format.settings

Options provided to the require('null-ls').builtins.formatting.elm_format.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.emacs_scheme_mode.enable

Whether to enable the emacs_scheme_mode formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.emacs_scheme_mode.package

The emacs_scheme_mode package to use.

Type: null or package

Default: pkgs.emacs

Declared by:

plugins.none-ls.sources.formatting.emacs_scheme_mode.settings

Options provided to the require('null-ls').builtins.formatting.emacs_scheme_mode.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.emacs_vhdl_mode.enable

Whether to enable the emacs_vhdl_mode formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.emacs_vhdl_mode.package

The emacs_vhdl_mode package to use.

Type: null or package

Default: pkgs.emacs

Declared by:

plugins.none-ls.sources.formatting.emacs_vhdl_mode.settings

Options provided to the require('null-ls').builtins.formatting.emacs_vhdl_mode.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.erb_format.enable

Whether to enable the erb_format formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.erb_format.package

The erb_format package to use.

Type: null or package

Default: pkgs.rubyPackages.erb-formatter

Declared by:

plugins.none-ls.sources.formatting.erb_format.settings

Options provided to the require('null-ls').builtins.formatting.erb_format.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.erb_lint.enable

Whether to enable the erb_lint formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.erb_lint.package

Package to use for erb_lint. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.formatting.erb_lint.settings

Options provided to the require('null-ls').builtins.formatting.erb_lint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.erlfmt.enable

Whether to enable the erlfmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.erlfmt.package

The erlfmt package to use.

Type: null or package

Default: pkgs.erlfmt

Declared by:

plugins.none-ls.sources.formatting.erlfmt.settings

Options provided to the require('null-ls').builtins.formatting.erlfmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.fantomas.enable

Whether to enable the fantomas formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.fantomas.package

The fantomas package to use.

Type: null or package

Default: pkgs.fantomas

Declared by:

plugins.none-ls.sources.formatting.fantomas.settings

Options provided to the require('null-ls').builtins.formatting.fantomas.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.findent.enable

Whether to enable the findent formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.findent.package

Package to use for findent. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.formatting.findent.settings

Options provided to the require('null-ls').builtins.formatting.findent.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.fish_indent.enable

Whether to enable the fish_indent formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.fish_indent.package

The fish_indent package to use.

Type: null or package

Default: pkgs.fish

Declared by:

plugins.none-ls.sources.formatting.fish_indent.settings

Options provided to the require('null-ls').builtins.formatting.fish_indent.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.fnlfmt.enable

Whether to enable the fnlfmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.fnlfmt.package

The fnlfmt package to use.

Type: null or package

Default: pkgs.fnlfmt

Declared by:

plugins.none-ls.sources.formatting.fnlfmt.settings

Options provided to the require('null-ls').builtins.formatting.fnlfmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.forge_fmt.enable

Whether to enable the forge_fmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.forge_fmt.package

Package to use for forge_fmt. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.formatting.forge_fmt.settings

Options provided to the require('null-ls').builtins.formatting.forge_fmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.format_r.enable

Whether to enable the format_r formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.format_r.package

The format_r package to use.

Type: null or package

Default: pkgs.R

Declared by:

plugins.none-ls.sources.formatting.format_r.settings

Options provided to the require('null-ls').builtins.formatting.format_r.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.fprettify.enable

Whether to enable the fprettify formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.fprettify.package

The fprettify package to use.

Type: null or package

Default: pkgs.fprettify

Declared by:

plugins.none-ls.sources.formatting.fprettify.settings

Options provided to the require('null-ls').builtins.formatting.fprettify.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.gdformat.enable

Whether to enable the gdformat formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.gdformat.package

The gdformat package to use.

Type: null or package

Default: pkgs.gdtoolkit_4

Declared by:

plugins.none-ls.sources.formatting.gdformat.settings

Options provided to the require('null-ls').builtins.formatting.gdformat.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.gersemi.enable

Whether to enable the gersemi formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.gersemi.package

The gersemi package to use.

Type: null or package

Default: pkgs.gersemi

Declared by:

plugins.none-ls.sources.formatting.gersemi.settings

Options provided to the require('null-ls').builtins.formatting.gersemi.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.gleam_format.enable

Whether to enable the gleam_format formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.gleam_format.package

The gleam_format package to use.

Type: null or package

Default: pkgs.gleam

Declared by:

plugins.none-ls.sources.formatting.gleam_format.settings

Options provided to the require('null-ls').builtins.formatting.gleam_format.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.gn_format.enable

Whether to enable the gn_format formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.gn_format.package

The gn_format package to use.

Type: null or package

Default: pkgs.gn

Declared by:

plugins.none-ls.sources.formatting.gn_format.settings

Options provided to the require('null-ls').builtins.formatting.gn_format.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.gofmt.enable

Whether to enable the gofmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.gofmt.package

The gofmt package to use.

Type: null or package

Default: pkgs.go

Declared by:

plugins.none-ls.sources.formatting.gofmt.settings

Options provided to the require('null-ls').builtins.formatting.gofmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.gofumpt.enable

Whether to enable the gofumpt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.gofumpt.package

The gofumpt package to use.

Type: null or package

Default: pkgs.gofumpt

Declared by:

plugins.none-ls.sources.formatting.gofumpt.settings

Options provided to the require('null-ls').builtins.formatting.gofumpt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.goimports.enable

Whether to enable the goimports formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.goimports.package

The goimports package to use.

Type: null or package

Default: pkgs.gotools

Declared by:

plugins.none-ls.sources.formatting.goimports.settings

Options provided to the require('null-ls').builtins.formatting.goimports.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.goimports_reviser.enable

Whether to enable the goimports_reviser formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.goimports_reviser.package

The goimports_reviser package to use.

Type: null or package

Default: pkgs.goimports-reviser

Declared by:

plugins.none-ls.sources.formatting.goimports_reviser.settings

Options provided to the require('null-ls').builtins.formatting.goimports_reviser.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.golines.enable

Whether to enable the golines formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.golines.package

The golines package to use.

Type: null or package

Default: pkgs.golines

Declared by:

plugins.none-ls.sources.formatting.golines.settings

Options provided to the require('null-ls').builtins.formatting.golines.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.google_java_format.enable

Whether to enable the google_java_format formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.google_java_format.package

The google_java_format package to use.

Type: null or package

Default: pkgs.google-java-format

Declared by:

plugins.none-ls.sources.formatting.google_java_format.settings

Options provided to the require('null-ls').builtins.formatting.google_java_format.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.haxe_formatter.enable

Whether to enable the haxe_formatter formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.haxe_formatter.package

The haxe_formatter package to use.

Type: null or package

Default: pkgs.haxe

Declared by:

plugins.none-ls.sources.formatting.haxe_formatter.settings

Options provided to the require('null-ls').builtins.formatting.haxe_formatter.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.hclfmt.enable

Whether to enable the hclfmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.hclfmt.package

The hclfmt package to use.

Type: null or package

Default: pkgs.hclfmt

Declared by:

plugins.none-ls.sources.formatting.hclfmt.settings

Options provided to the require('null-ls').builtins.formatting.hclfmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.htmlbeautifier.enable

Whether to enable the htmlbeautifier formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.htmlbeautifier.package

The htmlbeautifier package to use.

Type: null or package

Default: pkgs.rubyPackages.htmlbeautifier

Declared by:

plugins.none-ls.sources.formatting.htmlbeautifier.settings

Options provided to the require('null-ls').builtins.formatting.htmlbeautifier.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.isort.enable

Whether to enable the isort formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.isort.package

The isort package to use.

Type: null or package

Default: pkgs.isort

Declared by:

plugins.none-ls.sources.formatting.isort.settings

Options provided to the require('null-ls').builtins.formatting.isort.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.isortd.enable

Whether to enable the isortd formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.isortd.package

The isortd package to use.

Type: null or package

Default: pkgs.isort

Declared by:

plugins.none-ls.sources.formatting.isortd.settings

Options provided to the require('null-ls').builtins.formatting.isortd.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.joker.enable

Whether to enable the joker formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.joker.package

The joker package to use.

Type: null or package

Default: pkgs.joker

Declared by:

plugins.none-ls.sources.formatting.joker.settings

Options provided to the require('null-ls').builtins.formatting.joker.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.just.enable

Whether to enable the just formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.just.package

The just package to use.

Type: null or package

Default: pkgs.just

Declared by:

plugins.none-ls.sources.formatting.just.settings

Options provided to the require('null-ls').builtins.formatting.just.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.ktlint.enable

Whether to enable the ktlint formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.ktlint.package

The ktlint package to use.

Type: null or package

Default: pkgs.ktlint

Declared by:

plugins.none-ls.sources.formatting.ktlint.settings

Options provided to the require('null-ls').builtins.formatting.ktlint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.leptosfmt.enable

Whether to enable the leptosfmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.leptosfmt.package

The leptosfmt package to use.

Type: null or package

Default: pkgs.leptosfmt

Declared by:

plugins.none-ls.sources.formatting.leptosfmt.settings

Options provided to the require('null-ls').builtins.formatting.leptosfmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.markdownlint.enable

Whether to enable the markdownlint formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.markdownlint.package

The markdownlint package to use.

Type: null or package

Default: pkgs.markdownlint-cli

Declared by:

plugins.none-ls.sources.formatting.markdownlint.settings

Options provided to the require('null-ls').builtins.formatting.markdownlint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.mdformat.enable

Whether to enable the mdformat formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.mdformat.package

The mdformat package to use.

Type: null or package

Default: pkgs.mdformat

Declared by:

plugins.none-ls.sources.formatting.mdformat.settings

Options provided to the require('null-ls').builtins.formatting.mdformat.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.mix.enable

Whether to enable the mix formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.mix.package

The mix package to use.

Type: null or package

Default: pkgs.elixir

Declared by:

plugins.none-ls.sources.formatting.mix.settings

Options provided to the require('null-ls').builtins.formatting.mix.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.nginx_beautifier.enable

Whether to enable the nginx_beautifier formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.nginx_beautifier.package

Package to use for nginx_beautifier. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.formatting.nginx_beautifier.settings

Options provided to the require('null-ls').builtins.formatting.nginx_beautifier.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.nimpretty.enable

Whether to enable the nimpretty formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.nimpretty.package

The nimpretty package to use.

Type: null or package

Default: pkgs.nim

Declared by:

plugins.none-ls.sources.formatting.nimpretty.settings

Options provided to the require('null-ls').builtins.formatting.nimpretty.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.nix_flake_fmt.enable

Whether to enable the nix_flake_fmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.nix_flake_fmt.settings

Options provided to the require('null-ls').builtins.formatting.nix_flake_fmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.nixfmt.enable

Whether to enable the nixfmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.nixfmt.package

The nixfmt package to use.

Type: null or package

Default: pkgs.nixfmt-classic

Declared by:

plugins.none-ls.sources.formatting.nixfmt.settings

Options provided to the require('null-ls').builtins.formatting.nixfmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.nixpkgs_fmt.enable

Whether to enable the nixpkgs_fmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.nixpkgs_fmt.package

The nixpkgs_fmt package to use.

Type: null or package

Default: pkgs.nixpkgs-fmt

Declared by:

plugins.none-ls.sources.formatting.nixpkgs_fmt.settings

Options provided to the require('null-ls').builtins.formatting.nixpkgs_fmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.npm_groovy_lint.enable

Whether to enable the npm_groovy_lint formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.npm_groovy_lint.package

Package to use for npm_groovy_lint. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.formatting.npm_groovy_lint.settings

Options provided to the require('null-ls').builtins.formatting.npm_groovy_lint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.ocamlformat.enable

Whether to enable the ocamlformat formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.ocamlformat.package

The ocamlformat package to use.

Type: null or package

Default: pkgs.ocamlPackages.ocamlformat

Declared by:

plugins.none-ls.sources.formatting.ocamlformat.settings

Options provided to the require('null-ls').builtins.formatting.ocamlformat.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.ocdc.enable

Whether to enable the ocdc formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.ocdc.package

Package to use for ocdc. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.formatting.ocdc.settings

Options provided to the require('null-ls').builtins.formatting.ocdc.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.opentofu_fmt.enable

Whether to enable the opentofu_fmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.opentofu_fmt.package

The opentofu_fmt package to use.

Type: null or package

Default: pkgs.opentofu

Declared by:

plugins.none-ls.sources.formatting.opentofu_fmt.settings

Options provided to the require('null-ls').builtins.formatting.opentofu_fmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.packer.enable

Whether to enable the packer formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.packer.package

Package to use for packer. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.formatting.packer.settings

Options provided to the require('null-ls').builtins.formatting.packer.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.pg_format.enable

Whether to enable the pg_format formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.pg_format.package

The pg_format package to use.

Type: null or package

Default: pkgs.pgformatter

Declared by:

plugins.none-ls.sources.formatting.pg_format.settings

Options provided to the require('null-ls').builtins.formatting.pg_format.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.phpcbf.enable

Whether to enable the phpcbf formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.phpcbf.package

The phpcbf package to use.

Type: null or package

Default: pkgs.phpPackages.php-codesniffer

Declared by:

plugins.none-ls.sources.formatting.phpcbf.settings

Options provided to the require('null-ls').builtins.formatting.phpcbf.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.phpcsfixer.enable

Whether to enable the phpcsfixer formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.phpcsfixer.package

The phpcsfixer package to use.

Type: null or package

Default: pkgs.phpPackages.php-cs-fixer

Declared by:

plugins.none-ls.sources.formatting.phpcsfixer.settings

Options provided to the require('null-ls').builtins.formatting.phpcsfixer.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.pint.enable

Whether to enable the pint formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.pint.package

Package to use for pint. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.formatting.pint.settings

Options provided to the require('null-ls').builtins.formatting.pint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.prettier.enable

Whether to enable the prettier formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.prettier.package

The prettier package to use.

Type: null or package

Default: pkgs.nodePackages.prettier

Declared by:

plugins.none-ls.sources.formatting.prettier.disableTsServerFormatter

Disables the formatting capability of the ts_ls language server if it is enabled.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.prettier.settings

Options provided to the require('null-ls').builtins.formatting.prettier.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.prettierd.enable

Whether to enable the prettierd formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.prettierd.package

The prettierd package to use.

Type: null or package

Default: pkgs.prettierd

Declared by:

plugins.none-ls.sources.formatting.prettierd.disableTsServerFormatter

Disables the formatting capability of the ts_ls language server if it is enabled.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.prettierd.settings

Options provided to the require('null-ls').builtins.formatting.prettierd.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.pretty_php.enable

Whether to enable the pretty_php formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.pretty_php.package

Package to use for pretty_php. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.formatting.pretty_php.settings

Options provided to the require('null-ls').builtins.formatting.pretty_php.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.prisma_format.enable

Whether to enable the prisma_format formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.prisma_format.package

The prisma_format package to use.

Type: null or package

Default: pkgs.nodePackages.prisma

Declared by:

plugins.none-ls.sources.formatting.prisma_format.settings

Options provided to the require('null-ls').builtins.formatting.prisma_format.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.protolint.enable

Whether to enable the protolint formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.protolint.package

The protolint package to use.

Type: null or package

Default: pkgs.protolint

Declared by:

plugins.none-ls.sources.formatting.protolint.settings

Options provided to the require('null-ls').builtins.formatting.protolint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.ptop.enable

Whether to enable the ptop formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.ptop.package

The ptop package to use.

Type: null or package

Default: pkgs.fpc

Declared by:

plugins.none-ls.sources.formatting.ptop.settings

Options provided to the require('null-ls').builtins.formatting.ptop.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.puppet_lint.enable

Whether to enable the puppet_lint formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.puppet_lint.package

The puppet_lint package to use.

Type: null or package

Default: pkgs.puppet-lint

Declared by:

plugins.none-ls.sources.formatting.puppet_lint.settings

Options provided to the require('null-ls').builtins.formatting.puppet_lint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.purs_tidy.enable

Whether to enable the purs_tidy formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.purs_tidy.package

Package to use for purs_tidy. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.formatting.purs_tidy.settings

Options provided to the require('null-ls').builtins.formatting.purs_tidy.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.pyink.enable

Whether to enable the pyink formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.pyink.package

Package to use for pyink. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.formatting.pyink.settings

Options provided to the require('null-ls').builtins.formatting.pyink.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.qmlformat.enable

Whether to enable the qmlformat formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.qmlformat.package

The qmlformat package to use.

Type: null or package

Default: pkgs.qt6.qtdeclarative

Declared by:

plugins.none-ls.sources.formatting.qmlformat.settings

Options provided to the require('null-ls').builtins.formatting.qmlformat.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.racket_fixw.enable

Whether to enable the racket_fixw formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.racket_fixw.package

The racket_fixw package to use.

Type: null or package

Default: pkgs.racket

Declared by:

plugins.none-ls.sources.formatting.racket_fixw.settings

Options provided to the require('null-ls').builtins.formatting.racket_fixw.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.raco_fmt.enable

Whether to enable the raco_fmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.raco_fmt.package

The raco_fmt package to use.

Type: null or package

Default: pkgs.racket

Declared by:

plugins.none-ls.sources.formatting.raco_fmt.settings

Options provided to the require('null-ls').builtins.formatting.raco_fmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.rego.enable

Whether to enable the rego formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.rego.package

The rego package to use.

Type: null or package

Default: pkgs.open-policy-agent

Declared by:

plugins.none-ls.sources.formatting.rego.settings

Options provided to the require('null-ls').builtins.formatting.rego.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.remark.enable

Whether to enable the remark formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.remark.package

Package to use for remark. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.formatting.remark.settings

Options provided to the require('null-ls').builtins.formatting.remark.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.rescript.enable

Whether to enable the rescript formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.rescript.package

Package to use for rescript. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.formatting.rescript.settings

Options provided to the require('null-ls').builtins.formatting.rescript.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.rubocop.enable

Whether to enable the rubocop formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.rubocop.package

The rubocop package to use.

Type: null or package

Default: pkgs.rubocop

Declared by:

plugins.none-ls.sources.formatting.rubocop.settings

Options provided to the require('null-ls').builtins.formatting.rubocop.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.rubyfmt.enable

Whether to enable the rubyfmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.rubyfmt.package

The rubyfmt package to use.

Type: null or package

Default: pkgs.rubyfmt

Declared by:

plugins.none-ls.sources.formatting.rubyfmt.settings

Options provided to the require('null-ls').builtins.formatting.rubyfmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.rufo.enable

Whether to enable the rufo formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.rufo.package

The rufo package to use.

Type: null or package

Default: pkgs.rufo

Declared by:

plugins.none-ls.sources.formatting.rufo.settings

Options provided to the require('null-ls').builtins.formatting.rufo.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.rustywind.enable

Whether to enable the rustywind formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.rustywind.package

The rustywind package to use.

Type: null or package

Default: pkgs.rustywind

Declared by:

plugins.none-ls.sources.formatting.rustywind.settings

Options provided to the require('null-ls').builtins.formatting.rustywind.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.scalafmt.enable

Whether to enable the scalafmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.scalafmt.package

The scalafmt package to use.

Type: null or package

Default: pkgs.scalafmt

Declared by:

plugins.none-ls.sources.formatting.scalafmt.settings

Options provided to the require('null-ls').builtins.formatting.scalafmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.shellharden.enable

Whether to enable the shellharden formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.shellharden.package

The shellharden package to use.

Type: null or package

Default: pkgs.shellharden

Declared by:

plugins.none-ls.sources.formatting.shellharden.settings

Options provided to the require('null-ls').builtins.formatting.shellharden.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.shfmt.enable

Whether to enable the shfmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.shfmt.package

The shfmt package to use.

Type: null or package

Default: pkgs.shfmt

Declared by:

plugins.none-ls.sources.formatting.shfmt.settings

Options provided to the require('null-ls').builtins.formatting.shfmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.smlfmt.enable

Whether to enable the smlfmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.smlfmt.package

The smlfmt package to use.

Type: null or package

Default: pkgs.smlfmt

Declared by:

plugins.none-ls.sources.formatting.smlfmt.settings

Options provided to the require('null-ls').builtins.formatting.smlfmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.sql_formatter.enable

Whether to enable the sql_formatter formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.sql_formatter.package

Package to use for sql_formatter. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.formatting.sql_formatter.settings

Options provided to the require('null-ls').builtins.formatting.sql_formatter.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.sqlfluff.enable

Whether to enable the sqlfluff formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.sqlfluff.package

The sqlfluff package to use.

Type: null or package

Default: pkgs.sqlfluff

Declared by:

plugins.none-ls.sources.formatting.sqlfluff.settings

Options provided to the require('null-ls').builtins.formatting.sqlfluff.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.sqlfmt.enable

Whether to enable the sqlfmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.sqlfmt.package

Package to use for sqlfmt. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.formatting.sqlfmt.settings

Options provided to the require('null-ls').builtins.formatting.sqlfmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.sqlformat.enable

Whether to enable the sqlformat formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.sqlformat.package

The sqlformat package to use.

Type: null or package

Default: pkgs.python3.pkgs.sqlparse

Declared by:

plugins.none-ls.sources.formatting.sqlformat.settings

Options provided to the require('null-ls').builtins.formatting.sqlformat.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.sqruff.enable

Whether to enable the sqruff formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.sqruff.package

The sqruff package to use.

Type: null or package

Default: pkgs.sqruff

Declared by:

plugins.none-ls.sources.formatting.sqruff.settings

Options provided to the require('null-ls').builtins.formatting.sqruff.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.stylelint.enable

Whether to enable the stylelint formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.stylelint.package

The stylelint package to use.

Type: null or package

Default: pkgs.stylelint

Declared by:

plugins.none-ls.sources.formatting.stylelint.settings

Options provided to the require('null-ls').builtins.formatting.stylelint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.styler.enable

Whether to enable the styler formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.styler.package

Package to use for styler. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.formatting.styler.settings

Options provided to the require('null-ls').builtins.formatting.styler.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.stylua.enable

Whether to enable the stylua formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.stylua.package

The stylua package to use.

Type: null or package

Default: pkgs.stylua

Declared by:

plugins.none-ls.sources.formatting.stylua.settings

Options provided to the require('null-ls').builtins.formatting.stylua.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.surface.enable

Whether to enable the surface formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.surface.package

The surface package to use.

Type: null or package

Default: pkgs.elixir

Declared by:

plugins.none-ls.sources.formatting.surface.settings

Options provided to the require('null-ls').builtins.formatting.surface.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.swift_format.enable

Whether to enable the swift_format formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.swift_format.package

The swift_format package to use.

Type: null or package

Default: pkgs.swift-format

Declared by:

plugins.none-ls.sources.formatting.swift_format.settings

Options provided to the require('null-ls').builtins.formatting.swift_format.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.swiftformat.enable

Whether to enable the swiftformat formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.swiftformat.package

Package to use for swiftformat. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.formatting.swiftformat.settings

Options provided to the require('null-ls').builtins.formatting.swiftformat.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.swiftlint.enable

Whether to enable the swiftlint formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.swiftlint.package

Package to use for swiftlint. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.formatting.swiftlint.settings

Options provided to the require('null-ls').builtins.formatting.swiftlint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.terraform_fmt.enable

Whether to enable the terraform_fmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.terraform_fmt.package

The terraform_fmt package to use.

Type: null or package

Default: pkgs.terraform

Declared by:

plugins.none-ls.sources.formatting.terraform_fmt.settings

Options provided to the require('null-ls').builtins.formatting.terraform_fmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.terragrunt_fmt.enable

Whether to enable the terragrunt_fmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.terragrunt_fmt.package

The terragrunt_fmt package to use.

Type: null or package

Default: pkgs.terragrunt

Declared by:

plugins.none-ls.sources.formatting.terragrunt_fmt.settings

Options provided to the require('null-ls').builtins.formatting.terragrunt_fmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.textlint.enable

Whether to enable the textlint formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.textlint.package

Package to use for textlint. Nixpkgs does not include this package, and as such an external derivation or null must be provided.

Type: null or package

Default: No package, throws when undefined

Declared by:

plugins.none-ls.sources.formatting.textlint.settings

Options provided to the require('null-ls').builtins.formatting.textlint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.tidy.enable

Whether to enable the tidy formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.tidy.package

The tidy package to use.

Type: null or package

Default: pkgs.html-tidy

Declared by:

plugins.none-ls.sources.formatting.tidy.settings

Options provided to the require('null-ls').builtins.formatting.tidy.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.topiary.enable

Whether to enable the topiary formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.topiary.package

The topiary package to use.

Type: null or package

Default: pkgs.topiary

Declared by:

plugins.none-ls.sources.formatting.topiary.settings

Options provided to the require('null-ls').builtins.formatting.topiary.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.treefmt.enable

Whether to enable the treefmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.treefmt.package

The treefmt package to use.

Type: null or package

Default: pkgs.treefmt

Declared by:

plugins.none-ls.sources.formatting.treefmt.settings

Options provided to the require('null-ls').builtins.formatting.treefmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.typstfmt.enable

Whether to enable the typstfmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.typstfmt.package

The typstfmt package to use.

Type: null or package

Default: pkgs.typstfmt

Declared by:

plugins.none-ls.sources.formatting.typstfmt.settings

Options provided to the require('null-ls').builtins.formatting.typstfmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.typstyle.enable

Whether to enable the typstyle formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.typstyle.package

The typstyle package to use.

Type: null or package

Default: pkgs.typstyle

Declared by:

plugins.none-ls.sources.formatting.typstyle.settings

Options provided to the require('null-ls').builtins.formatting.typstyle.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.uncrustify.enable

Whether to enable the uncrustify formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.uncrustify.package

The uncrustify package to use.

Type: null or package

Default: pkgs.uncrustify

Declared by:

plugins.none-ls.sources.formatting.uncrustify.settings

Options provided to the require('null-ls').builtins.formatting.uncrustify.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.usort.enable

Whether to enable the usort formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.usort.package

The usort package to use.

Type: null or package

Default: pkgs.usort

Declared by:

plugins.none-ls.sources.formatting.usort.settings

Options provided to the require('null-ls').builtins.formatting.usort.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.verible_verilog_format.enable

Whether to enable the verible_verilog_format formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.verible_verilog_format.package

The verible_verilog_format package to use.

Type: null or package

Default: pkgs.verible

Declared by:

plugins.none-ls.sources.formatting.verible_verilog_format.settings

Options provided to the require('null-ls').builtins.formatting.verible_verilog_format.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.xmllint.enable

Whether to enable the xmllint formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.xmllint.package

The xmllint package to use.

Type: null or package

Default: pkgs.libxml2

Declared by:

plugins.none-ls.sources.formatting.xmllint.settings

Options provided to the require('null-ls').builtins.formatting.xmllint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.yamlfix.enable

Whether to enable the yamlfix formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.yamlfix.package

The yamlfix package to use.

Type: null or package

Default: pkgs.yamlfix

Declared by:

plugins.none-ls.sources.formatting.yamlfix.settings

Options provided to the require('null-ls').builtins.formatting.yamlfix.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.yamlfmt.enable

Whether to enable the yamlfmt formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.yamlfmt.package

The yamlfmt package to use.

Type: null or package

Default: pkgs.yamlfmt

Declared by:

plugins.none-ls.sources.formatting.yamlfmt.settings

Options provided to the require('null-ls').builtins.formatting.yamlfmt.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.yapf.enable

Whether to enable the yapf formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.yapf.package

The yapf package to use.

Type: null or package

Default: pkgs.yapf

Declared by:

plugins.none-ls.sources.formatting.yapf.settings

Options provided to the require('null-ls').builtins.formatting.yapf.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.formatting.zprint.enable

Whether to enable the zprint formatting source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.formatting.zprint.package

The zprint package to use.

Type: null or package

Default: pkgs.zprint

Declared by:

plugins.none-ls.sources.formatting.zprint.settings

Options provided to the require('null-ls').builtins.formatting.zprint.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.hover.dictionary.enable

Whether to enable the dictionary hover source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.hover.dictionary.package

The dictionary package to use.

Type: null or package

Default: pkgs.curl

Declared by:

plugins.none-ls.sources.hover.dictionary.settings

Options provided to the require('null-ls').builtins.hover.dictionary.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

plugins.none-ls.sources.hover.printenv.enable

Whether to enable the printenv hover source for none-ls.

Type: boolean

Default: false

Example: true

Declared by:

plugins.none-ls.sources.hover.printenv.settings

Options provided to the require('null-ls').builtins.hover.printenv.with function.

See upstream’s BUILTIN_CONFIG documentation.

Type: null or lua code string or attribute set of anything

Default: null

Example:

{
  disabled_filetypes = [
    "lua"
  ];
  extra_args = [
    "-i"
    "2"
    "-ci"
  ];
  extra_filetypes = [
    "toml"
  ];
}

Declared by:

notebook-navigator

URL: https://github.com/GCBallesteros/NotebookNavigator.nvim/

Maintainers: Gaetan Lepage

plugins.notebook-navigator.enable

Whether to enable NotebookNavigator-nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.notebook-navigator.package

The NotebookNavigator-nvim package to use.

Type: package

Default: pkgs.vimPlugins.NotebookNavigator-nvim

Declared by:

plugins.notebook-navigator.autoLoad

Whether to automatically load NotebookNavigator-nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.notebook-navigator.lazyLoad

Lazy-load settings for NotebookNavigator-nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.notebook-navigator.lazyLoad.enable

lazy-loading for NotebookNavigator-nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.notebook-navigator.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.notebook-navigator.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.notebook-navigator.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.notebook-navigator.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.notebook-navigator.settings

Options provided to the require('notebook-navigator').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  activate_hydra_keys = "<leader>h";
  cell_highlight_group = "Folded";
  cell_markers = {
    python = "# %%";
  };
  hydra_keys = {
    add_cell_after = "b";
    add_cell_before = "a";
    comment = "c";
    move_down = "j";
    move_up = "k";
    run = "X";
    run_and_move = "x";
    split_cell = "s";
  };
  repl_provider = "molten";
  syntax_highlight = true;
}

Declared by:

plugins.notebook-navigator.settings.activate_hydra_keys

If not nil the keymap defined in the string will activate the hydra head. If you don’t want to use hydra you don’t need to install it either.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.notebook-navigator.settings.cell_highlight_group

For use with mini.hipatterns to highlight cell markers.

Type: null or string or raw lua code

Default: null

Plugin default: "Folded"

Declared by:

plugins.notebook-navigator.settings.cell_markers

Code cell marker.

Cells start with the marker and end either at the beginning of the next cell or at the end of the file.

By default, uses language-specific double percent comments like # %%. This can be overridden for each language with this setting.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Example:

{
  python = "# %%";
}

Declared by:

plugins.notebook-navigator.settings.hydra_keys

Mappings while the hydra head is active.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  add_cell_after = "b";
  add_cell_before = "a";
  comment = "c";
  move_down = "j";
  move_up = "k";
  run = "X";
  run_and_move = "x";
  split_cell = "s";
}

Declared by:

plugins.notebook-navigator.settings.repl_provider

The repl plugin with which to interface.

Current options:

  • “iron” for iron.nvim,
  • “toggleterm” for toggleterm.nvim,
  • “molten” for molten-nvim
  • “auto” which checks which of the above are installed

Type: null or one of “auto”, “iron”, “molten”, “toggleterm” or raw lua code

Default: null

Plugin default: "auto"

Declared by:

plugins.notebook-navigator.settings.show_hydra_hint

If true a hint panel will be shown when the hydra head is active. If false you get a minimalistic hint on the command line.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.notebook-navigator.settings.syntax_highlight

Syntax based highlighting.

If you don’t want to install mini.hipattners or enjoy a more minimalistic look.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

notify

URL: https://github.com/rcarriga/nvim-notify/

Maintainers: Austin Horstman


A fancy, configurable, notification manager for Neovim.

plugins.notify.enable

Whether to enable nvim-notify.

Type: boolean

Default: false

Example: true

Declared by:

plugins.notify.package

The nvim-notify package to use.

Type: package

Default: pkgs.vimPlugins.nvim-notify

Declared by:

plugins.notify.autoLoad

Whether to automatically load nvim-notify when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.notify.lazyLoad

Lazy-load settings for nvim-notify.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.notify.lazyLoad.enable

lazy-loading for nvim-notify

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.notify.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.notify.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.notify.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.notify.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.notify.settings

Options provided to the require('notify').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  settings = {
    background_colour = "#000000";
    fps = 30;
    icons = {
      debug = "";
      error = "";
      info = "";
      trace = "✎";
      warn = "";
    };
    level = "info";
    max_height = 10;
    max_width = 80;
    minimum_width = 50;
    on_close = {
      __raw = "function() print('Window closed') end";
    };
    on_open = {
      __raw = "function() print('Window opened') end";
    };
    render = "default";
    stages = "fade_in_slide_out";
    timeout = 5000;
    top_down = true;
  };
}

Declared by:

plugins.notify.settings.background_colour

For stages that change opacity this is treated as the highlight behind the window. Set this to either a highlight group, an RGB hex value e.g. “#000000” or a function returning an RGB code for dynamic values.

Type: null or string or raw lua code

Default: null

Plugin default: "NotifyBackground"

Declared by:

plugins.notify.settings.fps

Frames per second for animation stages, higher value means smoother animations but more CPU usage.

Type: null or positive integer, meaning >0, or raw lua code

Default: null

Plugin default: 30

Declared by:

plugins.notify.settings.level

Minimum log level to display. See vim.log.levels.

Type: null or unsigned integer, meaning >=0, or one of “off”, “error”, “warn”, “info”, “debug”, “trace”

Default: null

Plugin default: "info"

Declared by:

plugins.notify.settings.max_height

Max number of lines for a message.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Declared by:

plugins.notify.settings.max_width

Max number of columns for messages.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Declared by:

plugins.notify.settings.minimum_width

Minimum width for notification windows.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 50

Declared by:

plugins.notify.settings.on_close

Function called when a new window is closed.

Type: null or lua function string

Default: null

Plugin default: "nil"

Declared by:

plugins.notify.settings.on_open

Function called when a new window is opened, use for changing win settings/config.

Type: null or lua function string

Default: null

Plugin default: "nil"

Declared by:

plugins.notify.settings.render

Function to render a notification buffer or a built-in renderer name.

Type: null or one of “default”, “minimal”, “simple”, “compact”, “wrapped-compact” or raw lua code

Default: null

Plugin default: "default"

Declared by:

plugins.notify.settings.stages

Animation stages. Can be either one of the builtin stages or an array of lua functions.

Type: null or one of “fade”, “slide”, “fade_in_slide_out”, “static” or list of string

Default: null

Plugin default: "fade_in_slide_out"

Declared by:

plugins.notify.settings.timeout

Default timeout for notification.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 5000

Declared by:

plugins.notify.settings.top_down

Whether or not to position the notifications at the top or not.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.notify.settings.icons.debug

Icon for the debug level.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.notify.settings.icons.error

Icon for the error level.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.notify.settings.icons.info

Icon for the info level.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.notify.settings.icons.trace

Icon for the trace level.

Type: null or string or raw lua code

Default: null

Plugin default: "✎"

Declared by:

plugins.notify.settings.icons.warn

Icon for the warn level.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

nui

URL: https://github.com/MunifTanjim/nui.nvim

Maintainers: DataHearth


UI Component Library for Neovim

plugins.nui.enable

Whether to enable nui.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.nui.package

The nui.nvim package to use.

Type: package

Default: pkgs.vimPlugins.nui-nvim

Declared by:

plugins.nui.autoLoad

Whether to automatically load nui.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.nui.lazyLoad

Lazy-load settings for nui.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.nui.lazyLoad.enable

lazy-loading for nui.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.nui.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.nui.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.nui.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.nui.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

numbertoggle

URL: https://github.com/jeffkreeftmeijer/vim-numbertoggle/

Maintainers: Refael Sheinker

plugins.numbertoggle.enable

Whether to enable vim-numbertoggle.

Type: boolean

Default: false

Example: true

Declared by:

plugins.numbertoggle.package

The vim-numbertoggle package to use.

Type: package

Default: pkgs.vimPlugins.vim-numbertoggle

Declared by:

plugins.numbertoggle.autoLoad

Whether to automatically load vim-numbertoggle when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

nvim-autopairs

URL: https://github.com/windwp/nvim-autopairs/

Maintainers: Gaetan Lepage

plugins.nvim-autopairs.enable

Whether to enable nvim-autopairs.

Type: boolean

Default: false

Example: true

Declared by:

plugins.nvim-autopairs.package

The nvim-autopairs package to use.

Type: package

Default: pkgs.vimPlugins.nvim-autopairs

Declared by:

plugins.nvim-autopairs.autoLoad

Whether to automatically load nvim-autopairs when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.nvim-autopairs.lazyLoad

Lazy-load settings for nvim-autopairs.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.nvim-autopairs.lazyLoad.enable

lazy-loading for nvim-autopairs

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.nvim-autopairs.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.nvim-autopairs.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.nvim-autopairs.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.nvim-autopairs.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.nvim-autopairs.settings

Options provided to the require('nvim-autopairs').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  disable_filetype = [
    "TelescopePrompt"
  ];
  fast_wrap = {
    end_key = "$";
    map = "<M-e>";
  };
}

Declared by:

plugins.nvim-autopairs.settings.enable_abbr

Trigger abbreviation.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-autopairs.settings.enable_afterquote

Add bracket pairs after quote.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-autopairs.settings.enable_bracket_in_quote

Enable bracket in quote.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-autopairs.settings.enable_check_bracket_line

Check bracket in same line.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-autopairs.settings.enable_moveright

Enable moveright.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-autopairs.settings.break_undo

Switch for basic rule break undo sequence.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-autopairs.settings.check_ts

Use treesitter to check for a pair.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-autopairs.settings.disable_filetype

Disabled filetypes.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "TelescopePrompt"
  "spectre_panel"
]

Declared by:

plugins.nvim-autopairs.settings.disable_in_macro

Disable when recording or executing a macro.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-autopairs.settings.disable_in_replace_mode

Disable in replace mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-autopairs.settings.disable_in_visualblock

Disable when insert after visual block mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-autopairs.settings.ignored_next_char

Regexp to ignore if it matches the next character.

Type: null or lua code string

Default: null

Plugin default: "[=[[%w%%%'%[%\"%.%%$]]=]"`

Declared by:

plugins.nvim-autopairs.settings.map_bs

Map the <BS> key to delete the pair.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-autopairs.settings.map_c_h

Map the <C-h> key to delete a pair.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-autopairs.settings.map_c_w

Map the <C-w> key to delete a pair if possible.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-autopairs.settings.map_cr

Map the <CR> key to confirm the completion.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-autopairs.settings.ts_config

Configuration for TreeSitter.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  javascript = [
    "string"
    "template_string"
  ];
  lua = [
    "string"
    "source"
    "string_content"
  ];
}

Declared by:

plugins.nvim-autopairs.settings.fast_wrap.after_key

After key.

Type: null or string or raw lua code

Default: null

Plugin default: "l"

Declared by:

plugins.nvim-autopairs.settings.fast_wrap.before_key

Before key.

Type: null or string or raw lua code

Default: null

Plugin default: "h"

Declared by:

plugins.nvim-autopairs.settings.fast_wrap.chars

Characters for which to enable fast wrap.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "{"
  "["
  "("
  "\""
  "'"
]

Declared by:

plugins.nvim-autopairs.settings.fast_wrap.cursor_pos_before

Whether the cursor should be placed before or after the substitution.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-autopairs.settings.fast_wrap.end_key

End key.

Type: null or string or raw lua code

Default: null

Plugin default: "$"

Declared by:

plugins.nvim-autopairs.settings.fast_wrap.highlight

Which highlight group to use for the match.

Type: null or string or raw lua code

Default: null

Plugin default: "Search"

Declared by:

plugins.nvim-autopairs.settings.fast_wrap.highlight_grey

Which highlight group to use for the grey part.

Type: null or string or raw lua code

Default: null

Plugin default: "Comment"

Declared by:

plugins.nvim-autopairs.settings.fast_wrap.keys

Type: null or string or raw lua code

Default: null

Plugin default: "qwertyuiopzxcvbnmasdfghjkl"

Declared by:

plugins.nvim-autopairs.settings.fast_wrap.manual_position

Whether to enable manual position.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-autopairs.settings.fast_wrap.map

The key to trigger fast_wrap.

Type: null or string or raw lua code

Default: null

Plugin default: "<M-e>"

Declared by:

plugins.nvim-autopairs.settings.fast_wrap.pattern

The pattern to match against.

Type: null or lua code string

Default: null

Plugin default: "[=[[%'%\"%>%]%)%}%,%]]=]"`

Declared by:

plugins.nvim-autopairs.settings.fast_wrap.use_virt_lines

Whether to use virt_lines.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-bqf.enable

Whether to enable nvim-bqf.

Type: boolean

Default: false

Example: true

Declared by:

plugins.nvim-bqf.package

The nvim-bqf package to use.

Type: package

Default: pkgs.vimPlugins.nvim-bqf

Declared by:

plugins.nvim-bqf.autoEnable

Enable nvim-bqf in quickfix window automatically.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-bqf.autoResizeHeight

Resize quickfix window height automatically. Shrink higher height to size of list in quickfix window, otherwise extend height to size of list or to default height (10).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-bqf.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.nvim-bqf.funcMap

The table for {function = key}.

Example (some default values): funcMap = { open = “<CR>”; tab = “t”; sclear = “z<Tab>”; };

Type: null or (attribute set of string)

Default: null

Declared by:

plugins.nvim-bqf.magicWindow

Give the window magic, when the window is split horizontally, keep the distance between the current line and the top/bottom border of neovim unchanged. It’s a bit like a floating window, but the window is indeed a normal window, without any floating attributes.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-bqf.filter.fzf.extraOpts

Extra options for fzf.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "--bind"
  "ctrl-o:toggle-all"
]

Declared by:

plugins.nvim-bqf.filter.fzf.actionFor.ctrl-c

Press ctrl-c to close quickfix window and abort fzf.

Type: null or string or raw lua code

Default: null

Plugin default: "closeall"

Declared by:

plugins.nvim-bqf.filter.fzf.actionFor.ctrl-q

Press ctrl-q to toggle sign for the selected items.

Type: null or string or raw lua code

Default: null

Plugin default: "signtoggle"

Declared by:

plugins.nvim-bqf.filter.fzf.actionFor.ctrl-t

Press ctrl-t to open up the item in a new tab.

Type: null or string or raw lua code

Default: null

Plugin default: "tabedit"

Declared by:

plugins.nvim-bqf.filter.fzf.actionFor.ctrl-v

Press ctrl-v to open up the item in a new vertical split.

Type: null or string or raw lua code

Default: null

Plugin default: "vsplit"

Declared by:

plugins.nvim-bqf.filter.fzf.actionFor.ctrl-x

Press ctrl-x to open up the item in a new horizontal split.

Type: null or string or raw lua code

Default: null

Plugin default: "split"

Declared by:

plugins.nvim-bqf.preview.autoPreview

Enable preview in quickfix window automatically.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-bqf.preview.borderChars

Border and scroll bar chars, they respectively represent: vline, vline, hline, hline, ulcorner, urcorner, blcorner, brcorner, sbar

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "│"
  "│"
  "─"
  "─"
  "╭"
  "╮"
  "╰"
  "╯"
  "█"
]

Declared by:

plugins.nvim-bqf.preview.bufLabel

Add label of current item buffer at the end of the item line.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-bqf.preview.delaySyntax

Delay time, to do syntax for previewed buffer, unit is millisecond.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 50

Declared by:

plugins.nvim-bqf.preview.shouldPreviewCb

A callback function to decide whether to preview while switching buffer, with (bufnr: number, qwinid: number) parameters.

Type: null or lua function string

Default: null

Plugin default: "nil"

Declared by:

plugins.nvim-bqf.preview.showTitle

Show the window title.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-bqf.preview.winHeight

The height of preview window for horizontal layout. Large value (like 999) perform preview window as a “full” mode.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 15

Declared by:

plugins.nvim-bqf.preview.winVheight

The height of preview window for vertical layout.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 15

Declared by:

plugins.nvim-bqf.preview.wrap

Wrap the line, :h wrap for detail.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

nvim-lightbulb

URL: https://github.com/kosayoda/nvim-lightbulb/

Maintainers: Gaetan Lepage

plugins.nvim-lightbulb.enable

Whether to enable nvim-lightbulb.

Type: boolean

Default: false

Example: true

Declared by:

plugins.nvim-lightbulb.package

The nvim-lightbulb package to use.

Type: package

Default: pkgs.vimPlugins.nvim-lightbulb

Declared by:

plugins.nvim-lightbulb.autoLoad

Whether to automatically load nvim-lightbulb when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.nvim-lightbulb.lazyLoad

Lazy-load settings for nvim-lightbulb.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.nvim-lightbulb.lazyLoad.enable

lazy-loading for nvim-lightbulb

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.nvim-lightbulb.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.nvim-lightbulb.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.nvim-lightbulb.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.nvim-lightbulb.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.nvim-lightbulb.settings

Options provided to the require('nvim-lightbulb').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  autocmd = {
    enabled = true;
    updatetime = 200;
  };
  float = {
    enabled = false;
    text = " 󰌶 ";
    win_opts = {
      border = "rounded";
    };
  };
  line = {
    enabled = false;
  };
  number = {
    enabled = false;
  };
  sign = {
    enabled = false;
    text = "󰌶";
  };
  status_text = {
    enabled = false;
    text = " 󰌶 ";
  };
  virtual_text = {
    enabled = true;
    text = "󰌶";
  };
}

Declared by:

plugins.nvim-lightbulb.settings.action_kinds

Code action kinds to observe. To match all code actions, set to null. Otherwise, set to a list of kinds.

Example:

  [
    "quickfix"
    "refactor.rewrite"
  ]

See: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#codeActionKind

Type: null or (list of string)

Default: null

Declared by:

plugins.nvim-lightbulb.settings.hide_in_unfocused_buffer

Whether or not to hide the lightbulb when the buffer is not focused. Only works if configured during NvimLightbulb.setup.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

Whether or not to link the highlight groups automatically. Default highlight group links:

  • LightBulbSign -> DiagnosticSignInfo
  • LightBulbFloatWin -> DiagnosticFloatingInfo
  • LightBulbVirtualText -> DiagnosticVirtualTextInfo
  • LightBulbNumber -> DiagnosticSignInfo
  • LightBulbLine -> CursorLine

Only works if configured during NvimLightbulb.setup.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-lightbulb.settings.priority

Priority of the lightbulb for all handlers except float.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.nvim-lightbulb.settings.validate_config

Perform full validation of configuration.

  • “auto” only performs full validation in NvimLightbulb.setup.
  • “always” performs full validation in NvimLightbulb.update_lightbulb as well.
  • “never” disables config validation.

Type: null or one of “auto”, “always”, “never” or raw lua code

Default: null

Plugin default: "auto"

Declared by:

plugins.nvim-lightbulb.settings.autocmd.enabled

Autocmd configuration. If enabled, automatically defines an autocmd to show the lightbulb. If disabled, you will have to manually call |NvimLightbulb.update_lightbulb|. Only works if configured during NvimLightbulb.setup.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-lightbulb.settings.autocmd.events

See |nvim_create_autocmd|.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "CursorHold"
  "CursorHoldI"
]

Declared by:

plugins.nvim-lightbulb.settings.autocmd.pattern

See |nvim_create_autocmd| and |autocmd-pattern|.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "*"
]

Declared by:

plugins.nvim-lightbulb.settings.autocmd.updatetime

See |updatetime|. Set to a negative value to avoid setting the updatetime.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 200

Declared by:

plugins.nvim-lightbulb.settings.float.enabled

Floating window.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-lightbulb.settings.float.hl

Highlight group to highlight the floating window.

Type: null or string or raw lua code

Default: null

Plugin default: "LightBulbFloatWin"

Declared by:

plugins.nvim-lightbulb.settings.float.text

Text to show in the floating window.

Type: null or string or raw lua code

Default: null

Plugin default: "💡"

Declared by:

plugins.nvim-lightbulb.settings.float.win_opts

Window options. See |vim.lsp.util.open_floating_preview| and |nvim_open_win|. Note that some options may be overridden by |open_floating_preview|.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.nvim-lightbulb.settings.ignore.actions_without_kind

Ignore code actions without a kind like refactor.rewrite, quickfix.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-lightbulb.settings.ignore.clients

LSP client names to ignore. Example: {“null-ls”, “lua_ls”}

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.nvim-lightbulb.settings.ignore.ft

Filetypes to ignore. Example: {“neo-tree”, “lua”}

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.nvim-lightbulb.settings.line.enabled

Content line.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-lightbulb.settings.line.hl

Highlight group to highlight the line if there is a lightbulb.

Type: null or string or raw lua code

Default: null

Plugin default: "LightBulbLine"

Declared by:

plugins.nvim-lightbulb.settings.number.enabled

Number column.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-lightbulb.settings.number.hl

Highlight group to highlight the number column if there is a lightbulb.

Type: null or string or raw lua code

Default: null

Plugin default: "LightBulbNumber"

Declared by:

plugins.nvim-lightbulb.settings.sign.enabled

Sign column.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-lightbulb.settings.sign.hl

Highlight group to highlight the sign column text.

Type: null or string or raw lua code

Default: null

Plugin default: "LightBulbSign"

Declared by:

plugins.nvim-lightbulb.settings.sign.text

Text to show in the sign column. Must be between 1-2 characters.

Type: null or string or raw lua code

Default: null

Plugin default: "💡"

Declared by:

plugins.nvim-lightbulb.settings.status_text.enabled

Status text. When enabled, will allow using |NvimLightbulb.get_status_text| to retrieve the configured text.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-lightbulb.settings.status_text.text

Text to set if a lightbulb is available.

Type: null or string or raw lua code

Default: null

Plugin default: "💡"

Declared by:

plugins.nvim-lightbulb.settings.status_text.text_unavailable

Text to set if a lightbulb is unavailable.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.nvim-lightbulb.settings.virtual_text.enabled

Virtual text.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-lightbulb.settings.virtual_text.hl

Highlight group to highlight the virtual text.

Type: null or string or raw lua code

Default: null

Plugin default: "LightBulbVirtualText"

Declared by:

plugins.nvim-lightbulb.settings.virtual_text.hl_mode

How to combine other highlights with text highlight. See hl_mode of |nvim_buf_set_extmark|.

Type: null or string or raw lua code

Default: null

Plugin default: "combine"

Declared by:

plugins.nvim-lightbulb.settings.virtual_text.pos

Position of virtual text given to |nvim_buf_set_extmark|. Can be a number representing a fixed column (see virt_text_pos). Can be a string representing a position (see virt_text_win_col).

Type: null or string or raw lua code

Default: null

Plugin default: "eol"

Declared by:

plugins.nvim-lightbulb.settings.virtual_text.text

Text to show in the virt_text.

Type: null or string or raw lua code

Default: null

Plugin default: "💡"

Declared by:

plugins.nvim-osc52.enable

Whether to enable nvim-osc52, a plugin to use OSC52 sequences to copy/paste.

Note: this plugin is obsolete and will be removed after 24.11. As of Neovim 0.10 (specifically since this PR), native support for OSC52 has been added. Check :h clipboard-osc52 for more details.

Type: boolean

Default: false

Example: true

Declared by:

plugins.nvim-osc52.package

The nvim-osc52 package to use.

Type: package

Default: pkgs.vimPlugins.nvim-osc52

Declared by:

plugins.nvim-osc52.maxLength

Maximum length of selection (0 for no limit)

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.nvim-osc52.silent

Disable message on successful copy

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-osc52.trim

Trim text before copy

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-osc52.keymaps.enable

Whether to enable keymaps for copying using OSC52.

Type: boolean

Default: false

Example: true

Declared by:

plugins.nvim-osc52.keymaps.copy

Copy into the system clipboard using OSC52

Type: string

Default: "<leader>y"

Declared by:

plugins.nvim-osc52.keymaps.copyLine

Copy line into the system clipboard using OSC52

Type: string

Default: "<leader>yy"

Declared by:

plugins.nvim-osc52.keymaps.copyVisual

Copy visual selection into the system clipboard using OSC52

Type: string

Default: "<leader>y"

Declared by:

plugins.nvim-osc52.keymaps.silent

Whether nvim-osc52 keymaps should be silent

Type: boolean

Default: false

Declared by:

nvim-snippets

URL: https://github.com/garymjr/nvim-snippets/

Maintainers: Pedro Sánchez

plugins.nvim-snippets.enable

Whether to enable nvim-snippets.

Type: boolean

Default: false

Example: true

Declared by:

plugins.nvim-snippets.package

The nvim-snippets package to use.

Type: package

Default: pkgs.vimPlugins.nvim-snippets

Declared by:

plugins.nvim-snippets.autoLoad

Whether to automatically load nvim-snippets when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.nvim-snippets.lazyLoad

Lazy-load settings for nvim-snippets.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.nvim-snippets.lazyLoad.enable

lazy-loading for nvim-snippets

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.nvim-snippets.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.nvim-snippets.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.nvim-snippets.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.nvim-snippets.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.nvim-snippets.settings

Options provided to the require('snippets').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  create_autocmd = true;
  create_cmp_source = true;
  extended_filetypes = {
    typescript = [
      "javascript"
    ];
  };
  friendly_snippets = true;
  global_snippets = [
    "all"
  ];
  ignored_filetypes = [
    "lua"
  ];
  search_paths = [
    {
      __raw = "vim.fn.stdpath('config') .. '/snippets'";
    }
  ];
}

Declared by:

plugins.nvim-snippets.settings.create_autocmd

Optionally load all snippets when opening a file. Only needed if not using nvim-cmp.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-snippets.settings.create_cmp_source

Optionally create a nvim-cmp source. Source name will be snippets.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-snippets.settings.extended_filetypes

Filetypes to load snippets for in addition to the default ones. ex: {typescript = { ‘javascript’}}

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.nvim-snippets.settings.friendly_snippets

Set to true if using friendly-snippets.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-snippets.settings.global_snippets

Snippets to load for all filetypes.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "all"
]

Declared by:

plugins.nvim-snippets.settings.ignored_filetypes

Filetypes to ignore when loading snippets.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.nvim-snippets.settings.search_paths

Paths to search for snippets.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  {
    __raw = "vim.fn.stdpath('config') .. '/snippets'";
  }
]

Declared by:

nvim-surround

URL: https://github.com/kylechui/nvim-surround/

Maintainers: Austin Horstman, Andres Bermeo Marinelli

plugins.nvim-surround.enable

Whether to enable nvim-surround.

Type: boolean

Default: false

Example: true

Declared by:

plugins.nvim-surround.package

The nvim-surround package to use.

Type: package

Default: pkgs.vimPlugins.nvim-surround

Declared by:

plugins.nvim-surround.autoLoad

Whether to automatically load nvim-surround when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.nvim-surround.lazyLoad

Lazy-load settings for nvim-surround.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.nvim-surround.lazyLoad.enable

lazy-loading for nvim-surround

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.nvim-surround.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.nvim-surround.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.nvim-surround.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.nvim-surround.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.nvim-surround.settings

Options provided to the require('nvim-surround').setup function.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.nvim-surround.settings.aliases

Maps characters to other characters, or lists of characters.

Type: null or (attribute set of (string or list of string or raw lua code)) or raw lua code

Default: null

Plugin default:

''
  {
    "a" = ">";
    "b" = ")";
    "B" = "}";
    "r" = "]";
    "q" = [ "\"" "'" "`" ];
    "s" = [ "}" "]" ")" ">" "\"" "'" "`" ];
  }
''

Declared by:

plugins.nvim-surround.settings.keymaps

Defines the keymaps used to perform surround actions.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

''
  {
    insert = "<C-g>s";
    insert_line = "<C-g>S";
    normal = "ys";
    normal_cur = "yss";
    normal_line = "yS";
    normal_cur_line = "ySS";
    visual = "S";
    visual_line = "gS";
    delete = "ds";
    change = "cs";
    change_line = "cS";
  }
''

Declared by:

plugins.nvim-surround.settings.surrounds

Associates each key with a “surround”. The attribute set contains the ‘add’, ‘find’, ‘delete’, and ‘change’ keys.

Type: null or (attribute set of ((submodule) or raw lua code))

Default: null

Plugin default: See upstream default configuration

Declared by:

plugins.nvim-tree.enable

Whether to enable nvim-tree.

Type: boolean

Default: false

Example: true

Declared by:

plugins.nvim-tree.package

The nvim-tree package to use.

Type: package

Default: pkgs.vimPlugins.nvim-tree-lua

Declared by:

plugins.nvim-tree.autoClose

Automatically close

Type: boolean

Default: false

Declared by:

plugins.nvim-tree.autoReloadOnWrite

Reloads the explorer every time a buffer is written to.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.disableNetrw

Disable netrw

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.nvim-tree.hijackCursor

Keeps the cursor on the first letter of the filename when moving in the tree.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.hijackNetrw

Hijack netrw

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.hijackUnnamedBufferWhenOpening

Opens in place of the unnamed buffer if it’s empty.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.ignoreBufferOnSetup

Will ignore the buffer, when deciding to open the tree on setup.

Type: boolean

Default: false

Declared by:

plugins.nvim-tree.ignoreFtOnSetup

List of filetypes that will prevent open_on_setup to open. You can use this option if you don’t want the tree to open in some scenarios (eg using vim startify).

Type: list of string

Default: [ ]

Declared by:

plugins.nvim-tree.onAttach

Function ran when creating the nvim-tree buffer. This can be used to attach keybindings to the tree buffer. When onAttach is “default”, it will use the older mapping strategy, otherwise it will use the newer one.

Example: { __raw = '' function(bufnr) local api = require(“nvim-tree.api”) vim.keymap.set(“n”, “<C-P>”, function() local node = api.tree.get_node_under_cursor() print(node.absolute_path) end, { buffer = bufnr, noremap = true, silent = true, nowait = true, desc = “print the node’s absolute path” }) end ''; }

Type: null or value “default” (singular enum) or raw lua code

Default: null

Plugin default: "default"

Declared by:

plugins.nvim-tree.openOnSetup

Will automatically open the tree when running setup if startup buffer is a directory, is empty or is unnamed. nvim-tree window will be focused.

Type: boolean

Default: false

Declared by:

plugins.nvim-tree.openOnSetupFile

Will automatically open the tree when running setup if startup buffer is a file. File window will be focused. File will be found if updateFocusedFile is enabled.

Type: boolean

Default: false

Declared by:

plugins.nvim-tree.preferStartupRoot

Prefer startup root directory when updating root directory of the tree. Only relevant when updateFocusedFile.updateRoot is true

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.reloadOnBufenter

Automatically reloads the tree on BufEnter nvim-tree.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.respectBufCwd

Will change cwd of nvim-tree to that of new buffer’s when opening nvim-tree.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.rootDirs

Preferred root directories. Only relevant when updateFocusedFile.updateRoot is true.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.nvim-tree.selectPrompts

Use |vim.ui.select| style prompts. Necessary when using a UI prompt decorator such as dressing.nvim or telescope-ui-select.nvim.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.sortBy

Changes how files within the same directory are sorted. Can be one of name, case_sensitive, modification_time, extension or a function. Type: string | function(nodes), Default: "name"

Function is passed a table of nodes to be sorted, each node containing:

  • absolute_path: string
  • executable: boolean
  • extension: string
  • link_to: string
  • name: string
  • type: "directory" | "file" | "link"

Example: sort by name length: sortBy = { __raw = '' local sort_by = function(nodes) table.sort(nodes, function(a, b) return #a.name < #b.name end) end ''; };

Type: null or one of “name”, “case_sensitive”, “modification_time”, “extension” or raw lua code

Default: null

Plugin default: "name"

Declared by:

plugins.nvim-tree.syncRootWithCwd

Changes the tree root directory on DirChanged and refreshes the tree.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.actions.useSystemClipboard

A boolean value that toggle the use of system clipboard when copy/paste function are invoked. When enabled, copied text will be stored in registers ‘+’ (system), otherwise, it will be stored in ‘1’ and ‘"’.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.actions.changeDir.enable

Change the working directory when changing directories in the tree.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.actions.changeDir.global

Use :cd instead of :lcd when changing directories. Consider that this might cause issues with the |nvim-tree.sync_root_with_cwd| option.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.actions.changeDir.restrictAboveCwd

Restrict changing to a directory above the global current working directory.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.actions.expandAll.exclude

A list of directories that should not be expanded automatically. E.g [ ".git" "target" "build" ] etc.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.nvim-tree.actions.expandAll.maxFolderDiscovery

Limit the number of folders being explored when expanding every folders. Avoids hanging neovim when running this action on very large folders.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 300

Declared by:

plugins.nvim-tree.actions.filePopup.openWinConfig

Floating window config for file_popup. See |nvim_open_win| for more details. You shouldn’t define "width" and "height" values here. They will be overridden to fit the file_popup content.

Type: null or (attribute set) or raw lua code

Default: null

Plugin default:

{
  border = "shadow";
  col = 1;
  relative = "cursor";
  row = 1;
  style = "minimal";
}

Declared by:

plugins.nvim-tree.actions.openFile.quitOnOpen

Closes the explorer when opening a file. It will also disable preventing a buffer overriding the tree.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.actions.openFile.resizeWindow

Resizes the tree when opening a file.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.actions.removeFile.closeWindow

Close any window displaying a file when removing the file from the tree.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.actions.windowPicker.enable

Enable the window picker. If the feature is not enabled, files will open in window from which you last opened the tree.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.actions.windowPicker.chars

A string of chars used as identifiers by the window picker.

Type: null or string or raw lua code

Default: null

Plugin default: "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"

Declared by:

plugins.nvim-tree.actions.windowPicker.exclude

Table of buffer option names mapped to a list of option values that indicates to the picker that the buffer’s window should not be selectable.

Type: null or (attribute set of ((list of string) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  buftype = [
    "nofile"
    "terminal"
    "help"
  ];
  filetype = [
    "notify"
    "lazy"
    "packer"
    "qf"
    "diff"
    "fugitive"
    "fugitiveblame"
  ];
}

Declared by:

plugins.nvim-tree.actions.windowPicker.picker

Change the default window picker. This can either be a string or a function (see example).

The function should return the window id that will open the node, or nil if an invalid window is picked or user cancelled the action.

Type: null or string or raw lua code

Default: null

Plugin default: "default"

Example:

{
  __raw = "require('window-picker').pick_window";
}

Declared by:

plugins.nvim-tree.diagnostics.enable

Show LSP and COC diagnostics in the signcolumn Note that the modified sign will take precedence over the diagnostics signs.

NOTE: it will use the default diagnostic color groups to highlight the signs. If you wish to customize, you can override these groups:

  • NvimTreeLspDiagnosticsError
  • NvimTreeLspDiagnosticsWarning
  • NvimTreeLspDiagnosticsInformation
  • NvimTreeLspDiagnosticsHint

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.diagnostics.debounceDelay

Idle milliseconds between diagnostic event and update.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 50

Declared by:

plugins.nvim-tree.diagnostics.showOnDirs

Show diagnostic icons on parent directories.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.diagnostics.showOnOpenDirs

Show diagnostics icons on directories that are open. Only relevant when diagnostics.showOnDirs is `true

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.diagnostics.icons.error

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.nvim-tree.diagnostics.icons.hint

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.nvim-tree.diagnostics.icons.info

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.nvim-tree.diagnostics.icons.warning

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.nvim-tree.diagnostics.severity.max

Maximum severity for which the diagnostics will be displayed. See |diagnostic-severity|.

Type: null or unsigned integer, meaning >=0, or one of “error”, “warn”, “info”, “hint”

Default: null

Plugin default: "error"

Declared by:

plugins.nvim-tree.diagnostics.severity.min

Minimum severity for which the diagnostics will be displayed. See |diagnostic-severity|.

Type: null or unsigned integer, meaning >=0, or one of “error”, “warn”, “info”, “hint”

Default: null

Plugin default: "hint"

Declared by:

plugins.nvim-tree.filesystemWatchers.enable

Will use file system watcher (libuv fs_event) to watch the filesystem for changes. Using this will disable BufEnter / BufWritePost events in nvim-tree which were used to update the whole tree. With this feature, the tree will be updated only for the appropriate folder change, resulting in better performance.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.filesystemWatchers.debounceDelay

Idle milliseconds between filesystem change and action.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 50

Declared by:

plugins.nvim-tree.filesystemWatchers.ignoreDirs

List of vim regex for absolute directory paths that will not be watched. Backslashes must be escaped e.g. "my-project/\\.build$". See |string-match|. Useful when path is not in .gitignore or git integration is disabled.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.nvim-tree.filters.custom

Custom list of vim regex for file/directory names that will not be shown. Backslashes must be escaped e.g. “^\.git”. See |string-match|. Toggle via the toggle_custom action, default mapping U.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.nvim-tree.filters.dotfiles

Do not show dotfiles: files starting with a . Toggle via the toggle_dotfiles action, default mapping H.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.filters.exclude

List of directories or files to exclude from filtering: always show them. Overrides git.ignore, filters.dotfiles and filters.custom.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.nvim-tree.filters.gitClean

Do not show files with no git status. This will show ignored files when |nvim-tree.git.ignore| is set, as they are effectively dirty. Toggle via the toggle_git_clean action, default mapping C.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.filters.noBuffer

Do not show files that have no listed buffer. Toggle via the toggle_no_buffer action, default mapping B. For performance reasons this may not immediately update on buffer delete/wipe. A reload or filesystem event will result in an update.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.git.enable

Git integration with icons and colors.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.git.ignore

Ignore files based on .gitignore. Requires git.enable to be true. Toggle via the toggle_git_ignored action, default mapping I.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.git.showOnDirs

Show status icons of children when directory itself has no status icon.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.git.showOnOpenDirs

Show status icons of children on directories that are open. Only relevant when git.showOnDirs is true.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.git.timeout

Kills the git process after some time if it takes too long.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 400

Declared by:

plugins.nvim-tree.hijackDirectories.enable

Hijacks new directory buffers when they are opened (:e dir).

Disable this option if you use vim-dirvish or dirbuf.nvim. If hijackNetrw and disableNetrw are false, this feature will be disabled.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.hijackDirectories.autoOpen

Opens the tree if the tree was previously closed.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.liveFilter.alwaysShowFolders

Whether to filter folders or not.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.liveFilter.prefix

Prefix of the filter displayed in the buffer.

Type: null or string or raw lua code

Default: null

Plugin default: "[FILTER]: "

Declared by:

plugins.nvim-tree.log.enable

Enable logging to a file $XDG_CACHE_HOME/nvim/nvim-tree.log

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.log.truncate

Remove existing log file at startup.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.log.types.all

Everything.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.log.types.config

Options and mappings, at startup.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.log.types.copyPaste

File copy and paste actions.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.log.types.dev

Used for local development only. Not useful for users.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.log.types.diagnostics

LSP and COC processing, verbose.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.log.types.git

Git processing, verbose.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.log.types.profile

Timing of some operations.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.log.types.watcher

|nvim-tree.filesystem_watchers| processing, verbose.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.modified.enable

Indicate which file have unsaved modification.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.modified.showOnDirs

Show modified indication on directory whose children are modified.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.modified.showOnOpenDirs

Show modified indication on open directories. Only relevant when modified.showOnDirs is true.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.notify.threshold

Specify minimum notification level, uses the values from |vim.log.levels|

  • error: hard errors e.g. failure to read from the file system.
  • warning: non-fatal errors e.g. unable to system open a file.
  • info: information only e.g. file copy path confirmation.
  • debug: not used.

Type: null or unsigned integer, meaning >=0, or one of “off”, “error”, “warn”, “info”, “debug”, “trace”

Default: null

Plugin default: "info"

Declared by:

plugins.nvim-tree.renderer.addTrailing

Appends a trailing slash to folder names.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.renderer.fullName

Display node whose name length is wider than the width of nvim-tree window in floating window.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.renderer.groupEmpty

Compact folders that only contain a single folder into one node in the file tree.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.renderer.highlightGit

Enable file highlight for git attributes using NvimTreeGit* highlight groups. Requires nvim-tree.git.enable This can be used with or without the icons.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.renderer.highlightModified

Highlight icons and/or names for modified files using the NvimTreeModified highlight group. Requires nvim-tree.modified.enable This can be used with or without the icons.

Type: null or one of “none”, “icon”, “name”, “all” or raw lua code

Default: null

Plugin default: "none"

Declared by:

plugins.nvim-tree.renderer.highlightOpenedFiles

Highlight icons and/or names for opened files using the NvimTreeOpenedFile highlight group.

Type: null or one of “none”, “icon”, “name”, “all” or raw lua code

Default: null

Plugin default: "none"

Declared by:

plugins.nvim-tree.renderer.indentWidth

Number of spaces for an each tree nesting level. Minimum 1.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 2

Declared by:

plugins.nvim-tree.renderer.rootFolderLabel

In what format to show root folder. See :help filename-modifiers for available string options.

Set to false to hide the root folder.

This can also be a function(root_cwd) which is passed the absolute path of the root folder and should return a string. e.g.

rootFolderLabel = { __raw = '' my_root_folder_label = function(path) return “…/” … vim.fn.fnamemodify(path, “:t”) end ''; };

Type: null or string or boolean or raw lua code

Default: null

Plugin default: ":~:s?$?/..?"

Declared by:

plugins.nvim-tree.renderer.specialFiles

A list of filenames that gets highlighted with NvimTreeSpecialFile.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "Cargo.toml"
  "Makefile"
  "README.md"
  "readme.md"
]

Declared by:

plugins.nvim-tree.renderer.symlinkDestination

Whether to show the destination of the symlink.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.renderer.icons.gitPlacement

Place where the git icons will be rendered. Can be "after" or "before" filename (after the file/folders icons) or "signcolumn" (requires |nvim-tree.view.signcolumn| enabled). Note that the diagnostic signs and the modified sign will take precedence over the git signs.

Type: null or one of “after”, “before”, “signcolumn” or raw lua code

Default: null

Plugin default: "before"

Declared by:

plugins.nvim-tree.renderer.icons.modifiedPlacement

Place where the modified icon will be rendered. Can be "after" or "before" filename (after the file/folders icons) or "signcolumn" (requires |nvim-tree.view.signcolumn| enabled).

Type: null or one of “after”, “before”, “signcolumn” or raw lua code

Default: null

Plugin default: "after"

Declared by:

plugins.nvim-tree.renderer.icons.padding

Inserted between icon and filename.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.nvim-tree.renderer.icons.symlinkArrow

Used as a separator between symlinks’ source and target.

Type: null or string or raw lua code

Default: null

Plugin default: " ➛ "

Declared by:

plugins.nvim-tree.renderer.icons.webdevColors

Use the webdev icon colors, otherwise NvimTreeFileIcon.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.renderer.icons.glyphs.default

Glyph for files. Will be overridden by nvim-web-devicons if available.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.nvim-tree.renderer.icons.glyphs.modified

Icon to display for modified files.

Type: null or string or raw lua code

Default: null

Plugin default: "●"

Declared by:

Glyph for symlinks to files.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.nvim-tree.renderer.icons.glyphs.folder.arrowClosed

Arrow glyphs for closed directories.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.nvim-tree.renderer.icons.glyphs.folder.arrowOpen

Arrow glyphs for open directories.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.nvim-tree.renderer.icons.glyphs.folder.default

Default glyph for directories.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.nvim-tree.renderer.icons.glyphs.folder.empty

Glyph for empty directories.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.nvim-tree.renderer.icons.glyphs.folder.emptyOpen

Glyph for open empty directories.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.nvim-tree.renderer.icons.glyphs.folder.open

Glyph for open directories.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

Glyph for symlink directories.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.nvim-tree.renderer.icons.glyphs.folder.symlinkOpen

Glyph for open symlink directories.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.nvim-tree.renderer.icons.glyphs.git.deleted

Glyph for deleted nodes.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.nvim-tree.renderer.icons.glyphs.git.ignored

Glyph for deleted nodes.

Type: null or string or raw lua code

Default: null

Plugin default: "◌"

Declared by:

plugins.nvim-tree.renderer.icons.glyphs.git.renamed

Glyph for renamed nodes.

Type: null or string or raw lua code

Default: null

Plugin default: "➜"

Declared by:

plugins.nvim-tree.renderer.icons.glyphs.git.staged

Glyph for staged nodes.

Type: null or string or raw lua code

Default: null

Plugin default: "✓"

Declared by:

plugins.nvim-tree.renderer.icons.glyphs.git.unmerged

Glyph for unmerged nodes.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.nvim-tree.renderer.icons.glyphs.git.unstaged

Glyph for unstaged nodes.

Type: null or string or raw lua code

Default: null

Plugin default: "✗"

Declared by:

plugins.nvim-tree.renderer.icons.glyphs.git.untracked

Glyph for untracked nodes.

Type: null or string or raw lua code

Default: null

Plugin default: "★"

Declared by:

plugins.nvim-tree.renderer.icons.show.file

Show an icon before the file name. nvim-web-devicons will be used if available.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.renderer.icons.show.folder

Show an icon before the folder name.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.renderer.icons.show.folderArrow

Show a small arrow before the folder node. Arrow will be a part of the node when using |renderer.indent_markers|.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.renderer.icons.show.git

Show a git status icon, see |renderer.icons.git_placement| Requires git.enable = true

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.renderer.icons.show.modified

Show a modified icon, see |renderer.icons.modified_placement| Requires |modified.enable| = true

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.renderer.indentMarkers.enable

Display indent markers when folders are open

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.renderer.indentMarkers.inlineArrows

Display folder arrows in the same column as indent marker when using |renderer.icons.show.folder_arrow|.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.renderer.indentMarkers.icons.bottom

Type: null or string or raw lua code

Default: null

Plugin default: "─"

Declared by:

plugins.nvim-tree.renderer.indentMarkers.icons.corner

Type: null or string or raw lua code

Default: null

Plugin default: "└"

Declared by:

plugins.nvim-tree.renderer.indentMarkers.icons.edge

Type: null or string or raw lua code

Default: null

Plugin default: "│"

Declared by:

plugins.nvim-tree.renderer.indentMarkers.icons.item

Type: null or string or raw lua code

Default: null

Plugin default: "│"

Declared by:

plugins.nvim-tree.renderer.indentMarkers.icons.none

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.nvim-tree.systemOpen.args

Optional argument list.

Leave empty for OS specific default: Windows: { "/c", "start", '""' }

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.nvim-tree.systemOpen.cmd

The open command itself.

Leave empty for OS specific default: UNIX: "xdg-open" macOS: "open" Windows: "cmd"

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.nvim-tree.tab.sync.close

Closes the tree across all tabpages when the tree is closed.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.tab.sync.ignore

List of filetypes or buffer names on new tab that will prevent |nvim-tree.tab.sync.open| and |nvim-tree.tab.sync.close|

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.nvim-tree.tab.sync.open

Opens the tree automatically when switching tabpage or opening a new tabpage if the tree was previously open.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.trash.cmd

The command used to trash items (must be installed on your system). The default is shipped with glib2 which is a common linux package. Only available for UNIX.

Type: null or string or raw lua code

Default: null

Plugin default: "gio trash"

Declared by:

plugins.nvim-tree.ui.confirm.remove

Prompt before removing.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.ui.confirm.trash

Prompt before trashing.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.updateFocusedFile.enable

Update the focused file on BufEnter, un-collapses the folders recursively until it finds the file.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.updateFocusedFile.ignoreList

List of buffer names and filetypes that will not update the root dir of the tree if the file isn’t found under the current root directory. Only relevant when updateFocusedFile.updateRoot and updateFocusedFile.enable are true.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.nvim-tree.updateFocusedFile.updateRoot

Update the root directory of the tree if the file is not under current root directory. It prefers vim’s cwd and root_dirs. Otherwise it falls back to the folder containing the file. Only relevant when updateFocusedFile.enable is true

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.view.centralizeSelection

When entering nvim-tree, reposition the view so that the current node is initially centralized, see |zz|.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.view.cursorline

Enable |cursorline| in the tree window.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.view.debounceDelay

Idle milliseconds before some reload / refresh operations. Increase if you experience performance issues around screen refresh.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 15

Declared by:

plugins.nvim-tree.view.number

Print the line number in front of each line.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.view.preserveWindowProportions

Preserves window proportions when opening a file. If false, the height and width of windows other than nvim-tree will be equalized.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.view.relativenumber

Show the line number relative to the line with the cursor in front of each line. If the option view.number is also true, the number on the cursor line will be the line number instead of 0.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.view.side

Side of the tree, can be "left", "right".

Type: null or one of “left”, “right” or raw lua code

Default: null

Plugin default: "left"

Declared by:

plugins.nvim-tree.view.signcolumn

Show diagnostic sign column. Value can be "yes", "auto", "no".

Type: null or one of “yes”, “auto”, “no” or raw lua code

Default: null

Plugin default: "yes"

Declared by:

plugins.nvim-tree.view.width

Width of the window: can be a % string, a number representing columns or a table. A table indicates that the view should be dynamically sized based on the longest line.

Type: null or string or signed integer or (submodule)

Default: null

Plugin default: 30

Declared by:

plugins.nvim-tree.view.float.enable

Tree window will be floating.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.view.float.openWinConfig

Floating window config for file_popup. See |nvim_open_win| for more details. You shouldn’t define "width" and "height" values here. They will be overridden to fit the file_popup content.

Type: null or (attribute set) or raw lua code

Default: null

Plugin default:

{
  border = "shadow";
  col = 1;
  relative = "cursor";
  row = 1;
  style = "minimal";
}

Declared by:

plugins.nvim-tree.view.float.quitOnFocusLoss

Close the floating tree window when it loses focus.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

nvim-ufo

URL: https://github.com/kevinhwang91/nvim-ufo/

Maintainers: Austin Horstman

plugins.nvim-ufo.enable

Whether to enable nvim-ufo.

Type: boolean

Default: false

Example: true

Declared by:

plugins.nvim-ufo.package

The nvim-ufo package to use.

Type: package

Default: pkgs.vimPlugins.nvim-ufo

Declared by:

plugins.nvim-ufo.autoLoad

Whether to automatically load nvim-ufo when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.nvim-ufo.setupLspCapabilities

Whether to enable setup LSP capabilities for nvim-ufo.

Type: boolean

Default: true

Example: false

Declared by:

plugins.nvim-ufo.lazyLoad

Lazy-load settings for nvim-ufo.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.nvim-ufo.lazyLoad.enable

lazy-loading for nvim-ufo

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.nvim-ufo.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.nvim-ufo.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.nvim-ufo.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.nvim-ufo.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.nvim-ufo.settings

Options provided to the require('ufo').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  fold_virt_text_handler = ''
    function(virtText, lnum, endLnum, width, truncate)
      local newVirtText = {}
      local suffix = ('  %d '):format(endLnum - lnum)
      local sufWidth = vim.fn.strdisplaywidth(suffix)
      local targetWidth = width - sufWidth
      local curWidth = 0
      for _, chunk in ipairs(virtText) do
        local chunkText = chunk[1]
        local chunkWidth = vim.fn.strdisplaywidth(chunkText)
        if targetWidth > curWidth + chunkWidth then
          table.insert(newVirtText, chunk)
        else
          chunkText = truncate(chunkText, targetWidth - curWidth)
          local hlGroup = chunk[2]
          table.insert(newVirtText, {chunkText, hlGroup})
          chunkWidth = vim.fn.strdisplaywidth(chunkText)
          -- str width returned from truncate() may less than 2nd argument, need padding
          if curWidth + chunkWidth < targetWidth then
            suffix = suffix .. (' '):rep(targetWidth - curWidth - chunkWidth)
          end
          break
        end
        curWidth = curWidth + chunkWidth
      end
      table.insert(newVirtText, {suffix, 'MoreMsg'})
      return newVirtText
    end
  '';
  provider_selector = ''
    function(bufnr, filetype, buftype)
      local ftMap = {
        vim = "indent",
        python = {"indent"},
        git = ""
      }
    
     return ftMap[filetype]
    end
  '';
}

Declared by:

plugins.nvim-ufo.settings.enable_get_fold_virt_text

Enable a function with lnum as a parameter to capture the virtual text for the folded lines and export the function to get_fold_virt_text field of ctx table as 6th parameter in fold_virt_text_handler

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-ufo.settings.close_fold_kinds_for_ft

After the buffer is displayed (opened for the first time), close the folds whose range with kind field is included in this option. For now, ‘lsp’ provider’s standardized kinds are ‘comment’, ‘imports’ and ‘region’, run UfoInspect for details if your provider has extended the kinds.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  default = { };
}

Declared by:

plugins.nvim-ufo.settings.fold_virt_text_handler

A lua function to customize fold virtual text.

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.nvim-ufo.settings.open_fold_hl_timeout

Time in millisecond between the range to be highlgihted and to be cleared while opening the folded line, 0 value will disable the highlight.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 400

Declared by:

plugins.nvim-ufo.settings.provider_selector

A lua function as a selector for fold providers.

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.nvim-ufo.settings.preview.mappings

Mappings for preview window.

Type: null or (attribute set)

Default: null

Declared by:

plugins.nvim-ufo.settings.preview.win_config.border

Defines the border to use for preview window. Accepts same border values as nvim_open_win(). See :help nvim_open_win() for more info.

Type: null or string or list of string or list of list of string or raw lua code

Default: null

Plugin default: "rounded"

Declared by:

plugins.nvim-ufo.settings.preview.win_config.maxheight

The max height of preview window.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 20

Declared by:

plugins.nvim-ufo.settings.preview.win_config.winblend

The winblend for preview window, :h winblend.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 12

Declared by:

plugins.nvim-ufo.settings.preview.win_config.winhighlight

The winhighlight for preview window, :h winhighlight.

Type: null or string or raw lua code

Default: null

Plugin default: "Normal:Normal"

Declared by:

obsidian

URL: https://github.com/obsidian-nvim/obsidian.nvim/

Maintainers: Gaetan Lepage

plugins.obsidian.enable

Whether to enable obsidian.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.obsidian.package

The obsidian.nvim package to use.

Type: package

Default: pkgs.vimPlugins.obsidian-nvim

Declared by:

plugins.obsidian.autoLoad

Whether to automatically load obsidian.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.obsidian.lazyLoad

Lazy-load settings for obsidian.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.obsidian.lazyLoad.enable

lazy-loading for obsidian.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.obsidian.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.obsidian.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.obsidian.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.obsidian.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.obsidian.settings

Options provided to the require('obsidian').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  completion = {
    min_chars = 2;
    nvim_cmp = true;
  };
  new_notes_location = "current_dir";
  workspaces = [
    {
      name = "work";
      path = "~/obsidian/work";
    }
    {
      name = "startup";
      path = "~/obsidian/startup";
    }
  ];
}

Declared by:

plugins.obsidian.settings.dir

Alternatively to workspaces - and for backwards compatibility - you can set dir to a single path instead of workspaces.

For example:

  dir = "~/vaults/work";

Type: null or string

Default: null

Declared by:

plugins.obsidian.settings.disable_frontmatter

Boolean or a function that takes a filename and returns a boolean. true indicates that you don’t want obsidian.nvim to manage frontmatter.

Default: false

Type: null or lua function string or boolean

Default: null

Declared by:

plugins.obsidian.settings.follow_url_func

By default when you use :ObsidianFollowLink on a link to an external URL it will be ignored but you can customize this behavior here.

Example:

  function(url)
    -- Open the URL in the default web browser.
    vim.fn.jobstart({"open", url})  -- Mac OS
    -- vim.fn.jobstart({"xdg-open", url})  -- linux
  end

Type: null or lua code string

Default: null

Declared by:

plugins.obsidian.settings.image_name_func

Customize the default name or prefix when pasting images via :ObsidianPasteImg.

Example:

  function()
    -- Prefix image names with timestamp.
    return string.format("%s-", os.time())
  end

Type: null or lua code string

Default: null

Declared by:

plugins.obsidian.settings.log_level

Set the log level for obsidian.nvim.

Type: null or unsigned integer, meaning >=0, or one of “off”, “error”, “warn”, “info”, “debug”, “trace”

Default: null

Plugin default: "info"

Declared by:

Customize how markdown links are formatted.

  ---@param opts {path: string, label: string, id: string|?}
  ---@return string links are formatted.

Example:

  function(opts)
    return string.format("[%s](%s)", opts.label, opts.path)
  end

Default: See source

Type: null or lua code string

Default: null

Declared by:

plugins.obsidian.settings.new_notes_location

Where to put new notes created from completion.

Valid options are

  • “current_dir” - put new notes in same directory as the current buffer.
  • “notes_subdir” - put new notes in the default notes subdirectory.

Type: null or one of “current_dir”, “notes_subdir” or raw lua code

Default: null

Plugin default: "current_dir"

Declared by:

plugins.obsidian.settings.note_frontmatter_func

You can customize the frontmatter data.

Example:

  function(note)
    -- Add the title of the note as an alias.
    if note.title then
      note:add_alias(note.title)
    end

    local out = { id = note.id, aliases = note.aliases, tags = note.tags }

    -- `note.metadata` contains any manually added fields in the frontmatter.
    -- So here we just make sure those fields are kept in the frontmatter.
    if note.metadata ~= nil and not vim.tbl_isempty(note.metadata) then
      for k, v in pairs(note.metadata) do
        out[k] = v
      end
    end

    return out
  end

Type: null or lua code string

Default: null

Declared by:

plugins.obsidian.settings.note_id_func

Customize how names/IDs for new notes are created.

Example:

  function(title)
    -- Create note IDs in a Zettelkasten format with a timestamp and a suffix.
    -- In this case a note with the title 'My new note' will be given an ID that looks
    -- like '1657296016-my-new-note', and therefore the file name '1657296016-my-new-note.md'
    local suffix = ""
    if title ~= nil then
      -- If title is given, transform it into valid file name.
      suffix = title:gsub(" ", "-"):gsub("[^A-Za-z0-9-]", ""):lower()
    else
      -- If title is nil, just add 4 random uppercase letters to the suffix.
      for _ = 1, 4 do
        suffix = suffix .. string.char(math.random(65, 90))
      end
    end
    return tostring(os.time()) .. "-" .. suffix
  end

Type: null or lua code string

Default: null

Declared by:

plugins.obsidian.settings.note_path_func

Customize how note file names are generated given the ID, target directory, and title.

  ---@param spec { id: string, dir: obsidian.Path, title: string|? }
  ---@return string|obsidian.Path The full path to the new note.

Example:

  function(spec)
    -- This is equivalent to the default behavior.
    local path = spec.dir / tostring(spec.id)
    return path:with_suffix(".md")
  end

Type: null or lua code string

Default: null

Declared by:

plugins.obsidian.settings.notes_subdir

If you keep notes in a specific subdirectory of your vault.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.obsidian.settings.open_app_foreground

Set to true to force :ObsidianOpen to bring the app to the foreground.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.obsidian.settings.open_notes_in

Determines how certain commands open notes.

The valid options are:

  • “current” (the default) - to always open in the current window
  • “vsplit” - to open in a vertical split if there’s not already a vertical split
  • “hsplit” - to open in a horizontal split if there’s not already a horizontal split

Type: null or one of “current”, “vsplit”, “hsplit” or raw lua code

Default: null

Plugin default: "current"

Declared by:

Either ‘wiki’ or ‘markdown’.

Type: null or one of “wiki”, “markdown” or raw lua code

Default: null

Plugin default: "wiki"

Declared by:

plugins.obsidian.settings.sort_by

Sort search results by “path”, “modified”, “accessed”, or “created”. The recommend value is “modified” and true for sortReversed, which means, for example, that :ObsidianQuickSwitch will show the notes sorted by latest modified time.

Type: null or one of “path”, “modified”, “accessed”, “created” or raw lua code

Default: null

Plugin default: "modified"

Declared by:

plugins.obsidian.settings.sort_reversed

Whether search results should be reversed.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.obsidian.settings.use_advanced_uri

Set to true to force ‘:ObsidianOpen’ to bring the app to the foreground.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

Customize how wiki links are formatted.

  ---@param opts {path: string, label: string, id: string|?}
  ---@return string

Example:

  function(opts)
    if opts.id == nil then
      return string.format("[[%s]]", opts.label)
    elseif opts.label ~= opts.id then
      return string.format("[[%s|%s]]", opts.id, opts.label)
    else
      return string.format("[[%s]]", opts.id)
    end
  end

Default: See source

Type: null or lua code string

Default: null

Declared by:

plugins.obsidian.settings.yaml_parser

Set the YAML parser to use.

The valid options are:

  • “native” - uses a pure Lua parser that’s fast but potentially misses some edge cases.
  • “yq” - uses the command-line tool yq (https://github.com/mikefarah/yq), which is more robust but much slower and needs to be installed separately.

In general you should be using the native parser unless you run into a bug with it, in which case you can temporarily switch to the “yq” parser until the bug is fixed.

Type: null or one of “native”, “yq” or raw lua code

Default: null

Plugin default: "native"

Declared by:

plugins.obsidian.settings.attachments.confirm_img_paste

Whether to prompt for confirmation when pasting an image.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.obsidian.settings.attachments.img_folder

The default folder to place images in via :ObsidianPasteImg.

If this is a relative path it will be interpreted as relative to the vault root. You can always override this per image by passing a full path to the command instead of just a filename.

Type: null or string or raw lua code

Default: null

Plugin default: "assets/imgs"

Declared by:

plugins.obsidian.settings.attachments.img_text_func

A function that determines the text to insert in the note when pasting an image. It takes two arguments, the obsidian.Client and a plenary Path to the image file.

  @param client obsidian.Client
  @param path Path the absolute path to the image file
  @return string

Type: null or lua function string

Default: null

Plugin default:

''
  function(client, path)
    ---@type string
    local link_path
    local vault_relative_path = client:vault_relative_path(path)
    if vault_relative_path ~= nil then
      -- Use relative path if the image is saved in the vault dir.
      link_path = vault_relative_path
    else
      -- Otherwise use the absolute path.
      link_path = tostring(path)
    end
    local display_name = vim.fs.basename(link_path)
    return string.format("![%s](%s)", display_name, link_path)
  end
''

Declared by:

plugins.obsidian.settings.callbacks.enter_note

fun(client: obsidian.Client, note: obsidian.Note)

Runs when entering a note buffer.

Type: null or lua code string

Default: null

Declared by:

plugins.obsidian.settings.callbacks.leave_note

fun(client: obsidian.Client, note: obsidian.Note)

Runs when leaving a note buffer.

Type: null or lua code string

Default: null

Declared by:

plugins.obsidian.settings.callbacks.post_set_workspace

fun(client: obsidian.Client, workspace: obsidian.Workspace)

Runs anytime the workspace is set/changed.

Type: null or lua code string

Default: null

Declared by:

plugins.obsidian.settings.callbacks.post_setup

fun(client: obsidian.Client)

Runs right after the obsidian.Client is initialized.

Type: null or lua code string

Default: null

Declared by:

plugins.obsidian.settings.callbacks.pre_write_note

fun(client: obsidian.Client, note: obsidian.Note)

Runs right before writing a note buffer.

Type: null or lua code string

Default: null

Declared by:

Enable completion using blink.cmp.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.obsidian.settings.completion.min_chars

Trigger completion at this many chars.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 2

Declared by:

plugins.obsidian.settings.completion.nvim_cmp

Set to false to disable completion.

Type: null or boolean

Default: true if plugins.cmp.enable is enabled (otherwise null).

Declared by:

plugins.obsidian.settings.daily_notes.alias_format

Optional, if you want to change the date format of the default alias of daily notes.

Example: “%B %-d, %Y”

Type: null or string or raw lua code

Default: null

Declared by:

plugins.obsidian.settings.daily_notes.date_format

Optional, if you want to change the date format for the ID of daily notes.

Example: “%Y-%m-%d”

Type: null or string or raw lua code

Default: null

Declared by:

plugins.obsidian.settings.daily_notes.folder

Optional, if you keep daily notes in a separate directory.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.obsidian.settings.daily_notes.template

Optional, if you want to automatically insert a template from your template directory like ‘daily.md’.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.obsidian.settings.mappings

Configure key mappings.

Type: null or (attribute set of (submodule))

Default: null

Plugin default:

{
  "<leader>ch" = {
    action = "require('obsidian').util.toggle_checkbox";
    opts = {
      buffer = true;
    };
  };
  gf = {
    action = "require('obsidian').util.gf_passthrough";
    opts = {
      buffer = true;
      expr = true;
      noremap = false;
    };
  };
}

Declared by:

plugins.obsidian.settings.mappings.<name>.action

The lua code for this keymap action.

Type: lua code string

Declared by:

plugins.obsidian.settings.mappings.<name>.opts.buffer

If true, the mapping will be effective in the current buffer only.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.obsidian.settings.mappings.<name>.opts.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.obsidian.settings.mappings.<name>.opts.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.obsidian.settings.mappings.<name>.opts.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.obsidian.settings.mappings.<name>.opts.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.obsidian.settings.mappings.<name>.opts.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.obsidian.settings.mappings.<name>.opts.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.obsidian.settings.mappings.<name>.opts.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.obsidian.settings.mappings.<name>.opts.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.obsidian.settings.mappings.<name>.opts.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.obsidian.settings.picker.name

Set your preferred picker.

Type: null or one of “telescope.nvim”, “fzf-lua”, “mini.pick”, “snacks.pick”

Default: null

Declared by:

plugins.obsidian.settings.picker.note_mappings

Optional, configure note mappings for the picker. These are the defaults. Not all pickers support all mappings.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  insert_link = "<C-l>";
  new = "<C-x>";
}

Declared by:

plugins.obsidian.settings.picker.tag_mappings

Optional, configure tag mappings for the picker. These are the defaults. Not all pickers support all mappings.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  insert_tag = "<C-l>";
  tag_note = "<C-x>";
}

Declared by:

plugins.obsidian.settings.templates.date_format

Which date format to use.

Example: “%Y-%m-%d”

Type: null or string or raw lua code

Default: null

Declared by:

plugins.obsidian.settings.templates.subdir

The name of the directory where templates are stored.

Example: “templates”

Type: null or string or raw lua code

Default: null

Declared by:

plugins.obsidian.settings.templates.substitutions

A map for custom variables, the key should be the variable and the value a function.

Type: null or (attribute set of (string or raw lua code or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.obsidian.settings.templates.time_format

Which time format to use.

Example: “%H:%M”

Type: null or string or raw lua code

Default: null

Declared by:

plugins.obsidian.settings.ui.enable

Set to false to disable all additional syntax features.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.obsidian.settings.ui.checkboxes

Define how various check-boxes are displayed. You can also add more custom ones…

NOTE: the ‘char’ value has to be a single character, and the highlight groups are defined in the ui.hl_groups option.

Type: null or (attribute set of ((submodule) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  " " = {
    char = "󰄱";
    hl_group = "ObsidianTodo";
  };
  ">" = {
    char = "";
    hl_group = "ObsidianRightArrow";
  };
  x = {
    char = "";
    hl_group = "ObsidianDone";
  };
  "~" = {
    char = "󰰱";
    hl_group = "ObsidianTilde";
  };
}

Declared by:

plugins.obsidian.settings.ui.hl_groups

Highlight group definitions.

Type: null or (attribute set of ((attribute set) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  ObsidianDone = {
    bold = true;
    fg = "#89ddff";
  };
  ObsidianExtLinkIcon = {
    fg = "#c792ea";
  };
  ObsidianHighlightText = {
    bg = "#75662e";
  };
  ObsidianRefText = {
    fg = "#c792ea";
    underline = true;
  };
  ObsidianRightArrow = {
    bold = true;
    fg = "#f78c6c";
  };
  ObsidianTag = {
    fg = "#89ddff";
    italic = true;
  };
  ObsidianTilde = {
    bold = true;
    fg = "#ff5370";
  };
  ObsidianTodo = {
    bold = true;
    fg = "#f78c6c";
  };
}

Declared by:

plugins.obsidian.settings.ui.update_debounce

Update delay after a text change (in milliseconds).

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 200

Declared by:

plugins.obsidian.settings.ui.bullets.char

Which character to use for the bullets.

Type: null or string or raw lua code

Default: null

Plugin default: "•"

Declared by:

plugins.obsidian.settings.ui.bullets.hl_group

The name of the highlight group to use for the bullets.

Type: null or string or raw lua code

Default: null

Plugin default: "ObsidianBullet"

Declared by:

Which character to use for the external link icon.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

The name of the highlight group to use for the external link icon.

Type: null or string or raw lua code

Default: null

Plugin default: "ObsidianExtLinkIcon"

Declared by:

plugins.obsidian.settings.ui.highlight_text.hl_group

The name of the highlight group to use for highlight text.

Type: null or string or raw lua code

Default: null

Plugin default: "ObsidianHighlightText"

Declared by:

plugins.obsidian.settings.ui.reference_text.hl_group

The name of the highlight group to use for reference text.

Type: null or string or raw lua code

Default: null

Plugin default: "ObsidianRefText"

Declared by:

plugins.obsidian.settings.ui.tags.hl_group

The name of the highlight group to use for tags.

Type: null or string or raw lua code

Default: null

Plugin default: "ObsidianTag"

Declared by:

plugins.obsidian.settings.workspaces

A list of vault names and paths. Each path should be the path to the vault root. If you use the Obsidian app, the vault root is the parent directory of the .obsidian folder. You can also provide configuration overrides for each workspace through the overrides field.

Type: null or (list of (submodule))

Default: null

Plugin default: [ ]

Declared by:

plugins.obsidian.settings.workspaces.*.name

The name for this workspace

Type: string or raw lua code

Declared by:

plugins.obsidian.settings.workspaces.*.path

The path of the workspace.

Type: string or raw lua code

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.disable_frontmatter

Boolean or a function that takes a filename and returns a boolean. true indicates that you don’t want obsidian.nvim to manage frontmatter.

Default: false

Type: null or lua function string or boolean

Default: null

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.follow_url_func

By default when you use :ObsidianFollowLink on a link to an external URL it will be ignored but you can customize this behavior here.

Example:

  function(url)
    -- Open the URL in the default web browser.
    vim.fn.jobstart({"open", url})  -- Mac OS
    -- vim.fn.jobstart({"xdg-open", url})  -- linux
  end

Type: null or lua code string

Default: null

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.image_name_func

Customize the default name or prefix when pasting images via :ObsidianPasteImg.

Example:

  function()
    -- Prefix image names with timestamp.
    return string.format("%s-", os.time())
  end

Type: null or lua code string

Default: null

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.log_level

Set the log level for obsidian.nvim.

Type: null or unsigned integer, meaning >=0, or one of “off”, “error”, “warn”, “info”, “debug”, “trace”

Default: null

Plugin default: "info"

Declared by:

Customize how markdown links are formatted.

  ---@param opts {path: string, label: string, id: string|?}
  ---@return string links are formatted.

Example:

  function(opts)
    return string.format("[%s](%s)", opts.label, opts.path)
  end

Default: See source

Type: null or lua code string

Default: null

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.new_notes_location

Where to put new notes created from completion.

Valid options are

  • “current_dir” - put new notes in same directory as the current buffer.
  • “notes_subdir” - put new notes in the default notes subdirectory.

Type: null or one of “current_dir”, “notes_subdir” or raw lua code

Default: null

Plugin default: "current_dir"

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.note_frontmatter_func

You can customize the frontmatter data.

Example:

  function(note)
    -- Add the title of the note as an alias.
    if note.title then
      note:add_alias(note.title)
    end

    local out = { id = note.id, aliases = note.aliases, tags = note.tags }

    -- `note.metadata` contains any manually added fields in the frontmatter.
    -- So here we just make sure those fields are kept in the frontmatter.
    if note.metadata ~= nil and not vim.tbl_isempty(note.metadata) then
      for k, v in pairs(note.metadata) do
        out[k] = v
      end
    end

    return out
  end

Type: null or lua code string

Default: null

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.note_id_func

Customize how names/IDs for new notes are created.

Example:

  function(title)
    -- Create note IDs in a Zettelkasten format with a timestamp and a suffix.
    -- In this case a note with the title 'My new note' will be given an ID that looks
    -- like '1657296016-my-new-note', and therefore the file name '1657296016-my-new-note.md'
    local suffix = ""
    if title ~= nil then
      -- If title is given, transform it into valid file name.
      suffix = title:gsub(" ", "-"):gsub("[^A-Za-z0-9-]", ""):lower()
    else
      -- If title is nil, just add 4 random uppercase letters to the suffix.
      for _ = 1, 4 do
        suffix = suffix .. string.char(math.random(65, 90))
      end
    end
    return tostring(os.time()) .. "-" .. suffix
  end

Type: null or lua code string

Default: null

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.note_path_func

Customize how note file names are generated given the ID, target directory, and title.

  ---@param spec { id: string, dir: obsidian.Path, title: string|? }
  ---@return string|obsidian.Path The full path to the new note.

Example:

  function(spec)
    -- This is equivalent to the default behavior.
    local path = spec.dir / tostring(spec.id)
    return path:with_suffix(".md")
  end

Type: null or lua code string

Default: null

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.notes_subdir

If you keep notes in a specific subdirectory of your vault.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.open_app_foreground

Set to true to force :ObsidianOpen to bring the app to the foreground.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.open_notes_in

Determines how certain commands open notes.

The valid options are:

  • “current” (the default) - to always open in the current window
  • “vsplit” - to open in a vertical split if there’s not already a vertical split
  • “hsplit” - to open in a horizontal split if there’s not already a horizontal split

Type: null or one of “current”, “vsplit”, “hsplit” or raw lua code

Default: null

Plugin default: "current"

Declared by:

Either ‘wiki’ or ‘markdown’.

Type: null or one of “wiki”, “markdown” or raw lua code

Default: null

Plugin default: "wiki"

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.sort_by

Sort search results by “path”, “modified”, “accessed”, or “created”. The recommend value is “modified” and true for sortReversed, which means, for example, that :ObsidianQuickSwitch will show the notes sorted by latest modified time.

Type: null or one of “path”, “modified”, “accessed”, “created” or raw lua code

Default: null

Plugin default: "modified"

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.sort_reversed

Whether search results should be reversed.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.use_advanced_uri

Set to true to force ‘:ObsidianOpen’ to bring the app to the foreground.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

Customize how wiki links are formatted.

  ---@param opts {path: string, label: string, id: string|?}
  ---@return string

Example:

  function(opts)
    if opts.id == nil then
      return string.format("[[%s]]", opts.label)
    elseif opts.label ~= opts.id then
      return string.format("[[%s|%s]]", opts.id, opts.label)
    else
      return string.format("[[%s]]", opts.id)
    end
  end

Default: See source

Type: null or lua code string

Default: null

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.yaml_parser

Set the YAML parser to use.

The valid options are:

  • “native” - uses a pure Lua parser that’s fast but potentially misses some edge cases.
  • “yq” - uses the command-line tool yq (https://github.com/mikefarah/yq), which is more robust but much slower and needs to be installed separately.

In general you should be using the native parser unless you run into a bug with it, in which case you can temporarily switch to the “yq” parser until the bug is fixed.

Type: null or one of “native”, “yq” or raw lua code

Default: null

Plugin default: "native"

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.attachments.confirm_img_paste

Whether to prompt for confirmation when pasting an image.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.attachments.img_folder

The default folder to place images in via :ObsidianPasteImg.

If this is a relative path it will be interpreted as relative to the vault root. You can always override this per image by passing a full path to the command instead of just a filename.

Type: null or string or raw lua code

Default: null

Plugin default: "assets/imgs"

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.attachments.img_text_func

A function that determines the text to insert in the note when pasting an image. It takes two arguments, the obsidian.Client and a plenary Path to the image file.

  @param client obsidian.Client
  @param path Path the absolute path to the image file
  @return string

Type: null or lua function string

Default: null

Plugin default:

''
  function(client, path)
    ---@type string
    local link_path
    local vault_relative_path = client:vault_relative_path(path)
    if vault_relative_path ~= nil then
      -- Use relative path if the image is saved in the vault dir.
      link_path = vault_relative_path
    else
      -- Otherwise use the absolute path.
      link_path = tostring(path)
    end
    local display_name = vim.fs.basename(link_path)
    return string.format("![%s](%s)", display_name, link_path)
  end
''

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.callbacks.enter_note

fun(client: obsidian.Client, note: obsidian.Note)

Runs when entering a note buffer.

Type: null or lua code string

Default: null

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.callbacks.leave_note

fun(client: obsidian.Client, note: obsidian.Note)

Runs when leaving a note buffer.

Type: null or lua code string

Default: null

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.callbacks.post_set_workspace

fun(client: obsidian.Client, workspace: obsidian.Workspace)

Runs anytime the workspace is set/changed.

Type: null or lua code string

Default: null

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.callbacks.post_setup

fun(client: obsidian.Client)

Runs right after the obsidian.Client is initialized.

Type: null or lua code string

Default: null

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.callbacks.pre_write_note

fun(client: obsidian.Client, note: obsidian.Note)

Runs right before writing a note buffer.

Type: null or lua code string

Default: null

Declared by:

Enable completion using blink.cmp.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.completion.min_chars

Trigger completion at this many chars.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 2

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.completion.nvim_cmp

Set to false to disable completion.

Type: null or boolean

Default: true if plugins.cmp.enable is enabled (otherwise null).

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.daily_notes.alias_format

Optional, if you want to change the date format of the default alias of daily notes.

Example: “%B %-d, %Y”

Type: null or string or raw lua code

Default: null

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.daily_notes.date_format

Optional, if you want to change the date format for the ID of daily notes.

Example: “%Y-%m-%d”

Type: null or string or raw lua code

Default: null

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.daily_notes.folder

Optional, if you keep daily notes in a separate directory.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.daily_notes.template

Optional, if you want to automatically insert a template from your template directory like ‘daily.md’.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.mappings

Configure key mappings.

Type: null or (attribute set of (submodule))

Default: null

Plugin default:

{
  "<leader>ch" = {
    action = "require('obsidian').util.toggle_checkbox";
    opts = {
      buffer = true;
    };
  };
  gf = {
    action = "require('obsidian').util.gf_passthrough";
    opts = {
      buffer = true;
      expr = true;
      noremap = false;
    };
  };
}

Declared by:

plugins.obsidian.settings.workspaces.overrides.mappings.<name>.action

The lua code for this keymap action.

Type: lua code string

Declared by:

plugins.obsidian.settings.workspaces.overrides.mappings.<name>.opts.buffer

If true, the mapping will be effective in the current buffer only.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.obsidian.settings.workspaces.overrides.mappings.<name>.opts.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.obsidian.settings.workspaces.overrides.mappings.<name>.opts.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.obsidian.settings.workspaces.overrides.mappings.<name>.opts.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.obsidian.settings.workspaces.overrides.mappings.<name>.opts.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.obsidian.settings.workspaces.overrides.mappings.<name>.opts.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.obsidian.settings.workspaces.overrides.mappings.<name>.opts.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.obsidian.settings.workspaces.overrides.mappings.<name>.opts.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.obsidian.settings.workspaces.overrides.mappings.<name>.opts.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.obsidian.settings.workspaces.overrides.mappings.<name>.opts.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.picker.name

Set your preferred picker.

Type: null or one of “telescope.nvim”, “fzf-lua”, “mini.pick”, “snacks.pick”

Default: null

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.picker.note_mappings

Optional, configure note mappings for the picker. These are the defaults. Not all pickers support all mappings.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  insert_link = "<C-l>";
  new = "<C-x>";
}

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.picker.tag_mappings

Optional, configure tag mappings for the picker. These are the defaults. Not all pickers support all mappings.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  insert_tag = "<C-l>";
  tag_note = "<C-x>";
}

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.templates.date_format

Which date format to use.

Example: “%Y-%m-%d”

Type: null or string or raw lua code

Default: null

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.templates.subdir

The name of the directory where templates are stored.

Example: “templates”

Type: null or string or raw lua code

Default: null

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.templates.substitutions

A map for custom variables, the key should be the variable and the value a function.

Type: null or (attribute set of (string or raw lua code or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.templates.time_format

Which time format to use.

Example: “%H:%M”

Type: null or string or raw lua code

Default: null

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.ui.enable

Set to false to disable all additional syntax features.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.ui.checkboxes

Define how various check-boxes are displayed. You can also add more custom ones…

NOTE: the ‘char’ value has to be a single character, and the highlight groups are defined in the ui.hl_groups option.

Type: null or (attribute set of ((submodule) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  " " = {
    char = "󰄱";
    hl_group = "ObsidianTodo";
  };
  ">" = {
    char = "";
    hl_group = "ObsidianRightArrow";
  };
  x = {
    char = "";
    hl_group = "ObsidianDone";
  };
  "~" = {
    char = "󰰱";
    hl_group = "ObsidianTilde";
  };
}

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.ui.hl_groups

Highlight group definitions.

Type: null or (attribute set of ((attribute set) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  ObsidianDone = {
    bold = true;
    fg = "#89ddff";
  };
  ObsidianExtLinkIcon = {
    fg = "#c792ea";
  };
  ObsidianHighlightText = {
    bg = "#75662e";
  };
  ObsidianRefText = {
    fg = "#c792ea";
    underline = true;
  };
  ObsidianRightArrow = {
    bold = true;
    fg = "#f78c6c";
  };
  ObsidianTag = {
    fg = "#89ddff";
    italic = true;
  };
  ObsidianTilde = {
    bold = true;
    fg = "#ff5370";
  };
  ObsidianTodo = {
    bold = true;
    fg = "#f78c6c";
  };
}

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.ui.update_debounce

Update delay after a text change (in milliseconds).

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 200

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.ui.bullets.char

Which character to use for the bullets.

Type: null or string or raw lua code

Default: null

Plugin default: "•"

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.ui.bullets.hl_group

The name of the highlight group to use for the bullets.

Type: null or string or raw lua code

Default: null

Plugin default: "ObsidianBullet"

Declared by:

Which character to use for the external link icon.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

The name of the highlight group to use for the external link icon.

Type: null or string or raw lua code

Default: null

Plugin default: "ObsidianExtLinkIcon"

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.ui.highlight_text.hl_group

The name of the highlight group to use for highlight text.

Type: null or string or raw lua code

Default: null

Plugin default: "ObsidianHighlightText"

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.ui.reference_text.hl_group

The name of the highlight group to use for reference text.

Type: null or string or raw lua code

Default: null

Plugin default: "ObsidianRefText"

Declared by:

plugins.obsidian.settings.workspaces.*.overrides.ui.tags.hl_group

The name of the highlight group to use for tags.

Type: null or string or raw lua code

Default: null

Plugin default: "ObsidianTag"

Declared by:

octo

URL: https://github.com/pwntester/octo.nvim/

Maintainers: svl

plugins.octo.enable

Whether to enable octo.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.octo.package

The octo.nvim package to use.

Type: package

Default: pkgs.vimPlugins.octo-nvim

Declared by:

plugins.octo.autoLoad

Whether to automatically load octo.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.octo.lazyLoad

Lazy-load settings for octo.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.octo.lazyLoad.enable

lazy-loading for octo.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.octo.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.octo.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.octo.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.octo.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.octo.settings

Options provided to the require('octo').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  mappings = {
    file_panel = {
      select_prev_entry = "[q";
    };
    issue = {
      react_heart = "<leader>rh";
    };
  };
  mappings_disable_default = true;
  ssh_aliases = {
    "github.com-work" = "github.com";
  };
}

Declared by:

plugins.octo.settings.enable_builtin

Shows a list of builtin actions when no action is provided.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.octo.settings.default_remote

Order to try remotes

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "upstream"
  "origin"
]

Declared by:

plugins.octo.settings.gh_env

Extra environment variables to pass on to GitHub CLI, can be a table or function returning a table.

Type: null or (attribute set) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.octo.settings.github_hostname

Github Enterprise host.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.octo.settings.left_bubble_delimiter

Bubble delimiter.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.octo.settings.picker

Picker to use.

Type: null or one of “telescope”, “fzf-lua”, “snacks” or raw lua code

Default: null

Plugin default: "telescope"

Declared by:

plugins.octo.settings.reaction_viewer_hint_icon

Marker for user reactions.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.octo.settings.right_bubble_delimiter

Bubble delimiter.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.octo.settings.snippet_context_lines

Number of lines around commented lines.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 4

Declared by:

plugins.octo.settings.ssh_aliases

SSH aliases.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.octo.settings.timeline_indent

Timeline indentation.

Type: null or string or raw lua code

Default: null

Plugin default: "2"

Declared by:

plugins.octo.settings.timeline_marker

Timeline marker.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.octo.settings.timeout

Timeout for requests between the remote server.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 5000

Declared by:

plugins.octo.settings.use_local_fs

Use local files on right side of reviews.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.octo.settings.user_icon

User Icon.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.octo.settings.issues.order_by.direction

See GitHub’s OrderDirection documentation.

Type: null or one of “DESC”, “ASC” or raw lua code

Default: null

Plugin default: "DESC"

Declared by:

plugins.octo.settings.issues.order_by.field

See GitHub’s IssueOrderField documentation.

Type: null or one of “CREATED_AT”, “COMMENTS”, “UPDATED_AT” or raw lua code

Default: null

Plugin default: "CREATED_AT"

Declared by:

plugins.octo.settings.picker_config.use_emojis

Use emojis in picker. Only used by “fzf-lua” picker for now.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.octo.settings.picker_config.mappings.checkout_pr.desc

Description of the mapping.

Type: null or string or raw lua code

Default: null

Plugin default:

''
  Checkout pull request.
''

Declared by:

plugins.octo.settings.picker_config.mappings.checkout_pr.lhs

Key to map.

Type: null or string or raw lua code

Default: null

Plugin default: "<C-o>"

Declared by:

plugins.octo.settings.picker_config.mappings.copy_url.desc

Description of the mapping.

Type: null or string or raw lua code

Default: null

Plugin default:

''
  Copy url to system clipboard.
''

Declared by:

plugins.octo.settings.picker_config.mappings.copy_url.lhs

Key to map.

Type: null or string or raw lua code

Default: null

Plugin default: "<C-y>"

Declared by:

plugins.octo.settings.picker_config.mappings.merge_pr.desc

Description of the mapping.

Type: null or string or raw lua code

Default: null

Plugin default:

''
  Merge pull request.
''

Declared by:

plugins.octo.settings.picker_config.mappings.merge_pr.lhs

Key to map.

Type: null or string or raw lua code

Default: null

Plugin default: "<C-r>"

Declared by:

plugins.octo.settings.picker_config.mappings.open_in_browser.desc

Description of the mapping.

Type: null or string or raw lua code

Default: null

Plugin default:

''
  Open issue in browser.
''

Declared by:

plugins.octo.settings.picker_config.mappings.open_in_browser.lhs

Key to map.

Type: null or string or raw lua code

Default: null

Plugin default: "<C-b>"

Declared by:

plugins.octo.settings.ui.use_sign_column

Show “modified” marks on the sign column.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

oil

URL: https://github.com/stevearc/oil.nvim

Maintainers: Gaetan Lepage

plugins.oil.enable

Whether to enable oil.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.oil.package

The oil.nvim package to use.

Type: package

Default: pkgs.vimPlugins.oil-nvim

Declared by:

plugins.oil.autoLoad

Whether to automatically load oil.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.oil.lazyLoad

Lazy-load settings for oil.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.oil.lazyLoad.enable

lazy-loading for oil.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.oil.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.oil.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.oil.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.oil.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.oil.settings

Options provided to the require('oil').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  columns = [
    "icon"
  ];
  keymaps = {
    "<C-c>" = false;
    "<C-l>" = false;
    "<C-r>" = "actions.refresh";
    "<leader>qq" = "actions.close";
    "y." = "actions.copy_entry_path";
  };
  skip_confirm_for_simple_edits = true;
  view_options = {
    show_hidden = false;
  };
  win_options = {
    concealcursor = "ncv";
    conceallevel = 3;
    cursorcolumn = false;
    foldcolumn = "0";
    list = false;
    signcolumn = "no";
    spell = false;
    wrap = false;
  };
}

Declared by:

plugins.oil.settings.cleanup_delay_ms

Oil will automatically delete hidden buffers after this delay. You can set the delay to false to disable cleanup entirely. Note that the cleanup process only starts when none of the oil buffers are currently displayed.

Type: null or unsigned integer, meaning >=0, or value false (singular enum)

Default: null

Plugin default: 2000

Declared by:

plugins.oil.settings.columns

Columns can be specified as a string to use default arguments (e.g. "icon"), or as a table to pass parameters (e.g. {"size", highlight = "Special"})

Default: ["icon"]

Type: list of (string or attribute set of anything or raw lua code)

Default: [ ]

Example:

[
  "type"
  {
    __unkeyed = "icon";
    default_file = "bar";
    directory = "dir";
    highlight = "Foo";
  }
  "size"
  "permissions"
]

Declared by:

plugins.oil.settings.constrain_cursor

Constrain the cursor to the editable parts of the oil buffer. Set to false to disable, or “name” to keep it on the file names.

Type: null or string or value false (singular enum)

Default: null

Plugin default: "editable"

Declared by:

plugins.oil.settings.default_file_explorer

Oil will take over directory buffers (e.g. vim . or :e src/). Set to false if you still want to use netrw.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.oil.settings.delete_to_trash

Deleted files will be removed with the trash_command (below).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.oil.settings.experimental_watch_for_changes

Set to true to watch the filesystem for changes and reload oil.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.oil.settings.keymaps

Keymaps in oil buffer. Can be any value that vim.keymap.set accepts OR a table of keymap options with a callback (e.g. { callback = function() ... end, desc = "", mode = "n" }). Additionally, if it is a string that matches “actions.<name>”, it will use the mapping at require("oil.actions").<name>. Set to false to remove a keymap. See :help oil-actions for a list of all available actions.

Type: null or (attribute set of (string or attribute set of anything or value false (singular enum) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "-" = "actions.parent";
  "<C-c>" = "actions.close";
  "<C-h>" = "actions.select_split";
  "<C-l>" = "actions.refresh";
  "<C-p>" = "actions.preview";
  "<C-s>" = "actions.select_vsplit";
  "<C-t>" = "actions.select_tab";
  "<CR>" = "actions.select";
  _ = "actions.open_cwd";
  "`" = "actions.cd";
  "g." = "actions.toggle_hidden";
  "g?" = "actions.show_help";
  "g\\" = "actions.toggle_trash";
  gs = "actions.change_sort";
  gx = "actions.open_external";
  "~" = "actions.tcd";
}

Declared by:

plugins.oil.settings.keymaps_help

Configuration for the floating keymaps help window.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  border = "rounded";
}

Declared by:

plugins.oil.settings.prompt_save_on_select_new_entry

Selecting a new/moved/renamed file or directory will prompt you to save changes first.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.oil.settings.skip_confirm_for_simple_edits

Skip the confirmation popup for simple operations.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.oil.settings.use_default_keymaps

Set to false to disable all of the above keymaps.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.oil.settings.buf_options.bufhidden

Type: null or string or raw lua code

Default: null

Plugin default: "hide"

Declared by:

plugins.oil.settings.buf_options.buflisted

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.oil.settings.float.border

Defines the border to use for oil.open_float. Accepts same border values as nvim_open_win(). See :help nvim_open_win() for more info.

Type: null or string or list of string or list of list of string or raw lua code

Default: null

Plugin default: "rounded"

Declared by:

plugins.oil.settings.float.max_height

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.oil.settings.float.max_width

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.oil.settings.float.override

This is the config that will be passed to nvim_open_win. Change values here to customize the layout.

Type: null or lua function string

Default: null

Plugin default:

''
  function(conf)
    return conf
  end
''

Declared by:

plugins.oil.settings.float.padding

Padding around the floating window.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 2

Declared by:

plugins.oil.settings.float.win_options.winblend

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.oil.settings.lsp_file_method.autosave_changes

Set to true to autosave buffers that are updated with LSP willRenameFiles. Set to “unmodified” to only save unmodified buffers.

Type: null or boolean or string

Default: null

Plugin default: "false"

Declared by:

plugins.oil.settings.lsp_file_method.timeout_ms

Time to wait for LSP file operations to complete before skipping.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1000

Declared by:

plugins.oil.settings.preview.border

Type: null or string or raw lua code

Default: null

Plugin default: "rounded"

Declared by:

plugins.oil.settings.preview.height

Optionally define an integer/float for the exact height of the preview window.

Type: null or signed integer or integer or floating point number between 0.0 and 1.0 (both inclusive)

Default: null

Declared by:

plugins.oil.settings.preview.max_height

Height dimensions can be integers or a float between 0 and 1 (e.g. 0.4 for 40%). Can be a single value or a list of mixed integer/float types. max_height = [80 0.9] means “the lesser of 80 columns or 90% of total”.

Type: null or unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive) or list of (unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive))

Default: null

Plugin default: 0.9

Declared by:

plugins.oil.settings.preview.max_width

Width dimensions can be integers or a float between 0 and 1 (e.g. 0.4 for 40%). Can be a single value or a list of mixed integer/float types. max_width = [100 0.8] means “the lesser of 100 columns or 80% of total”.

Type: null or unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive) or list of (unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive))

Default: null

Plugin default: 0.9

Declared by:

plugins.oil.settings.preview.min_height

Height dimensions can be integers or a float between 0 and 1 (e.g. 0.4 for 40%). Can be a single value or a list of mixed integer/float types. min_height = [5 0.1] means “the greater of 5 columns or 10% of total”.

Type: null or unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive) or list of (unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive))

Default: null

Plugin default:

[
  5
  0.1
]

Declared by:

plugins.oil.settings.preview.min_width

Width dimensions can be integers or a float between 0 and 1 (e.g. 0.4 for 40%). Can be a single value or a list of mixed integer/float types. min_width = [40 0.4] means “the greater of 40 columns or 40% of total”.

Type: null or unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive) or list of (unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive))

Default: null

Plugin default:

[
  40
  0.4
]

Declared by:

plugins.oil.settings.preview.update_on_cursor_moved

Whether the preview window is automatically updated when the cursor is moved.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.oil.settings.preview.width

Optionally define an integer/float for the exact width of the preview window.

Type: null or signed integer or integer or floating point number between 0.0 and 1.0 (both inclusive)

Default: null

Declared by:

plugins.oil.settings.preview.win_options.winblend

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.oil.settings.progress.border

Type: null or string or raw lua code

Default: null

Plugin default: "rounded"

Declared by:

plugins.oil.settings.progress.height

Optionally define an integer/float for the exact height of the preview window.

Type: null or signed integer or integer or floating point number between 0.0 and 1.0 (both inclusive)

Default: null

Declared by:

plugins.oil.settings.progress.max_height

Height dimensions can be integers or a float between 0 and 1 (e.g. 0.4 for 40%). Can be a single value or a list of mixed integer/float types. max_height = [80 0.9] means “the lesser of 80 columns or 90% of total”.

Type: null or unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive) or list of (unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive))

Default: null

Plugin default: 0.9

Declared by:

plugins.oil.settings.progress.max_width

Width dimensions can be integers or a float between 0 and 1 (e.g. 0.4 for 40%). Can be a single value or a list of mixed integer/float types. max_width = [100 0.8] means “the lesser of 100 columns or 80% of total”.

Type: null or unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive) or list of (unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive))

Default: null

Plugin default: 0.9

Declared by:

plugins.oil.settings.progress.min_height

Height dimensions can be integers or a float between 0 and 1 (e.g. 0.4 for 40%). Can be a single value or a list of mixed integer/float types. min_height = [5 0.1] means “the greater of 5 columns or 10% of total”.

Type: null or unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive) or list of (unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive))

Default: null

Plugin default:

[
  5
  0.1
]

Declared by:

plugins.oil.settings.progress.min_width

Width dimensions can be integers or a float between 0 and 1 (e.g. 0.4 for 40%). Can be a single value or a list of mixed integer/float types. min_width = [40 0.4] means “the greater of 40 columns or 40% of total”.

Type: null or unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive) or list of (unsigned integer, meaning >=0, or integer or floating point number between 0.0 and 1.0 (both inclusive))

Default: null

Plugin default:

[
  40
  0.4
]

Declared by:

plugins.oil.settings.progress.minimized_border

Type: null or string or raw lua code

Default: null

Plugin default: "none"

Declared by:

plugins.oil.settings.progress.width

Optionally define an integer/float for the exact width of the preview window.

Type: null or signed integer or integer or floating point number between 0.0 and 1.0 (both inclusive)

Default: null

Declared by:

plugins.oil.settings.progress.win_options.winblend

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.oil.settings.ssh.border

Configuration for the floating SSH window.

Type: null or string or raw lua code

Default: null

Plugin default: "rounded"

Declared by:

plugins.oil.settings.view_options.is_always_hidden

This function defines what will never be shown, even when show_hidden is set.

Type: null or lua function string

Default: null

Plugin default:

''
  function(name, bufnr)
    return false
  end
''

Declared by:

plugins.oil.settings.view_options.is_hidden_file

This function defines what is considered a ‘hidden’ file.

Type: null or lua function string

Default: null

Plugin default:

''
  function(name, bufnr)
    return vim.startswith(name, ".")
  end
''

Declared by:

plugins.oil.settings.view_options.natural_order

Sort file names in a more intuitive order for humans. Is less performant, so you may want to set to false if you work with large directories.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.oil.settings.view_options.show_hidden

Show files and directories that start with “.”

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.oil.settings.view_options.sort

Sort order can be “asc” or “desc”. See :help oil-columns to see which columns are sortable.

Type: null or (list of ((list of string) or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  [
    "type"
    "asc"
  ]
  [
    "name"
    "asc"
  ]
]

Declared by:

plugins.oil.settings.win_options.concealcursor

Type: null or string or raw lua code

Default: null

Plugin default: "nvic"

Declared by:

plugins.oil.settings.win_options.conceallevel

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 3

Declared by:

plugins.oil.settings.win_options.cursorcolumn

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.oil.settings.win_options.foldcolumn

Type: null or string or raw lua code

Default: null

Plugin default: "0"

Declared by:

plugins.oil.settings.win_options.list

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.oil.settings.win_options.signcolumn

Type: null or string or raw lua code

Default: null

Plugin default: "no"

Declared by:

plugins.oil.settings.win_options.spell

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.oil.settings.win_options.wrap

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

oil-git-status

URL: https://github.com/refractalize/oil-git-status.nvim/

Maintainers: Fran Cirka


Add Git Status to oil.nvim directory listings.

Git status is added to the listing asynchronously after creating the oil directory

listing so it won't slow oil down on big repositories. The plugin puts the status in two new sign columns the left being the status of the index, the right being the status of the working directory

note

This plugin requires you configure plugins.oil to allow at least 2 sign columns:

plugins.oil = {
  enable = true;
  settings = {
    win_options = {
      signcolumn = "yes:2";
    };
  };
};

Valid values include yes or auto with a "max" of at least 2. E.g. "yes:2" or "auto:1-2".

See plugin docs and :h 'signcolumn'

plugins.oil-git-status.enable

Whether to enable oil-git-status.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.oil-git-status.package

The oil-git-status.nvim package to use.

Type: package

Default: pkgs.vimPlugins.oil-git-status-nvim

Declared by:

plugins.oil-git-status.autoLoad

Whether to automatically load oil-git-status.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.oil-git-status.settings

Options provided to the require('oil-git-status').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  show_ignored = false;
}

Declared by:

plugins.oil-git-status.lazyLoad

Lazy-load settings for oil-git-status.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.oil-git-status.lazyLoad.enable

lazy-loading for oil-git-status.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.oil-git-status.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.oil-git-status.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.oil-git-status.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.oil-git-status.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.ollama.enable

Whether to enable ollama.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.ollama.package

The ollama.nvim package to use.

Type: package

Default: pkgs.vimPlugins.ollama-nvim

Declared by:

plugins.ollama.action

How to handle prompt outputs when not specified by prompt.

See here for more details.

Type: null or raw lua code or one of “display”, “replace”, “insert”, “display_replace”, “display_insert”, “display_prompt” or (submodule)

Default: null

Plugin default: "display"

Declared by:

plugins.ollama.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.ollama.model

The default model to use.

Type: null or string or raw lua code

Default: null

Plugin default: "mistral"

Declared by:

plugins.ollama.prompts

A table of prompts to use for each model. Default prompts are defined here.

Type: attribute set of ((submodule) or value false (singular enum))

Default: { }

Declared by:

plugins.ollama.url

The url to use to connect to the ollama server.

Type: null or string or raw lua code

Default: null

Plugin default: "http://127.0.0.1:11434"

Declared by:

plugins.ollama.serve.args

The arguments to pass to the serve command.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "serve"
]

Declared by:

plugins.ollama.serve.command

The command to use to start the ollama server.

Type: null or string or raw lua code

Default: null

Plugin default: "ollama"

Declared by:

plugins.ollama.serve.onStart

Whether to start the ollama server on startup.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.ollama.serve.stopArgs

The arguments to pass to the stop command.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "-SIGTERM"
  "ollama"
]

Declared by:

plugins.ollama.serve.stopCommand

The command to use to stop the ollama server.

Type: null or string or raw lua code

Default: null

Plugin default: "pkill"

Declared by:

openscad

URL: https://github.com/salkin-mada/openscad.nvim/

Maintainers: Gaetan Lepage

plugins.openscad.enable

Whether to enable openscad.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.openscad.package

The openscad.nvim package to use.

Type: package

Default: pkgs.vimPlugins.openscad-nvim

Declared by:

plugins.openscad.autoLoad

Whether to automatically load openscad.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.openscad.fuzzyFinderPlugin

The fuzzy finder package to use.

Type: null or package

Default:

  • pkgs.vimPlugins.skim-vim if settings.fuzzy_finder is "skim"
  • pkgs.vimPlugins.fzf-vim if settings.fuzzy_finder is "fzf"
  • null otherwise

Declared by:

plugins.openscad.lazyLoad

Lazy-load settings for openscad.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.openscad.lazyLoad.enable

lazy-loading for openscad.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.openscad.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.openscad.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.openscad.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.openscad.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.openscad.settings

The configuration options for openscad without the openscad_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal openscad_foo_bar=1
  • hello = "world" -> :setglobal openscad_hello="world"
  • some_toggle = true -> :setglobal openscad_some_toggle
  • other_toggle = false -> :setglobal noopenscad_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  auto_open = true;
  cheatsheet_window_blend = 15;
  fuzzy_finder = "fzf";
  load_snippets = true;
}

Declared by:

plugins.openscad.settings.auto_open

Whether the openscad project automatically be opened on startup.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.openscad.settings.cheatsheet_toggle_key

Keyboard shortcut for toggling the cheatsheet.

Type: null or string or raw lua code

Default: null

Plugin default: "<Enter>"

Declared by:

plugins.openscad.settings.cheatsheet_window_blend

Transparency level of the cheatsheet window (in %).

Type: null or integer between 0 and 100 (both inclusive)

Default: null

Plugin default: 15

Declared by:

plugins.openscad.settings.default_mappings

Whether to enable the default mappings.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.openscad.settings.exec_openscad_trig_key

Keyboard shortcut for opening the current file in OpenSCAD.

Type: null or string or raw lua code

Default: null

Plugin default: "<A-o>"

Declared by:

plugins.openscad.settings.fuzzy_finder

Fuzzy finder to find documentation.

If you set this option explicitly, Nixvim will install the relevant finder plugin.

Type: null or string or raw lua code

Default: null

Plugin default: "skim"

Declared by:

plugins.openscad.settings.help_manual_trig_key

Keyboard shortcut for manually triggering the offline OpenSCAD manual.

Type: null or string or raw lua code

Default: null

Plugin default: "<A-m>"

Declared by:

plugins.openscad.settings.help_trig_key

Keyboard shortcut for triggering the fuzzy-find help resource.

Type: null or string or raw lua code

Default: null

Plugin default: "<A-h>"

Declared by:

plugins.openscad.settings.load_snippets

Whether to load predefined snippets for OpenSCAD.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.openscad.settings.top_toggle

Keyboard shortcut for toggling htop filtered for OpenSCAD processes.

Type: null or string or raw lua code

Default: null

Plugin default: "<A-c>"

Declared by:

orgmode

URL: https://nvim-orgmode.github.io

Maintainers: Refael Sheinker

plugins.orgmode.enable

Whether to enable nvim-orgmode.

Type: boolean

Default: false

Example: true

Declared by:

plugins.orgmode.package

The nvim-orgmode package to use.

Type: package

Default: pkgs.vimPlugins.orgmode

Declared by:

plugins.orgmode.autoLoad

Whether to automatically load nvim-orgmode when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.orgmode.lazyLoad

Lazy-load settings for nvim-orgmode.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.orgmode.lazyLoad.enable

lazy-loading for nvim-orgmode

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.orgmode.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.orgmode.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.orgmode.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.orgmode.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.orgmode.settings

Options provided to the require('orgmode').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  org_agenda_files = "~/orgfiles/**/*";
  org_default_notes_file = "~/orgfiles/refile.org";
}

Declared by:

plugins.orgmode.settings.org_agenda_files

A path for Org agenda files.

Type: null or string or list of string

Default: null

Plugin default: ""

Declared by:

plugins.orgmode.settings.org_default_notes_file

A path to the default notes file.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

origami

URL: https://github.com/chrisgrieser/nvim-origami/

Maintainers: Gaetan Lepage

plugins.origami.enable

Whether to enable nvim-origami.

Type: boolean

Default: false

Example: true

Declared by:

plugins.origami.package

The nvim-origami package to use.

Type: package

Default: pkgs.vimPlugins.nvim-origami

Declared by:

plugins.origami.autoLoad

Whether to automatically load nvim-origami when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.origami.settings

Options provided to the require('origami').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  keepFoldsAcrossSessions = true;
  pauseFoldsOnSearch = true;
  setupFoldKeymaps = false;
}

Declared by:

plugins.origami.lazyLoad

Lazy-load settings for nvim-origami.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.origami.lazyLoad.enable

lazy-loading for nvim-origami

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.origami.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.origami.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.origami.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.origami.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

otter

URL: https://github.com/jmbuhr/otter.nvim/

plugins.otter.enable

Whether to enable otter.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.otter.package

The otter.nvim package to use.

Type: package

Default: pkgs.vimPlugins.otter-nvim

Declared by:

plugins.otter.autoActivate

When enabled, activate otter automatically when lsp is attached.

Type: boolean

Default: true

Declared by:

plugins.otter.autoLoad

Whether to automatically load otter.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.otter.lazyLoad

Lazy-load settings for otter.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.otter.lazyLoad.enable

lazy-loading for otter.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.otter.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.otter.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.otter.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.otter.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.otter.settings

Options provided to the require('otter').setup function.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.otter.settings.handle_leading_whitespace

Otter may not work the way you expect when entire code blocks are indented (eg. in Org files). When true, otter handles these cases fully. This is a (minor) performance hit.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.otter.settings.strip_wrapping_quote_characters

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "'"
  "\""
  "`"
]

Declared by:

plugins.otter.settings.buffers.set_filetype

If set to true, the filetype of the otterbuffers will be set. Otherwise only the autocommand of lspconfig that attaches the language server will be executed without setting the filetype.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.otter.settings.buffers.write_to_disk

Write <path>.otter.<embedded language extension> files to disk on save of main buffer. Useful for some linters that require actual files, otter files are deleted on quit or main buffer close.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.otter.settings.lsp.diagnostic_update_events

:h events that cause the diagnostics to update.

See example for less performant but more instant diagnostic updates.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "BufWritePost"
]

Example:

[
  "BufWritePost"
  "InsertLeave"
  "TextChanged"
]

Declared by:

plugins.otter.settings.lsp.hover.border

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "╭"
  "─"
  "╮"
  "│"
  "╯"
  "─"
  "╰"
  "│"
]

Declared by:

overseer

URL: https://github.com/stevearc/overseer.nvim/

Maintainers: Austin Horstman

plugins.overseer.enable

Whether to enable overseer.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.overseer.package

The overseer.nvim package to use.

Type: package

Default: pkgs.vimPlugins.overseer-nvim

Declared by:

plugins.overseer.autoLoad

Whether to automatically load overseer.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.overseer.lazyLoad

Lazy-load settings for overseer.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.overseer.lazyLoad.enable

lazy-loading for overseer.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.overseer.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.overseer.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.overseer.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.overseer.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.overseer.settings

Options provided to the require('overseer').setup function.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.overseer.settings.actions

They are simply a custom function that will do something to or with a task. Please refer to the documentation for details of available builtin actions.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.overseer.settings.auto_detect_success_color

When true, tries to detect a green color from your colorscheme to use for success highlight.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.overseer.settings.dap

Whether to patch nvim-dap to support preLaunchTask and postDebugTask

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.overseer.settings.strategy

Default task strategy.

Type: null or string or attribute set of anything or raw lua code

Default: null

Plugin default: "terminal"

Declared by:

plugins.overseer.settings.task_list

The task list displays all tasks that have been created. It shows the task status, name, and a summary of the task output.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  bindings = {
    "<C-e>" = "Edit";
    "<C-f>" = "OpenFloat";
    "<C-h>" = "DecreaseDetail";
    "<C-j>" = "ScrollOutputDown";
    "<C-k>" = "ScrollOutputUp";
    "<C-l>" = "IncreaseDetail";
    "<C-q>" = "OpenQuickFix";
    "<C-s>" = "OpenSplit";
    "<C-v>" = "OpenVsplit";
    "<CR>" = "RunAction";
    "?" = "ShowHelp";
    H = "DecreaseAllDetail";
    L = "IncreaseAllDetail";
    "[" = "DecreaseWidth";
    "]" = "IncreaseWidth";
    "g?" = "ShowHelp";
    o = "Open";
    p = "TogglePreview";
    q = "Close";
    "{" = "PrevTask";
    "}" = "NextTask";
  };
  default_detail = 1;
  direction = "bottom";
  height = null;
  max_height = [
    20
    0.1
  ];
  max_width = [
    100
    0.2
  ];
  min_height = 8;
  min_width = [
    40
    0.1
  ];
  separator = "────────────────────────────────────────";
  width = null;
}

Declared by:

plugins.overseer.settings.templates

Template modules to load.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "builtin"
]

Declared by:

plugins.overseer.settings.task_editor.bindings

Set keymap to false to remove default behavior. You can add custom keymaps here as well (anything vim.keymap.set accepts).

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  i = {
    "<C-c>" = "Cancel";
    "<C-s>" = "Submit";
    "<CR>" = "NextOrSubmit";
    "<S-Tab>" = "Prev";
    "<Tab>" = "Next";
  };
  n = {
    "<C-s>" = "Submit";
    "<CR>" = "NextOrSubmit";
    "<S-Tab>" = "Prev";
    "<Tab>" = "Next";
    "?" = "ShowHelp";
    q = "Cancel";
  };
}

Declared by:

plugins.overseer.settings.task_launcher.bindings

Set keymap to false to remove default behavior. You can add custom keymaps here as well (anything vim.keymap.set accepts).

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  i = {
    "<C-c>" = "Cancel";
    "<C-s>" = "Submit";
  };
  n = {
    "<C-s>" = "Submit";
    "<CR>" = "Submit";
    "?" = "ShowHelp";
    q = "Cancel";
  };
}

Declared by:

package-info

URL: https://github.com/vuki656/package-info.nvim/

Maintainers: Austin Horstman

plugins.package-info.enable

Whether to enable package-info.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.package-info.enableTelescope

Whether to enable the package_info telescope picker…

Type: boolean

Default: false

Example: true

Declared by:

plugins.package-info.package

The package-info.nvim package to use.

Type: package

Default: pkgs.vimPlugins.package-info-nvim

Declared by:

plugins.package-info.packageManagerPackage

The npm package to use.

Type: null or package

Default: null

Example: pkgs.nodePackages.npm

Declared by:

plugins.package-info.autoLoad

Whether to automatically load package-info.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.package-info.lazyLoad

Lazy-load settings for package-info.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.package-info.lazyLoad.enable

lazy-loading for package-info.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.package-info.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.package-info.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.package-info.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.package-info.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.package-info.settings

Options provided to the require('package-info').setup function.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.package-info.settings.package_manager

Can be npm, yarn, or pnpm.

The plugin will try to auto-detect the package manager based on yarn.lock or package-lock.json.

If none are found it will use the provided one, if nothing is provided it will use npm

Type: null or string or raw lua code

Default: null

Plugin default: "npm"

Declared by:

plugins.package-info.settings.autostart

Whether to autostart when package.json is opened.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.package-info.settings.colors

Colors of virtual text.

Type: null or (attribute set of anything) or raw lua code

Default: null

Plugin default:

{
  invalid = "#ee4b2b";
  outdated = "#d19a66";
  up_to_date = "#3C4048";
}

Declared by:

plugins.package-info.settings.hide_unstable_versions

It hides unstable versions from version list e.g next-11.1.3-canary3.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.package-info.settings.hide_up_to_date

It hides up to date versions when displaying virtual text.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.package-info.settings.icons

Icons for virtual text.

Type: null or anything or (attribute set of anything) or raw lua code

Default: null

Plugin default:

{
  enable = true;
  style = {
    invalid = "|  ";
    outdated = "|  ";
    up_to_date = "|  ";
  };
}

Declared by:

papis

URL: https://github.com/jghauser/papis.nvim

Maintainers: Gaetan Lepage

plugins.papis.enable

Whether to enable papis.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.papis.package

The papis.nvim package to use.

Type: package

Default: pkgs.vimPlugins.papis-nvim

Declared by:

plugins.papis.autoLoad

Whether to automatically load papis.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.papis.lazyLoad

Lazy-load settings for papis.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.papis.lazyLoad.enable

lazy-loading for papis.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.papis.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.papis.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.papis.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.papis.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.papis.settings

Options provided to the require('papis').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  cite_formats = {
    markdown = "@%s";
    norg = "{= %s}";
    org = [
      "[cite:@%s]"
      "%[cite:@%s]"
    ];
    plain = "%s";
    rmd = "@%s";
    tex = [
      "\\cite{%s}"
      "\\cite[tp]?%*?{%s}"
    ];
  };
  enable_keymaps = true;
  enable_modules = {
    base = true;
    colors = true;
    completion = true;
    cursor-actions = true;
    debug = false;
    formatter = true;
    search = true;
  };
  papis_python = {
    dir = "~/Documents/papers";
    info_name = "info.yaml";
    notes_name = {
      __raw = "[[notes.norg]]";
    };
  };
}

Declared by:

plugins.papis.settings.enable_fs_watcher

Whether to enable the file system event watcher.

When disabled, the database is only updated on startup.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.papis.settings.enable_icons

Whether to enable pretty icons (requires something like Nerd Fonts).

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.papis.settings.enable_keymaps

Enable default keymaps.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.papis.settings.enable_modules

List of enabled modules.

Type: null or (attribute set of (boolean or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  at-cursor = true;
  base = true;
  colors = true;
  completion = true;
  debug = false;
  formatter = true;
  search = true;
}

Declared by:

plugins.papis.settings.cite_formats

Defines citation formats for various filetypes. They define how citation strings are parsed and formatted when inserted.

Type: null or (attribute set of (string or list of string or (attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  markdown = {
    ref_prefix = "@";
    separator_str = "; ";
  };
  norg = {
    end_str = "}";
    separator_str = "; ";
    start_str = "{= ";
  };
  org = {
    end_str = "]";
    ref_prefix = "@";
    separator_str = ";";
    start_str = "[cite:";
  };
  plain = {
    separator_str = ", ";
  };
  rmd = {
    ref_prefix = "@";
    separator_str = "; ";
  };
  tex = {
    end_str = "}";
    separator_str = ", ";
    start_str = "[[cite{]]";
  };
  typst = {
    ref_prefix = "@";
    separator_str = " ";
  };
}

Declared by:

plugins.papis.settings.cite_formats_fallback

What citation format to use when none is defined for the current filetype.

Type: null or string or raw lua code

Default: null

Plugin default: "plain"

Declared by:

plugins.papis.settings.create_new_note_fn

Function to execute when adding a new note. ref is the citation key of the relevant entry and notes_name is the name of the notes file.

Type: null or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(papis_id, notes_name)
    vim.fn.system(
      string.format(
        "papis update --set notes %s papis_id:%s",
        vim.fn.shellescape(notes_name),
        vim.fn.shellescape(papis_id)
      )
    )
  end
''

Declared by:

plugins.papis.settings.data_tbl_schema

The sqlite schema of the main data table.

Only the "text" and "luatable" types are allowed.

Type: null or (attribute set of (string or (attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  abstract = "text";
  author = "text";
  author_list = "luatable";
  editor = "text";
  files = "luatable";
  id = {
    __unkeyed-type = "integer";
    pk = true;
  };
  journal = "text";
  notes = "luatable";
  number = "text";
  papis_id = {
    __unkeyed-type = "text";
    required = true;
    unique = true;
  };
  ref = {
    __unkeyed-type = "text";
    required = true;
    unique = true;
  };
  shorttitle = "text";
  tags = "luatable";
  time_added = "text";
  title = "text";
  type = "text";
  volume = "text";
  year = "text";
}

Declared by:

plugins.papis.settings.db_path

Path to the papis.nvim database.

Type: null or string or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "vim.fn.stdpath('data') .. '/papis_db/papis-nvim.sqlite3'"

Declared by:

plugins.papis.settings.init_filetypes

Filetypes that start papis.nvim.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "markdown"
  "norg"
  "yaml"
  "typst"
]

Declared by:

plugins.papis.settings.papis_conf_keys

Papis options to import into papis.nvim.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "info-name"
  "notes-name"
  "dir"
  "opentool"
]

Declared by:

plugins.papis.settings.yq_bin

Name of the yq executable.

Type: null or string or raw lua code

Default: null

Plugin default: "yq"

Declared by:

plugins.papis.settings.at-cursor.popup_format

The format of the popup shown on :Papis at-cursor show-popup (equivalent to points 1-3 of preview_format).

Note that one of the lines is composed of multiple elements.

Note also the [ "vspace" "vspace" ] line which is exclusive to popup_format and which tells papis.nvim to fill the space between the previous and next element with whitespace (and in effect make whatever comes after right-aligned). It can only occur once in a line.

Type: null or (list of ((list of (string or list of string)) or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  [
    "author"
    "%s"
    "PapisPopupAuthor"
  ]
  [
    "vspace"
    "vspace"
  ]
  [
    "files"
    [
      " "
      "F "
    ]
    "PapisResultsFiles"
  ]
  [
    "notes"
    [
      "󰆈 "
      "N "
    ]
    "PapisResultsNotes"
  ]
  [
    "year"
    "%s"
    "PapisPopupYear"
  ]
  [
    "title"
    "%s"
    "PapisPopupTitle"
  ]
]

Declared by:

plugins.papis.settings.formatter.format_notes

This function runs when first opening a new note.

The entry arg is a table containing all the information about the entry (see above data_tbl_schema).

This example is meant to be used with the markdown filetype. The function must return a set of lines, specifying the lines to be added to the note.

Type: null or raw lua code

Default: null

Declared by:

plugins.papis.settings.formatter.format_references

This function runs when inserting a formatted reference (currently by f/c-f in Telescope).

It works similarly to the format_notes above, except that the set of lines should only contain one line (references using multiple lines aren’t currently supported).

Type: null or raw lua code

Default: null

Declared by:

plugins.papis.settings.papis-storage.key_name_conversions

As lua doesn’t deal well with ‘-’, we define conversions between the format in the info.yaml and the format in papis.nvim’s internal database.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  time_added = "time-added";
}

Declared by:

plugins.papis.settings.papis-storage.required_keys

The keys which .yaml files are expected to always define.

Files that are missing these keys will cause an error message and will not be added to the database.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "papis_id"
  "ref"
]

Declared by:

plugins.papis.settings.papis-storage.tag_format

The format used for tags. Will be determined automatically if left empty.

Can be set to:

  • "tbl" if a lua table,
  • "," if comma-separated,
  • ":" if semi-colon separated,
  • " " if space separated.

Type: null or one of “tbl”, “,”, “:”, " " or raw lua code

Default: null

Plugin default: null

Example: "tbl"

Declared by:

plugins.papis.settings.search.initial_sort_by_time_added

Whether to initially sort entries by time-added.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.papis.settings.search.preview_format

Papis.nvim uses a common configuration format for defining the formatting of strings.

Sometimes – as for instance in the below preview_format option – we define a set of lines. At other times – as for instance in the results_format option – we define a single line.

Sets of lines are composed of single lines. A line can be composed of either a single element or multiple elements. The below preview_format shows an example where each line is defined by a table with just one element.

Type: null or (list of ((list of (string or list of string)) or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  [
    "author"
    "%s"
    "PapisPreviewAuthor"
  ]
  [
    "year"
    "%s"
    "PapisPreviewYear"
  ]
  [
    "title"
    "%s"
    "PapisPreviewTitle"
  ]
  [
    "empty_line"
  ]
  [
    "journal"
    "%s"
    "PapisPreviewValue"
    "show_key"
    [
      "󱀁  "
      "%s: "
    ]
    "PapisPreviewKey"
  ]
  [
    "type"
    "%s"
    "PapisPreviewValue"
    "show_key"
    [
      "  "
      "%s: "
    ]
    "PapisPreviewKey"
  ]
  [
    "ref"
    "%s"
    "PapisPreviewValue"
    "show_key"
    [
      "  "
      "%s: "
    ]
    "PapisPreviewKey"
  ]
  [
    "tags"
    "%s"
    "PapisPreviewValue"
    "show_key"
    [
      "  "
      "%s: "
    ]
    "PapisPreviewKey"
  ]
  [
    "abstract"
    "%s"
    "PapisPreviewValue"
    "show_key"
    [
      "󰭷  "
      "%s: "
    ]
    "PapisPreviewKey"
  ]
]

Declared by:

plugins.papis.settings.search.results_format

The format of each line in the the results window. Here, everything is show on one line (otherwise equivalent to points 1-3 of preview_format).

The force_space value is used to force whitespace for icons (so that if e.g. a file is absent, it will show " ", ensuring that columns are aligned.)

Type: null or (list of ((list of (string or list of string)) or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  [
    "files"
    [
      " "
      "F "
    ]
    "PapisResultsFiles"
    "force_space"
  ]
  [
    "notes"
    [
      "󰆈 "
      "N "
    ]
    "PapisResultsNotes"
    "force_space"
  ]
  [
    "author"
    "%s "
    "PapisResultsAuthor"
  ]
  [
    "year"
    "(%s) "
    "PapisResultsYear"
  ]
  [
    "title"
    "%s"
    "PapisResultsTitle"
  ]
]

Declared by:

plugins.papis.settings.search.search_keys

What keys to search for matches.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "author"
  "editor"
  "year"
  "title"
  "tags"
]

Declared by:

plugins.papis.settings.search.wrap

Whether to enable line wrap in the telescope previewer.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

parinfer-rust

URL: https://github.com/eraserhd/parinfer-rust

Maintainers: Gaetan Lepage

plugins.parinfer-rust.enable

Whether to enable parinfer-rust.

Type: boolean

Default: false

Example: true

Declared by:

plugins.parinfer-rust.package

The parinfer-rust package to use.

Type: package

Default: pkgs.vimPlugins.parinfer-rust

Declared by:

plugins.parinfer-rust.autoLoad

Whether to automatically load parinfer-rust when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.parinfer-rust.settings

The configuration options for parinfer-rust without the parinfer_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal parinfer_foo_bar=1
  • hello = "world" -> :setglobal parinfer_hello="world"
  • some_toggle = true -> :setglobal parinfer_some_toggle
  • other_toggle = false -> :setglobal noparinfer_other_toggle

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.parinfer-rust.settings.force_balance

In smart mode and indent mode, parinfer will sometimes leave unbalanced brackets around the cursor and fix them when the cursor moves away. When this option is set to true, the brackets will be fixed immediately (and fixed again when text is inserted).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.parinfer-rust.settings.mode

The mode used to process buffer changes.

Type: null or one of “smart”, “indent”, “paren” or raw lua code

Default: null

Plugin default: "smart"

Declared by:

parrot

URL: https://github.com/frankroeder/parrot.nvim/

Maintainers: Gaetan Lepage

plugins.parrot.enable

Whether to enable parrot.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.parrot.package

The parrot.nvim package to use.

Type: package

Default: pkgs.vimPlugins.parrot-nvim

Declared by:

plugins.parrot.autoLoad

Whether to automatically load parrot.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.parrot.settings

Options provided to the require('parrot').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  cmd_prefix = "Parrot";
  providers = {
    github = {
      api_key.__raw = "os.getenv 'GITHUB_TOKEN'";
      topic.model = "gpt-4o";
    };
  };
  hooks = {
    Ask.__raw = ''
      function(parrot, params)
        local template = "Please, answer to this question: {{command}}."
        local model_obj = parrot.get_model("command")
        parrot.logger.info("Asking model: " .. model_obj.name)
        parrot.Prompt(params, parrot.ui.Target.popup, model_obj, "🤖 Ask ~ ", template)
      end
    '';
  };
};

Declared by:

plugins.parrot.lazyLoad

Lazy-load settings for parrot.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.parrot.lazyLoad.enable

lazy-loading for parrot.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.parrot.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.parrot.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.parrot.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.parrot.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

pckr

URL: https://github.com/lewis6991/pckr.nvim/

Maintainers: Gaetan Lepage

plugins.pckr.enable

Whether to enable pckr.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.pckr.package

The pckr.nvim package to use.

Type: package

Default: pkgs.vimPlugins.pckr-nvim

Declared by:

plugins.pckr.autoLoad

Whether to automatically load pckr.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.pckr.plugins

List of plugins to install with pckr.

Type: list of (string or (attribute set of anything))

Default: [ ]

Example:

[
  "9mm/vim-closer"
  "~/projects/personal/hover.nvim"
  {
    cond = [
      {
        __raw = "require('pckr.loader.cmd')('Dispatch')";
      }
    ];
    path = "tpope/vim-dispatch";
  }
  {
    path = "nvim-treesitter/nvim-treesitter";
    run = ":TSUpdate";
  }
]

Declared by:

plugins.pckr.settings

Options provided to the require('pckr').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  autoremove = true;
  lockfile = {
    path = {
      __raw = "vim.fn.stdpath('config') .. '/pckr/lockfile.lua'";
    };
  };
  pack_dir = {
    __raw = "vim.env.VIM .. '/pckr'";
  };
}

Declared by:

plugins.pckr.lazyLoad

Lazy-load settings for pckr.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.pckr.lazyLoad.enable

lazy-loading for pckr.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.pckr.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.pckr.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.pckr.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.pckr.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

peek

URL: https://github.com/toppair/peek.nvim/

Maintainers: Gaetan Lepage

plugins.peek.enable

Whether to enable peek.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.peek.package

The peek.nvim package to use.

Type: package

Default: pkgs.vimPlugins.peek-nvim

Declared by:

plugins.peek.autoLoad

Whether to automatically load peek.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.peek.createUserCommands

Whether to create the PeekOpen and PeekClose user commands.

Type: boolean

Default: true

Example: false

Declared by:

plugins.peek.settings

Options provided to the require('peek').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  app = "google-chrome-stable";
  auto_load = false;
  close_on_bdelete = false;
}

Declared by:

plugins.peek.lazyLoad

Lazy-load settings for peek.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.peek.lazyLoad.enable

lazy-loading for peek.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.peek.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.peek.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.peek.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.peek.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

persisted

URL: https://github.com/olimorris/persisted.nvim/

Maintainers: Gaetan Lepage

plugins.persisted.enable

Whether to enable persisted.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.persisted.enableTelescope

Whether to enable persisted-nvim telescope integration.

Type: boolean

Default: false

Example: true

Declared by:

plugins.persisted.package

The persisted.nvim package to use.

Type: package

Default: pkgs.vimPlugins.persisted-nvim

Declared by:

plugins.persisted.autoLoad

Whether to automatically load persisted.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.persisted.lazyLoad

Lazy-load settings for persisted.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.persisted.lazyLoad.enable

lazy-loading for persisted.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.persisted.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.persisted.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.persisted.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.persisted.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.persisted.settings

Options provided to the require('persisted').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  autoload = true;
  on_autoload_no_session = {
    __raw = ''
      function()
        vim.notify("No existing session to load.")
      end
    '';
  };
  use_git_branch = true;
}

Declared by:

plugins.persisted.settings.allowed_dirs

List of dirs that the plugin will start and autoload from.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.persisted.settings.autoload

Whether to automatically load the session for the cwd on Neovim startup.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.persisted.settings.autostart

Whether to automatically start the plugin on load.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.persisted.settings.follow_cwd

Whether to change the session file to match any change in the cwd.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.persisted.settings.ignored_dirs

List of dirs that are ignored for starting and autoloading.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.persisted.settings.on_autoload_no_session

Function to run when autoload = true but there is no session to load.

@type fun(): any

Type: null or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "function() end"

Declared by:

plugins.persisted.settings.save_dir

Directory where session files are saved.

Type: null or string or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "vim.fn.expand(vim.fn.stdpath('data') .. '/sessions/')"

Declared by:

plugins.persisted.settings.should_save

Function to determine if a session should be saved.

@type fun(): boolean

Type: null or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function()
    return true
  end
''

Declared by:

plugins.persisted.settings.use_git_branch

Whether to include the git branch in the session file name.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.persisted.settings.telescope.icons

Icons displayed in the Telescope picker.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  branch = " ";
  dir = "  ";
  selected = " ";
}

Declared by:

plugins.persisted.settings.telescope.mappings

Mappings for managing sessions in Telescope.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  change_branch = "<C-b>";
  copy_session = "<C-c>";
  delete_session = "<C-d>";
}

Declared by:

persistence

URL: https://github.com/folke/persistence.nvim/

Maintainers: Johan Larsson


A simple lua plugin for automated session management.

plugins.persistence.enable

Whether to enable persistence.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.persistence.package

The persistence.nvim package to use.

Type: package

Default: pkgs.vimPlugins.persistence-nvim

Declared by:

plugins.persistence.autoLoad

Whether to automatically load persistence.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.persistence.lazyLoad

Lazy-load settings for persistence.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.persistence.lazyLoad.enable

lazy-loading for persistence.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.persistence.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.persistence.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.persistence.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.persistence.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.persistence.settings

Options provided to the require('persistence').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  branch = false;
  need = 0;
}

Declared by:

plugins.persistence.settings.branch

Use git branch to save session.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.persistence.settings.dir

Directory where session files are saved.

Type: null or string or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "vim.fn.expand(vim.fn.stdpath('state') .. '/sessions/')"

Declared by:

plugins.persistence.settings.need

Minimum number of file buffers that need to be open to save. Set to 0 to always save.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1

Declared by:

plantuml-syntax

URL: https://github.com/aklt/plantuml-syntax/

Maintainers: Gaetan Lepage

plugins.plantuml-syntax.enable

Whether to enable plantuml-syntax.

Type: boolean

Default: false

Example: true

Declared by:

plugins.plantuml-syntax.package

The plantuml-syntax package to use.

Type: package

Default: pkgs.vimPlugins.plantuml-syntax

Declared by:

plugins.plantuml-syntax.autoLoad

Whether to automatically load plantuml-syntax when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.plantuml-syntax.settings

The configuration options for plantuml-syntax without the plantuml_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal plantuml_foo_bar=1
  • hello = "world" -> :setglobal plantuml_hello="world"
  • some_toggle = true -> :setglobal plantuml_some_toggle
  • other_toggle = false -> :setglobal noplantuml_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  executable_script = "plantuml";
  set_makeprg = true;
}

Declared by:

plugins.plantuml-syntax.settings.executable_script

Set the script to be called with makeprg, default to plantuml in $PATH.

Type: null or string or raw lua code

Default: null

Plugin default: "plantuml"

Declared by:

plugins.plantuml-syntax.settings.set_makeprg

Set the makeprg to plantuml.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

precognition

URL: https://github.com/tris203/precognition.nvim/

Maintainers: Austin Horstman

plugins.precognition.enable

Whether to enable precognition.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.precognition.package

The precognition.nvim package to use.

Type: package

Default: pkgs.vimPlugins.precognition-nvim

Declared by:

plugins.precognition.autoLoad

Whether to automatically load precognition.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.precognition.lazyLoad

Lazy-load settings for precognition.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.precognition.lazyLoad.enable

lazy-loading for precognition.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.precognition.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.precognition.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.precognition.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.precognition.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.precognition.settings

Options provided to the require('precognition').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  disabled_fts = [
    "startify"
    "dashboard"
  ];
  highlightColor = {
    link = "Text";
  };
  showBlankVirtLine = false;
  startVisible = false;
}

Declared by:

plugins.precognition.settings.disabled_fts

precognition.nvim is disabled under these filetypes.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "startify"
]

Declared by:

plugins.precognition.settings.gutterHints

Hints that will be shown on the gutter.

Hints can be hidden by setting their priority to 0.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  G = {
    prio = 10;
    text = "G";
  };
  NextParagraph = {
    prio = 8;
    text = "}";
  };
  PrevParagraph = {
    prio = 8;
    text = "{";
  };
  gg = {
    prio = 9;
    text = "gg";
  };
}

Declared by:

plugins.precognition.settings.highlightColor

Highlight groups for the hints.

Can be defined as either:

  • As a table containing a link property pointing to an existing highlight group.
  • As a table specifying custom highlight values, such as foreground and background colors.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  link = "Comment";
}

Declared by:

plugins.precognition.settings.hints

Hints that will be shown on the virtual line. Priority is used to determine which hint to show when two can be shown at the same spot.

Hints can be hidden by setting their priority to 0. If you want to hide the entire virtual line, set all elements to prio = 0.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  B = {
    prio = 6;
    text = "B";
  };
  Caret = {
    prio = 2;
    text = "^";
  };
  Dollar = {
    prio = 1;
    text = "$";
  };
  E = {
    prio = 5;
    text = "E";
  };
  MatchingPair = {
    prio = 5;
    text = "%";
  };
  W = {
    prio = 7;
    text = "W";
  };
  Zero = {
    prio = 1;
    text = "0";
  };
  b = {
    prio = 9;
    text = "b";
  };
  e = {
    prio = 8;
    text = "e";
  };
  w = {
    prio = 10;
    text = "w";
  };
}

Declared by:

plugins.precognition.settings.showBlankVirtLine

Setting this option will mean that if a Virtual Line would be blank it won’t be rendered.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.precognition.settings.startVisible

Whether to show precognition.nvim on startup.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.presence-nvim.enable

Whether to enable presence-nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.presence-nvim.enableLineNumber

Displays the current line number instead of the current project.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.presence-nvim.package

The presence-nvim package to use.

Type: package

Default: pkgs.vimPlugins.presence-nvim

Declared by:

plugins.presence-nvim.autoUpdate

Update activity based on autocmd events. If false, map or manually execute :lua package.loaded.presence:update()

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.presence-nvim.blacklist

A list of strings or Lua patterns that disable Rich Presence if the current file name, path, or workspace matches.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.presence-nvim.buttons

Button configurations which will always appear in Rich Presence.

Can be a list of attribute sets, each with the following attributes:

label: The label of the button. e.g. "GitHub Profile".

url: The URL the button leads to. e.g. "https://github.com/<NAME>".

Can also be a lua function: function(buffer: string, repo_url: string|nil): table)

Type: null or (list of ((submodule) or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.presence-nvim.clientId

Use your own Discord application client id. (not recommended)

Type: null or string or raw lua code

Default: null

Plugin default: "793271441293967371"

Declared by:

plugins.presence-nvim.debounceTimeout

Number of seconds to debounce events. (or calls to :lua package.loaded.presence:update(<filename>, true))

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.presence-nvim.editingText

String rendered when an editable file is loaded in the buffer.

Can also be a lua function: function(filename: string): string

Type: null or string or raw lua code

Default: null

Plugin default: "Editing %s"

Declared by:

plugins.presence-nvim.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.presence-nvim.fileAssets

Custom file asset definitions keyed by file names and extensions.

List elements for each attribute (filetype):

name: The name of the asset shown as the title of the file in Discord.

source: The source of the asset, either an art asset key or the URL of an image asset.

Example:

  {
    # Use art assets uploaded in Discord application for the configured client id
    js = [ "JavaScript" "javascript" ];
    ts = [ "TypeScript" "typescript" ];
    # Use image URLs
    rs = [ "Rust" "https://www.rust-lang.org/logos/rust-logo-512x512.png" ];
    go = [ "Go" "https://go.dev/blog/go-brand/Go-Logo/PNG/Go-Logo_Aqua.png" ];
  };

Type: null or (attribute set of list of string)

Default: null

Declared by:

plugins.presence-nvim.fileExplorerText

String rendered when browsing a file explorer.

Can also be a lua function: function(file_explorer_name: string): string

Type: null or string or raw lua code

Default: null

Plugin default: "Browsing %s"

Declared by:

plugins.presence-nvim.gitCommitText

String rendered when committing changes in git.

Can also be a lua function: function(filename: string): string

Type: null or string or raw lua code

Default: null

Plugin default: "Committing changes"

Declared by:

plugins.presence-nvim.lineNumberText

String rendered when enableLineNumber is set to true to display the current line number.

Can also be a lua function: function(line_number: number, line_count: number): string

Type: null or string or raw lua code

Default: null

Plugin default: "Line %s out of %s"

Declared by:

plugins.presence-nvim.logLevel

Log messages at or above this level.

Type: null or one of “debug”, “info”, “warn”, “error” or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.presence-nvim.mainImage

Main image display.

Type: null or one of “neovim”, “file” or raw lua code

Default: null

Plugin default: "neovim"

Declared by:

plugins.presence-nvim.neovimImageText

Text displayed when hovered over the Neovim image.

Type: null or string or raw lua code

Default: null

Plugin default: "The One True Text Editor"

Declared by:

plugins.presence-nvim.pluginManagerText

String rendered when managing plugins.

Can also be a lua function: function(plugin_manager_name: string): string

Type: null or string or raw lua code

Default: null

Plugin default: "Managing plugins"

Declared by:

plugins.presence-nvim.readingText

String rendered when a read-only/unmodifiable file is loaded into the buffer.

Can also be a lua function: function(filename: string): string

Type: null or string or raw lua code

Default: null

Plugin default: "Reading %s"

Declared by:

plugins.presence-nvim.showTime

Show the timer.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.presence-nvim.workspaceText

String rendered when in a git repository.

Can also be a lua function: function(project_name: string|nil, filename: string): string

Type: null or string or raw lua code

Default: null

Plugin default: "Working on %s"

Declared by:

preview

URL: https://github.com/henriklovhaug/Preview.nvim/

Maintainers: Gaetan Lepage

plugins.preview.enable

Whether to enable Preview.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.preview.package

The Preview.nvim package to use.

Type: package

Default: pkgs.vimPlugins.Preview-nvim

Declared by:

plugins.preview.autoLoad

Whether to automatically load Preview.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.preview.lazyLoad

Lazy-load settings for Preview.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.preview.lazyLoad.enable

lazy-loading for Preview.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.preview.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.preview.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.preview.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.preview.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

project-nvim

URL: https://github.com/ahmedkhalf/project.nvim/

Maintainers: Austin Horstman

plugins.project-nvim.enable

Whether to enable project.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.project-nvim.enableTelescope

Whether to enable project-nvim telescope integration.

Type: boolean

Default: false

Example: true

Declared by:

plugins.project-nvim.package

The project.nvim package to use.

Type: package

Default: pkgs.vimPlugins.project-nvim

Declared by:

plugins.project-nvim.autoLoad

Whether to automatically load project.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.project-nvim.lazyLoad

Lazy-load settings for project.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.project-nvim.lazyLoad.enable

lazy-loading for project.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.project-nvim.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.project-nvim.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.project-nvim.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.project-nvim.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.project-nvim.settings

Options provided to the require('project_nvim').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  detection_methods = [
    "lsp"
  ];
  excludeDirs = [
    "/home/user/secret-directory"
  ];
  ignore_lsp = [
    "tsserver"
  ];
  patterns = [
    ".git"
  ];
  showHidden = true;
  silent_chdir = false;
}

Declared by:

plugins.project-nvim.settings.data_path

Path where project.nvim will store the project history for use in telescope.

Type: null or string or raw lua code

Default: null

Plugin default:

{
  __raw = "vim.fn.stdpath('data')";
}

Declared by:

plugins.project-nvim.settings.detection_methods

Methods of detecting the root directory. “lsp” uses the native neovim lsp, while “pattern” uses vim-rooter like glob pattern matching. Here order matters: if one is not detected, the other is used as fallback. You can also delete or rearangne the detection methods.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "lsp"
  "pattern"
]

Declared by:

plugins.project-nvim.settings.exclude_dirs

Don’t calculate root dir on specific directories.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.project-nvim.settings.ignore_lsp

Table of lsp clients to ignore by name.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.project-nvim.settings.manual_mode

Manual mode doesn’t automatically change your root directory, so you have the option to manually do so using :ProjectRoot command.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.project-nvim.settings.patterns

All the patterns used to detect root dir, when “pattern” is in detectionMethods.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  ".git"
  "_darcs"
  ".hg"
  ".bzr"
  ".svn"
  "Makefile"
  "package.json"
]

Declared by:

plugins.project-nvim.settings.scope_chdir

What scope to change the directory.

Type: null or one of “global”, “tab”, “win” or raw lua code

Default: null

Plugin default: "global"

Declared by:

plugins.project-nvim.settings.show_hidden

Show hidden files in telescope.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.project-nvim.settings.silent_chdir

When set to false, you will get a message when project.nvim changes your directory.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

projections

URL: https://github.com/GnikDroy/projections.nvim/

Maintainers: Gaetan Lepage

plugins.projections.enable

Whether to enable projections.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.projections.package

The projections.nvim package to use.

Type: package

Default: pkgs.vimPlugins.projections-nvim

Declared by:

plugins.projections.autoLoad

Whether to automatically load projections.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.projections.lazyLoad

Lazy-load settings for projections.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.projections.lazyLoad.enable

lazy-loading for projections.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.projections.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.projections.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.projections.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.projections.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.projections.settings

Options provided to the require('projections').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  patterns = [
    ".git"
    ".svn"
    ".hg"
  ];
  sessions_directory = "path/to/dir";
  workspaces = [
    [
      "~/Documents/dev"
      [
        ".git"
      ]
    ]
    [
      "~/repos"
      [ ]
    ]
    "~/dev"
  ];
  workspaces_file = "path/to/file";
}

Declared by:

plugins.projections.settings.patterns

Default patterns to use if none were specified. These are NOT regexps.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  ".git"
  ".svn"
  ".hg"
]

Declared by:

plugins.projections.settings.restore_hooks

Pre and post hooks for restore_session.

Type: null or (submodule) or raw lua code

Default: null

Plugin default:

{
  post = null;
  pre = null;
}

Declared by:

plugins.projections.settings.sessions_directory

Directory where sessions are stored.

Type: null or string or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "vim.fn.stdpath('cache') .. 'projections_sessions'"

Example: "path/to/dir"

Declared by:

plugins.projections.settings.store_hooks

Pre and post hooks for store_session.

Type: null or (submodule) or raw lua code

Default: null

Plugin default:

{
  post = null;
  pre = null;
}

Example:

{
  pre = {
    __raw = ''
      function()
        -- nvim-tree
        local nvim_tree_present, api = pcall(require, "nvim-tree.api")
        if nvim_tree_present then api.tree.close() end
          -- neo-tree
        if pcall(require, "neo-tree") then vim.cmd [[Neotree action=close]] end
      end
    '';
  };
}

Declared by:

plugins.projections.settings.workspaces

Default workspaces to search for.

Type: null or (list of (string or list of (string or list of string) or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Example:

[
  [
    "~/Documents/dev"
    [
      ".git"
    ]
  ]
  [
    "~/repos"
    [ ]
  ]
  "~/dev"
]

Declared by:

plugins.projections.settings.workspaces_file

Path to workspaces json file.

Type: null or string or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "vim.fn.stdpath('data') .. 'projections_workspaces.json'"

Example: "path/to/file"

Declared by:

qmk

URL: https://github.com/codethread/qmk.nvim/

Maintainers: Gaetan Lepage

plugins.qmk.enable

Whether to enable qmk.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.qmk.package

The qmk.nvim package to use.

Type: package

Default: pkgs.vimPlugins.qmk-nvim

Declared by:

plugins.qmk.autoLoad

Whether to automatically load qmk.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.qmk.lazyLoad

Lazy-load settings for qmk.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.qmk.lazyLoad.enable

lazy-loading for qmk.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.qmk.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.qmk.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.qmk.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.qmk.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.qmk.settings

Options provided to the require('qmk').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  auto_format_pattern = "*keymap.c";
  comment_preview = {
    keymap_overrides = { };
    position = "top";
    symbols = {
      bl = "└";
      bm = "┴";
      br = "┘";
      horz = "─";
      ml = "├";
      mm = "┼";
      mr = "┤";
      space = " ";
      tl = "┌";
      tm = "┬";
      tr = "┐";
      vert = "│";
    };
  };
  layout = [
    "x x"
    "x^x"
  ];
  name = "LAYOUT_preonic_grid";
  timeout = 5000;
  variant = "qmk";
}

Declared by:

plugins.qmk.settings.auto_format_pattern

The autocommand file pattern to use when applying QMKFormat on save.

Type: null or string or raw lua code

Default: null

Plugin default: "*keymap.c"

Declared by:

plugins.qmk.settings.layout

The keyboard key layout.

The layout config describes your layout as expected by qmk_firmware. As qmk_firmware is simply expecting an array of key codes, the layout is pretty much up to you.

A layout is a list of strings, where each string in the list represents a single row. Rows must all be the same width, and you’ll see they visually align to what your keymap looks like.

Type: list of string

Example:

[
  "x x"
  "x^x"
]

Declared by:

plugins.qmk.settings.name

The name of your layout, for example LAYOUT_preonic_grid for the preonic keyboard, for zmk this can just be anything, it won’t be used.

Type: string

Example: "LAYOUT_preonic_grid"

Declared by:

plugins.qmk.settings.timeout

Duration of vim.notify timeout if using nvim-notify.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 5000

Declared by:

plugins.qmk.settings.variant

Chooses the expected hardware target.

Type: null or one of “qmk”, “zmk” or raw lua code

Default: null

Plugin default: "qmk"

Declared by:

plugins.qmk.settings.comment_preview.keymap_overrides

A dictionary of key codes to text replacements, any provided value will be merged with the existing dictionary, see key_map.lua for details.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.qmk.settings.comment_preview.position

Control the position of the preview, set to none to disable (inside is only valid for variant=qmk).

Type: null or one of “top”, “bottom”, “inside”, “none” or raw lua code

Default: null

Plugin default: "top"

Declared by:

plugins.qmk.settings.comment_preview.symbols

A dictionary of symbols used for the preview comment border chars see default.lua for details.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  bl = "└";
  bm = "┴";
  br = "┘";
  horz = "─";
  ml = "├";
  mm = "┼";
  mr = "┤";
  space = " ";
  tl = "┌";
  tm = "┬";
  tr = "┐";
  vert = "│";
}

Declared by:

quarto

URL: https://github.com/quarto-dev/quarto-nvim/

Maintainers: Boney Patel

plugins.quarto.enable

Whether to enable quarto-nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.quarto.package

The quarto-nvim package to use.

Type: package

Default: pkgs.vimPlugins.quarto-nvim

Declared by:

plugins.quarto.autoLoad

Whether to automatically load quarto-nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.quarto.lazyLoad

Lazy-load settings for quarto-nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.quarto.lazyLoad.enable

lazy-loading for quarto-nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.quarto.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.quarto.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.quarto.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.quarto.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.quarto.settings

Options provided to the require('quarto').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  codeRunner = {
    default_method = "vim-slime";
    enabled = false;
  };
  debug = false;
  lspFeatures = {
    diagnostics = {
      enabled = true;
      triggers = [
        "BufWritePost"
      ];
    };
    enabled = false;
  };
}

Declared by:

plugins.quarto.settings.closePreviewOnExit

Closes preview on exit.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.quarto.settings.debug

Enables or disables debugging.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.quarto.settings.codeRunner.enabled

Enables or disables the code runner.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.quarto.settings.codeRunner.default_method

Sets the default code runner method. Either “molten”, “slime”, or null.

Type: null or one of “molten”, “slime” or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.quarto.settings.codeRunner.ft_runners

Specifies filetype to runner mappings.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.quarto.settings.codeRunner.never_run

List of filetypes that are never sent to a code runner.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "yaml"
]

Declared by:

plugins.quarto.settings.lspFeatures.enabled

Enables LSP features.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.quarto.settings.lspFeatures.chunks

Sets chunk delimiter style.

Type: null or string or raw lua code

Default: null

Plugin default: "curly"

Declared by:

plugins.quarto.settings.lspFeatures.languages

List of supported languages.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "r"
  "python"
  "julia"
  "bash"
  "html"
]

Declared by:

plugins.quarto.settings.lspFeatures.completion.enabled

Enables completion.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.quarto.settings.lspFeatures.diagnostics.enabled

Enables diagnostics.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.quarto.settings.lspFeatures.diagnostics.triggers

Sets triggers for diagnostics.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "BufWritePost"
]

Declared by:

quicker

URL: https://github.com/stevearc/quicker.nvim/

Maintainers: Gaetan Lepage

plugins.quicker.enable

Whether to enable quicker.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.quicker.package

The quicker.nvim package to use.

Type: package

Default: pkgs.vimPlugins.quicker-nvim

Declared by:

plugins.quicker.autoLoad

Whether to automatically load quicker.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.quicker.lazyLoad

Lazy-load settings for quicker.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.quicker.lazyLoad.enable

lazy-loading for quicker.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.quicker.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.quicker.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.quicker.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.quicker.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.quicker.settings

Options provided to the require('quicker').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  edit = {
    enabled = false;
  };
  highlight = {
    load_buffers = false;
  };
  keys = [
    {
      __unkeyed-1 = ">";
      __unkeyed-2 = {
        __raw = ''
          function()
            require("quicker").expand({ before = 2, after = 2, add_to_existing = true })
          end
        '';
      };
      desc = "Expand quickfix context";
    }
    {
      __unkeyed-1 = "<";
      __unkeyed-2 = {
        __raw = "require('quicker').collapse";
      };
      desc = "Collapse quickfix context";
    }
  ];
}

Declared by:

plugins.quicker.settings.borders

Border characters.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  soft_cross = "╂";
  soft_end = "┨";
  soft_header = "╌";
  strong_cross = "╋";
  strong_end = "┫";
  strong_header = "━";
  vert = "┃";
}

Declared by:

plugins.quicker.settings.constrain_cursor

Keep the cursor to the right of the filename and lnum columns.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.quicker.settings.header_length

How far the header should extend to the right.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(type, start_col)
    return vim.o.columns - start_col
  end
''

Declared by:

plugins.quicker.settings.keys

Keymaps to set for the quickfix buffer.

Type: null or (list of ((attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  {
    __unkeyed-1 = ">";
    __unkeyed-2 = "<cmd>lua require('quicker').toggle_expand()<CR>";
    desc = "Expand quickfix content";
  }
]

Declared by:

plugins.quicker.settings.max_filename_width

Maximum width of the filename column.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function()
    return math.floor(math.min(95, vim.o.columns / 2))
  end
''

Declared by:

plugins.quicker.settings.on_qf

Callback function to run any custom logic or keymaps for the quickfix buffer.

Type: null or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "function(bufnr) end"

Declared by:

plugins.quicker.settings.opts

Local options to set for quickfix.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  buflisted = false;
  number = false;
  relativenumber = false;
  signcolumn = "auto";
  winfixheight = true;
  wrap = false;
}

Declared by:

plugins.quicker.settings.trim_leading_whitespace

How to trim the leading whitespace from results.

Type: null or one of “all”, “common”, false or raw lua code

Default: null

Plugin default: "common"

Declared by:

plugins.quicker.settings.type_icons

Map of quickfix item type to icon.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  E = "󰅚 ";
  H = " ";
  I = " ";
  N = " ";
  W = "󰀪 ";
}

Declared by:

plugins.quicker.settings.use_default_opts

Set to false to disable the default options in opts.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.quicker.settings.edit.enabled

Enable editing the quickfix like a normal buffer.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.quicker.settings.edit.autosave

  • Set to true to write buffers after applying edits.
  • Set to "unmodified" to only write unmodified buffers.

Type: null or boolean or value “autosave” (singular enum)

Default: null

Plugin default: "autosave"

Example: true

Declared by:

plugins.quicker.settings.follow.enabled

When quickfix window is open, scroll to closest item to the cursor.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.quicker.settings.highlight.load_buffers

Load the referenced buffers to apply more accurate highlights (may be slow).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.quicker.settings.highlight.lsp

Use LSP semantic token highlighting.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.quicker.settings.highlight.treesitter

Use treesitter highlighting.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

quickmath

URL: https://github.com/jbyuki/quickmath.nvim/

Maintainers: Gaetan Lepage

plugins.quickmath.enable

Whether to enable quickmath.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.quickmath.package

The quickmath.nvim package to use.

Type: package

Default: pkgs.vimPlugins.quickmath-nvim

Declared by:

plugins.quickmath.autoLoad

Whether to automatically load quickmath.nvim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.quickmath.keymap.key

Keymap to run the :Quickmath command.

Type: null or string

Default: null

Declared by:

plugins.quickmath.keymap.silent

Whether the quickmath keymap should be silent.

Type: boolean

Default: false

Declared by:

plugins.rainbow-delimiters.enable

Whether to enable rainbow-delimiters.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.rainbow-delimiters.package

The rainbow-delimiters.nvim package to use.

Type: package

Default: pkgs.vimPlugins.rainbow-delimiters-nvim

Declared by:

plugins.rainbow-delimiters.blacklist

List of Tree-sitter languages for which to disable rainbow delimiters. Rainbow delimiters will be enabled for all other languages.

Type: null or (list of string)

Default: null

Declared by:

plugins.rainbow-delimiters.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.rainbow-delimiters.highlight

List of names of the highlight groups to use for highlighting, for more information see |rb-delimiters-colors|.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "RainbowDelimiterRed"
  "RainbowDelimiterYellow"
  "RainbowDelimiterBlue"
  "RainbowDelimiterOrange"
  "RainbowDelimiterGreen"
  "RainbowDelimiterViolet"
  "RainbowDelimiterCyan"
]

Declared by:

plugins.rainbow-delimiters.query

Attrs mapping Tree-sitter language names to queries. See |rb-delimiters-query| for more information about queries.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  default = "rainbow-delimiters";
  lua = "rainbow-blocks";
}

Declared by:

plugins.rainbow-delimiters.strategy

Attrs mapping Tree-sitter language names to strategies. See |rb-delimiters-strategy| for more information about strategies.

Type: null or (attribute set of (one of “global”, “local”, “noop” or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  default = "global";
}

Example:

{
  # Use global strategy by default
  default = "global";

  # Use local for HTML
  html = "local";

  # Pick the strategy for LaTeX dynamically based on the buffer size
  latex.__raw = ''
    function()
      -- Disabled for very large files, global strategy for large files,
      -- local strategy otherwise
      if vim.fn.line('$') > 10000 then
          return nil
      elseif vim.fn.line('$') > 1000 then
          return require 'rainbow-delimiters'.strategy['global']
      end
      return require 'rainbow-delimiters'.strategy['local']
    end
  '';
}

Declared by:

plugins.rainbow-delimiters.whitelist

List of Tree-sitter languages for which to enable rainbow delimiters. Rainbow delimiters will be disabled for all other languages.

Type: null or (list of string)

Default: null

Declared by:

plugins.rainbow-delimiters.log.file

Path to the log file, default is rainbow-delimiters.log in your standard log path (see |standard-path|).

Type: null or string or raw lua code

Default: null

Plugin default:

{
  __raw = "vim.fn.stdpath('log') .. '/rainbow-delimiters.log'";
}

Declared by:

plugins.rainbow-delimiters.log.level

Only messages equal to or above this value will be logged. The default is to log warnings or above. See |log_levels| for possible values.

Type: null or unsigned integer, meaning >=0, or one of “off”, “error”, “warn”, “info”, “debug”, “trace”

Default: null

Plugin default: "warn"

Declared by:

refactoring

URL: https://github.com/theprimeagen/refactoring.nvim/

Maintainers: Matt Sturgeon

plugins.refactoring.enable

Whether to enable refactoring.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.refactoring.enableTelescope

Whether to enable telescope integration.

Type: boolean

Default: false

Example: true

Declared by:

plugins.refactoring.package

The refactoring.nvim package to use.

Type: package

Default: pkgs.vimPlugins.refactoring-nvim

Declared by:

plugins.refactoring.autoLoad

Whether to automatically load refactoring.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.refactoring.lazyLoad

Lazy-load settings for refactoring.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.refactoring.lazyLoad.enable

lazy-loading for refactoring.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.refactoring.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.refactoring.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.refactoring.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.refactoring.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.refactoring.settings

Options provided to the require('refactoring').setup function.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.refactoring.settings.extract_var_statements

When performing an extract_var refactor operation, you can custom how the new variable would be declared by setting configuration like the below example.

Example:

  {
    # overriding extract statement for go
    go = "%s := %s // poggers";
  }

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.refactoring.settings.print_var_statements

In any custom print var statement, it is possible to optionally add a max of two %s patterns, which is where the debug path and the actual variable reference will go, respectively. To add a literal "%s" to the string, escape the sequence like this: %%s. For an example custom print var statement, go to this folder, select your language, and view multiple-statements/print_var.config.

Note: if you have multiple custom statements, the plugin will prompt for which one should be inserted. If you just have one custom statement in your config, it will override the default automatically.

Example:

  {
    # add a custom print var statement for cpp
    cpp = [ "printf(\"a custom statement %%s %s\", %s)" ];
  }

Type: null or (attribute set of ((list of (string or raw lua code)) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.refactoring.settings.printf_statements

In any custom printf statement, it is possible to optionally add a max of one %s pattern, which is where the debug path will go. For an example custom printf statement, go to this folder, select your language, and click on multiple-statements/printf.config.

Note: if you have multiple custom statements, the plugin will prompt for which one should be inserted. If you just have one custom statement in your config, it will override the default automatically.

Example:

  {
    # add a custom printf statement for cpp
    cpp = [ "std::cout << \"%s\" << std::endl;" ];
  }

Type: null or (attribute set of ((list of (string or raw lua code)) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.refactoring.settings.prompt_func_param_type

For certain languages like Golang, types are required for functions parameters. Unfortunately, for some parameters there is no way to automatically find their type. In those instances, we want to provide a way to input a type instead of inserting a placeholder value.

Set the relevant language(s) to true to enable prompting for parameter types, e.g:

  {
    go = true;
    cpp = true;
    c = true;
    java = true;
  }

Type: null or (attribute set of (boolean or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  c = false;
  cpp = false;
  cxx = false;
  go = false;
  h = false;
  hpp = false;
  java = false;
}

Declared by:

plugins.refactoring.settings.prompt_func_return_type

For certain languages like Golang, types are required for functions that return an object(s). Unfortunately, for some functions there is no way to automatically find their type. In those instances, we want to provide a way to input a type instead of inserting a placeholder value.

Set the relevant language(s) to true to enable prompting for a return type, e.g:

  {
    go = true;
    cpp = true;
    c = true;
    java = true;
  }

Type: null or (attribute set of (boolean or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  c = false;
  cpp = false;
  cxx = false;
  go = false;
  h = false;
  hpp = false;
  java = false;
}

Declared by:

plugins.refactoring.settings.show_success_message

Shows a message with information about the refactor on success. Such as:

  [Refactor] Inlined 3 variable occurrences

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

remote-nvim

URL: https://github.com/amitds1997/remote-nvim.nvim/

Maintainers: Austin Horstman

plugins.remote-nvim.enable

Whether to enable remote-nvim.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.remote-nvim.package

The remote-nvim.nvim package to use.

Type: package

Default: pkgs.vimPlugins.remote-nvim-nvim

Declared by:

plugins.remote-nvim.autoLoad

Whether to automatically load remote-nvim.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.remote-nvim.settings

Options provided to the require('remote-nvim').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  offline_mode = {
    enabled = true;
    no_github = true;
  };
  remote = {
    copy_dirs = {
      data = {
        base = {
          __raw = "vim.fn.stdpath (\"data\")";
        };
        compression = {
          additional_opts = [
            "--exclude-vcs"
          ];
          enabled = true;
        };
        dirs = [
          "lazy"
        ];
      };
    };
  };
}

Declared by:

plugins.remote-nvim.lazyLoad

Lazy-load settings for remote-nvim.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.remote-nvim.lazyLoad.enable

lazy-loading for remote-nvim.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.remote-nvim.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.remote-nvim.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.remote-nvim.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.remote-nvim.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

render-markdown

URL: https://github.com/MeanderingProgrammer/render-markdown.nvim/

Maintainers: Gaetan Lepage

plugins.render-markdown.enable

Whether to enable render-markdown.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.render-markdown.package

The render-markdown.nvim package to use.

Type: package

Default: pkgs.vimPlugins.render-markdown-nvim

Declared by:

plugins.render-markdown.autoLoad

Whether to automatically load render-markdown.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.render-markdown.lazyLoad

Lazy-load settings for render-markdown.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.render-markdown.lazyLoad.enable

lazy-loading for render-markdown.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.render-markdown.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.render-markdown.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.render-markdown.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.render-markdown.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.render-markdown.settings

Options provided to the require('render-markdown').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  bullet = {
    icons = [
      "◆ "
      "• "
      "• "
    ];
    right_pad = 1;
  };
  code = {
    above = " ";
    below = " ";
    border = "thick";
    language_pad = 2;
    left_pad = 2;
    position = "right";
    right_pad = 2;
    sign = false;
    width = "block";
  };
  heading = {
    border = true;
    icons = [
      "1 "
      "2 "
      "3 "
      "4 "
      "5 "
      "6 "
    ];
    position = "inline";
    sign = false;
    width = "full";
  };
  render_modes = true;
  signs = {
    enabled = false;
  };
}

Declared by:

plugins.render-markdown.settings.enabled

This lets you set whether the plugin should render documents from the start or not. Useful if you want to use a command like RenderMarkdown enable to start rendering documents rather than having it on by default.

There are ways to accomplish the same thing with the lazy.nvim cmd option, the point of this feature is to be plugin manager agnostic.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.render-markdown.settings.debounce

This is meant to space out how often this plugin parses the content of the viewport in milliseconds to avoid causing too much lag while scrolling & editing.

For example if you hold j once you’ve scrolled far enough down you’ll notice that there is no longer any rendering happening. Only once you’ve stopped scrolling for this debounce time will the plugin parse the viewport and update the marks. If you don’t mind the lag or have a really fast system you can reduce this value to make the plugin feel snappier.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 100

Declared by:

plugins.render-markdown.settings.injections

This plugin works by iterating through the language trees of the current buffer and adding marks for handled languages such as markdown.

For standard markdown files this is the entire file, however for other filetypes this may be only specific sections.

This option allows users to define these sections within the plugin configuration as well as allowing this plugin to provide logical defaults for a “batteries included” experience.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  gitcommit = {
    enabled = true;
    query = ''
      ((message) @injection.content
          (#set! injection.combined)
          (#set! injection.include-children)
          (#set! injection.language "markdown"))
    '';
  };
}

Declared by:

plugins.render-markdown.settings.max_file_size

The maximum file size that this plugin will attempt to render in megabytes.

This plugin only does rendering for what is visible within the viewport so the size of the file does not directly impact its performance. However large files in general are laggy enough hence this feature.

The size is only checked once when the file is opened and not after every update, so a file that grows larger than this in the process of editing will continue to be rendered.

Type: null or floating point number or raw lua code

Default: null

Plugin default: 10.0

Declared by:

plugins.render-markdown.settings.preset

Allows you to set many different non default options with a single value. You can view the values for these here.

Type: null or string or raw lua code

Default: null

Plugin default: "none"

Declared by:

plugins.render-markdown.settings.win_options

Window options are used by the plugin to set different window level neovim option values when rendering and when not rendering a file.

This is useful for 2 reasons:

  • To allow options for rendering to be controlled by the plugin configuration so users don’t need to set global or ftplugin options to make things work.
  • Some option values are more useful for appearance and others are more useful while editing.

Type: null or (attribute set of ((attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  concealcursor = {
    default = {
      __raw = "vim.api.nvim_get_option_value('concealcursor', {})";
    };
    rendered = "";
  };
  conceallevel = {
    default = {
      __raw = "vim.api.nvim_get_option_value('conceallevel', {})";
    };
    rendered = 3;
  };
}

Declared by:

plugins.render-markdown.settings.overrides.buftype

This lets you set nearly all the options available at a buftype level. Think of the top level configuration as the default where when the buftype match these override values are used instead. filetype takes precedence over buftype.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  nofile = {
    padding = {
      highlight = "NormalFloat";
    };
    sign = {
      enabled = false;
    };
  };
}

Example:

{
  nofile = {
    code = {
      left_pad = 0;
      right_pad = 0;
    };
  };
}

Declared by:

plugins.render-markdown.settings.overrides.filetype

This lets you set nearly all the options available at a filetype level. Think of the top level configuration as the default where when the filetype match these override values are used instead. filetype takes precedence over buftype.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

repeat

URL: https://github.com/tpope/vim-repeat/

Maintainers: Refael Sheinker

plugins.repeat.enable

Whether to enable vim-repeat.

Type: boolean

Default: false

Example: true

Declared by:

plugins.repeat.package

The vim-repeat package to use.

Type: package

Default: pkgs.vimPlugins.vim-repeat

Declared by:

plugins.repeat.autoLoad

Whether to automatically load vim-repeat when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

rest

URL: https://github.com/rest-nvim/rest.nvim

Maintainers: Gaetan Lepage

plugins.rest.enable

Whether to enable rest.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.rest.enableHttpFiletypeAssociation

Sets up the filetype association of .http files to trigger treesitter support to enable rest functionality.

Type: boolean

Default: true

Declared by:

plugins.rest.enableTelescope

Whether to enable telescope integration.

Type: boolean

Default: false

Example: true

Declared by:

plugins.rest.package

The rest.nvim package to use.

Type: package

Default: pkgs.vimPlugins.rest-nvim

Declared by:

plugins.rest.autoLoad

Whether to automatically load rest.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.rest.lazyLoad

Lazy-load settings for rest.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.rest.lazyLoad.enable

lazy-loading for rest.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.rest.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.rest.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.rest.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.rest.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.rest.settings

Options provided to the require('rest-nvim').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  _log_level = "info";
  clients = {
    curl = {
      opts = {
        set_compressed = true;
      };
    };
  };
  cookies = {
    enable = false;
  };
  env = {
    enable = false;
  };
  request = {
    skip_ssl_verification = true;
  };
  response = {
    hooks = {
      format = false;
    };
  };
  ui = {
    winbar = false;
  };
}

Declared by:

plugins.rest.settings._log_level

The logging level name, see :h vim.log.levels.

Type: null or one of “off”, “error”, “warn”, “info”, “debug”, “trace” or raw lua code

Default: null

Plugin default: "warn"

Declared by:

plugins.rest.settings.clients

Table of client configurations.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  curl = {
    opts = {
      set_compressed = false;
    };
    statistics = [
      {
        id = "time_total";
        title = "Time taken";
        winbar = "take";
      }
      {
        id = "size_download";
        title = "Download size";
        winbar = "size";
      }
    ];
  };
}

Declared by:

plugins.rest.settings.custom_dynamic_variables

Custom dynamic variables. Keys are variable names and values are lua functions.

default: {}

Type: null or (attribute set of lua function string) or raw lua code

Default: null

Example:

{
  "\$randomInt" = ''
    function()
      return math.random(0, 1000)
    end
  '';
  "\$timestamp" = "os.time";
}

Declared by:

plugins.rest.settings.cookies.enable

Whether to enable cookies support or not.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.rest.settings.cookies.path

Environment variables file pattern for telescope.nvim.

Type: null or string or raw lua code

Default: null

Plugin default:

{
  __raw = "vim.fs.joinpath(vim.fn.stdpath(\"data\") --[[@as string]], \"rest-nvim.cookies\")";
}

Declared by:

plugins.rest.settings.env.enable

Whether to enable env file support or not.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.rest.settings.env.pattern

Environment variables file pattern for telescope.nvim.

Type: null or string or raw lua code

Default: null

Plugin default: "\\.env$"

Declared by:

plugins.rest.settings.highlight.enable

Whether current request highlighting is enabled or not.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.rest.settings.highlight.timeout

Duration time of the request highlighting in milliseconds.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 750

Declared by:

plugins.rest.settings.request.skip_ssl_verification

Skip SSL verification, useful for unknown certificates.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.rest.settings.request.hooks.encode_url

Encode URL before making request.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.rest.settings.request.hooks.set_content_type

Set Content-Type header when it is empty and body is provided.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.rest.settings.request.hooks.user_agent

Set User-Agent header when it is empty.

Type: null or string or raw lua code

Default: null

Plugin default:

{
  __raw = "\"rest.nvim v\" .. require(\"rest-nvim.api\").VERSION";
}

Declared by:

plugins.rest.settings.response.hooks.decode_url

Encode URL before making request.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.rest.settings.response.hooks.format

Format the response body using gq command.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.rest.settings.ui.keybinds

Mappings for result panes.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  next = "L";
  prev = "H";
}

Declared by:

plugins.rest.settings.ui.winbar

Whether to set winbar to result panes.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.enable

Whether to enable rust tools plugins.

Type: boolean

Default: false

Example: true

Declared by:

plugins.rust-tools.package

The rust-tools package to use.

Type: package

Default: pkgs.vimPlugins.rust-tools-nvim

Declared by:

plugins.rust-tools.executor

how to execute terminal commands

Type: null or one of “termopen”, “quickfix” or raw lua code

Default: null

Plugin default: "termopen"

Declared by:

plugins.rust-tools.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.rust-tools.onInitialized

Callback to execute once rust-analyzer is done initializing the workspace The callback receives one parameter indicating the health of the server: “ok” | “warning” | “error”

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.rust-tools.reloadWorkspaceFromCargoToml

Automatically call RustReloadWorkspace when writing to a Cargo.toml file.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.serverPackage

The rust-analyzer package to use.

Type: null or package

Default: pkgs.rust-analyzer

Declared by:

plugins.rust-tools.crateGraph.enabledGraphvizBackends

List of backends found on: https://graphviz.org/docs/outputs/ Is used for input validation and autocompletion

Type: null or (list of string)

Default: null

Plugin default: null

Declared by:

plugins.rust-tools.crateGraph.backend

Backend used for displaying the graph see: https://graphviz.org/docs/outputs/

Type: null or string or raw lua code

Default: null

Plugin default: "x11"

Declared by:

plugins.rust-tools.crateGraph.full

true for all crates.io and external crates, false only the local crates

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.crateGraph.output

where to store the output, nil for no output stored

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.rust-tools.hoverActions.autoFocus

whether the hover action window gets automatically focused

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.hoverActions.border

Defines the border to use for rust-tools hover window. Accepts same border values as nvim_open_win(). See :help nvim_open_win() for more info.

Type: null or string or list of string or list of list of string or raw lua code

Default: null

Plugin default:

[
  [
    "╭"
    "FloatBorder"
  ]
  [
    "─"
    "FloatBorder"
  ]
  [
    "╮"
    "FloatBorder"
  ]
  [
    "│"
    "FloatBorder"
  ]
  [
    "╯"
    "FloatBorder"
  ]
  [
    "─"
    "FloatBorder"
  ]
  [
    "╰"
    "FloatBorder"
  ]
  [
    "│"
    "FloatBorder"
  ]
]

Declared by:

plugins.rust-tools.hoverActions.maxHeight

Maximal height of the hover window. null means no max.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.rust-tools.hoverActions.maxWidth

Maximal width of the hover window. null means no max.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.rust-tools.inlayHints.auto

automatically set inlay hints (type hints)

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.inlayHints.highlight

The color of the hints

Type: null or string or raw lua code

Default: null

Plugin default: "Comment"

Declared by:

plugins.rust-tools.inlayHints.maxLenAlign

whether to align to the length of the longest line in the file

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.inlayHints.maxLenAlignPadding

padding from the left if max_len_align is true

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.rust-tools.inlayHints.onlyCurrentLine

Only show for current line

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.inlayHints.otherHintsPrefix

prefix for all the other hints (type, chaining)

Type: null or string or raw lua code

Default: null

Plugin default: "=> "

Declared by:

plugins.rust-tools.inlayHints.parameterHintsPrefix

prefix for parameter hints

Type: null or string or raw lua code

Default: null

Plugin default: "<- "

Declared by:

plugins.rust-tools.inlayHints.rightAlign

whether to align to the extreme right or not

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.inlayHints.rightAlignPadding

padding from the right if right_align is true

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 7

Declared by:

plugins.rust-tools.inlayHints.showParameterHints

whether to show parameter hints with the inlay hints or not

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.checkOnSave

Run the check command for diagnostics on save.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.linkedProjects

Disable project auto-discovery in favor of explicitly specified set of projects.

Elements must be paths pointing to Cargo.toml, rust-project.json, .rs files (which will be treated as standalone files) or JSON objects in rust-project.json format.

Type: null or (list of (string or attribute set of anything))

Default: null

Plugin default: [ ]

Declared by:

plugins.rust-tools.server.numThreads

How many worker threads in the main loop. The default null means to pick automatically.

Values:

  • physical: Use the number of physical cores
  • logical: Use the number of logical cores

Type: null or integer or floating point number between 0 and 255 (both inclusive) or one of “physical”, “logical”

Default: null

Plugin default: null

Declared by:

plugins.rust-tools.server.standalone

standalone file support setting it to false may improve startup time

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.assist.emitMustUse

Whether to insert #[must_use] when generating as_ methods for enum variants.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.assist.expressionFillDefault

Placeholder expression to use for missing expressions in assists.

Values:

  • todo: Fill missing expressions with the todo macro
  • default: Fill missing expressions with reasonable defaults, new or default constructors.

Type: null or one of “todo”, “default”

Default: null

Plugin default: "todo"

Declared by:

plugins.rust-tools.server.assist.termSearch.borrowcheck

Enable borrow checking for term search code assists. If set to false, also there will be more suggestions, but some of them may not borrow-check.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.assist.termSearch.fuel

Term search fuel in “units of work” for assists (Defaults to 1800).

Type: null or signed integer

Default: null

Plugin default: 1800

Declared by:

plugins.rust-tools.server.cachePriming.enable

Warm up caches on project load.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.cachePriming.numThreads

How many worker threads to handle priming caches. The default 0 means to pick automatically.

Values:

  • physical: Use the number of physical cores
  • logical: Use the number of logical cores

Type: null or integer or floating point number between 0 and 255 (both inclusive) or one of “physical”, “logical”

Default: null

Plugin default: "physical"

Declared by:

plugins.rust-tools.server.cargo.allTargets

Pass --all-targets to cargo invocation.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.cargo.autoreload

Automatically refresh project info via cargo metadata on Cargo.toml or .cargo/config.toml changes.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.cargo.cfgs

List of cfg options to enable with the given values.

To enable a name without a value, use "key". To enable a name with a value, use "key=value". To disable, prefix the entry with a !.

Type: null or (list of string)

Default: null

Plugin default:

[
  "debug_assertions"
  "miri"
]

Declared by:

plugins.rust-tools.server.cargo.extraArgs

Extra arguments that are passed to every cargo invocation.

Type: null or (list of string)

Default: null

Plugin default: [ ]

Declared by:

plugins.rust-tools.server.cargo.extraEnv

Extra environment variables that will be set when running cargo, rustc or other commands within the workspace. Useful for setting RUSTFLAGS.

Type: null or (attribute set of anything)

Default: null

Plugin default: { }

Declared by:

plugins.rust-tools.server.cargo.features

List of features to activate.

Set this to "all" to pass --all-features to cargo.

Values:

  • all: Pass --all-features to cargo

Type: null or value “all” (singular enum) or list of string

Default: null

Plugin default: [ ]

Declared by:

plugins.rust-tools.server.cargo.noDefaultFeatures

Whether to pass --no-default-features to cargo.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.cargo.noDeps

Whether to skip fetching dependencies. If set to “true”, the analysis is performed entirely offline, and Cargo metadata for dependencies is not fetched.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.cargo.sysroot

Relative path to the sysroot, or “discover” to try to automatically find it via “rustc --print sysroot”.

Unsetting this disables sysroot loading.

This option does not take effect until rust-analyzer is restarted.

Type: null or string

Default: null

Plugin default: "discover"

Declared by:

plugins.rust-tools.server.cargo.sysrootSrc

Relative path to the sysroot library sources. If left unset, this will default to {cargo.sysroot}/lib/rustlib/src/rust/library.

This option does not take effect until rust-analyzer is restarted.

Type: null or string

Default: null

Plugin default: null

Declared by:

plugins.rust-tools.server.cargo.target

Compilation target override (target tuple).

Type: null or string

Default: null

Plugin default: null

Declared by:

plugins.rust-tools.server.cargo.targetDir

Optional path to a rust-analyzer specific target directory. This prevents rust-analyzer’s cargo check and initial build-script and proc-macro building from locking the Cargo.lock at the expense of duplicating build artifacts.

Set to true to use a subdirectory of the existing target directory or set to a path relative to the workspace to use that path.

Type: null or boolean or string

Default: null

Plugin default: null

Declared by:

plugins.rust-tools.server.cargo.buildScripts.enable

Run build scripts (build.rs) for more precise code analysis.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.cargo.buildScripts.invocationStrategy

Specifies the invocation strategy to use when running the build scripts command. If per_workspace is set, the command will be executed for each Rust workspace with the workspace as the working directory. If once is set, the command will be executed once with the opened project as the working directory. This config only has an effect when #rust-analyzer.cargo.buildScripts.overrideCommand# is set.

Values:

  • per_workspace: The command will be executed for each Rust workspace with the workspace as the working directory.
  • once: The command will be executed once with the opened project as the working directory.

Type: null or one of “per_workspace”, “once”

Default: null

Plugin default: "per_workspace"

Declared by:

plugins.rust-tools.server.cargo.buildScripts.overrideCommand

Override the command rust-analyzer uses to run build scripts and build procedural macros. The command is required to output json and should therefore include --message-format=json or a similar option.

If there are multiple linked projects/workspaces, this command is invoked for each of them, with the working directory being the workspace root (i.e., the folder containing the Cargo.toml). This can be overwritten by changing #rust-analyzer.cargo.buildScripts.invocationStrategy#.

By default, a cargo invocation will be constructed for the configured targets and features, with the following base command line:

cargo check --quiet --workspace --message-format=json --all-targets --keep-going

.

Type: null or (list of string)

Default: null

Plugin default: null

Declared by:

plugins.rust-tools.server.cargo.buildScripts.rebuildOnSave

Rerun proc-macros building/build-scripts running when proc-macro or build-script sources change and are saved.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.cargo.buildScripts.useRustcWrapper

Use RUSTC_WRAPPER=rust-analyzer when running build scripts to avoid checking unnecessary things.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.cfg.setTest

Set cfg(test) for local crates. Defaults to true.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.check.allTargets

Check all targets and tests (--all-targets). Defaults to #rust-analyzer.cargo.allTargets#.

Type: null or boolean

Default: null

Plugin default: null

Declared by:

plugins.rust-tools.server.check.command

Cargo command to use for cargo check.

Type: null or string

Default: null

Plugin default: "check"

Declared by:

plugins.rust-tools.server.check.extraArgs

Extra arguments for cargo check.

Type: null or (list of string)

Default: null

Plugin default: [ ]

Declared by:

plugins.rust-tools.server.check.extraEnv

Extra environment variables that will be set when running cargo check. Extends #rust-analyzer.cargo.extraEnv#.

Type: null or (attribute set of anything)

Default: null

Plugin default: { }

Declared by:

plugins.rust-tools.server.check.features

List of features to activate. Defaults to #rust-analyzer.cargo.features#.

Set to "all" to pass --all-features to Cargo.

Values:

  • all: Pass --all-features to cargo

Type: null or value “all” (singular enum) or list of string

Default: null

Plugin default: null

Declared by:

plugins.rust-tools.server.check.ignore

List of cargo check (or other command specified in check.command) diagnostics to ignore.

For example for cargo check: dead_code, unused_imports, unused_variables,…

Type: null or (list of string)

Default: null

Plugin default: [ ]

Declared by:

plugins.rust-tools.server.check.invocationStrategy

Specifies the invocation strategy to use when running the check command. If per_workspace is set, the command will be executed for each workspace. If once is set, the command will be executed once. This config only has an effect when #rust-analyzer.check.overrideCommand# is set.

Values:

  • per_workspace: The command will be executed for each Rust workspace with the workspace as the working directory.
  • once: The command will be executed once with the opened project as the working directory.

Type: null or one of “per_workspace”, “once”

Default: null

Plugin default: "per_workspace"

Declared by:

plugins.rust-tools.server.check.noDefaultFeatures

Whether to pass --no-default-features to Cargo. Defaults to #rust-analyzer.cargo.noDefaultFeatures#.

Type: null or boolean

Default: null

Plugin default: null

Declared by:

plugins.rust-tools.server.check.overrideCommand

Override the command rust-analyzer uses instead of cargo check for diagnostics on save. The command is required to output json and should therefore include --message-format=json or a similar option (if your client supports the colorDiagnosticOutput experimental capability, you can use --message-format=json-diagnostic-rendered-ansi).

If you’re changing this because you’re using some tool wrapping Cargo, you might also want to change #rust-analyzer.cargo.buildScripts.overrideCommand#.

If there are multiple linked projects/workspaces, this command is invoked for each of them, with the working directory being the workspace root (i.e., the folder containing the Cargo.toml). This can be overwritten by changing #rust-analyzer.check.invocationStrategy#.

If $saved_file is part of the command, rust-analyzer will pass the absolute path of the saved file to the provided command. This is intended to be used with non-Cargo build systems. Note that $saved_file is experimental and may be removed in the future.

An example command would be:

cargo check --workspace --message-format=json --all-targets

.

Type: null or (list of string)

Default: null

Plugin default: null

Declared by:

plugins.rust-tools.server.check.targets

Check for specific targets. Defaults to #rust-analyzer.cargo.target# if empty.

Can be a single target, e.g. "x86_64-unknown-linux-gnu" or a list of targets, e.g. ["aarch64-apple-darwin", "x86_64-apple-darwin"].

Aliased as "checkOnSave.targets".

Type: null or string or list of string

Default: null

Plugin default: null

Declared by:

plugins.rust-tools.server.check.workspace

Whether --workspace should be passed to cargo check. If false, -p <package> will be passed instead if applicable. In case it is not, no check will be performed.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.completion.addSemicolonToUnit

Whether to automatically add a semicolon when completing unit-returning functions.

In match arms it completes a comma instead.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.completion.excludeTraits

A list of full paths to traits whose methods to exclude from completion.

Methods from these traits won’t be completed, even if the trait is in scope. However, they will still be suggested on expressions whose type is dyn Trait, impl Trait or T where T: Trait.

Note that the trait themselves can still be completed.

Type: null or (list of string)

Default: null

Plugin default: [ ]

Declared by:

plugins.rust-tools.server.completion.hideDeprecated

Whether to omit deprecated items from autocompletion. By default they are marked as deprecated but not hidden.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.completion.limit

Maximum number of completions to return. If None, the limit is infinite.

Type: null or signed integer

Default: null

Plugin default: null

Declared by:

plugins.rust-tools.server.completion.autoAwait.enable

Toggles the additional completions that automatically show method calls and field accesses with await prefixed to them when completing on a future.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.completion.autoIter.enable

Toggles the additional completions that automatically show method calls with iter() or into_iter() prefixed to them when completing on a type that has them.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.completion.autoimport.enable

Toggles the additional completions that automatically add imports when completed. Note that your client must specify the additionalTextEdits LSP client capability to truly have this feature enabled.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.completion.autoimport.exclude

A list of full paths to items to exclude from auto-importing completions.

Traits in this list won’t have their methods suggested in completions unless the trait is in scope.

You can either specify a string path which defaults to type “always” or use the more verbose form { "path": "path::to::item", type: "always" }.

For traits the type “methods” can be used to only exclude the methods but not the trait itself.

This setting also inherits #rust-analyzer.completion.excludeTraits#.

Type: null or (list of (string or (submodule)))

Default: null

Plugin default:

[
  {
    path = "core::borrow::Borrow";
    type = "methods";
  }
  {
    path = "core::borrow::BorrowMut";
    type = "methods";
  }
]

Declared by:

plugins.rust-tools.server.completion.autoself.enable

Toggles the additional completions that automatically show method calls and field accesses with self prefixed to them when inside a method.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.completion.callable.snippets

Whether to add parenthesis and argument snippets when completing function.

Values:

  • fill_arguments: Add call parentheses and pre-fill arguments.
  • add_parentheses: Add call parentheses.
  • none: Do no snippet completions for callables.

Type: null or one of “fill_arguments”, “add_parentheses”, “none”

Default: null

Plugin default: "fill_arguments"

Declared by:

plugins.rust-tools.server.completion.fullFunctionSignatures.enable

Whether to show full function/method signatures in completion docs.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.completion.postfix.enable

Whether to show postfix snippets like dbg, if, not, etc.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.completion.privateEditable.enable

Enables completions of private items and fields that are defined in the current workspace even if they are not visible at the current position.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.completion.snippets.custom

Custom completion snippets.

Type: null or (attribute set of anything)

Default: null

Plugin default:

{
  "Arc::new" = {
    body = "Arc::new(\${receiver})";
    description = "Put the expression into an `Arc`";
    postfix = "arc";
    requires = "std::sync::Arc";
    scope = "expr";
  };
  "Box::pin" = {
    body = "Box::pin(\${receiver})";
    description = "Put the expression into a pinned `Box`";
    postfix = "pinbox";
    requires = "std::boxed::Box";
    scope = "expr";
  };
  Err = {
    body = "Err(\${receiver})";
    description = "Wrap the expression in a `Result::Err`";
    postfix = "err";
    scope = "expr";
  };
  Ok = {
    body = "Ok(\${receiver})";
    description = "Wrap the expression in a `Result::Ok`";
    postfix = "ok";
    scope = "expr";
  };
  "Rc::new" = {
    body = "Rc::new(\${receiver})";
    description = "Put the expression into an `Rc`";
    postfix = "rc";
    requires = "std::rc::Rc";
    scope = "expr";
  };
  Some = {
    body = "Some(\${receiver})";
    description = "Wrap the expression in an `Option::Some`";
    postfix = "some";
    scope = "expr";
  };
}

Declared by:

plugins.rust-tools.server.completion.termSearch.enable

Whether to enable term search based snippets like Some(foo.bar().baz()).

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.completion.termSearch.fuel

Term search fuel in “units of work” for autocompletion (Defaults to 1000).

Type: null or signed integer

Default: null

Plugin default: 1000

Declared by:

plugins.rust-tools.server.diagnostics.enable

Whether to show native rust-analyzer diagnostics.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.diagnostics.disabled

List of rust-analyzer diagnostics to disable.

Type: null or (list of string)

Default: null

Plugin default: [ ]

Declared by:

plugins.rust-tools.server.diagnostics.remapPrefix

Map of prefixes to be substituted when parsing diagnostic file paths. This should be the reverse mapping of what is passed to rustc as --remap-path-prefix.

Type: null or (attribute set of anything)

Default: null

Plugin default: { }

Declared by:

plugins.rust-tools.server.diagnostics.warningsAsHint

List of warnings that should be displayed with hint severity.

The warnings will be indicated by faded text or three dots in code and will not show up in the Problems Panel.

Type: null or (list of string)

Default: null

Plugin default: [ ]

Declared by:

plugins.rust-tools.server.diagnostics.warningsAsInfo

List of warnings that should be displayed with info severity.

The warnings will be indicated by a blue squiggly underline in code and a blue icon in the Problems Panel.

Type: null or (list of string)

Default: null

Plugin default: [ ]

Declared by:

plugins.rust-tools.server.diagnostics.experimental.enable

Whether to show experimental rust-analyzer diagnostics that might have more false positives than usual.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.diagnostics.styleLints.enable

Whether to run additional style lints.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.files.exclude

These paths (file/directories) will be ignored by rust-analyzer. They are relative to the workspace root, and globs are not supported. You may also need to add the folders to Code’s files.watcherExclude.

Type: null or (list of string)

Default: null

Plugin default: [ ]

Declared by:

plugins.rust-tools.server.files.watcher

Controls file watching implementation.

Values:

  • client: Use the client (editor) to watch files for changes
  • server: Use server-side file watching

Type: null or one of “client”, “server”

Default: null

Plugin default: "client"

Declared by:

plugins.rust-tools.server.highlightRelated.breakPoints.enable

Enables highlighting of related references while the cursor is on break, loop, while, or for keywords.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.highlightRelated.closureCaptures.enable

Enables highlighting of all captures of a closure while the cursor is on the | or move keyword of a closure.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.highlightRelated.exitPoints.enable

Enables highlighting of all exit points while the cursor is on any return, ?, fn, or return type arrow (->).

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.highlightRelated.references.enable

Enables highlighting of related references while the cursor is on any identifier.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.highlightRelated.yieldPoints.enable

Enables highlighting of all break points for a loop or block context while the cursor is on any async or await keywords.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.hover.maxSubstitutionLength

Whether to show what types are used as generic arguments in calls etc. on hover, and what is their max length to show such types, beyond it they will be shown with ellipsis.

This can take three values: null means “unlimited”, the string "hide" means to not show generic substitutions at all, and a number means to limit them to X characters.

The default is 20 characters.

Type: null or value “hide” (singular enum) or signed integer

Default: null

Plugin default: 20

Declared by:

plugins.rust-tools.server.hover.actions.enable

Whether to show HoverActions in Rust files.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.hover.actions.debug.enable

Whether to show Debug action. Only applies when #rust-analyzer.hover.actions.enable# is set.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.hover.actions.gotoTypeDef.enable

Whether to show Go to Type Definition action. Only applies when #rust-analyzer.hover.actions.enable# is set.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.hover.actions.implementations.enable

Whether to show Implementations action. Only applies when #rust-analyzer.hover.actions.enable# is set.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.hover.actions.references.enable

Whether to show References action. Only applies when #rust-analyzer.hover.actions.enable# is set.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.hover.actions.run.enable

Whether to show Run action. Only applies when #rust-analyzer.hover.actions.enable# is set.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.hover.actions.updateTest.enable

Whether to show Update Test action. Only applies when #rust-analyzer.hover.actions.enable# and #rust-analyzer.hover.actions.run.enable# are set.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.hover.documentation.enable

Whether to show documentation on hover.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.hover.documentation.keywords.enable

Whether to show keyword hover popups. Only applies when #rust-analyzer.hover.documentation.enable# is set.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.hover.dropGlue.enable

Whether to show drop glue information on hover.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.hover.links.enable

Use markdown syntax for links on hover.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.hover.memoryLayout.enable

Whether to show memory layout data on hover.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.hover.memoryLayout.alignment

How to render the align information in a memory layout hover.

Values:

  • both: Render as 12 (0xC)
  • decimal: Render as 12
  • hexadecimal: Render as 0xC

Type: null or one of “both”, “decimal”, “hexadecimal”

Default: null

Plugin default: "hexadecimal"

Declared by:

plugins.rust-tools.server.hover.memoryLayout.niches

How to render the niche information in a memory layout hover.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.hover.memoryLayout.offset

How to render the offset information in a memory layout hover.

Values:

  • both: Render as 12 (0xC)
  • decimal: Render as 12
  • hexadecimal: Render as 0xC

Type: null or one of “both”, “decimal”, “hexadecimal”

Default: null

Plugin default: "hexadecimal"

Declared by:

plugins.rust-tools.server.hover.memoryLayout.size

How to render the size information in a memory layout hover.

Values:

  • both: Render as 12 (0xC)
  • decimal: Render as 12
  • hexadecimal: Render as 0xC

Type: null or one of “both”, “decimal”, “hexadecimal”

Default: null

Plugin default: "both"

Declared by:

plugins.rust-tools.server.hover.show.enumVariants

How many variants of an enum to display when hovering on. Show none if empty.

Type: null or signed integer

Default: null

Plugin default: 5

Declared by:

plugins.rust-tools.server.hover.show.fields

How many fields of a struct, variant or union to display when hovering on. Show none if empty.

Type: null or signed integer

Default: null

Plugin default: 5

Declared by:

plugins.rust-tools.server.hover.show.traitAssocItems

How many associated items of a trait to display when hovering a trait.

Type: null or signed integer

Default: null

Plugin default: null

Declared by:

plugins.rust-tools.server.imports.preferNoStd

Prefer to unconditionally use imports of the core and alloc crate, over the std crate.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.imports.preferPrelude

Whether to prefer import paths containing a prelude module.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.imports.prefix

The path structure for newly inserted paths to use.

Values:

  • plain: Insert import paths relative to the current module, using up to one super prefix if the parent module contains the requested item.
  • self: Insert import paths relative to the current module, using up to one super prefix if the parent module contains the requested item. Prefixes self in front of the path if it starts with a module.
  • crate: Force import paths to be absolute by always starting them with crate or the extern crate name they come from.

Type: null or one of “plain”, “self”, “crate”

Default: null

Plugin default: "plain"

Declared by:

plugins.rust-tools.server.imports.prefixExternPrelude

Whether to prefix external (including std, core) crate imports with ::. e.g. “use ::std::io::Read;”.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.imports.granularity.enforce

Whether to enforce the import granularity setting for all files. If set to false rust-analyzer will try to keep import styles consistent per file.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.imports.granularity.group

How imports should be grouped into use statements.

Values:

  • preserve: Do not change the granularity of any imports and preserve the original structure written by the developer.
  • crate: Merge imports from the same crate into a single use statement. Conversely, imports from different crates are split into separate statements.
  • module: Merge imports from the same module into a single use statement. Conversely, imports from different modules are split into separate statements.
  • item: Flatten imports so that each has its own use statement.
  • one: Merge all imports into a single use statement as long as they have the same visibility and attributes.

Type: null or one of “preserve”, “crate”, “module”, “item”, “one”

Default: null

Plugin default: "crate"

Declared by:

plugins.rust-tools.server.imports.group.enable

Group inserted imports by the following order. Groups are separated by newlines.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.imports.merge.glob

Whether to allow import insertion to merge new imports into single path glob imports like use std::fmt::*;.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.inlayHints.closureStyle

Closure notation in type and chaining inlay hints.

Values:

  • impl_fn: impl_fn: impl FnMut(i32, u64) -> i8
  • rust_analyzer: rust_analyzer: |i32, u64| -> i8
  • with_id: with_id: {closure#14352}, where that id is the unique number of the closure in r-a internals
  • hide: hide: Shows ... for every closure type

Type: null or one of “impl_fn”, “rust_analyzer”, “with_id”, “hide”

Default: null

Plugin default: "impl_fn"

Declared by:

plugins.rust-tools.server.inlayHints.maxLength

Maximum length for inlay hints. Set to null to have an unlimited length.

Type: null or signed integer

Default: null

Plugin default: 25

Declared by:

plugins.rust-tools.server.inlayHints.renderColons

Whether to render leading colons for type hints, and trailing colons for parameter hints.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.inlayHints.bindingModeHints.enable

Whether to show inlay type hints for binding modes.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.inlayHints.chainingHints.enable

Whether to show inlay type hints for method chains.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.inlayHints.closingBraceHints.enable

Whether to show inlay hints after a closing } to indicate what item it belongs to.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.inlayHints.closingBraceHints.minLines

Minimum number of lines required before the } until the hint is shown (set to 0 or 1 to always show them).

Type: null or signed integer

Default: null

Plugin default: 25

Declared by:

plugins.rust-tools.server.inlayHints.closureCaptureHints.enable

Whether to show inlay hints for closure captures.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.inlayHints.closureReturnTypeHints.enable

Whether to show inlay type hints for return types of closures.

Values:

  • always: Always show type hints for return types of closures.
  • never: Never show type hints for return types of closures.
  • with_block: Only show type hints for return types of closures with blocks.

Type: null or one of “always”, “never”, “with_block”

Default: null

Plugin default: "never"

Declared by:

plugins.rust-tools.server.inlayHints.discriminantHints.enable

Whether to show enum variant discriminant hints.

Values:

  • always: Always show all discriminant hints.
  • never: Never show discriminant hints.
  • fieldless: Only show discriminant hints on fieldless enum variants.

Type: null or one of “always”, “never”, “fieldless”

Default: null

Plugin default: "never"

Declared by:

plugins.rust-tools.server.inlayHints.expressionAdjustmentHints.enable

Whether to show inlay hints for type adjustments.

Values:

  • always: Always show all adjustment hints.
  • never: Never show adjustment hints.
  • reborrow: Only show auto borrow and dereference adjustment hints.

Type: null or one of “always”, “never”, “reborrow”

Default: null

Plugin default: "never"

Declared by:

plugins.rust-tools.server.inlayHints.expressionAdjustmentHints.hideOutsideUnsafe

Whether to hide inlay hints for type adjustments outside of unsafe blocks.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.inlayHints.expressionAdjustmentHints.mode

Whether to show inlay hints as postfix ops (.* instead of *, etc).

Values:

  • prefix: Always show adjustment hints as prefix (*expr).
  • postfix: Always show adjustment hints as postfix (expr.*).
  • prefer_prefix: Show prefix or postfix depending on which uses less parenthesis, preferring prefix.
  • prefer_postfix: Show prefix or postfix depending on which uses less parenthesis, preferring postfix.

Type: null or one of “prefix”, “postfix”, “prefer_prefix”, “prefer_postfix”

Default: null

Plugin default: "prefix"

Declared by:

plugins.rust-tools.server.inlayHints.genericParameterHints.const.enable

Whether to show const generic parameter name inlay hints.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.inlayHints.genericParameterHints.lifetime.enable

Whether to show generic lifetime parameter name inlay hints.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.inlayHints.genericParameterHints.type.enable

Whether to show generic type parameter name inlay hints.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.inlayHints.implicitDrops.enable

Whether to show implicit drop hints.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.inlayHints.implicitSizedBoundHints.enable

Whether to show inlay hints for the implied type parameter Sized bound.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.inlayHints.lifetimeElisionHints.enable

Whether to show inlay type hints for elided lifetimes in function signatures.

Values:

  • always: Always show lifetime elision hints.
  • never: Never show lifetime elision hints.
  • skip_trivial: Only show lifetime elision hints if a return type is involved.

Type: null or one of “always”, “never”, “skip_trivial”

Default: null

Plugin default: "never"

Declared by:

plugins.rust-tools.server.inlayHints.lifetimeElisionHints.useParameterNames

Whether to prefer using parameter names as the name for elided lifetime hints if possible.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.inlayHints.parameterHints.enable

Whether to show function parameter name inlay hints at the call site.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.inlayHints.rangeExclusiveHints.enable

Whether to show exclusive range inlay hints.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.inlayHints.reborrowHints.enable

Whether to show inlay hints for compiler inserted reborrows. This setting is deprecated in favor of #rust-analyzer.inlayHints.expressionAdjustmentHints.enable#.

Values:

  • always: Always show reborrow hints.
  • never: Never show reborrow hints.
  • mutable: Only show mutable reborrow hints.

Type: null or one of “always”, “never”, “mutable”

Default: null

Plugin default: "never"

Declared by:

plugins.rust-tools.server.inlayHints.typeHints.enable

Whether to show inlay type hints for variables.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.inlayHints.typeHints.hideClosureInitialization

Whether to hide inlay type hints for let statements that initialize to a closure. Only applies to closures with blocks, same as #rust-analyzer.inlayHints.closureReturnTypeHints.enable#.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.inlayHints.typeHints.hideClosureParameter

Whether to hide inlay parameter type hints for closures.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.inlayHints.typeHints.hideNamedConstructor

Whether to hide inlay type hints for constructors.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.interpret.tests

Enables the experimental support for interpreting tests.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.joinLines.joinAssignments

Join lines merges consecutive declaration and initialization of an assignment.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.joinLines.joinElseIf

Join lines inserts else between consecutive ifs.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.joinLines.removeTrailingComma

Join lines removes trailing commas.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.joinLines.unwrapTrivialBlock

Join lines unwraps trivial blocks.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.lens.enable

Whether to show CodeLens in Rust files.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.lens.location

Where to render annotations.

Values:

  • above_name: Render annotations above the name of the item.
  • above_whole_item: Render annotations above the whole item, including documentation comments and attributes.

Type: null or one of “above_name”, “above_whole_item”

Default: null

Plugin default: "above_name"

Declared by:

plugins.rust-tools.server.lens.debug.enable

Whether to show Debug lens. Only applies when #rust-analyzer.lens.enable# is set.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.lens.implementations.enable

Whether to show Implementations lens. Only applies when #rust-analyzer.lens.enable# is set.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.lens.references.adt.enable

Whether to show References lens for Struct, Enum, and Union. Only applies when #rust-analyzer.lens.enable# is set.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.lens.references.enumVariant.enable

Whether to show References lens for Enum Variants. Only applies when #rust-analyzer.lens.enable# is set.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.lens.references.method.enable

Whether to show Method References lens. Only applies when #rust-analyzer.lens.enable# is set.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.lens.references.trait.enable

Whether to show References lens for Trait. Only applies when #rust-analyzer.lens.enable# is set.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.lens.run.enable

Whether to show Run lens. Only applies when #rust-analyzer.lens.enable# is set.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.lens.updateTest.enable

Whether to show Update Test lens. Only applies when #rust-analyzer.lens.enable# and #rust-analyzer.lens.run.enable# are set.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.lru.capacity

Number of syntax trees rust-analyzer keeps in memory. Defaults to 128.

Type: null or integer between 0 and 65535 (both inclusive)

Default: null

Plugin default: null

Declared by:

plugins.rust-tools.server.lru.query.capacities

Sets the LRU capacity of the specified queries.

Type: null or (attribute set of anything)

Default: null

Plugin default: { }

Declared by:

plugins.rust-tools.server.notifications.cargoTomlNotFound

Whether to show can't find Cargo.toml error message.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.procMacro.enable

Enable support for procedural macros, implies #rust-analyzer.cargo.buildScripts.enable#.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.procMacro.ignored

These proc-macros will be ignored when trying to expand them.

This config takes a map of crate names with the exported proc-macro names to ignore as values.

Type: null or (attribute set of anything)

Default: null

Plugin default: { }

Declared by:

plugins.rust-tools.server.procMacro.server

Internal config, path to proc-macro server executable.

Type: null or string

Default: null

Plugin default: null

Declared by:

plugins.rust-tools.server.procMacro.attributes.enable

Expand attribute macros. Requires #rust-analyzer.procMacro.enable# to be set.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.references.excludeImports

Exclude imports from find-all-references.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.references.excludeTests

Exclude tests from find-all-references and call-hierarchy.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.runnables.command

Command to be executed instead of ‘cargo’ for runnables.

Type: null or string

Default: null

Plugin default: null

Declared by:

plugins.rust-tools.server.runnables.extraArgs

Additional arguments to be passed to cargo for runnables such as tests or binaries. For example, it may be --release.

Type: null or (list of string)

Default: null

Plugin default: [ ]

Declared by:

plugins.rust-tools.server.runnables.extraTestBinaryArgs

Additional arguments to be passed through Cargo to launched tests, benchmarks, or doc-tests.

Unless the launched target uses a custom test harness, they will end up being interpreted as options to rustc’s built-in test harness (“libtest”).

Type: null or (list of string)

Default: null

Plugin default:

[
  "--show-output"
]

Declared by:

plugins.rust-tools.server.rustc.source

Path to the Cargo.toml of the rust compiler workspace, for usage in rustc_private projects, or “discover” to try to automatically find it if the rustc-dev component is installed.

Any project which uses rust-analyzer with the rustcPrivate crates must set [package.metadata.rust-analyzer] rustc_private=true to use it.

This option does not take effect until rust-analyzer is restarted.

Type: null or string

Default: null

Plugin default: null

Declared by:

plugins.rust-tools.server.rustfmt.extraArgs

Additional arguments to rustfmt.

Type: null or (list of string)

Default: null

Plugin default: [ ]

Declared by:

plugins.rust-tools.server.rustfmt.overrideCommand

Advanced option, fully override the command rust-analyzer uses for formatting. This should be the equivalent of rustfmt here, and not that of cargo fmt. The file contents will be passed on the standard input and the formatted result will be read from the standard output.

Type: null or (list of string)

Default: null

Plugin default: null

Declared by:

plugins.rust-tools.server.rustfmt.rangeFormatting.enable

Enables the use of rustfmt’s unstable range formatting command for the textDocument/rangeFormatting request. The rustfmt option is unstable and only available on a nightly build.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.semanticHighlighting.nonStandardTokens

Whether the server is allowed to emit non-standard tokens and modifiers.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.semanticHighlighting.doc.comment.inject.enable

Inject additional highlighting into doc comments.

When enabled, rust-analyzer will highlight rust source in doc comments as well as intra doc links.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.semanticHighlighting.operator.enable

Use semantic tokens for operators.

When disabled, rust-analyzer will emit semantic tokens only for operator tokens when they are tagged with modifiers.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.semanticHighlighting.operator.specialization.enable

Use specialized semantic tokens for operators.

When enabled, rust-analyzer will emit special token types for operator tokens instead of the generic operator token type.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.semanticHighlighting.punctuation.enable

Use semantic tokens for punctuation.

When disabled, rust-analyzer will emit semantic tokens only for punctuation tokens when they are tagged with modifiers or have a special role.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.semanticHighlighting.punctuation.separate.macro.bang

When enabled, rust-analyzer will emit a punctuation semantic token for the ! of macro calls.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.semanticHighlighting.punctuation.specialization.enable

Use specialized semantic tokens for punctuation.

When enabled, rust-analyzer will emit special token types for punctuation tokens instead of the generic punctuation token type.

Type: null or boolean

Default: null

Plugin default: false

Declared by:

plugins.rust-tools.server.semanticHighlighting.strings.enable

Use semantic tokens for strings.

In some editors (e.g. vscode) semantic tokens override other highlighting grammars. By disabling semantic tokens for strings, other grammars can be used to highlight their contents.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.signatureInfo.detail

Show full signature of the callable. Only shows parameters if disabled.

Values:

  • full: Show the entire signature.
  • parameters: Show only the parameters.

Type: null or one of “full”, “parameters”

Default: null

Plugin default: "full"

Declared by:

plugins.rust-tools.server.signatureInfo.documentation.enable

Show documentation.

Type: null or boolean

Default: null

Plugin default: true

Declared by:

plugins.rust-tools.server.typing.triggerChars

Specify the characters allowed to invoke special on typing triggers.

  • typing = after let tries to smartly add ; if = is followed by an existing expression
  • typing = between two expressions adds ; when in statement position
  • typing = to turn an assignment into an equality comparison removes ; when in expression position
  • typing . in a chain method call auto-indents
  • typing { or ( in front of an expression inserts a closing } or ) after the expression
  • typing { in a use item adds a closing } in the right place
  • typing > to complete a return type -> will insert a whitespace after it
  • typing < in a path or type position inserts a closing > after the path or type.

Type: null or string

Default: null

Plugin default: "=."

Declared by:

plugins.rust-tools.server.vfs.extraIncludes

Additional paths to include in the VFS. Generally for code that is generated or otherwise managed by a build system outside of Cargo, though Cargo might be the eventual consumer.

Type: null or (list of string)

Default: null

Plugin default: [ ]

Declared by:

plugins.rust-tools.server.workspace.discoverConfig

Enables automatic discovery of projects using [DiscoverWorkspaceConfig::command].

[DiscoverWorkspaceConfig] also requires setting progress_label and files_to_watch. progress_label is used for the title in progress indicators, whereas files_to_watch is used to determine which build system-specific files should be watched in order to reload rust-analyzer.

Below is an example of a valid configuration:

"rust-analyzer.workspace.discoverConfig": {
        "command": [
                "rust-project",
                "develop-json"
        ],
        "progressLabel": "rust-analyzer",
        "filesToWatch": [
                "BUCK"
        ]
}

On DiscoverWorkspaceConfig::command

Warning: This format is provisional and subject to change.

[DiscoverWorkspaceConfig::command] must return a JSON object corresponding to DiscoverProjectData::Finished:

#[derive(Debug, Clone, Deserialize, Serialize)]
#[serde(tag = "kind")]
#[serde(rename_all = "snake_case")]
enum DiscoverProjectData {
        Finished { buildfile: Utf8PathBuf, project: ProjectJsonData },
        Error { error: String, source: Option<String> },
        Progress { message: String },
}

As JSON, DiscoverProjectData::Finished is:

{
        // the internally-tagged representation of the enum.
        "kind": "finished",
        // the file used by a non-Cargo build system to define
        // a package or target.
        "buildfile": "rust-analyzer/BUILD",
        // the contents of a rust-project.json, elided for brevity
        "project": {
                "sysroot": "foo",
                "crates": []
        }
}

It is encouraged, but not required, to use the other variants on DiscoverProjectData to provide a more polished end-user experience.

DiscoverWorkspaceConfig::command may optionally include an {arg}, which will be substituted with the JSON-serialized form of the following enum:

#[derive(PartialEq, Clone, Debug, Serialize)]
#[serde(rename_all = "camelCase")]
pub enum DiscoverArgument {
     Path(AbsPathBuf),
     Buildfile(AbsPathBuf),
}

The JSON representation of DiscoverArgument::Path is:

{
        "path": "src/main.rs"
}

Similarly, the JSON representation of DiscoverArgument::Buildfile is:

{
        "buildfile": "BUILD"
}

DiscoverArgument::Path is used to find and generate a rust-project.json, and therefore, a workspace, whereas DiscoverArgument::buildfile is used to to update an existing workspace. As a reference for implementors, buck2’s rust-project will likely be useful: https://github.com/facebook/buck2/tree/main/integrations/rust-project.

Type: null or (submodule)

Default: null

Plugin default: null

Declared by:

plugins.rust-tools.server.workspace.discoverConfig.command

Type: list of string

Declared by:

plugins.rust-tools.server.workspace.discoverConfig.filesToWatch

Type: list of string

Declared by:

plugins.rust-tools.server.workspace.discoverConfig.progressLabel

Type: string

Declared by:

plugins.rust-tools.server.workspace.symbol.search.kind

Workspace symbol search kind.

Values:

  • only_types: Search for types only.
  • all_symbols: Search for all symbols kinds.

Type: null or one of “only_types”, “all_symbols”

Default: null

Plugin default: "only_types"

Declared by:

plugins.rust-tools.server.workspace.symbol.search.limit

Limits the number of items returned from a workspace symbol search (Defaults to 128). Some clients like vs-code issue new searches on result filtering and don’t require all results to be returned in the initial search. Other clients requires all results upfront and might require a higher limit.

Type: null or signed integer

Default: null

Plugin default: 128

Declared by:

plugins.rust-tools.server.workspace.symbol.search.scope

Workspace symbol search scope.

Values:

  • workspace: Search in current workspace only.
  • workspace_and_dependencies: Search in current workspace and dependencies.

Type: null or one of “workspace”, “workspace_and_dependencies”

Default: null

Plugin default: "workspace"

Declared by:

rustaceanvim

URL: https://github.com/mrcjkb/rustaceanvim

Maintainers: Gaetan Lepage

plugins.rustaceanvim.enable

Whether to enable rustaceanvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.rustaceanvim.package

The rustaceanvim package to use.

Type: package

Default: pkgs.vimPlugins.rustaceanvim

Declared by:

plugins.rustaceanvim.autoLoad

Whether to automatically load rustaceanvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.rustaceanvim.lazyLoad

Lazy-load settings for rustaceanvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.rustaceanvim.lazyLoad.enable

lazy-loading for rustaceanvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.rustaceanvim.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.rustaceanvim.settings

Options provided to the require('rustaceanvim').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  server = {
    cmd = [
      "rustup"
      "run"
      "nightly"
      "rust-analyzer"
    ];
    default_settings = {
      rust-analyzer = {
        check = {
          command = "clippy";
        };
        inlayHints = {
          lifetimeElisionHints = {
            enable = "always";
          };
        };
      };
    };
    standalone = false;
  };
}

Declared by:

plugins.rustaceanvim.settings.dap.adapter

Defaults to creating the rt_lldb adapter, which is a DapServerConfig if codelldb is detected, and a DapExecutableConfig if lldb is detected. Set to false to disable.

Type: null or lua function string or value false (singular enum) or (attribute set of anything)

Default: null

Declared by:

plugins.rustaceanvim.settings.dap.autoload_configurations

Whether to autoload nvim-dap configurations when rust-analyzer has attached.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.rustaceanvim.settings.server.auto_attach

Whether to automatically attach the LSP client. Defaults to true if the rust-analyzer executable is found.

This can also be the definition of a function (fun():boolean).

Plugin default:

  function(bufnr)
    if #vim.bo[bufnr].buftype > 0 then
      return false
    end
    local path = vim.api.nvim_buf_get_name(bufnr)
    if not os.is_valid_file_path(path) then
      return false
    end
    local cmd = types.evaluate(RustaceanConfig.server.cmd)
    ---@cast cmd string[]
    local rs_bin = cmd[1]
    return vim.fn.executable(rs_bin) == 1
  end

Type: null or lua function string or boolean

Default: null

Declared by:

plugins.rustaceanvim.settings.server.cmd

Command and arguments for starting rust-analyzer.

This can also be the definition of a function: fun(project_root:string|nil,default_settings:table):table

Plugin default:

  function()
    return { 'rust-analyzer', '--log-file', RustaceanConfig.server.logfile }
  end

Type: null or lua function string or list of string

Default: null

Declared by:

plugins.rustaceanvim.settings.server.default_settings

Setting passed to rust-analyzer. Defaults to a function that looks for a rust-analyzer.json file or returns an empty table. See https://rust-analyzer.github.io/manual.html#configuration.

This can also be the definition of a function: fun(project_root:string|nil, default_settings: table|nil):table

Plugin default:

  function(project_root, default_settings)
    return require('rustaceanvim.config.server').load_rust_analyzer_settings(project_root, { default_settings = default_settings })
  end

Type: null or lua function string or (attribute set of anything)

Default: null

Declared by:

plugins.rustaceanvim.settings.server.load_vscode_settings

Whether to search (upward from the buffer) for rust-analyzer settings in .vscode/settings json. If found, loaded settings will override configured options.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.rustaceanvim.settings.server.logfile

The path to the rust-analyzer log file.

Type: null or string or raw lua code

Default: null

Plugin default:

{
  __raw = "vim.fn.tempname() .. '-rust-analyzer.log'";
}

Declared by:

plugins.rustaceanvim.settings.server.on_attach

Function to call when rustaceanvim attaches to a buffer.

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.rustaceanvim.settings.server.standalone

Standalone file support (enabled by default). Disabling it may improve rust-analyzer’s startup time.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.rustaceanvim.settings.tools.enable_clippy

Whether to enable clippy checks on save if a clippy installation is detected.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.rustaceanvim.settings.tools.enable_nextest

Whether to enable nextest. If enabled, cargo test commands will be transformed to cargo nextest run commands. Defaults to true if cargo-nextest is detected. Ignored if cargo_override is set.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.rustaceanvim.settings.tools.cargo_override

Set this to override the ‘cargo’ command for runnables, debuggables (etc., e.g. to "cross"). If set, this takes precedence over enable_nextest.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.rustaceanvim.settings.tools.crate_test_executor

The executor to use for runnables that are crate test suites (--all-targets). Either a test executor alias or an attrs with the execute_command key.

Type: null or one of “termopen”, “quickfix”, “toggleterm”, “vimux”, “neotest”, “background” or (submodule)

Default: null

Declared by:

plugins.rustaceanvim.settings.tools.executor

The executor to use for runnables/debuggables. Either an executor alias or an attrs with the execute_command key.

Type: null or one of “termopen”, “quickfix”, “toggleterm”, “vimux”, “neotest” or (submodule)

Default: null

Plugin default: "termopen"

Declared by:

plugins.rustaceanvim.settings.tools.on_initialized

fun(health:RustAnalyzerInitializedStatus) Function that is invoked when the LSP server has finished initializing.

Type: null or lua code string

Default: null

Declared by:

plugins.rustaceanvim.settings.tools.open_url

If set, overrides how to open URLs. fun(url:string):nil

Type: null or lua function string

Default: null

Plugin default: "require('rustaceanvim.os').open_url"

Declared by:

plugins.rustaceanvim.settings.tools.reload_workspace_from_cargo_toml

Automatically call RustReloadWorkspace when writing to a Cargo.toml file.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.rustaceanvim.settings.tools.test_executor

The executor to use for runnables that are tests/testables Either a test executor alias or an attrs with the execute_command key.

Type: null or one of “termopen”, “quickfix”, “toggleterm”, “vimux”, “neotest”, “background” or (submodule)

Default: null

Declared by:

plugins.rustaceanvim.settings.tools.code_actions.group_icon

Text appended to a group action.

Type: null or string or raw lua code

Default: null

Plugin default: " ▶"

Declared by:

plugins.rustaceanvim.settings.tools.code_actions.ui_select_fallback

Whether to fall back to vim.ui.select if there are no grouped code actions.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.rustaceanvim.settings.tools.crate_graph.enabled_graphviz_backends

Override the enabled graphviz backends list, used for input validation and autocompletion.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "bmp"
  "cgimage"
  "canon"
  "dot"
  "gv"
  "xdot"
  "xdot1.2"
  "xdot1.4"
  "eps"
  "exr"
  "fig"
  "gd"
  "gd2"
  "gif"
  "gtk"
  "ico"
  "cmap"
  "ismap"
  "imap"
  "cmapx"
  "imap_np"
  "cmapx_np"
  "jpg"
  "jpeg"
  "jpe"
  "jp2"
  "json"
  "json0"
  "dot_json"
  "xdot_json"
  "pdf"
  "pic"
  "pct"
  "pict"
  "plain"
  "plain-ext"
  "png"
  "pov"
  "ps"
  "ps2"
  "psd"
  "sgi"
  "svg"
  "svgz"
  "tga"
  "tiff"
  "tif"
  "tk"
  "vml"
  "vmlz"
  "wbmp"
  "webp"
  "xlib"
  "x11"
]

Declared by:

plugins.rustaceanvim.settings.tools.crate_graph.backend

Backend used for displaying the graph. See: https://graphviz.org/docs/outputs

Type: null or string or raw lua code

Default: null

Plugin default: "x11"

Declared by:

plugins.rustaceanvim.settings.tools.crate_graph.full

true for all crates.io and external crates, false only the local crates.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.rustaceanvim.settings.tools.crate_graph.output

Where to store the output. No output if unset. Relative path from cwd.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.rustaceanvim.settings.tools.crate_graph.pipe

Override the pipe symbol in the shell command. Useful if using a shell that is not supported by this plugin.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.rustaceanvim.settings.tools.float_win_config.auto_focus

Whether the window gets automatically focused.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.rustaceanvim.settings.tools.float_win_config.open_split

Whether splits opened from floating preview are vertical.

Type: null or one of “horizontal”, “vertical” or raw lua code

Default: null

Plugin default: "horizontal"

Declared by:

plugins.rustaceanvim.settings.tools.hover_actions.replace_builtin_hover

Whether to replace Neovim’s built-in vim.lsp.buf.hover with hover actions.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

sandwich

URL: https://github.com/machakann/vim-sandwich/

Maintainers: Gaetan Lepage


The settings option will not let you define the options starting with sandwich#. For those, you can directly use the globals option:

  globals."sandwich#magicchar#f#patterns" = [
    {
      header.__raw = "[[\<\%(\h\k*\.\)*\h\k*]]";
      bra = "(";
      ket = ")";
      footer = "";
    }
  ];

plugins.sandwich.enable

Whether to enable vim-sandwich.

Type: boolean

Default: false

Example: true

Declared by:

plugins.sandwich.package

The vim-sandwich package to use.

Type: package

Default: pkgs.vimPlugins.vim-sandwich

Declared by:

plugins.sandwich.autoLoad

Whether to automatically load vim-sandwich when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.sandwich.settings

The configuration options for sandwich without the sandwich_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal sandwich_foo_bar=1
  • hello = "world" -> :setglobal sandwich_hello="world"
  • some_toggle = true -> :setglobal sandwich_some_toggle
  • other_toggle = false -> :setglobal nosandwich_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  no_default_key_mappings = 1;
  no_tex_ftplugin = 1;
  no_vim_ftplugin = 1;
}

Declared by:

plugins.sandwich.settings.no_default_key_mappings

Whether to disable the default mappings.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

schemastore

URL: https://github.com/b0o/SchemaStore.nvim/

Maintainers: Gaetan Lepage

plugins.schemastore.enable

Whether to enable SchemaStore.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.schemastore.package

The SchemaStore.nvim package to use.

Type: package

Default: pkgs.vimPlugins.SchemaStore-nvim

Declared by:

plugins.schemastore.autoLoad

Whether to automatically load SchemaStore.nvim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.schemastore.json.enable

Whether to enable the json schemas in jsonls.

Type: boolean

Default: true

Example: false

Declared by:

plugins.schemastore.json.settings

Options supplied to the require('schemastore').json.schemas function.

Type: attribute set of anything

Default: { }

Example:

{
  extra = [
    {
      description = "My custom JSON schema";
      fileMatch = "foo.json";
      name = "foo.json";
      url = "https://example.com/schema/foo.json";
    }
    {
      description = "My other custom JSON schema";
      fileMatch = [
        "bar.json"
        ".baar.json"
      ];
      name = "bar.json";
      url = "https://example.com/schema/bar.json";
    }
  ];
  replace = {
    "package.json" = {
      description = "package.json overridden";
      fileMatch = [
        "package.json"
      ];
      name = "package.json";
      url = "https://example.com/package.json";
    };
  };
}

Declared by:

plugins.schemastore.json.settings.extra

Additional schemas to include.

Type: null or (list of ((attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.schemastore.json.settings.ignore

A list of strings representing the names of schemas to ignore. select and ignore are mutually exclusive.

See the schema catalog.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.schemastore.json.settings.replace

An attrs of elements representing schemas to replace with a custom schema.

The string key is the name of the schema to replace, the table value is the schema definition. If a schema with the given name isn’t found, the custom schema will not be returned.

Type: null or (attribute set of ((attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.schemastore.json.settings.select

A list of strings representing the names of schemas to select. If this option is not present, all schemas are returned. If it is present, only the selected schemas are returned. select and ignore are mutually exclusive.

See the schema catalog.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.schemastore.yaml.enable

Whether to enable the yaml schemas in yamlls.

Type: boolean

Default: true

Example: false

Declared by:

plugins.schemastore.yaml.settings

Options supplied to the require('schemastore').yaml.schemas function.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.schemastore.yaml.settings.extra

Additional schemas to include.

Type: null or (list of ((attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.schemastore.yaml.settings.ignore

A list of strings representing the names of schemas to ignore. select and ignore are mutually exclusive.

See the schema catalog.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.schemastore.yaml.settings.replace

An attrs of elements representing schemas to replace with a custom schema.

The string key is the name of the schema to replace, the table value is the schema definition. If a schema with the given name isn’t found, the custom schema will not be returned.

Type: null or (attribute set of ((attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.schemastore.yaml.settings.select

A list of strings representing the names of schemas to select. If this option is not present, all schemas are returned. If it is present, only the selected schemas are returned. select and ignore are mutually exclusive.

See the schema catalog.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

scope

URL: https://github.com/tiagovla/scope.nvim/

Maintainers: Andrew Plaza

plugins.scope.enable

Whether to enable scope.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.scope.package

The scope.nvim package to use.

Type: package

Default: pkgs.vimPlugins.scope-nvim

Declared by:

plugins.scope.autoLoad

Whether to automatically load scope.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.scope.lazyLoad

Lazy-load settings for scope.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.scope.lazyLoad.enable

lazy-loading for scope.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.scope.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.scope.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.scope.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.scope.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.scope.settings

Options provided to the require('scope').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  settings = {
    pre_tab_enter = {
      __raw = ''
        function()
          print("about to enter tab!")
        end
      '';
    };
  };
}

Declared by:

plugins.scope.settings.hooks.post_tab_close

Run custom logic after closing a tab.

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.scope.settings.hooks.post_tab_enter

Run custom logic after entering a tab.

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.scope.settings.hooks.post_tab_leave

Run custom logic after leaving a tab.

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.scope.settings.hooks.pre_tab_close

Run custom logic before closing a tab.

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.scope.settings.hooks.pre_tab_enter

Run custom logic before entering a tab.

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.scope.settings.hooks.pre_tab_leave

Run custom logic before leaving a tab.

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

scrollview

URL: https://github.com/dstein64/nvim-scrollview/

Maintainers: Gaetan Lepage

plugins.scrollview.enable

Whether to enable nvim-scrollview.

Type: boolean

Default: false

Example: true

Declared by:

plugins.scrollview.package

The nvim-scrollview package to use.

Type: package

Default: pkgs.vimPlugins.nvim-scrollview

Declared by:

plugins.scrollview.autoLoad

Whether to automatically load nvim-scrollview when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.scrollview.settings

The configuration options for scrollview without the scrollview_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal scrollview_foo_bar=1
  • hello = "world" -> :setglobal scrollview_hello="world"
  • some_toggle = true -> :setglobal scrollview_some_toggle
  • other_toggle = false -> :setglobal noscrollview_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  base = "buffer";
  column = 80;
  current_only = true;
  diagnostics_severities = [
    {
      __raw = "vim.diagnostic.severity.ERROR";
    }
  ];
  excluded_filetypes = [
    "nerdtree"
  ];
  signs_on_startup = [
    "all"
  ];
}

Declared by:

plugins.scrollview.settings.always_show

Specify whether scrollbars and signs are shown when all lines are visible.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.scrollview.settings.base

Specify where the scrollbar is anchored.

Possible values are "left" or "right" for corresponding window edges, or "buffer".

Type: null or one of “right”, “left”, “buffer” or raw lua code

Default: null

Plugin default: "right"

Declared by:

plugins.scrollview.settings.byte_limit

The buffer size threshold (in bytes) for entering restricted mode, to prevent slow operation.

Use -1 for no limit.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 1000000

Declared by:

plugins.scrollview.settings.changelist_current_priority

The priority for the the current changelist sign.

Considered only when the plugin is loaded.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.scrollview.settings.changelist_current_symbol

The symbol for the current item changelist sign.

Type: null or string or raw lua code

Default: null

Plugin default: "@"

Declared by:

plugins.scrollview.settings.changelist_next_priority

The priority for the the next item changelist sign.

Considered only when the plugin is loaded.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 5

Declared by:

plugins.scrollview.settings.changelist_next_symbol

The symbol for the next item changelist sign.

Defaults to a downwards arrow with tip rightwards.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.scrollview.settings.changelist_previous_priority

The priority for the the previous item changelist sign.

Considered only when the plugin is loaded.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 15

Declared by:

plugins.scrollview.settings.changelist_previous_symbol

The symbol for the previous item changelist sign.

Defaults to an upwards arrow with tip leftwards.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.scrollview.settings.character

A character to display on scrollbars.

Scrollbar transparency (via |scrollview_winblend|) is not possible when a scrollbar character is used.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.scrollview.settings.column

The scrollbar column (relative to |scrollview_base|).

Must be an integer greater than or equal to 1.

Type: null or positive integer, meaning >0, or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.scrollview.settings.conflicts_bottom_priority

The priority for the conflict bottom signs.

Considered only when the plugin is loaded.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 80

Declared by:

plugins.scrollview.settings.conflicts_bottom_symbol

The symbol for conflict bottom signs.

A list of strings can also be used; the symbol is selected using the index equal to the number of lines corresponding to the sign, or the last element when the retrieval would be out-of-bounds.

Considered only when the plugin is loaded.

Type: null or string or list of (string or raw lua code) or raw lua code

Default: null

Plugin default: ">"

Declared by:

plugins.scrollview.settings.conflicts_middle_priority

The priority for the conflict middle signs.

Considered only when the plugin is loaded.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 75

Declared by:

plugins.scrollview.settings.conflicts_middle_symbol

The symbol for conflict middle signs.

A list of strings can also be used; the symbol is selected using the index equal to the number of lines corresponding to the sign, or the last element when the retrieval would be out-of-bounds.

Considered only when the plugin is loaded.

Type: null or string or list of (string or raw lua code) or raw lua code

Default: null

Plugin default: "="

Declared by:

plugins.scrollview.settings.conflicts_top_priority

The priority for the conflict top signs.

Considered only when the plugin is loaded.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 70

Declared by:

plugins.scrollview.settings.conflicts_top_symbol

The symbol for conflict top signs.

A list of strings can also be used; the symbol is selected using the index equal to the number of lines corresponding to the sign, or the last element when the retrieval would be out-of-bounds.

Considered only when the plugin is loaded.

Type: null or string or list of (string or raw lua code) or raw lua code

Default: null

Plugin default: "<"

Declared by:

plugins.scrollview.settings.consider_border

(experimental)

Specify whether floating window borders are taken into account for positioning scrollbars and signs.

  • When set to true, borders are considered as part of the window; scrollbars and signs can be positioned where there are borders.
  • When set to false, borders are ignored.

The setting is only applicable for floating windows that have borders, and only relevant when floating_windows is turned on and base is set to "left" or "right".

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.scrollview.settings.current_only

Whether scrollbars and signs should only be displayed in the current window.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.scrollview.settings.cursor_priority

The priority for the cursor signs.

Considered only when the plugin is loaded.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.scrollview.settings.cursor_symbol

The symbol for cursor signs.

Defaults to a small square, resembling a block cursor.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.scrollview.settings.diagnostics_error_priority

The priority for the cursor diagnostic error signs.

Considered only when the plugin is loaded.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 60

Declared by:

plugins.scrollview.settings.diagnostics_error_symbol

The symbol for diagnostic error signs.

Defaults to the trimmed sign text for DiagnosticSignError if defined, or "E" otherwise.

A list of strings can also be used; the symbol is selected using the index equal to the number of lines corresponding to the sign, or the last element when the retrieval would be out-of-bounds.

Considered only when the plugin is loaded.

Type: null or string or list of (string or raw lua code) or raw lua code

Default: null

Declared by:

plugins.scrollview.settings.diagnostics_hint_priority

The priority for the the diagnostic hint signs.

Considered only when the plugin is loaded.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 30

Declared by:

plugins.scrollview.settings.diagnostics_hint_symbol

The symbol for diagnostic hint signs.

Defaults to the trimmed sign text for DiagnosticSignHint if defined, or "H" otherwise.

A list of strings can also be used; the symbol is selected using the index equal to the number of lines corresponding to the sign, or the last element when the retrieval would be out-of-bounds.

Considered only when the plugin is loaded.

Type: null or string or list of (string or raw lua code) or raw lua code

Default: null

Declared by:

plugins.scrollview.settings.diagnostics_info_priority

The priority for the the diagnostic info signs.

Considered only when the plugin is loaded.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 40

Declared by:

plugins.scrollview.settings.diagnostics_info_symbol

The symbol for diagnostic info signs.

Defaults to the trimmed sign text for DiagnosticSignInfo if defined, or "I" otherwise.

A list of strings can also be used; the symbol is selected using the index equal to the number of lines corresponding to the sign, or the last element when the retrieval would be out-of-bounds.

Considered only when the plugin is loaded.

Type: null or string or list of (string or raw lua code) or raw lua code

Default: null

Declared by:

plugins.scrollview.settings.diagnostics_severities

List of numbers specifying the diagnostic severities for which signs will be shown. The default includes vim.diagnostic.severity.ERROR, vim.diagnostic.severity.HINT, "vim.diagnostic.severity.INFO", and vim.diagnostic.severity.WARN.

Considered only when the plugin is loaded.

Type: null or unsigned integer, meaning >=0, or (list of (unsigned integer, meaning >=0, or raw lua code)) or raw lua code

Default: null

Declared by:

plugins.scrollview.settings.diagnostics_warn_priority

The priority for the the diagnostic warn signs.

Considered only when the plugin is loaded.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 50

Declared by:

plugins.scrollview.settings.diagnostics_warn_symbol

The symbol for diagnostic warn signs.

Defaults to the trimmed sign text for DiagnosticSignWarn if defined, or "W" otherwise.

A list of strings can also be used; the symbol is selected using the index equal to the number of lines corresponding to the sign, or the last element when the retrieval would be out-of-bounds.

Considered only when the plugin is loaded.

Type: null or string or list of (string or raw lua code) or raw lua code

Default: null

Declared by:

plugins.scrollview.settings.excluded_filetypes

optional file types for which scrollbars should not be displayed.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.scrollview.settings.floating_windows

Whether scrollbars and signs are shown in floating windows.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.scrollview.settings.folds_priority

The priority for the fold signs.

Considered only when the plugin is loaded.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 30

Declared by:

plugins.scrollview.settings.folds_symbol

The symbol for fold signs.

Defaults to a right-pointing triangle.

A list of strings can also be used; the symbol is selected using the index equal to the number of lines corresponding to the sign, or the last element when the retrieval would be out-of-bounds.

Considered only when the plugin is loaded.

Type: null or string or list of (string or raw lua code) or raw lua code

Default: null

Declared by:

plugins.scrollview.settings.hide_bar_for_insert

Whether the scrollbar is hidden in the current window for insert mode.

See the signs_hidden_for_insert option for hiding signs.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.scrollview.settings.hide_on_intersect

Whether each scrollbar or sign becomes hidden (not shown) when it would otherwise intersect with a floating window.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.scrollview.settings.hover

Whether the highlighting of scrollbars and signs should change when hovering with the mouse. Requires mouse support (see |'mouse'|) with |'mousemoveevent'| set.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.scrollview.settings.include_end_region

Whether the region beyond the last line is considered as containing ordinary lines for the calculation of scrollbar height and positioning.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.scrollview.settings.latestchange_priority

The priority for the latestchange signs.

Considered only when the plugin is loaded.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.scrollview.settings.latestchange_symbol

The symbol for latestchange signs.

Defaults to a Greek uppercase delta.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.scrollview.settings.line_limit

The buffer size threshold (in lines) for entering restricted mode, to prevent slow operation. Defaults to 20000. Use -1 for no limit.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: -1

Declared by:

plugins.scrollview.settings.loclist_priority

The priority for the loclist signs.

Considered only when the plugin is loaded.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 45

Declared by:

plugins.scrollview.settings.loclist_symbol

The symbol for loclist signs.

Defaults to a small circle.

A list of strings can also be used; the symbol is selected using the index equal to the number of lines corresponding to the sign, or the last element when the retrieval would be out-of-bounds.

Considered only when the plugin is loaded.

Type: null or string or list of (string or raw lua code) or raw lua code

Default: null

Declared by:

plugins.scrollview.settings.marks_characters

List of strings specifying characters for which mark signs will be shown. Defaults to characters a-z and A-Z.

Considered only when the plugin is loaded.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Declared by:

plugins.scrollview.settings.marks_priority

The priority for the mark signs.

Considered only when the plugin is loaded.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 50

Declared by:

plugins.scrollview.settings.mode

Specify what the scrollbar position and size correspond to. See |scrollview-modes| for details on the available modes.

Type: null or string or raw lua code

Default: null

Plugin default: "auto"

Declared by:

plugins.scrollview.settings.mouse_primary

The button for primary mouse operations (dragging scrollbars and clicking signs).

Possible values include "left", "middle", "right", "x1", and "x2". These can be prepended with "c-" or "m-" for the control-key and alt-key variants (e.g., "c-left" for control-left).

An existing mapping will not be clobbered, unless "!" is added at the end (e.g., "left!"). Set to "nil" to disable the functionality.

Considered only when the plugin is loaded.

Type: null or string or raw lua code

Default: null

Plugin default: "left"

Declared by:

plugins.scrollview.settings.mouse_secondary

The button for secondary mouse operations (clicking signs for additional information).

See the mouse_primary option for the possible values, including how "c-", "m-", "!", and "nil" can be utilized.

Considered only when the plugin is loaded.

Type: null or string or raw lua code

Default: null

Plugin default: "right"

Declared by:

plugins.scrollview.settings.on_startup

Whether scrollbars are enabled on startup.

Considered only when the plugin is loaded.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.scrollview.settings.quickfix_priority

The priority for the quickfix signs.

Considered only when the plugin is loaded.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 45

Declared by:

plugins.scrollview.settings.quickfix_symbol

The symbol for quickfix signs.

Defaults to a small circle.

A list of strings can also be used; the symbol is selected using the index equal to the number of lines corresponding to the sign, or the last element when the retrieval would be out-of-bounds.

Considered only when the plugin is loaded.

Type: null or string or list of (string or raw lua code) or raw lua code

Default: null

Declared by:

plugins.scrollview.settings.search_priority

The priority for the search signs.

Considered only when the plugin is loaded.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 70

Declared by:

plugins.scrollview.settings.search_symbol

The symbol for search signs.

Defaults to ["=" "=" {__raw = "vim.fn.nr2char(0x2261)";}] where the third element is the triple bar.

A list of strings can also be used; the symbol is selected using the index equal to the number of lines corresponding to the sign, or the last element when the retrieval would be out-of-bounds.

Considered only when the plugin is loaded.

Type: null or string or list of (string or raw lua code) or raw lua code

Default: null

Declared by:

plugins.scrollview.settings.signs_hidden_for_insert

The sign groups to hide in the current window for insert mode. Set to [ "all" ] to hide all sign groups.

See |scrollview_hide_bar_for_insert| for hiding the scrollbar.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.scrollview.settings.signs_max_per_row

The maximum number of signs per row. Set to -1 to have no limit.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: -1

Declared by:

plugins.scrollview.settings.signs_on_startup

The built-in sign groups to enable on startup. Set to {__empty = null;} to disable all built-in sign groups on startup. Set to ['all'] to enable all sign groups. Considered only when the plugin is loaded.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "diagnostics"
  "marks"
  "search"
]

Declared by:

plugins.scrollview.settings.signs_overflow

The sign overflow direction (to avoid overlapping the scrollbar or other signs).

Type: null or one of “left”, “right” or raw lua code

Default: null

Plugin default: "left"

Declared by:

plugins.scrollview.settings.signs_show_in_folds

Whether signs on lines within hidden folds should be shown. Sign groups can override this setting (e.g., the built-in cursor sign group does).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.scrollview.settings.spell_priority

The priority for the spell signs.

Considered only when the plugin is loaded.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 20

Declared by:

plugins.scrollview.settings.spell_symbol

The symbol for spell signs.

A list of strings can also be used; the symbol is selected using the index equal to the number of lines corresponding to the sign, or the last element when the retrieval would be out-of-bounds.

Considered only when the plugin is loaded.

Type: null or string or list of (string or raw lua code) or raw lua code

Default: null

Plugin default: "~"

Declared by:

plugins.scrollview.settings.textwidth_priority

The priority for the textwidth signs.

Considered only when the plugin is loaded.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 20

Declared by:

plugins.scrollview.settings.textwidth_symbol

The symbol for textwidth signs.

Defaults to a right-pointing double angle quotation mark.

A list of strings can also be used; the symbol is selected using the index equal to the number of lines corresponding to the sign, or the last element when the retrieval would be out-of-bounds.

Considered only when the plugin is loaded.

Type: null or string or list of (string or raw lua code) or raw lua code

Default: null

Declared by:

plugins.scrollview.settings.trail_priority

The priority for the trail signs.

Considered only when the plugin is loaded.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 50

Declared by:

plugins.scrollview.settings.trail_symbol

The symbol for trail signs.

Defaults to an outlined square.

A list of strings can also be used; the symbol is selected using the index equal to the number of lines corresponding to the sign, or the last element when the retrieval would be out-of-bounds.

Considered only when the plugin is loaded.

Type: null or string or list of (string or raw lua code) or raw lua code

Default: null

Declared by:

plugins.scrollview.settings.winblend

The level of transparency for scrollbars when a GUI is not running and termguicolors is not set.

Must be between 0 (opaque) and 100 (transparent).

This option is ignored for scrollview windows whose highlight group has reverse or inverse specified as a cterm attribute; see |attr-list|. Such windows will have no transparency, as a workaround for Neovim #24159.

This option is ignored for scrollview windows shown for floating windows; see |scrollview_floating_windows|. Such windows will have no transparency, as a workaround for Neovim #14624.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 50

Declared by:

plugins.scrollview.settings.winblend_gui

(experimental)

The level of transparency for scrollbars when a GUI is running or termguicolors is set.

Must be between 0 (opaque) and 100 (transparent).

This option is ignored for scrollview windows whose highlight group has reverse or inverse specified as a gui attribute; see |attr-list|. Such windows will have no transparency, as a workaround for Neovim #24159.

This option is ignored for scrollview windows shown for floating windows; see |scrollview_floating_windows|. Such windows will have no transparency, as a workaround for Neovim #14624.

This option can interact with highlight settings (|scrollview-color-customization|); careful adjustment of the winblend setting and highlighting may be necessary to achieve the desired result.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.scrollview.settings.zindex

The z-index for scrollbars and signs. Must be larger than zero.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 40

Declared by:

sg

URL: https://github.com/sourcegraph/sg.nvim/

Maintainers: Gaetan Lepage

plugins.sg.enable

Whether to enable sg.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.sg.package

The sg.nvim package to use.

Type: package

Default: pkgs.vimPlugins.sg-nvim

Declared by:

plugins.sg.autoLoad

Whether to automatically load sg.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.sg.lazyLoad

Lazy-load settings for sg.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.sg.lazyLoad.enable

lazy-loading for sg.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.sg.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.sg.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.sg.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.sg.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.sg.settings

Options provided to the require('sg').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  accept_tos = true;
  enable_cody = true;
  skip_node_check = true;
}

Declared by:

plugins.sg.settings.enable_cody

Enable/disable cody integration.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.sg.settings.accept_tos

Accept the TOS without being prompted.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.sg.settings.cody_agent

Path to the cody-agent js bundle.

Type: null or string or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "vim.api.nvim_get_runtime_file('dist/cody-agent.js', false)[1]"

Declared by:

plugins.sg.settings.download_binaries

Whether to download latest release from Github.

WARNING: This should not be needed in Nixvim.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.sg.settings.node_executable

Path to the node executable.

If you set nodePackage to a non-null package, this option will automatically default to its path.

Type: null or string or raw lua code

Default: null

Plugin default: "node"

Declared by:

plugins.sg.settings.on_attach

Function to run when attaching to sg://<file> buffers.

Type: null or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(_, bufnr)
    vim.keymap.set("n", "gd", vim.lsp.buf.definition, { buffer = bufnr })
    vim.keymap.set("n", "gr", vim.lsp.buf.references, { buffer = bufnr })
    vim.keymap.set("n", "K", vim.lsp.buf.hover, { buffer = bufnr })
  end
''

Declared by:

plugins.sg.settings.skip_node_check

Whether to skip node checks.

Useful if using other js runtime.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.sg.settings.src_headers

Headers to be sent with each sg request.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.sg.settings.chat.default_model

The name of the default model to use for the chat.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

sleuth

URL: https://github.com/tpope/vim-sleuth/

Maintainers: Gaetan Lepage

plugins.sleuth.enable

Whether to enable vim-sleuth.

Type: boolean

Default: false

Example: true

Declared by:

plugins.sleuth.package

The vim-sleuth package to use.

Type: package

Default: pkgs.vimPlugins.vim-sleuth

Declared by:

plugins.sleuth.autoLoad

Whether to automatically load vim-sleuth when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.sleuth.settings

The configuration options for sleuth without the sleuth_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal sleuth_foo_bar=1
  • hello = "world" -> :setglobal sleuth_hello="world"
  • some_toggle = true -> :setglobal sleuth_some_toggle
  • other_toggle = false -> :setglobal nosleuth_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  gitcommit_heuristics = 0;
  heuristics = 1;
  no_filetype_indent_on = 1;
}

Declared by:

plugins.sleuth.settings.heuristics

Whether to enable/disable heuristics by default.

You can also disable heuristics for individual filetypes:

  settings = {
    heuristics = 1;
    gitcommit_heuristics = 0;
  };

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.sleuth.settings.no_filetype_indent_on

Sleuth forces |:filetype-indent-on| by default, which enables file-type specific indenting algorithms and is highly recommended.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

smart-splits

URL: https://github.com/mrjones2014/smart-splits.nvim/

Maintainers: Gabriel Arazas

plugins.smart-splits.enable

Whether to enable smart-splits.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.smart-splits.package

The smart-splits.nvim package to use.

Type: package

Default: pkgs.vimPlugins.smart-splits-nvim

Declared by:

plugins.smart-splits.autoLoad

Whether to automatically load smart-splits.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.smart-splits.settings

Options provided to the require('smart-splits').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  ignored_events = [
    "BufEnter"
    "WinEnter"
  ];
  resize_mode = {
    quit_key = "<ESC>";
    resize_keys = [
      "h"
      "j"
      "k"
      "l"
    ];
    silent = true;
  };
}

Declared by:

plugins.smart-splits.lazyLoad

Lazy-load settings for smart-splits.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.smart-splits.lazyLoad.enable

lazy-loading for smart-splits.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.smart-splits.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.smart-splits.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.smart-splits.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.smart-splits.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

smartcolumn

URL: https://github.com/m4xshen/smartcolumn.nvim/

Maintainers: Austin Horstman

plugins.smartcolumn.enable

Whether to enable smartcolumn.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.smartcolumn.package

The smartcolumn.nvim package to use.

Type: package

Default: pkgs.vimPlugins.smartcolumn-nvim

Declared by:

plugins.smartcolumn.autoLoad

Whether to automatically load smartcolumn.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.smartcolumn.lazyLoad

Lazy-load settings for smartcolumn.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.smartcolumn.lazyLoad.enable

lazy-loading for smartcolumn.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.smartcolumn.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.smartcolumn.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.smartcolumn.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.smartcolumn.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.smartcolumn.settings

Options provided to the require('smartcolumn').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  colorcolumn = "100";
  custom_colorcolumn = {
    go = [
      "100"
      "130"
    ];
    java = [
      "100"
      "140"
    ];
    nix = [
      "100"
      "120"
    ];
    rust = [
      "80"
      "100"
    ];
  };
  disabled_filetypes = [
    "checkhealth"
    "help"
    "lspinfo"
    "markdown"
    "neo-tree"
    "noice"
    "text"
  ];
  scope = "window";
}

Declared by:

plugins.smartcolumn.settings.colorcolumn

Column with to highlight. Supports multiple values for more column highlights.

Type: null or string or list of string

Default: null

Plugin default: "80"

Declared by:

plugins.smartcolumn.settings.custom_colorcolumn

Custom colorcolumn definitions for different filetypes.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.smartcolumn.settings.disabled_filetypes

Filetypes that colorcolumn highlighting will not be displayed.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "help"
  "text"
  "markdown"
]

Declared by:

plugins.smartcolumn.settings.scope

The scope to check for column width and highlight.

Type: null or one of “file”, “window”, “line” or raw lua code

Default: null

Plugin default: "file"

Declared by:

smear-cursor

URL: https://github.com/sphamba/smear-cursor.nvim/

Maintainers: Gaetan Lepage

plugins.smear-cursor.enable

Whether to enable smear-cursor.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.smear-cursor.package

The smear-cursor.nvim package to use.

Type: package

Default: pkgs.vimPlugins.smear-cursor-nvim

Declared by:

plugins.smear-cursor.autoLoad

Whether to automatically load smear-cursor.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.smear-cursor.lazyLoad

Lazy-load settings for smear-cursor.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.smear-cursor.lazyLoad.enable

lazy-loading for smear-cursor.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.smear-cursor.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.smear-cursor.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.smear-cursor.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.smear-cursor.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.smear-cursor.settings

Options provided to the require('smear_cursor').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  distance_stop_animating = 0.5;
  hide_target_hack = false;
  stiffness = 0.8;
  trailing_stiffness = 0.5;
}

Declared by:

plugins.smear-cursor.settings.color_levels

Minimum 1, don’t set manually if using cterm_cursor_colors.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 16

Declared by:

plugins.smear-cursor.settings.cterm_bg

Cterm background color.

Must set when not using legacy computing symbols.

Type: null or string or (unsigned integer, meaning >=0)

Default: null

Plugin default: 235

Declared by:

plugins.smear-cursor.settings.cterm_cursor_colors

Cterm color gradient, from bg color (excluded) to cursor color (included).

Type: null or (list of (string or (unsigned integer, meaning >=0) or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  240
  241
  242
  243
  244
  245
  246
  247
  248
  249
  250
  251
  252
  253
  254
  255
]

Declared by:

plugins.smear-cursor.settings.cursor_color

Smear cursor color.

Defaults to Cursor GUI color if not set. Set to "none" to match the text color at the target cursor position.

Type: null or string or (unsigned integer, meaning >=0)

Default: null

Plugin default: null

Declared by:

plugins.smear-cursor.settings.delay_animation_start

After changing target position, wait before triggering animation.

Useful if the target changes and rapidly comes back to its original position. E.g. when hitting a keybinding that triggers CmdlineEnter. Increase if the cursor makes weird jumps when hitting keys.

The value should be expressed in milliseconds.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 5

Declared by:

plugins.smear-cursor.settings.distance_stop_animating

Stop animating when the smear’s tail is within this distance (in characters) from the target.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0.1

Declared by:

plugins.smear-cursor.settings.filetypes_disabled

List of filetypes where the plugin is disabled.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.smear-cursor.settings.gamma

For color blending.

Type: null or floating point number or raw lua code

Default: null

Plugin default: 2.2

Declared by:

plugins.smear-cursor.settings.hide_target_hack

Attempt to hide the real cursor by drawing a character below it.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.smear-cursor.settings.legacy_computing_symbols_support

Set to true if your font supports legacy computing symbols (block unicode symbols). Smears will blend better on all backgrounds.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.smear-cursor.settings.logging_level

Log level (for debugging purposes).

Also set trailing_stiffness to 0 for debugging.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "vim.log.levels.INFO"

Declared by:

plugins.smear-cursor.settings.matrix_pixel_min_factor

0: all pixels, 1: no pixel

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.5

Declared by:

plugins.smear-cursor.settings.matrix_pixel_threshold

0: all pixels, 1: no pixel

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.7

Declared by:

plugins.smear-cursor.settings.max_kept_windows

Number of windows that stay open for rendering.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 50

Declared by:

plugins.smear-cursor.settings.max_length

Maximum smear length.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 25

Declared by:

plugins.smear-cursor.settings.max_shade_no_matrix

0: more overhangs, 1: more matrices

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.75

Declared by:

plugins.smear-cursor.settings.max_slope_horizontal

When to switch between rasterization methods.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0.5

Declared by:

plugins.smear-cursor.settings.min_slope_vertical

When to switch between rasterization methods.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 2

Declared by:

plugins.smear-cursor.settings.minimum_volume_factor

0: no limit, 1: no reduction

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.7

Declared by:

plugins.smear-cursor.settings.normal_bg

Background color.

Defaults to Normal GUI background color if not set.

Type: null or string or (unsigned integer, meaning >=0)

Default: null

Plugin default: null

Declared by:

plugins.smear-cursor.settings.scroll_buffer_space

Draw the smear in buffer space instead of screen space when scrolling.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.smear-cursor.settings.slowdown_exponent

How much the smear slows down when getting close to the target.

< 0: less slowdown, > 0: more slowdown. Keep small, e.g. [-0.2, 0.2]

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.smear-cursor.settings.smear_between_buffers

Smear cursor when switching buffers or windows.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.smear-cursor.settings.smear_between_neighbor_lines

Smear cursor when moving within line or to neighbor lines.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.smear-cursor.settings.smear_to_cmd

Smear cursor when entering or leaving command line mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.smear-cursor.settings.stiffness

How fast the smear’s head moves towards the target.

0: no movement, 1: instantaneous

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.6

Declared by:

plugins.smear-cursor.settings.time_interval

Sets animation framerate (in milliseconds).

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 17

Declared by:

plugins.smear-cursor.settings.trailing_exponent

Controls if middle points are closer to the head or the tail.

< 1: closer to the tail, > 1: closer to the head

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 2

Declared by:

plugins.smear-cursor.settings.trailing_stiffness

How fast the smear’s tail moves towards the target.

0: no movement, 1: instantaneous

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.3

Declared by:

plugins.smear-cursor.settings.transparent_bg_fallback_color

Set when the background is transparent and when not using legacy computing symbols.

Type: null or string or (unsigned integer, meaning >=0)

Default: null

Plugin default: "303030"

Declared by:

plugins.smear-cursor.settings.vertical_bar_cursor

Set to true if your cursor is a vertical bar in normal mode.

Use with matrix_pixel_threshold = 0.3

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.smear-cursor.settings.volume_reduction_exponent

0: no reduction, 1: full reduction

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.3

Declared by:

plugins.smear-cursor.settings.windows_zindex

Adjust to have the smear appear above or below other floating windows.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 300

Declared by:

snacks

URL: https://github.com/folke/snacks.nvim/

Maintainers: Heitor Augusto

plugins.snacks.enable

Whether to enable snacks.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.snacks.package

The snacks.nvim package to use.

Type: package

Default: pkgs.vimPlugins.snacks-nvim

Declared by:

plugins.snacks.autoLoad

Whether to automatically load snacks.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.snacks.lazyLoad

Lazy-load settings for snacks.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.snacks.lazyLoad.enable

lazy-loading for snacks.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.snacks.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.snacks.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.snacks.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.snacks.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.snacks.settings

Options provided to the require('snacks').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  bigfile = {
    enabled = true;
  };
  notifier = {
    enabled = true;
    timeout = 3000;
  };
  quickfile = {
    enabled = false;
  };
  statuscolumn = {
    enabled = false;
  };
  words = {
    debounce = 100;
    enabled = true;
  };
}

Declared by:

plugins.snacks.settings.bigfile.enabled

Whether to enable bigfile plugin.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.snacks.settings.bigfile.notify

Whether to show notification when big file detected.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.snacks.settings.bigfile.setup

Enable or disable features when a big file is detected.

Type: null or raw lua code

Default: null

Plugin default:

lib.nixvim.mkRaw ''
  function(ctx)
    vim.b.minianimate_disable = true
    vim.schedule(function()
      vim.bo[ctx.buf].syntax = ctx.ft
    end)
  end
''

Declared by:

plugins.snacks.settings.bigfile.size

The size at which a file is considered big.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default:

{
  __raw = "1.5 * 1024 * 1024";
}

Declared by:

plugins.snacks.settings.notifier.enabled

Whether to enable notifier plugin.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.snacks.settings.notifier.date_format

Time format for notifications.

Type: null or string or raw lua code

Default: null

Plugin default: "%R"

Declared by:

plugins.snacks.settings.notifier.padding

Whether to add 1 cell of left/right padding to the notification window.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.snacks.settings.notifier.refresh

Time in milliseconds to refresh notifications.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 50

Declared by:

plugins.snacks.settings.notifier.sort

How to sort notifications.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "level"
  "added"
]

Declared by:

plugins.snacks.settings.notifier.style

Style of notifications.

Type: null or one of “compact”, “fancy”, “minimal” or raw lua code

Default: null

Plugin default: "compact"

Declared by:

plugins.snacks.settings.notifier.timeout

Timeout of notifier in milliseconds.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 3000

Declared by:

plugins.snacks.settings.notifier.top_down

Whether to place notifications from top to bottom.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.snacks.settings.notifier.height.max

Maximum height of notification.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0.4

Declared by:

plugins.snacks.settings.notifier.height.min

Minimum height of notification.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 40

Declared by:

plugins.snacks.settings.notifier.icons.debug

Icon for debug notifications.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.snacks.settings.notifier.icons.error

Icon for error notifications.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.snacks.settings.notifier.icons.info

Icon for info notifications.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.snacks.settings.notifier.icons.trace

Icon for trace notifications.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.snacks.settings.notifier.icons.warn

Icon for warn notifications.

Type: null or string or raw lua code

Default: null

Plugin default: " "

Declared by:

plugins.snacks.settings.notifier.margin.bottom

Bottom margin of notification.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.snacks.settings.notifier.margin.right

Right margin of notification.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.snacks.settings.notifier.margin.top

Top margin of notification.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.snacks.settings.notifier.width.max

Maximum width of notification.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0.4

Declared by:

plugins.snacks.settings.notifier.width.min

Minimum width of notification.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 40

Declared by:

plugins.snacks.settings.quickfile.enabled

Whether to enable quickfile plugin.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.snacks.settings.quickfile.exclude

Filetypes to exclude from quickfile plugin.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "latex"
]

Declared by:

plugins.snacks.settings.statuscolumn.enabled

Whether to enable statuscolumn plugin.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.snacks.settings.statuscolumn.left

Priority of signs on the left (high to low).

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "mark"
  "sign"
]

Declared by:

plugins.snacks.settings.statuscolumn.refresh

Time in milliseconds to refresh statuscolumn.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 50

Declared by:

plugins.snacks.settings.statuscolumn.right

Priority of signs on the right (high to low)

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "fold"
  "git"
]

Declared by:

plugins.snacks.settings.statuscolumn.folds.git_hl

Whether to use Git Signs hl for fold icons.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.snacks.settings.statuscolumn.folds.open

Whether to show open fold icons.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.snacks.settings.statuscolumn.git.patterns

Patterns to match Git signs.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "GitSign"
  "MiniDiffSign"
]

Declared by:

plugins.snacks.settings.words.enabled

Whether to enable words plugin.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.snacks.settings.words.debounce

Time in ms to wait before updating.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 200

Declared by:

plugins.snacks.settings.words.foldopen

Whether to open folds after jumping.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.snacks.settings.words.jumplist

Whether to set jump point before jumping.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.snacks.settings.words.modes

Modes to show references.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "n"
  "i"
  "c"
]

Declared by:

plugins.snacks.settings.words.notify_end

Whether to show a notification when reaching the end.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.snacks.settings.words.notify_jump

Whether to show a notification when jumping.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

sniprun

URL: https://github.com/michaelb/sniprun

Maintainers: Quentin Boyer, Matt Sturgeon

plugins.sniprun.enable

Whether to enable sniprun.

Type: boolean

Default: false

Example: true

Declared by:

plugins.sniprun.package

The sniprun package to use.

Type: package

Default: pkgs.vimPlugins.sniprun

Declared by:

plugins.sniprun.autoLoad

Whether to automatically load sniprun when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.sniprun.lazyLoad

Lazy-load settings for sniprun.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.sniprun.lazyLoad.enable

lazy-loading for sniprun

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.sniprun.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.sniprun.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.sniprun.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.sniprun.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.sniprun.settings

Options provided to the require('sniprun').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  display = [
    "NvimNotify"
  ];
  inline_messages = true;
  interpreter_options = {
    "<Interpreter_name>" = {
      some_other_option = "other_value";
      some_specific_option = "value";
    };
    C_original = {
      compiler = "clang";
    };
    GFM_original = {
      use_on_filetypes = [
        "markdown.pandoc"
      ];
    };
    Python3_original = {
      error_truncate = "auto";
    };
  };
}

Declared by:

plugins.sniprun.settings.borders

Display borders around floating windows.

Type: null or one of “none”, “single”, “double”, “shadow” or raw lua code

Default: null

Plugin default: "single"

Declared by:

plugins.sniprun.settings.display

You can combo different display modes as desired and with the ‘Ok’ or ‘Err’ suffix to filter only successful runs (or errored-out runs respectively)

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "Classic"
  "VirtualTextOk"
]

Example:

[
  "Classic"                   # display results in the command-line  area
  "VirtualTextOk"             # display ok results as virtual text (multiline is shortened)

  # "VirtualText"             # display results as virtual text
  # "TempFloatingWindow"      # display results in a floating window
  # "LongTempFloatingWindow"  # same as above, but only long results. To use with VirtualText[Ok/Err]
  # "Terminal"                # display results in a vertical split
  # "TerminalWithCode"        # display results and code history in a vertical split
  # "NvimNotify"              # display with the nvim-notify plugin
  # "Api"                     # return output to a programming interface
]

Declared by:

plugins.sniprun.settings.inline_messages

Boolean toggle for a one-line way to display messages to workaround sniprun not being able to display anything.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.sniprun.settings.interpreter_options

Interpreter-specific options, see doc / :SnipInfo <name>.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Example:

{
  # use the interpreter name as key
  GFM_original = {
    # the 'use_on_filetypes' configuration key is
    # available for every interpreter
    use_on_filetypes = [ "markdown.pandoc" ];
  };
  Python3_original = {
    # Truncate runtime errors 'long', 'short' or 'auto'
    # the hint is available for every interpreter
    # but may not be always respected
    error_truncate = "auto";
  };
}

Declared by:

plugins.sniprun.settings.live_display

Display modes used in live_mode.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "VirtualTextOk"
]

Declared by:

plugins.sniprun.settings.live_mode_toggle

Live mode toggle, see Usage - Running for more info.

Type: null or string or raw lua code

Default: null

Plugin default: "off"

Declared by:

plugins.sniprun.settings.repl_disable

Disable REPL-like behavior for the given interpreters.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.sniprun.settings.repl_enable

Enable REPL-like behavior for the given interpreters.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.sniprun.settings.selected_interpreters

Use those instead of the default for the current filetype.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.sniprun.settings.show_no_output

You can use the same keys to customize whether a sniprun producing no output should display nothing or ‘(no output)’.

"TempFloatingWindow" implies "LongTempFloatingWindow", which has no effect on its own.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "Classic"
  "TempFloatingWindow"
]

Declared by:

plugins.sniprun.settings.display_options.notification_timeout

Timeout for nvim_notify output.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 5

Declared by:

plugins.sniprun.settings.display_options.terminal_height

Change the terminal display option height (if horizontal).

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 20

Declared by:

plugins.sniprun.settings.display_options.terminal_line_number

Whether show line number in terminal window.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.sniprun.settings.display_options.terminal_position

Terminal split position.

Type: null or one of “vertical”, “horizontal” or raw lua code

Default: null

Plugin default: "vertical"

Declared by:

plugins.sniprun.settings.display_options.terminal_scrollback

Change terminal display scrollback lines.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default:

{
  __raw = "vim.o.scrollback";
}

Declared by:

plugins.sniprun.settings.display_options.terminal_signcolumn

Whether show signcolumn in terminal window.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.sniprun.settings.display_options.terminal_width

Change the terminal display option width (if vertical).

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 45

Declared by:

plugins.sniprun.settings.snipruncolors

Customize highlight groups (setting this overrides colorscheme) any parameters of nvim_set_hl() can be passed as-is.

Type: null or (attribute set of anything)

Default: null

Declared by:

plugins.sniprun.settings.snipruncolors.SniprunFloatingWinErr.bg

Background color

Type: null or string or raw lua code

Default: null

Plugin default: "#881515"

Declared by:

plugins.sniprun.settings.snipruncolors.SniprunFloatingWinErr.ctermbg

Foreground color

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.sniprun.settings.snipruncolors.SniprunFloatingWinErr.ctermfg

Foreground color

Type: null or string or raw lua code

Default: null

Plugin default: "DarkRed"

Declared by:

plugins.sniprun.settings.snipruncolors.SniprunFloatingWinErr.fg

Foreground color

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.sniprun.settings.snipruncolors.SniprunFloatingWinOk.bg

Background color

Type: null or string or raw lua code

Default: null

Plugin default: "#66eeff"

Declared by:

plugins.sniprun.settings.snipruncolors.SniprunFloatingWinOk.ctermbg

Foreground color

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.sniprun.settings.snipruncolors.SniprunFloatingWinOk.ctermfg

Foreground color

Type: null or string or raw lua code

Default: null

Plugin default: "Cyan"

Declared by:

plugins.sniprun.settings.snipruncolors.SniprunFloatingWinOk.fg

Foreground color

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.sniprun.settings.snipruncolors.SniprunVirtualTextErr.bg

Background color

Type: null or string or raw lua code

Default: null

Plugin default: "#000000"

Declared by:

plugins.sniprun.settings.snipruncolors.SniprunVirtualTextErr.ctermbg

Foreground color

Type: null or string or raw lua code

Default: null

Plugin default: "DarkRed"

Declared by:

plugins.sniprun.settings.snipruncolors.SniprunVirtualTextErr.ctermfg

Foreground color

Type: null or string or raw lua code

Default: null

Plugin default: "Black"

Declared by:

plugins.sniprun.settings.snipruncolors.SniprunVirtualTextErr.fg

Foreground color

Type: null or string or raw lua code

Default: null

Plugin default: "#881515"

Declared by:

plugins.sniprun.settings.snipruncolors.SniprunVirtualTextOk.bg

Background color

Type: null or string or raw lua code

Default: null

Plugin default: "#000000"

Declared by:

plugins.sniprun.settings.snipruncolors.SniprunVirtualTextOk.ctermbg

Foreground color

Type: null or string or raw lua code

Default: null

Plugin default: "Cyan"

Declared by:

plugins.sniprun.settings.snipruncolors.SniprunVirtualTextOk.ctermfg

Foreground color

Type: null or string or raw lua code

Default: null

Plugin default: "Black"

Declared by:

plugins.sniprun.settings.snipruncolors.SniprunVirtualTextOk.fg

Foreground color

Type: null or string or raw lua code

Default: null

Plugin default: "#66eeff"

Declared by:

specs

URL: https://github.com/cxwx/specs.nvim/

Maintainers: Gaetan Lepage

plugins.specs.enable

Whether to enable specs.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.specs.package

The specs.nvim package to use.

Type: package

Default: pkgs.vimPlugins.specs-nvim

Declared by:

plugins.specs.autoLoad

Whether to automatically load specs.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.specs.lazyLoad

Lazy-load settings for specs.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.specs.lazyLoad.enable

lazy-loading for specs.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.specs.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.specs.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.specs.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.specs.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.specs.settings

Options provided to the require('specs').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  ignore_buftypes = {
    nofile = true;
  };
  ignore_filetypes = { };
  min_jump = 30;
  popup = {
    blend = 10;
    delay_ms = 0;
    fader = ''
      function(blend, cnt)
          if cnt > 100 then
              return 80
          else return nil end
      end
    '';
    inc_ms = 10;
    resizer = ''
      function(width, ccol, cnt)
          if width-cnt > 0 then
              return {width+cnt, ccol}
          else return nil end
      end
    '';
    width = 10;
    winhl = "PMenu";
  };
  show_jumps = true;
}

Declared by:

plugins.specs.settings.ignore_buftypes

An attrs where keys are buftypes and values are a boolean stating whether animation should be enabled or not for this buftype.

Type: null or (attribute set of (boolean or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  nofile = true;
}

Declared by:

plugins.specs.settings.ignore_filetypes

An attrs where keys are filetypes and values are a boolean stating whether animation should be enabled or not for this filetype.

Type: null or (attribute set of (boolean or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.specs.settings.min_jump

Minimum jump distance to trigger the animation.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 30

Declared by:

plugins.specs.settings.show_jumps

Whether to show an animation each time the cursor jumps.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.specs.settings.popup.blend

Starting blend, between 0 (opaque) and 100 (transparent), see :h winblend.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.specs.settings.popup.delay_ms

Delay before popup displays.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.specs.settings.popup.fader

The fader function to use.

Type: null or lua function string

Default: null

Plugin default: "require('specs').exp_fader"

Declared by:

plugins.specs.settings.popup.inc_ms

Time increments used for fade/resize effects.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 5

Declared by:

plugins.specs.settings.popup.resizer

The resizer function to use.

Type: null or lua function string

Default: null

Plugin default: "require('specs').shrink_resizer"

Declared by:

plugins.specs.settings.popup.width

Width of the popup.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 20

Declared by:

plugins.specs.settings.popup.winhl

The name of the window highlight group of the popup.

Type: null or string or raw lua code

Default: null

Plugin default: "PMenu"

Declared by:

spectre

URL: https://github.com/nvim-pack/nvim-spectre/

Maintainers: Gaetan Lepage

plugins.spectre.enable

Whether to enable nvim-spectre.

Type: boolean

Default: false

Example: true

Declared by:

plugins.spectre.package

The nvim-spectre package to use.

Type: package

Default: pkgs.vimPlugins.nvim-spectre

Declared by:

plugins.spectre.autoLoad

Whether to automatically load nvim-spectre when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.spectre.lazyLoad

Lazy-load settings for nvim-spectre.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.spectre.lazyLoad.enable

lazy-loading for nvim-spectre

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.spectre.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.spectre.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.spectre.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.spectre.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.spectre.settings

Options provided to the require('spectre').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  default = {
    find = {
      cmd = "rg";
      options = [
        "word"
        "hidden"
      ];
    };
    replace = {
      cmd = "sed";
    };
  };
  find_engine = {
    rg = {
      args = [
        "--color=never"
        "--no-heading"
        "--with-filename"
        "--line-number"
        "--column"
      ];
      cmd = "rg";
      options = {
        hidden = {
          desc = "hidden file";
          icon = "[H]";
          value = "--hidden";
        };
        ignore-case = {
          desc = "ignore case";
          icon = "[I]";
          value = "--ignore-case";
        };
        line = {
          desc = "match in line";
          icon = "[L]";
          value = "-x";
        };
        word = {
          desc = "match in word";
          icon = "[W]";
          value = "-w";
        };
      };
    };
  };
  is_insert_mode = false;
  live_update = true;
}

Declared by:

plugins.spectre.settings.color_devicons

Whether to enable color devicons.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.spectre.settings.highlight

Highlight groups.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  border = "SpectreBorder";
  filedirectory = "SpectreDir";
  filename = "SpectreFile";
  headers = "SpectreHeader";
  replace = "SpectreReplace";
  search = "SpectreSearch";
  ui = "SpectreBody";
}

Declared by:

plugins.spectre.settings.is_block_ui_break

Mapping backspace and enter key to avoid ui break.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.spectre.settings.is_insert_mode

Start open panel in insert mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.spectre.settings.is_open_target_win

Open file on opener window.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.spectre.settings.line_sep

Line separator.

Type: null or string or raw lua code

Default: null

Plugin default: "└──────────────────────────────────────────────────────"

Declared by:

plugins.spectre.settings.line_sep_start

Start of the line separator

Type: null or string or raw lua code

Default: null

Plugin default: "┌──────────────────────────────────────────────────────"

Declared by:

plugins.spectre.settings.live_update

Auto execute search again when you write to any file in vim.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.spectre.settings.lnum_for_results

Show line number for search/replace results.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.spectre.settings.open_cmd

The open command.

Type: null or string or raw lua code

Default: null

Plugin default: "vnew"

Declared by:

plugins.spectre.settings.replace_vim_cmd

The replace command to use within vim.

Type: null or string or raw lua code

Default: null

Plugin default: "cdo"

Declared by:

plugins.spectre.settings.result_padding

Result padding string.

Type: null or string or raw lua code

Default: null

Plugin default: "│ "

Declared by:

plugins.spectre.settings.default.find.cmd

Which find engine to use. Pick one from the find_engine list.

Type: null or string or raw lua code

Default: null

Plugin default: "rg"

Declared by:

plugins.spectre.settings.default.find.options

Options to use for this engine.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "ignore-case"
]

Declared by:

plugins.spectre.settings.default.replace.cmd

Which find engine to use. Pick one from the replace_engine list.

Type: null or string or raw lua code

Default: null

Plugin default: "rg"

Declared by:

plugins.spectre.settings.default.replace.options

Options to use for this engine.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.spectre.settings.find_engine

Definition of the find engines.

default: see here

Type: null or (attribute set of (attribute set of anything))

Default: null

Declared by:

plugins.spectre.settings.find_engine.<name>.args

List of arguments to provide to the engine.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.spectre.settings.find_engine.<name>.cmd

Executable to run.

Type: string

Declared by:

plugins.spectre.settings.find_engine.<name>.options

The options for this engine.

Type: null or (attribute set of ((submodule) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.spectre.settings.mapping

Keymaps declaration.

default: see here

Type: null or (attribute set of (submodule))

Default: null

Declared by:

plugins.spectre.settings.mapping.<name>.cmd

Command to run.

Type: string

Example: "<cmd>lua require('spectre').tab()<cr>"

Declared by:

plugins.spectre.settings.mapping.<name>.desc

Description for this mapping.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.spectre.settings.mapping.<name>.map

Keyboard shortcut.

Type: string

Declared by:

plugins.spectre.settings.replace_engine

Definition of the replace engines.

default: see here

Type: null or (attribute set of (attribute set of anything))

Default: null

Declared by:

plugins.spectre.settings.replace_engine.<name>.args

List of arguments to provide to the engine.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.spectre.settings.replace_engine.<name>.cmd

Executable to run.

Type: string

Declared by:

plugins.spectre.settings.replace_engine.<name>.options

The options for this engine.

Type: null or (attribute set of ((submodule) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.spider.enable

Whether to enable spider.

Type: boolean

Default: false

Example: true

Declared by:

plugins.spider.package

The spider package to use.

Type: package

Default: pkgs.vimPlugins.nvim-spider

Declared by:

plugins.spider.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.spider.skipInsignificantPunctuation

Whether to skip insignificant punctuation.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.spider.keymaps.motions

Mappings for spider motions. The keys are the motion and the values are the keyboard shortcuts. The shortcut might not necessarily be the same as the motion name.

Type: attribute set of string

Default: { }

Example:

{
  b = "b";
  e = "e";
  ge = "ge";
  w = "w";
}

Declared by:

plugins.spider.keymaps.silent

Whether spider keymaps should be silent.

Type: boolean

Default: false

Declared by:

sqlite-lua

URL: https://github.com/kkharji/sqlite.lua/

Maintainers: Austin Horstman

plugins.sqlite-lua.enable

Whether to enable sqlite.lua.

Type: boolean

Default: false

Example: true

Declared by:

plugins.sqlite-lua.package

The sqlite.lua package to use.

Type: package

Default: pkgs.vimPlugins.sqlite-lua

Declared by:

plugins.sqlite-lua.autoLoad

Whether to automatically load sqlite.lua when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.sqlite-lua.lazyLoad

Lazy-load settings for sqlite.lua.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.sqlite-lua.lazyLoad.enable

lazy-loading for sqlite.lua

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.sqlite-lua.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.sqlite-lua.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.sqlite-lua.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.sqlite-lua.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

startify

URL: https://github.com/mhinz/vim-startify/

Maintainers: Gaetan Lepage

plugins.startify.enable

Whether to enable vim-startify.

Type: boolean

Default: false

Example: true

Declared by:

plugins.startify.package

The vim-startify package to use.

Type: package

Default: pkgs.vimPlugins.vim-startify

Declared by:

plugins.startify.autoLoad

Whether to automatically load vim-startify when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.startify.settings

The configuration options for startify without the startify_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal startify_foo_bar=1
  • hello = "world" -> :setglobal startify_hello="world"
  • some_toggle = true -> :setglobal startify_some_toggle
  • other_toggle = false -> :setglobal nostartify_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  change_to_dir = false;
  custom_header = [
    ""
    "     ███╗   ██╗██╗██╗  ██╗██╗   ██╗██╗███╗   ███╗"
    "     ████╗  ██║██║╚██╗██╔╝██║   ██║██║████╗ ████║"
    "     ██╔██╗ ██║██║ ╚███╔╝ ██║   ██║██║██╔████╔██║"
    "     ██║╚██╗██║██║ ██╔██╗ ╚██╗ ██╔╝██║██║╚██╔╝██║"
    "     ██║ ╚████║██║██╔╝ ██╗ ╚████╔╝ ██║██║ ╚═╝ ██║"
    "     ╚═╝  ╚═══╝╚═╝╚═╝  ╚═╝  ╚═══╝  ╚═╝╚═╝     ╚═╝"
  ];
  fortune_use_unicode = true;
}

Declared by:

plugins.startify.settings.enable_special

Show <empty buffer> and <quit>.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.startify.settings.enable_unsafe

Enable the option only in case you think Vim starts too slowly (because of :Startify) or if you often edit files on remote filesystems.

It’s called unsafe because it improves the time :Startify needs to execute by reducing the amount of syscalls to the underlying operating system, but sacrifices the precision of shown entries.

This could lead to inconsistencies in the shown :Startify entries (e.g. the same file could be shown twice, because one time file was opened via absolute path and another time via symlink).

Currently this option does this:

  • don’t resolves symlinks (readlink(2))
  • don’t check every file if it’s readable (stat(2))
  • don’t filter through the bookmark list

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.startify.settings.bookmarks

A list of files or directories to bookmark. The list can contain two kinds of types. Either a path (str) or an attrs where the key is the custom index and the value is the path.

Type: null or (list of (string or raw lua code or (attribute set) or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.startify.settings.change_cmd

The default command for switching directories.

Valid values:

  • cd
  • lcd
  • tcd

Affects change_to_dir and change_to_vcs_root.

Type: null or string or raw lua code

Default: null

Plugin default: "lcd"

Declared by:

plugins.startify.settings.change_to_dir

When opening a file or bookmark, change to its directory.

You want to disable this, if you’re using |'autochdir'| as well.

NOTE: It defaults to true, because that was already the behaviour at the time this option was introduced.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.startify.settings.change_to_vcs_root

When opening a file or bookmark, seek and change to the root directory of the VCS (if there is one).

At the moment only git, hg, bzr and svn are supported.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.startify.settings.commands

A list of commands to execute on selection. Leading colons are optional. It supports optional custom indices and/or command descriptions.

Example:

  [
    ":help reference"
    ["Vim Reference" "h ref"]
    {h = "h ref";}
    {m = ["My magical function" "call Magic()"];}
  ]

Type: null or (list of (string or attribute set of (string or list of string) or list of string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

Same as the custom header, but shown at the bottom of the startify buffer.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Declared by:

plugins.startify.settings.custom_header

Define your own header.

This option takes a list of strings, whereas each string will be put on its own line. If it is a simple string, it should evaluate to a list of strings.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Example:

[
  ""
  "     ███╗   ██╗██╗██╗  ██╗██╗   ██╗██╗███╗   ███╗"
  "     ████╗  ██║██║╚██╗██╔╝██║   ██║██║████╗ ████║"
  "     ██╔██╗ ██║██║ ╚███╔╝ ██║   ██║██║██╔████╔██║"
  "     ██║╚██╗██║██║ ██╔██╗ ╚██╗ ██╔╝██║██║╚██╔╝██║"
  "     ██║ ╚████║██║██╔╝ ██╗ ╚████╔╝ ██║██║ ╚═╝ ██║"
  "     ╚═╝  ╚═══╝╚═╝╚═╝  ╚═╝  ╚═══╝  ╚═╝╚═╝     ╚═╝"
]

Declared by:

plugins.startify.settings.custom_header_quotes

If you don’t set custom_header, the internal cowsay implementation with predefined random quotes will be used.

To use your own quotes, set this option to a list of quotes. Each quote is either another list or a |Funcref| (see |expr-lambda|) that returns a list.

Type: null or (list of ((list of string) or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Example:

[
  [
    "quote #1"
  ]
  [
    "quote #2"
    "using"
    "three lines"
  ]
]

Declared by:

plugins.startify.settings.custom_indices

Use any list of strings as indices instead of increasing numbers. If there are more startify entries than actual items in the custom list, the remaining entries will be filled using the default numbering scheme starting from 0.

Thus you can create your own indexing scheme that fits your keyboard layout. You don’t want to leave the home row, do you?!

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Example:

[
  "f"
  "g"
  "h"
]

Declared by:

plugins.startify.settings.disable_at_vimenter

Don’t run Startify at Vim startup. You can still call it anytime via :Startify.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.startify.settings.files_number

The number of files to list.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.startify.settings.fortune_use_unicode

By default, the fortune header uses ASCII characters, because they work for everyone. If you set this option to true and your ‘encoding’ is “utf-8”, Unicode box-drawing characters will be used instead.

This is not the default, because users of East Asian languages often set ‘ambiwidth’ to “double” or make their terminal emulator treat characters of ambiguous width as double width. Both would make the drawn box look funny.

For more information: http://unicode.org/reports/tr11

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.startify.settings.lists

Startify displays lists. Each list consists of a type and optionally a header and custom indices.

Default:

  [
    {
      type = "files";
      header = ["   MRU"];
    }
    {
      type = "dir";
      header = [{__raw = "'   MRU' .. vim.loop.cwd()";}];
    }
    {
      type = "sessions";
      header = ["   Sessions"];
    }
    {
      type = "bookmarks";
      header = ["   Bookmarks"];
    }
    {
      type = "commands";
      header = ["   Commands"];
    }
  ]

Type: list of (lua code string or (attribute set of anything))

Default: [ ]

Declared by:

plugins.startify.settings.padding_left

The number of spaces used for left padding.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 3

Declared by:

plugins.startify.settings.relative_path

If the file is in or below the current working directory, use a relative path. Otherwise an absolute path is used. The latter prevents hard to grasp entries like ../../../../../foo.

NOTE: This only applies to the “files” list, since the “dir” list is relative by nature.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.startify.settings.session_autoload

If this option is enabled and you start Vim in a directory that contains a Session.vim, that session will be loaded automatically. Otherwise it will be shown as the top entry in the Startify buffer.

The same happens when you |:cd| to a directory that contains a Session.vim and execute |:Startify|.

It also works if you open a bookmarked directory. See the bookmarks option.

This is great way to create a portable project folder!

NOTE: This option is affected by session_delete_buffers.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.startify.settings.session_before_save

This is a list of commands to be executed before saving a session.

Example: ["silent! tabdo NERDTreeClose"]

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.startify.settings.session_delete_buffers

Delete all buffers when loading or closing a session:

  • When using |startify-:SLoad|.
  • When using |startify-:SClose|.
  • When using session_autoload.
  • When choosing a session from the Startify buffer.

NOTE: Buffers with unsaved changes are silently ignored.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.startify.settings.session_dir

The directory to save/load sessions to/from.

Type: null or string or raw lua code

Default: null

Plugin default: "~/.vim/session"

Declared by:

plugins.startify.settings.session_number

The maximum number of sessions to display. Makes the most sense together with session_sort.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 999

Declared by:

plugins.startify.settings.session_persistence

Automatically update sessions in two cases:

  • Before leaving Vim
  • Before loading a new session via :SLoad

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.startify.settings.session_remove_lines

Lines matching any of the patterns in this list, will be removed from the session file.

Example:

  ["setlocal" "winheight"]

Internally this simply does:

  • :global/setlocal/delete
  • :global/winheight/delete

So you can use any |pattern|.

NOTE: Take care not to mess up any expressions within the session file, otherwise you’ll probably get problems when trying to load it.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.startify.settings.session_savecmds

Include a list of cmdline commands which Vim will run upon loading the session.

Example:

  [
    "silent !pdfreader ~/latexproject/main.pdf &"
  ]

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.startify.settings.session_savevars

Include a list of variables in here which you would like Startify to save into the session file in addition to what Vim normally saves into the session file.

Example:

  [
   "g:startify_session_savevars"
   "g:startify_session_savecmds"
   "g:random_plugin_use_feature"
  ]

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.startify.settings.session_sort

Sort sessions by modification time (when the session files were written) rather than alphabetically.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.startify.settings.skiplist

A list of Vim regular expressions that is used to filter recently used files. See |pattern.txt| for what patterns can be used.

The following patterns are filtered by default:

  • 'runtime/doc/.*\.txt$'
  • 'bundle/.*/doc/.*\.txt$'
  • 'plugged/.*/doc/.*\.txt$'
  • '/.git/'
  • 'fugitiveblame$'
  • escape(fnamemodify(resolve($VIMRUNTIME), ':p'), '\') .'doc/.*\.txt$'

NOTE: Due to the nature of patterns, you can’t just use “~/mysecret” but have to use “$HOME .‘/mysecret.txt’”. The former would do something entirely different: |/\~|.

NOTE: When using backslashes as path separators, escape them. Otherwise using “C:\this\vim\path\is\problematic” would not match what you would expect, since |/\v| is a pattern, too.

Example:

  [
   "\.vimgolf"
   "^/tmp"
   "/project/.*/documentation"
  ]

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.startify.settings.skiplist_server

Do not create the startify buffer, if this is a Vim server instance with a name contained in this list.

Example: ["GVIM"]

Type: null or (list of (string or raw lua code or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.startify.settings.update_oldfiles

Usually |v:oldfiles| only gets updated when Vim exits. Using this option updates it on-the-fly, so that :Startify is always up-to-date.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.startify.settings.use_env

Show environment variables in path, if their name is shorter than their value. See |startify-colors| for highlighting them.

$PWD and $OLDPWD are ignored.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.startup.enable

Whether to enable startup.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.startup.package

The startup.nvim package to use.

Type: package

Default: pkgs.vimPlugins.startup-nvim

Declared by:

plugins.startup.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.startup.parts

List all sections in order.

Type: list of string

Default: [ ]

Example:

[
  "section_1"
  "section_2"
]

Declared by:

plugins.startup.theme

Use a pre-defined theme.

Type: null or string or raw lua code

Default: null

Plugin default: "dashboard"

Declared by:

plugins.startup.userMappings

Add your own mappings as key-command pairs.

Type: attribute set of string

Default: { }

Example:

{
  "<leader>ff" = "<cmd>Telescope find_files<CR>";
  "<leader>lg" = "<cmd>Telescope live_grep<CR>";
}

Declared by:

plugins.startup.colors.background

The background color.

Type: null or string or raw lua code

Default: null

Plugin default: "#1f2227"

Declared by:

plugins.startup.colors.foldedSection

The color of folded sections. This can also be changed with the StartupFoldedSection highlight group.

Type: null or string or raw lua code

Default: null

Plugin default: "#56b6c2"

Declared by:

plugins.startup.mappings.executeCommand

Keymapping to execute a command.

Type: null or string or raw lua code

Default: null

Plugin default: "<CR>"

Declared by:

plugins.startup.mappings.openFile

Keymapping to open a file.

Type: null or string or raw lua code

Default: null

Plugin default: "o"

Declared by:

plugins.startup.mappings.openFileSplit

Keymapping to open a file in a split.

Type: null or string or raw lua code

Default: null

Plugin default: "<c-o>"

Declared by:

plugins.startup.mappings.openHelp

Keymapping to open help.

Type: null or string or raw lua code

Default: null

Plugin default: "?"

Declared by:

plugins.startup.mappings.openSection

Keymapping to open a section.

Type: null or string or raw lua code

Default: null

Plugin default: "<TAB>"

Declared by:

plugins.startup.options.after

A function that gets executed at the end.

Type: null or lua function string

Default: null

Plugin default: "nil"

Declared by:

plugins.startup.options.cursorColumn

  • if < 1, fraction of screen width
  • if > 1 numbers of column

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or (positive integer, meaning >0)

Default: null

Plugin default: 0.5

Declared by:

plugins.startup.options.disableStatuslines

Disable status-, buffer- and tablines.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.startup.options.emptyLinesBetweenMappings

Add an empty line between mapping/commands.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.startup.options.mappingKeys

Display mapping (e.g. <leader>ff).

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.startup.options.paddings

Amount of empty lines before each section (must be equal to amount of sections).

Type: null or (list of (unsigned integer, meaning >=0, or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.startup.sections

Type: attribute set of (submodule)

Default: { }

Example:

{
  body = {
    align = "center";
    content = [
      [
        " Find File"
        "Telescope find_files"
        "<leader>ff"
      ]
      [
        "󰍉 Find Word"
        "Telescope live_grep"
        "<leader>lg"
      ]
      [
        " Recent Files"
        "Telescope oldfiles"
        "<leader>of"
      ]
      [
        " File Browser"
        "Telescope file_browser"
        "<leader>fb"
      ]
      [
        " Colorschemes"
        "Telescope colorscheme"
        "<leader>cs"
      ]
      [
        " New File"
        "lua require'startup'.new_file()"
        "<leader>nf"
      ]
    ];
    defaultColor = "";
    foldSection = true;
    highlight = "String";
    margin = 5;
    oldfilesAmount = 0;
    title = "Basic Commands";
    type = "mapping";
  };
  header = {
    align = "center";
    content = {
      __raw = "require('startup.headers').hydra_header";
    };
    defaultColor = "";
    foldSection = false;
    highlight = "Statement";
    margin = 5;
    oldfilesAmount = 0;
    title = "Header";
    type = "text";
  };
}

Declared by:

plugins.startup.sections.<name>.align

How to align the section.

Type: null or one of “center”, “left”, “right” or raw lua code

Default: null

Plugin default: "center"

Declared by:

plugins.startup.sections.<name>.defaultColor

A hex color that gets used if you don’t specify highlight.

Type: null or string or raw lua code

Default: null

Plugin default: "#FF0000"

Declared by:

plugins.startup.sections.<name>.foldSection

Whether to fold or not.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.startup.sections.<name>.highlight

Highlight group in which the section text should be highlighted.

Type: null or string

Default: null

Declared by:

plugins.startup.sections.<name>.margin

The margin for left or right alignment.

  • if < 1 fraction of screen width
  • if > 1 numbers of column

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or (positive integer, meaning >0)

Default: null

Plugin default: 5

Declared by:

plugins.startup.sections.<name>.oldfilesAmount

The amount of oldfiles to be displayed.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 5

Declared by:

plugins.startup.sections.<name>.oldfilesDirectory

if the oldfiles of the current directory should be displayed.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.startup.sections.<name>.title

Title for the folded section.

Type: null or string or raw lua code

Default: null

Plugin default: "title"

Declared by:

plugins.startup.sections.<name>.type

  • “text” -> text that will be displayed
  • “mapping” -> create mappings for commands that can be used. use mappings.executeCommand on the commands to execute.
  • “oldfiles” -> display oldfiles (can be opened with mappings.openFile/openFileSplit)

Type: null or one of “text”, “mapping”, “oldfiles” or raw lua code

Default: null

Plugin default: "text"

Declared by:

statuscol

URL: https://github.com/luukvbaal/statuscol.nvim/

Maintainers: Gaetan Lepage

plugins.statuscol.enable

Whether to enable statuscol.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.statuscol.package

The statuscol.nvim package to use.

Type: package

Default: pkgs.vimPlugins.statuscol-nvim

Declared by:

plugins.statuscol.autoLoad

Whether to automatically load statuscol.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.statuscol.lazyLoad

Lazy-load settings for statuscol.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.statuscol.lazyLoad.enable

lazy-loading for statuscol.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.statuscol.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.statuscol.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.statuscol.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.statuscol.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.statuscol.settings

Options provided to the require('statuscol').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  bt_ignore = null;
  clickhandlers = {
    FoldClose = "require('statuscol.builtin').foldclose_click";
    FoldOpen = "require('statuscol.builtin').foldopen_click";
    FoldOther = "require('statuscol.builtin').foldother_click";
    Lnum = "require('statuscol.builtin').lnum_click";
  };
  clickmod = "c";
  ft_ignore = null;
  relculright = true;
  segments = [
    {
      click = "v:lua.ScFa";
      text = [
        "%C"
      ];
    }
    {
      click = "v:lua.ScSa";
      text = [
        "%s"
      ];
    }
    {
      click = "v:lua.ScLa";
      condition = [
        true
        {
          __raw = "require('statuscol.builtin').not_empty";
        }
      ];
      text = [
        {
          __raw = "require('statuscol.builtin').lnumfunc";
        }
        " "
      ];
    }
  ];
  setopt = true;
  thousands = ".";
}

Declared by:

plugins.statuscol.settings.bt_ignore

Lua table with ‘buftype’ values for which statuscolumn will be unset.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.statuscol.settings.clickhandlers

Builtin click handlers.

Type: attribute set of lua function string

Default: { }

Example:

{
  FoldClose = "require('statuscol.builtin').foldclose_click";
  FoldOpen = "require('statuscol.builtin').foldopen_click";
  FoldOther = "require('statuscol.builtin').foldother_click";
  Lnum = "require('statuscol.builtin').lnum_click";
}

Declared by:

plugins.statuscol.settings.clickmod

Modifier used for certain actions in the builtin clickhandlers: a for Alt, c for Ctrl and m for Meta.

Type: null or string or raw lua code

Default: null

Plugin default: "c"

Declared by:

plugins.statuscol.settings.ft_ignore

Lua table with ‘filetype’ values for which statuscolumn will be unset.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.statuscol.settings.relculright

Whether to right-align the cursor line number with relativenumber set.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.statuscol.settings.segments

The statuscolumn can be customized through the segments option.

Type: null or (list of ((attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  {
    click = "v:lua.ScFa";
    text = [
      "%C"
    ];
  }
  {
    click = "v:lua.ScSa";
    text = [
      "%s"
    ];
  }
  {
    click = "v:lua.ScLa";
    condition = [
      true
      {
        __raw = "require('statuscol.builtin').not_empty";
      }
    ];
    text = [
      {
        __raw = "require('statuscol.builtin').lnumfunc";
      }
      " "
    ];
  }
]

Declared by:

plugins.statuscol.settings.setopt

Whether to set the statuscolumn option, may be set to false for those who want to use the click handlers in their own statuscolumn: _G.Sc[SFL]a(). Although I recommend just using the segments field below to build your statuscolumn to benefit from the performance optimizations in this plugin.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.statuscol.settings.thousands

false or line number thousands separator string (“.” / “,”).

Type: null or string or value false (singular enum)

Default: null

Plugin default: false

Declared by:

supermaven

URL: https://github.com/supermaven-inc/supermaven-nvim/

Maintainers: Po Co

plugins.supermaven.enable

Whether to enable supermaven-nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.supermaven.package

The supermaven-nvim package to use.

Type: package

Default: pkgs.vimPlugins.supermaven-nvim

Declared by:

plugins.supermaven.autoLoad

Whether to automatically load supermaven-nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.supermaven.settings

Options provided to the require('supermaven-nvim').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  keymaps = {
    accept_suggestion = "<Tab>";
    clear_suggestions = "<C-]>";
    accept_word = "<C-j>";
  };
  ignore_filetypes = [ "cpp" ];
  color = {
    suggestion_color = "#ffffff";
    cterm = 244;
  };
  log_level = "info";
  disable_inline_completion = false;
  disable_keymaps = false;
  condition = lib.nixvim.mkRaw ''
    function()
      return false
    end
  '';
}

Declared by:

plugins.supermaven.lazyLoad

Lazy-load settings for supermaven-nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.supermaven.lazyLoad.enable

lazy-loading for supermaven-nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.supermaven.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.supermaven.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.supermaven.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.supermaven.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

tagbar

URL: https://github.com/preservim/tagbar/

Maintainers: Gaetan Lepage

plugins.tagbar.enable

Whether to enable tagbar.

Type: boolean

Default: false

Example: true

Declared by:

plugins.tagbar.package

The tagbar package to use.

Type: package

Default: pkgs.vimPlugins.tagbar

Declared by:

plugins.tagbar.autoLoad

Whether to automatically load tagbar when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.tagbar.settings

The configuration options for tagbar without the tagbar_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal tagbar_foo_bar=1
  • hello = "world" -> :setglobal tagbar_hello="world"
  • some_toggle = true -> :setglobal tagbar_some_toggle
  • other_toggle = false -> :setglobal notagbar_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  autoclose = false;
  autofocus = false;
  autoshowtag = true;
  foldlevel = 2;
  iconchars = [
    ""
    ""
  ];
  position = "right";
  visibility_symbols = {
    private = "󰛑 ";
    protected = "󱗤 ";
    public = "󰡭 ";
  };
}

Declared by:

tailwind-tools

URL: https://github.com/luckasRanarison/tailwind-tools.nvim/

Maintainers: Gaetan Lepage

plugins.tailwind-tools.enable

Whether to enable tailwind-tools.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.tailwind-tools.package

The tailwind-tools.nvim package to use.

Type: package

Default: pkgs.vimPlugins.tailwind-tools-nvim

Declared by:

plugins.tailwind-tools.autoLoad

Whether to automatically load tailwind-tools.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.tailwind-tools.lazyLoad

Lazy-load settings for tailwind-tools.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.tailwind-tools.lazyLoad.enable

lazy-loading for tailwind-tools.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.tailwind-tools.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.tailwind-tools.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.tailwind-tools.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.tailwind-tools.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.tailwind-tools.settings

Options provided to the require('tailwind-tools').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  document_color = {
    conceal = {
      enabled = true;
      symbol = "…";
    };
    document_color = {
      kind = "background";
    };
  };
}

Declared by:

plugins.tailwind-tools.settings.cmp.highlight

Color preview style.

Type: null or one of “foreground”, “background” or raw lua code

Default: null

Plugin default: "foreground"

Declared by:

plugins.tailwind-tools.settings.conceal.enabled

Can also be toggled by commands.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.tailwind-tools.settings.conceal.highlight

Extmark highlight options, see :h highlight.

Type: null or (attribute set) or raw lua code

Default: null

Plugin default:

{
  fg = "#38BDF8";
}

Declared by:

plugins.tailwind-tools.settings.conceal.min_length

Only conceal classes exceeding the provided length.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.tailwind-tools.settings.conceal.symbol

Conceal symbol. Only a single character is allowed

Type: null or string or raw lua code

Default: null

Plugin default: "󱏿"

Declared by:

plugins.tailwind-tools.settings.document_color.enabled

Can also be toggled by commands.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.tailwind-tools.settings.document_color.debounce

Debounce timeout (in milliseconds). Only applied in insert mode.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 200

Declared by:

plugins.tailwind-tools.settings.document_color.inline_symbol

Inline symbol (only used in inline mode).

Type: null or string or raw lua code

Default: null

Plugin default: "󰝤 "

Declared by:

plugins.tailwind-tools.settings.document_color.kind

The kind of coloring to use for documents.

Type: null or one of “inline”, “foreground”, “background” or raw lua code

Default: null

Plugin default: "inline"

Declared by:

plugins.tailwind-tools.settings.extension.patterns

A map of filetypes to Lua pattern lists.

Type: null or (attribute set of ((list of string) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Example:

{
  javascript = [
    "clsx%(([^)]+)%)"
  ];
  rust = [
    "class=[\"']([^\"']+)[\"']"
  ];
}

Declared by:

plugins.tailwind-tools.settings.extension.queries

A list of filetypes having custom class queries.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.tailwind-tools.settings.server.on_attach

Callback triggered when the server attaches to a buffer.

Type: null or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "function(client, bufnr) end"

Declared by:

plugins.tailwind-tools.settings.server.override

Setup the server from the plugin if true

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.tailwind-tools.settings.server.settings

Shortcut for settings.tailwindCSS.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.tailwind-tools.settings.telescope.utilities.callback

Callback used when selecting an utility class in telescope.

Type: null or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "function(name, class) end"

Declared by:

telekasten

URL: https://github.com/nvim-telekasten/telekasten.nvim/

Maintainers: Coutinho de Souza

plugins.telekasten.enable

Whether to enable telekasten.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.telekasten.package

The telekasten.nvim package to use.

Type: package

Default: pkgs.vimPlugins.telekasten-nvim

Declared by:

plugins.telekasten.autoLoad

Whether to automatically load telekasten.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.telekasten.plenaryPackage

The plenary-nvim package to use.

Type: null or package

Default: pkgs.plenary-nvim

Declared by:

plugins.telekasten.settings

Options provided to the require('telekasten').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  home = {
    __raw = "vim.fn.expand(\"~/zettelkasten\")";
  };
}

Declared by:

plugins.telekasten.lazyLoad

Lazy-load settings for telekasten.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.telekasten.lazyLoad.enable

lazy-loading for telekasten.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.telekasten.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.telekasten.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.telekasten.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.telekasten.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

telescope

URL: https://github.com/nvim-telescope/telescope.nvim

Maintainers: Gaetan Lepage

plugins.telescope.enable

Whether to enable telescope.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.telescope.enabledExtensions

A list of enabled extensions.

You should only use this option directly if the Telescope extension you wish to enable is not natively supported by nixvim.

Most extensions are available as plugins.telescope.extensions.<name>.enable, although some plugins that do more than just provide Telescope extensions may use plugins.<name>.enableTelescope instead.

If you add an extension to this list manually, it is your responsibility to ensure the relevant plugin is also added to extraPlugins.

Type: list of string

Default: [ ]

Declared by:

plugins.telescope.package

The telescope.nvim package to use.

Type: package

Default: pkgs.vimPlugins.telescope-nvim

Declared by:

plugins.telescope.autoLoad

Whether to automatically load telescope.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.telescope.highlightTheme

The colorscheme to use for syntax highlighting

Type: null or string

Default: null

Declared by:

plugins.telescope.keymaps

Keymaps for telescope.

Type: attribute set of (string or (submodule))

Default: { }

Example:

{
  "<C-p>" = {
    action = "git_files";
    options = {
      desc = "Telescope Git Files";
    };
  };
  "<leader>fg" = "live_grep";
}

Declared by:

plugins.telescope.extensions.advanced-git-search.enable

Whether to enable the advanced-git-search telescope extension.

Type: boolean

Default: false

Example: true

Declared by:

plugins.telescope.extensions.advanced-git-search.package

The advanced-git-search package to use.

Type: package

Default: pkgs.vimPlugins.advanced-git-search-nvim

Declared by:

plugins.telescope.extensions.advanced-git-search.settings

settings for the advanced-git-search telescope extension.

Type: attribute set of anything

Default: { }

Example:

{
  diff_plugin = "diffview";
  git_flags = [
    "-c"
    "delta.side-by-side=false"
  ];
}

Declared by:

plugins.telescope.extensions.file-browser.enable

Whether to enable the file-browser telescope extension.

Type: boolean

Default: false

Example: true

Declared by:

plugins.telescope.extensions.file-browser.package

The file-browser package to use.

Type: package

Default: pkgs.vimPlugins.telescope-file-browser-nvim

Declared by:

plugins.telescope.extensions.file-browser.settings

settings for the file-browser telescope extension.

Type: attribute set of anything

Default: { }

Example:

{
  file_browser = {
    hijack_netrw = true;
    theme = "ivy";
  };
}

Declared by:

plugins.telescope.extensions.file-browser.settings.add_dirs

Whether the file browser shows folders.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.telescope.extensions.file-browser.settings.auto_depth

Unlimit or set depth to auto_depth & unset grouped on prompt for file_browser.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.telescope.extensions.file-browser.settings.browse_files

A custom lua function to override for the file browser.

Type: null or lua function string

Default: null

Plugin default: "require('telescope._extensions.file_browser.finders').browse_files"

Declared by:

plugins.telescope.extensions.file-browser.settings.browse_folders

A custom lua function to override for the folder browser.

Type: null or lua function string

Default: null

Plugin default: "require('telescope._extensions.file_browser.finders').browse_folders"

Declared by:

plugins.telescope.extensions.file-browser.settings.collapse_dirs

Skip with only a single (possibly hidden) sub-dir in file_browser.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.telescope.extensions.file-browser.settings.cwd

Directory to browse folders from. vim.fn.expanded automatically.

Type: null or string or raw lua code

Default: null

Plugin default:

{
  __raw = "vim.loop.cwd()";
}

Declared by:

plugins.telescope.extensions.file-browser.settings.cwd_to_path

Whether folder browser is launched from path rather than cwd.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.telescope.extensions.file-browser.settings.depth

File tree depth to display, false for unlimited depth.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.telescope.extensions.file-browser.settings.dir_icon

Change the icon for a directory.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.telescope.extensions.file-browser.settings.dir_icon_hl

Change the highlight group of dir icon.

Type: null or string or raw lua code

Default: null

Plugin default: "Default"

Declared by:

plugins.telescope.extensions.file-browser.settings.display_stat

Ordered stat; see upstream for more info.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  date = true;
  mode = true;
  size = true;
}

Declared by:

plugins.telescope.extensions.file-browser.settings.files

Start in file (true) or folder (false) browser.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.telescope.extensions.file-browser.settings.git_status

Show the git status of files (true if git is found).

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.telescope.extensions.file-browser.settings.grouped

Group initial sorting by directories and then files.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.telescope.extensions.file-browser.settings.hidden

Determines whether to show hidden files or not.

Type: null or boolean or (submodule)

Default: null

Plugin default:

{
  file_browser = false;
  folder_browser = false;
}

Declared by:

plugins.telescope.extensions.file-browser.settings.hide_parent_dir

Hide ../ in the file browser.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.telescope.extensions.file-browser.settings.hijack_netrw

Use telescope file browser when opening directory paths.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.telescope.extensions.file-browser.settings.path

Directory to browse files from. vim.fn.expanded automatically.

Type: null or string or raw lua code

Default: null

Plugin default:

{
  __raw = "vim.loop.cwd()";
}

Declared by:

plugins.telescope.extensions.file-browser.settings.prompt_path

Show the current relative path from cwd as the prompt prefix.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.telescope.extensions.file-browser.settings.quiet

Suppress any notification from file_browser actions.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.telescope.extensions.file-browser.settings.respect_gitignore

Induces slow-down w/ plenary finder (true if fd available).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.telescope.extensions.file-browser.settings.select_buffer

Select current buffer if possible. May imply hidden=true.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.telescope.extensions.file-browser.settings.theme

Custom theme, will use your global theme by default.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.telescope.extensions.file-browser.settings.use_fd

Use fd if available over plenary.scandir.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.telescope.extensions.file-browser.settings.mappings.i

Keymaps in insert mode.

Default:

  {
  "<A-c>" = "require('telescope._extensions.file_browser.actions').create";
  "<S-CR>" = "require('telescope._extensions.file_browser.actions').create_from_prompt";
  "<A-r>" = "require('telescope._extensions.file_browser.actions').rename";
  "<A-m>" = "require('telescope._extensions.file_browser.actions').move";
  "<A-y>" = "require('telescope._extensions.file_browser.actions').copy";
  "<A-d>" = "require('telescope._extensions.file_browser.actions').remove";
  "<C-o>" = "require('telescope._extensions.file_browser.actions').open";
  "<C-g>" = "require('telescope._extensions.file_browser.actions').goto_parent_dir";
  "<C-e>" = "require('telescope._extensions.file_browser.actions').goto_home_dir";
  "<C-w>" = "require('telescope._extensions.file_browser.actions').goto_cwd";
  "<C-t>" = "require('telescope._extensions.file_browser.actions').change_cwd";
  "<C-f>" = "require('telescope._extensions.file_browser.actions').toggle_browser";
  "<C-h>" = "require('telescope._extensions.file_browser.actions').toggle_hidden";
  "<C-s>" = "require('telescope._extensions.file_browser.actions').toggle_all";
  "<bs>" = "require('telescope._extensions.file_browser.actions').backspace";
}

Type: attribute set of lua function string

Default: { }

Declared by:

plugins.telescope.extensions.file-browser.settings.mappings.n

Keymaps in normal mode.

Default:

  {
  "c" = "require('telescope._extensions.file_browser.actions').create";
  "r" = "require('telescope._extensions.file_browser.actions').rename";
  "m" = "require('telescope._extensions.file_browser.actions').move";
  "y" = "require('telescope._extensions.file_browser.actions').copy";
  "d" = "require('telescope._extensions.file_browser.actions').remove";
  "o" = "require('telescope._extensions.file_browser.actions').open";
  "g" = "require('telescope._extensions.file_browser.actions').goto_parent_dir";
  "e" = "require('telescope._extensions.file_browser.actions').goto_home_dir";
  "w" = "require('telescope._extensions.file_browser.actions').goto_cwd";
  "t" = "require('telescope._extensions.file_browser.actions').change_cwd";
  "f" = "require('telescope._extensions.file_browser.actions').toggle_browser";
  "h" = "require('telescope._extensions.file_browser.actions').toggle_hidden";
  "s" = "require('telescope._extensions.file_browser.actions').toggle_all";
}

Type: attribute set of lua function string

Default: { }

Declared by:

plugins.telescope.extensions.frecency.enable

Whether to enable the frecency telescope extension.

Type: boolean

Default: false

Example: true

Declared by:

plugins.telescope.extensions.frecency.package

The frecency package to use.

Type: package

Default: pkgs.vimPlugins.telescope-frecency-nvim

Declared by:

plugins.telescope.extensions.frecency.settings

settings for the frecency telescope extension.

Type: attribute set of anything

Default: { }

Example:

{
  db_root = "/home/my_username/path/to/db_root";
  disable_devicons = false;
  ignore_patterns = [
    "*.git/*"
    "*/tmp/*"
  ];
  show_scores = false;
  show_unindexed = true;
  workspaces = {
    conf = "/home/my_username/.config";
    data = "/home/my_username/.local/share";
    project = "/home/my_username/projects";
    wiki = "/home/my_username/wiki";
  };
}

Declared by:

plugins.telescope.extensions.frecency.settings.auto_validate

If true, it removes stale entries count over than db_validate_threshold.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.telescope.extensions.frecency.settings.db_root

Path to parent directory of custom database location. Defaults to $XDG_DATA_HOME/nvim if unset.

Type: null or string or raw lua code

Default: null

Plugin default:

{
  __raw = "vim.fn.stdpath 'data'";
}

Declared by:

plugins.telescope.extensions.frecency.settings.db_safe_mode

If true, it shows confirmation dialog by vim.ui.select() before validating DB.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.telescope.extensions.frecency.settings.db_validate_threshold

It will removes over than this count in validating DB.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.telescope.extensions.frecency.settings.default_workspace

Default workspace tag to filter by e.g. 'CWD' to filter by default to the current directory. Can be overridden at query time by specifying another filter like ':*:'.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.telescope.extensions.frecency.settings.disable_devicons

Disable devicons (if available).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.telescope.extensions.frecency.settings.filter_delimiter

Delimiters to indicate the filter like :CWD:.

Type: null or string or raw lua code

Default: null

Plugin default: ":"

Declared by:

plugins.telescope.extensions.frecency.settings.hide_current_buffer

If true, it does not show the current buffer in candidates.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.telescope.extensions.frecency.settings.ignore_patterns

Patterns in this table control which files are indexed (and subsequently which you’ll see in the finder results).

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "*.git/*"
  "*/tmp/*"
  "term://*"
]

Declared by:

plugins.telescope.extensions.frecency.settings.max_timestamps

Set the max count of timestamps DB keeps when you open files. It ignores the value and use 10 if you set less than or equal to 0.

CAUTION: When you reduce the value of this option, it removes old timestamps when you open the file. It is reasonable to set this value more than or equal to the default value: 10.

Type: null or positive integer, meaning >0, or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.telescope.extensions.frecency.settings.show_filter_column

Show the path of the active filter before file paths. In default, it uses the tail of paths for 'LSP' and 'CWD' tags. You can configure this by setting a table for this option.

Type: null or boolean or list of string

Default: null

Plugin default: true

Declared by:

plugins.telescope.extensions.frecency.settings.show_scores

To see the scores generated by the algorithm in the results, set this to true.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.telescope.extensions.frecency.settings.show_unindexed

Determines if non-indexed files are included in workspace filter results.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.telescope.extensions.frecency.settings.workspace_scan_cmd

This option can be set values as "LUA"|string[]|null. With the default value: null, it uses these way below to make entries for workspace files. It tries in order until it works successfully.

  1. rg -.g '!.git' --files
  2. fdfind -Htf
  3. fd -Htf
  4. Native Lua code (old way)

If you like another commands, set them to this option, like

  workspace_scan_cmd = ["find" "." "-type" "f"];

If you prefer Native Lua code, set workspace_scan_cmd.__raw = "LUA".

Type: null or raw lua code or list of string

Default: null

Declared by:

plugins.telescope.extensions.frecency.settings.workspaces

This attrs contains mappings of workspace_tag -> workspace_directory. The key corresponds to the :tag_name used to select the filter in queries. The value corresponds to the top level directory by which results will be filtered.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.telescope.extensions.fzf-native.enable

Whether to enable the fzf-native telescope extension.

Type: boolean

Default: false

Example: true

Declared by:

plugins.telescope.extensions.fzf-native.package

The fzf-native package to use.

Type: package

Default: pkgs.vimPlugins.telescope-fzf-native-nvim

Declared by:

plugins.telescope.extensions.fzf-native.settings

settings for the fzf-native telescope extension.

Type: attribute set of anything

Default: { }

Example:

{
  case_mode = "ignore_case";
  fuzzy = false;
  override_file_sorter = false;
  override_generic_sorter = true;
}

Declared by:

plugins.telescope.extensions.fzf-native.settings.case_mode

Case mode.

Type: null or one of “smart_case”, “ignore_case”, “respect_case” or raw lua code

Default: null

Plugin default: "smart_case"

Declared by:

plugins.telescope.extensions.fzf-native.settings.fuzzy

Whether to fuzzy search. False will do exact matching.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.telescope.extensions.fzf-native.settings.override_file_sorter

Override the file sorter.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.telescope.extensions.fzf-native.settings.override_generic_sorter

Override the generic sorter.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.telescope.extensions.fzy-native.enable

Whether to enable the fzy-native telescope extension.

Type: boolean

Default: false

Example: true

Declared by:

plugins.telescope.extensions.fzy-native.package

The fzy-native package to use.

Type: package

Default: pkgs.vimPlugins.telescope-fzy-native-nvim

Declared by:

plugins.telescope.extensions.fzy-native.settings

settings for the fzy-native telescope extension.

Type: attribute set of anything

Default: { }

Example:

{
  override_file_sorter = true;
  override_generic_sorter = false;
}

Declared by:

plugins.telescope.extensions.fzy-native.settings.override_file_sorter

Whether to override the file sorter.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.telescope.extensions.fzy-native.settings.override_generic_sorter

Whether to override the generic sorter.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.telescope.extensions.live-grep-args.enable

Whether to enable the live-grep-args telescope extension.

Type: boolean

Default: false

Example: true

Declared by:

plugins.telescope.extensions.live-grep-args.package

The live-grep-args package to use.

Type: package

Default: pkgs.vimPlugins.telescope-live-grep-args-nvim

Declared by:

plugins.telescope.extensions.live-grep-args.settings

settings for the live-grep-args telescope extension.

Type: attribute set of anything

Default: { }

Example:

{
  auto_quoting = true;
  mappings = {
    i = {
      "<C-i>" = {
        __raw = "require(\"telescope-live-grep-args.actions\").quote_prompt({ postfix = \" --iglob \" })";
      };
      "<C-k>" = {
        __raw = "require(\"telescope-live-grep-args.actions\").quote_prompt()";
      };
      "<C-space>" = {
        __raw = "require(\"telescope.actions\").to_fuzzy_refine";
      };
    };
  };
  theme = "dropdown";
}

Declared by:

plugins.telescope.extensions.live-grep-args.settings.additional_args

Additional arguments to pass to command.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.telescope.extensions.live-grep-args.settings.auto_quoting

Enable or disable auto quoting of searches.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.telescope.extensions.live-grep-args.settings.mappings

Extension specific mappings to various live-grep-args actions.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.telescope.extensions.live-grep-args.settings.search_dirs

Directory/directories/files to search.

Paths are expanded and appended to the grep command.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.telescope.extensions.live-grep-args.settings.theme

Theme for telescope window.

Can be a string representing a theme name or a table with theme options.

Type: null or string or attribute set of anything

Default: null

Plugin default: null

Declared by:

plugins.telescope.extensions.live-grep-args.settings.vimgrep_arguments

Arguments to pass to command.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.telescope.extensions.manix.enable

Whether to enable the manix telescope extension.

Type: boolean

Default: false

Example: true

Declared by:

plugins.telescope.extensions.manix.package

The manix package to use.

Type: package

Default: pkgs.vimPlugins.telescope-manix

Declared by:

plugins.telescope.extensions.manix.settings

settings for the manix telescope extension.

Type: attribute set of anything

Default: { }

Example:

{
  cword = true;
}

Declared by:

plugins.telescope.extensions.manix.settings.cword

Set to true if you want to use the current word as the search query.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.telescope.extensions.manix.settings.manix_args

CLI arguments to pass to manix.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.telescope.extensions.media-files.enable

Whether to enable the media-files telescope extension.

Type: boolean

Default: false

Example: true

Declared by:

plugins.telescope.extensions.media-files.package

The media-files package to use.

Type: package

Default: pkgs.vimPlugins.telescope-media-files-nvim

Declared by:

plugins.telescope.extensions.media-files.settings

settings for the media-files telescope extension.

Type: attribute set of anything

Default: { }

Example:

{
  filetypes = [
    "png"
    "webp"
    "jpg"
    "jpeg"
  ];
  find_cmd = "rg";
}

Declared by:

plugins.telescope.extensions.media-files.settings.filetypes

Filetypes whitelist.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "png"
  "jpg"
  "gif"
  "mp4"
  "webm"
  "pdf"
]

Declared by:

plugins.telescope.extensions.media-files.settings.find_cmd

Which find command to use.

Type: null or string or raw lua code

Default: null

Plugin default: "fd"

Declared by:

plugins.telescope.extensions.project.enable

Whether to enable the project telescope extension.

Type: boolean

Default: false

Example: true

Declared by:

plugins.telescope.extensions.project.package

The project package to use.

Type: package

Default: pkgs.vimPlugins.telescope-project-nvim

Declared by:

plugins.telescope.extensions.project.settings

settings for the project telescope extension.

Type: attribute set of anything

Default: { }

Example:

{
  base_dirs = [
    "~/dev/src"
    "~/dev/src2"
    {
      __unkeyed-1 = "~/dev/src3";
      max_depth = 4;
    }
    {
      path = "~/dev/src4";
    }
    {
      max_depth = 2;
      path = "~/dev/src5";
    }
  ];
  hidden_files = true;
  on_project_selected = {
    __raw = ''
      function(prompt_bufnr)
        require("telescope._extensions.project.actions").change_working_directory(prompt_bufnr, false)
        require("harpoon.ui").nav_file(1)
      end
    '';
  };
  order_by = "asc";
  search_by = "title";
  sync_with_nvim_tree = true;
  theme = "dropdown";
}

Declared by:

plugins.telescope.extensions.ui-select.enable

Whether to enable the ui-select telescope extension.

Type: boolean

Default: false

Example: true

Declared by:

plugins.telescope.extensions.ui-select.package

The ui-select package to use.

Type: package

Default: pkgs.vimPlugins.telescope-ui-select-nvim

Declared by:

plugins.telescope.extensions.ui-select.settings

settings for the ui-select telescope extension.

Type: attribute set of anything

Default: { }

Example:

{
  specific_opts = {
    codeactions = false;
  };
}

Declared by:

plugins.telescope.extensions.undo.enable

Whether to enable the undo telescope extension.

Type: boolean

Default: false

Example: true

Declared by:

plugins.telescope.extensions.undo.package

The undo package to use.

Type: package

Default: pkgs.vimPlugins.telescope-undo-nvim

Declared by:

plugins.telescope.extensions.undo.settings

settings for the undo telescope extension.

Type: attribute set of anything

Default: { }

Example:

{
  entry_format = "state #$ID";
  mappings = {
    i = {
      "<c-cr>" = "require('telescope-undo.actions').restore";
      "<cr>" = "require('telescope-undo.actions').yank_additions";
      "<s-cr>" = "require('telescope-undo.actions').yank_deletions";
    };
    n = {
      Y = "require('telescope-undo.actions').yank_deletions";
      u = "require('telescope-undo.actions').restore";
      y = "require('telescope-undo.actions').yank_additions";
    };
  };
  side_by_side = true;
  time_format = "!%Y-%m-%dT%TZ";
  use_custom_command = [
    "bash"
    "-c"
    "echo '$DIFF' | delta"
  ];
  use_delta = true;
  vim_diff_opts = {
    ctxlen = 8;
  };
}

Declared by:

plugins.telescope.extensions.undo.settings.entry_format

The format to show on telescope for the different versions of the file.

Type: null or string or raw lua code

Default: null

Plugin default: "state #$ID, $STAT, $TIME"

Declared by:

plugins.telescope.extensions.undo.settings.side_by_side

If set to true tells delta to render diffs side-by-side. Thus, requires delta to be used. Be aware that delta always uses its own configuration, so it might be that you’re getting the side-by-side view even if this is set to false.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.telescope.extensions.undo.settings.time_format

Can be set to a Lua date format string.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.telescope.extensions.undo.settings.use_custom_command

Should be in this format: [ "bash" "-c" "echo '$DIFF' | delta" ]

Type: null or (list of string)

Default: null

Declared by:

plugins.telescope.extensions.undo.settings.use_delta

When set to true, delta is used for fancy diffs in the preview section. If set to false, telescope-undo will not use delta even when available and fall back to a plain diff with treesitter highlights.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.telescope.extensions.undo.settings.mappings.i

Keymaps in insert mode.

Default:

  {
  "<cr>" = "require('telescope-undo.actions').yank_additions";
  "<s-cr>" = "require('telescope-undo.actions').yank_deletions";
  "<c-cr>" = "require('telescope-undo.actions').restore";
}

Type: attribute set of lua function string

Default: { }

Declared by:

plugins.telescope.extensions.undo.settings.mappings.n

Keymaps in normal mode.

Default:

  {
  "y" = "require('telescope-undo.actions').yank_additions";
  "Y" = "require('telescope-undo.actions').yank_deletions";
  "u" = "require('telescope-undo.actions').restore";
}

Type: attribute set of lua function string

Default: { }

Declared by:

plugins.telescope.extensions.undo.settings.vim_diff_opts.ctxlen

Defaults to the scrolloff.

Type: null or lua code string or (unsigned integer, meaning >=0)

Default: null

Plugin default: "vim.o.scrolloff"

Declared by:

plugins.telescope.extensions.zoxide.enable

Whether to enable the zoxide telescope extension.

Type: boolean

Default: false

Example: true

Declared by:

plugins.telescope.extensions.zoxide.package

The zoxide package to use.

Type: package

Default: pkgs.vimPlugins.telescope-zoxide

Declared by:

plugins.telescope.extensions.zoxide.settings

settings for the zoxide telescope extension.

Type: attribute set of anything

Default: { }

Example:

{
  mappings = {
    "<C-b>" = {
      action = {
        __raw = ''
          function(selection)
            file_browser.file_browser({ cwd = selection.path })
          end
        '';
      };
      keepinsert = true;
    };
  };
  prompt_title = "Zoxide Folder List";
}

Declared by:

plugins.telescope.lazyLoad

Lazy-load settings for telescope.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.telescope.lazyLoad.enable

lazy-loading for telescope.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.telescope.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.telescope.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.telescope.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.telescope.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.telescope.settings

Options provided to the require('telescope').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  defaults = {
    file_ignore_patterns = [
      "^.git/"
      "^.mypy_cache/"
      "^__pycache__/"
      "^output/"
      "^data/"
      "%.ipynb"
    ];
    layout_config = {
      prompt_position = "top";
    };
    mappings = {
      i = {
        "<A-j>" = {
          __raw = "require('telescope.actions').move_selection_next";
        };
        "<A-k>" = {
          __raw = "require('telescope.actions').move_selection_previous";
        };
      };
    };
    selection_caret = "> ";
    set_env = {
      COLORTERM = "truecolor";
    };
    sorting_strategy = "ascending";
  };
}

Declared by:

plugins.telescope.settings.defaults

Default configuration for telescope.

Type: null or (attribute set of anything)

Default: null

Declared by:

plugins.telescope.settings.pickers

Default configuration for builtin pickers.

Type: null or (attribute set of anything)

Default: null

Declared by:

texpresso

URL: https://github.com/let-def/texpresso.vim/

Maintainers: Nick Hu

plugins.texpresso.enable

Whether to enable texpresso.vim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.texpresso.package

The texpresso.vim package to use.

Type: package

Default: pkgs.vimPlugins.texpresso-vim

Declared by:

plugins.texpresso.autoLoad

Whether to automatically load texpresso.vim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

timerly

URL: https://github.com/nvzone/timerly/

Maintainers: Fran Cirka

plugins.timerly.enable

Whether to enable timerly.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.timerly.package

The timerly.nvim package to use.

Type: package

Default: pkgs.vimPlugins.timerly

Declared by:

plugins.timerly.autoLoad

Whether to automatically load timerly.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.timerly.settings

Options provided to the require('timerly').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  minutes = [
    30
    10
  ];
}

Declared by:

plugins.timerly.lazyLoad

Lazy-load settings for timerly.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.timerly.lazyLoad.enable

lazy-loading for timerly.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.timerly.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.timerly.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.timerly.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.timerly.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

tiny-devicons-auto-colors

URL: https://github.com/rachartier/tiny-devicons-auto-colors.nvim/

Maintainers: Austin Horstman

plugins.tiny-devicons-auto-colors.enable

Whether to enable tiny-devicons-auto-colors.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.tiny-devicons-auto-colors.package

The tiny-devicons-auto-colors.nvim package to use.

Type: package

Default: pkgs.vimPlugins.tiny-devicons-auto-colors-nvim

Declared by:

plugins.tiny-devicons-auto-colors.autoLoad

Whether to automatically load tiny-devicons-auto-colors.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.tiny-devicons-auto-colors.lazyLoad

Lazy-load settings for tiny-devicons-auto-colors.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.tiny-devicons-auto-colors.lazyLoad.enable

lazy-loading for tiny-devicons-auto-colors.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.tiny-devicons-auto-colors.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.tiny-devicons-auto-colors.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.tiny-devicons-auto-colors.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.tiny-devicons-auto-colors.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.tiny-devicons-auto-colors.settings

Options provided to the require('tiny-devicons-auto-colors').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  autoreload = true;
  cache = {
    enabled = true;
    path = "/path/to/cache.json";
  };
  colors = {
    green = "#00ff00";
    red = "#ff0000";
  };
  factors = {
    chroma = 1.2;
    hue = 1.1;
    lightness = 1.5;
  };
  ignore = [
    "lua"
    "vim"
  ];
  precise_search = {
    enabled = true;
    iteration = 15;
    precision = 25;
    threshold = 20;
  };
}

Declared by:

plugins.tiny-devicons-auto-colors.settings.autoreload

Automatically reload colors when the colorscheme changes.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.tiny-devicons-auto-colors.settings.colors

A table of color codes that the plugin will use to assign colors to devicons. If not provided, the plugin will fetch highlights from the current theme to generate a color palette.

Type: null or (attribute set of anything) or list of string or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.tiny-devicons-auto-colors.settings.ignore

A list of icon names to ignore.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.tiny-devicons-auto-colors.settings.cache.enabled

Enable or disable caching to improve performance.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.tiny-devicons-auto-colors.settings.cache.path

Path to the cache file.

Type: null or string or raw lua code

Default: null

Plugin default: lib.nixvim.mkRaw "vim.fn.stdpath(\"cache\") .. \"/tiny-devicons-auto-colors-cache.json\""

Declared by:

plugins.tiny-devicons-auto-colors.settings.factors.chroma

Adjust the chroma factor.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.tiny-devicons-auto-colors.settings.factors.hue

Adjust the hue factor.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 1.25

Declared by:

plugins.tiny-devicons-auto-colors.settings.factors.lightness

Adjust the lightness factor.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 1.75

Declared by:

plugins.tiny-devicons-auto-colors.settings.precise_search.enabled

Enable or disable precise search for better color matching.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.tiny-devicons-auto-colors.settings.precise_search.iteration

Number of iterations for precise search.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.tiny-devicons-auto-colors.settings.precise_search.precision

Precision level for the search.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 20

Declared by:

plugins.tiny-devicons-auto-colors.settings.precise_search.threshold

Threshold to consider a color as a match.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 23

Declared by:

tiny-inline-diagnostic

URL: https://github.com/rachartier/tiny-inline-diagnostic.nvim/

Maintainers: Gaetan Lepage

plugins.tiny-inline-diagnostic.enable

Whether to enable tiny-inline-diagnostic.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.tiny-inline-diagnostic.package

The tiny-inline-diagnostic.nvim package to use.

Type: package

Default: pkgs.vimPlugins.tiny-inline-diagnostic-nvim

Declared by:

plugins.tiny-inline-diagnostic.autoLoad

Whether to automatically load tiny-inline-diagnostic.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.tiny-inline-diagnostic.settings

Options provided to the require('tiny-inline-diagnostic').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  multilines = {
    enabled = true;
  };
  options = {
    use_icons_from_diagnostic = true;
  };
  preset = "classic";
  virt_texts = {
    priority = 2048;
  };
}

Declared by:

plugins.tiny-inline-diagnostic.lazyLoad

Lazy-load settings for tiny-inline-diagnostic.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.tiny-inline-diagnostic.lazyLoad.enable

lazy-loading for tiny-inline-diagnostic.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.tiny-inline-diagnostic.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.tiny-inline-diagnostic.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.tiny-inline-diagnostic.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.tiny-inline-diagnostic.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

tinygit

URL: https://github.com/chrisgrieser/nvim-tinygit/

Maintainers: Gaetan Lepage

plugins.tinygit.enable

Whether to enable nvim-tinygit.

Type: boolean

Default: false

Example: true

Declared by:

plugins.tinygit.package

The nvim-tinygit package to use.

Type: package

Default: pkgs.vimPlugins.nvim-tinygit

Declared by:

plugins.tinygit.autoLoad

Whether to automatically load nvim-tinygit when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.tinygit.settings

Options provided to the require('tinygit').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  commit = {
    keepAbortedMsgSecs = {
      __raw = "60 * 10";
    };
    spellcheck = true;
    subject = {
      autoFormat = {
        __raw = ''
          function(subject)
            -- remove trailing dot https://commitlint.js.org/reference/rules.html#body-full-stop
            subject = subject:gsub("%.$", "")
          
            -- sentence case of title after the type
            subject = subject
              :gsub("^(%w+: )(.)", function(c1, c2) return c1 .. c2:lower() end) -- no scope
              :gsub("^(%w+%b(): )(.)", function(c1, c2) return c1 .. c2:lower() end) -- with scope
            return subject
          end
        '';
      };
      enforceType = true;
    };
  };
  stage = {
    moveToNextHunkOnStagingToggle = true;
  };
  statusline = {
    blame = {
      hideAuthorNames = [
        "John Doe"
        "johndoe"
      ];
      ignoreAuthors = [
        "🤖 automated"
      ];
      maxMsgLen = 55;
    };
  };
}

Declared by:

plugins.tinygit.lazyLoad

Lazy-load settings for nvim-tinygit.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.tinygit.lazyLoad.enable

lazy-loading for nvim-tinygit

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.tinygit.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.tinygit.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.tinygit.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.tinygit.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

tmux-navigator

URL: https://github.com/christoomey/vim-tmux-navigator/

Maintainers: Matt Sturgeon


When combined with a set of tmux key bindings, the plugin will allow you to navigate seamlessly between vim splits and tmux panes using a consistent set of hotkeys.

warning

To work correctly, you must configure tmux separately.

Usage

This plugin provides the following mappings which allow you to move between vim splits and tmux panes seamlessly.

  • <ctrl-h> => Left
  • <ctrl-j> => Down
  • <ctrl-k> => Up
  • <ctrl-l> => Right
  • <ctrl-\> => Previous split

To use alternative key mappings, see plugins.tmux-navigator.settings.no_mappings.

Configure tmux

note

There are two main ways to configure tmux.

Option 1: using a plugin

You can install the vim-tmux-navigator plugin.

If you're using TPM, add this to your tmux config:

  set -g @plugin 'christoomey/vim-tmux-navigator'

If you're using nixos or home-manager to manager tmux, you can use the programs.tmux.plugins option for this:

  plugins.tmux.plugins = [
    pkgs.tmuxPlugins.vim-tmux-navigator
  ];

Option 2: manually specify keybindings

Alternatively, you can specify the keybinding in your tmux config.

If you're using nixos or home-manager to manager tmux, you can use the programs.tmux.extraConfig option for this.

Example config from the upstream docs:

  # Smart pane switching with awareness of vim splits.
  # See: https://github.com/christoomey/vim-tmux-navigator
  is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
    | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|l?n?vim?x?|fzf)(diff)?$'"

  bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h'  'select-pane -L'
  bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j'  'select-pane -D'
  bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k'  'select-pane -U'
  bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l'  'select-pane -R'

  # Forwarding <C-\\> needs different syntax, depending on tmux version
  tmux_version='$(tmux -V | sed -En "s/^tmux ([0-9]+(.[0-9]+)?).*/\1/p")'
  if-shell -b '[ "$(echo "$tmux_version < 3.0" | bc)" = 1 ]' \
    "bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\'  'select-pane -l'"
  if-shell -b '[ "$(echo "$tmux_version >= 3.0" | bc)" = 1 ]' \
    "bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\\\'  'select-pane -l'"

  bind-key -T copy-mode-vi 'C-h' select-pane -L
  bind-key -T copy-mode-vi 'C-j' select-pane -D
  bind-key -T copy-mode-vi 'C-k' select-pane -U
  bind-key -T copy-mode-vi 'C-l' select-pane -R
  bind-key -T copy-mode-vi 'C-\' select-pane -l

See the upstream docs for more info.

plugins.tmux-navigator.enable

Whether to enable vim-tmux-navigator.

Type: boolean

Default: false

Example: true

Declared by:

plugins.tmux-navigator.package

The vim-tmux-navigator package to use.

Type: package

Default: pkgs.vimPlugins.vim-tmux-navigator

Declared by:

plugins.tmux-navigator.autoLoad

Whether to automatically load vim-tmux-navigator when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.tmux-navigator.keymaps

Keymaps for the :TmuxNavigate* commands.

Note: by default, tmux-navigator adds its own keymaps. If you wish to disable that behaviour, use settings.no_mappings.

You will also need to update your tmux bindings separately, if you want them to match.

Type: list of (submodule)

Default: [ ]

Example:

[
  {
    action = "left";
    key = "<C-w>h";
  }
  {
    action = "down";
    key = "<C-w>j";
  }
  {
    action = "up";
    key = "<C-w>k";
  }
  {
    action = "right";
    key = "<C-w>l";
  }
  {
    action = "previous";
    key = "<C-w>\\";
  }
]

Declared by:

plugins.tmux-navigator.keymaps.*.action

The direction in which to navigate.

Type: one of “left”, “down”, “up”, “right”, “previous”

Example: "left"

Declared by:

plugins.tmux-navigator.keymaps.*.key

The key to map.

Type: string

Example: "<C-m>"

Declared by:

plugins.tmux-navigator.keymaps.*.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: ""

Example:

[
  "n"
  "v"
]

Declared by:

plugins.tmux-navigator.keymaps.*.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.tmux-navigator.keymaps.*.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.tmux-navigator.keymaps.*.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.tmux-navigator.keymaps.*.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.tmux-navigator.keymaps.*.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.tmux-navigator.keymaps.*.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.tmux-navigator.keymaps.*.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.tmux-navigator.keymaps.*.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.tmux-navigator.keymaps.*.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.tmux-navigator.keymaps.*.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.tmux-navigator.settings

The configuration options for tmux-navigator without the tmux_navigator_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal tmux_navigator_foo_bar=1
  • hello = "world" -> :setglobal tmux_navigator_hello="world"
  • some_toggle = true -> :setglobal tmux_navigator_some_toggle
  • other_toggle = false -> :setglobal notmux_navigator_other_toggle

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.tmux-navigator.settings.disable_when_zoomed

By default, if you zoom the tmux pane running vim and then attempt to navigate “past” the edge of the vim session, tmux will unzoom the pane. This is the default tmux behavior, but may be confusing if you’ve become accustomed to navigation “wrapping” around the sides due to this plugin.

This option disables the unzooming behavior, keeping all navigation within vim until the tmux pane is explicitly unzoomed.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.tmux-navigator.settings.no_mappings

By default <C-h>, <C-j>, <C-k>, <C-l>, & <C-\\> are mapped to navigating left, down, up, right, & previous, respectively.

This option disables those default mappings being created.

You can use plugins.tmux-navigator.keymaps to define your own custom mappings. You will also need to update your tmux bindings separately, if you want them to match.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.tmux-navigator.settings.no_wrap

By default, if you try to move past the edge of the screen, tmux/vim will “wrap” around to the opposite side.

This option disables “wrapping” in vim, but tmux will need to be configured separately.

Tmux doesn’t have a “no_wrap” option, so whatever key bindings you have need to conditionally wrap based on position on screen:

  is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
    | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|l?n?vim?x?|fzf)(diff)?$'"

  bind-key -n 'C-h' if-shell "$is_vim" { send-keys C-h } { if-shell -F '#{pane_at_left}'   {} { select-pane -L } }
  bind-key -n 'C-j' if-shell "$is_vim" { send-keys C-j } { if-shell -F '#{pane_at_bottom}' {} { select-pane -D } }
  bind-key -n 'C-k' if-shell "$is_vim" { send-keys C-k } { if-shell -F '#{pane_at_top}'    {} { select-pane -U } }
  bind-key -n 'C-l' if-shell "$is_vim" { send-keys C-l } { if-shell -F '#{pane_at_right}'  {} { select-pane -R } }

  bind-key -T copy-mode-vi 'C-h' if-shell -F '#{pane_at_left}'   {} { select-pane -L }
  bind-key -T copy-mode-vi 'C-j' if-shell -F '#{pane_at_bottom}' {} { select-pane -D }
  bind-key -T copy-mode-vi 'C-k' if-shell -F '#{pane_at_top}'    {} { select-pane -U }
  bind-key -T copy-mode-vi 'C-l' if-shell -F '#{pane_at_right}'  {} { select-pane -R }

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.tmux-navigator.settings.preserve_zoom

As noted in disable_when_zoomed, navigating from a vim pane to another tmux pane normally causes the window to be unzoomed. Some users may prefer the behavior of tmux’s -Z option to select-pane, which keeps the window zoomed if it was zoomed.

This option enables that behavior.

Naturally, if disable_when_zoomed is enabled, this option will have no effect.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.tmux-navigator.settings.save_on_switch

You can configure the plugin to write the current buffer, or all buffers, when navigating from vim to tmux.

null: don’t save on switch (default value) 1: :update (write the current buffer, but only if changed) 2: :wall (write all buffers)

Type: null or one of 1, 2

Default: null

Declared by:

todo-comments

URL: https://github.com/folke/todo-comments.nvim/

Maintainers: Austin Horstman

plugins.todo-comments.enable

Whether to enable todo-comments.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.todo-comments.package

The todo-comments.nvim package to use.

Type: package

Default: pkgs.vimPlugins.todo-comments-nvim

Declared by:

plugins.todo-comments.autoLoad

Whether to automatically load todo-comments.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.todo-comments.keymaps.todoFzfLua

Keymap for function TodoFzfLua

Type: null or (submodule)

Default: null

Declared by:

plugins.todo-comments.keymaps.todoFzfLua.action

The action to execute.

Type: string or raw lua code

Default: "TodoFzfLua"

Declared by:

plugins.todo-comments.keymaps.todoFzfLua.cwd

Specify the directory to search for comments

Type: null or string

Default: null

Example: "~/projects/foobar"

Declared by:

plugins.todo-comments.keymaps.todoFzfLua.key

The key to map.

Type: null or string

Default: null

Example: "<C-m>"

Declared by:

plugins.todo-comments.keymaps.todoFzfLua.keywords

Comma separated list of keywords to filter results by. Keywords are case-sensitive.

Type: null or (list of string)

Default: null

Example: "TODO,FIX"

Declared by:

plugins.todo-comments.keymaps.todoFzfLua.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.todo-comments.keymaps.todoFzfLua.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoFzfLua.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.todo-comments.keymaps.todoFzfLua.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoFzfLua.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.todo-comments.keymaps.todoFzfLua.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoFzfLua.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoFzfLua.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.todo-comments.keymaps.todoFzfLua.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoFzfLua.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoFzfLua.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoLocList

Keymap for function TodoLocList

Type: null or (submodule)

Default: null

Declared by:

plugins.todo-comments.keymaps.todoLocList.action

The action to execute.

Type: string or raw lua code

Default: "TodoLocList"

Declared by:

plugins.todo-comments.keymaps.todoLocList.cwd

Specify the directory to search for comments

Type: null or string

Default: null

Example: "~/projects/foobar"

Declared by:

plugins.todo-comments.keymaps.todoLocList.key

The key to map.

Type: null or string

Default: null

Example: "<C-m>"

Declared by:

plugins.todo-comments.keymaps.todoLocList.keywords

Comma separated list of keywords to filter results by. Keywords are case-sensitive.

Type: null or (list of string)

Default: null

Example: "TODO,FIX"

Declared by:

plugins.todo-comments.keymaps.todoLocList.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.todo-comments.keymaps.todoLocList.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoLocList.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.todo-comments.keymaps.todoLocList.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoLocList.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.todo-comments.keymaps.todoLocList.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoLocList.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoLocList.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.todo-comments.keymaps.todoLocList.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoLocList.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoLocList.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoQuickFix

Keymap for function TodoQuickFix

Type: null or (submodule)

Default: null

Declared by:

plugins.todo-comments.keymaps.todoQuickFix.action

The action to execute.

Type: string or raw lua code

Default: "TodoQuickFix"

Declared by:

plugins.todo-comments.keymaps.todoQuickFix.cwd

Specify the directory to search for comments

Type: null or string

Default: null

Example: "~/projects/foobar"

Declared by:

plugins.todo-comments.keymaps.todoQuickFix.key

The key to map.

Type: null or string

Default: null

Example: "<C-m>"

Declared by:

plugins.todo-comments.keymaps.todoQuickFix.keywords

Comma separated list of keywords to filter results by. Keywords are case-sensitive.

Type: null or (list of string)

Default: null

Example: "TODO,FIX"

Declared by:

plugins.todo-comments.keymaps.todoQuickFix.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.todo-comments.keymaps.todoQuickFix.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoQuickFix.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.todo-comments.keymaps.todoQuickFix.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoQuickFix.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.todo-comments.keymaps.todoQuickFix.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoQuickFix.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoQuickFix.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.todo-comments.keymaps.todoQuickFix.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoQuickFix.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoQuickFix.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoTelescope

Keymap for function TodoTelescope

Type: null or (submodule)

Default: null

Declared by:

plugins.todo-comments.keymaps.todoTelescope.action

The action to execute.

Type: string or raw lua code

Default: "TodoTelescope"

Declared by:

plugins.todo-comments.keymaps.todoTelescope.cwd

Specify the directory to search for comments

Type: null or string

Default: null

Example: "~/projects/foobar"

Declared by:

plugins.todo-comments.keymaps.todoTelescope.key

The key to map.

Type: null or string

Default: null

Example: "<C-m>"

Declared by:

plugins.todo-comments.keymaps.todoTelescope.keywords

Comma separated list of keywords to filter results by. Keywords are case-sensitive.

Type: null or (list of string)

Default: null

Example: "TODO,FIX"

Declared by:

plugins.todo-comments.keymaps.todoTelescope.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.todo-comments.keymaps.todoTelescope.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoTelescope.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.todo-comments.keymaps.todoTelescope.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoTelescope.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.todo-comments.keymaps.todoTelescope.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoTelescope.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoTelescope.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.todo-comments.keymaps.todoTelescope.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoTelescope.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoTelescope.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoTrouble

Keymap for function TodoTrouble

Type: null or (submodule)

Default: null

Declared by:

plugins.todo-comments.keymaps.todoTrouble.action

The action to execute.

Type: string or raw lua code

Default: "TodoTrouble"

Declared by:

plugins.todo-comments.keymaps.todoTrouble.cwd

Specify the directory to search for comments

Type: null or string

Default: null

Example: "~/projects/foobar"

Declared by:

plugins.todo-comments.keymaps.todoTrouble.key

The key to map.

Type: null or string

Default: null

Example: "<C-m>"

Declared by:

plugins.todo-comments.keymaps.todoTrouble.keywords

Comma separated list of keywords to filter results by. Keywords are case-sensitive.

Type: null or (list of string)

Default: null

Example: "TODO,FIX"

Declared by:

plugins.todo-comments.keymaps.todoTrouble.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.todo-comments.keymaps.todoTrouble.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoTrouble.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.todo-comments.keymaps.todoTrouble.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoTrouble.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.todo-comments.keymaps.todoTrouble.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoTrouble.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoTrouble.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.todo-comments.keymaps.todoTrouble.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoTrouble.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.keymaps.todoTrouble.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.todo-comments.lazyLoad

Lazy-load settings for todo-comments.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.todo-comments.lazyLoad.enable

lazy-loading for todo-comments.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.todo-comments.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.todo-comments.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.todo-comments.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.todo-comments.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.todo-comments.settings

Options provided to the require('todo-comments').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  highlight = {
    pattern = [
      ".*<(KEYWORDS)s*:"
      ".*<(KEYWORDS)s*"
    ];
  };
}

Declared by:

plugins.todo-comments.settings.colors

List of named colors where we try to extract the guifg from the list of highlight groups or use the hex color if hl not found as a fallback.

Type: null or (attribute set of ((list of string) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  default = [
    "Identifier"
    "#7C3AED"
  ];
  error = [
    "DiagnosticError"
    "ErrorMsg"
    "#DC2626"
  ];
  hint = [
    "DiagnosticHint"
    "#10B981"
  ];
  info = [
    "DiagnosticInfo"
    "#2563EB"
  ];
  test = [
    "Identifier"
    "#FF00FF"
  ];
  warning = [
    "DiagnosticWarn"
    "WarningMsg"
    "#FBBF24"
  ];
}

Declared by:

plugins.todo-comments.settings.keywords

Configurations for keywords to be recognized as todo comments.

Type: null or (attribute set of ((attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  FIX = {
    alt = [
      "FIXME"
      "BUG"
      "FIXIT"
      "ISSUE"
    ];
    color = "error";
    icon = " ";
  };
  HACK = {
    color = "warning";
    icon = " ";
  };
  NOTE = {
    alt = [
      "INFO"
    ];
    color = "hint";
    icon = " ";
  };
  PERF = {
    alt = [
      "OPTIM"
      "PERFORMANCE"
      "OPTIMIZE"
    ];
    icon = " ";
  };
  TEST = {
    alt = [
      "TESTING"
      "PASSED"
      "FAILED"
    ];
    color = "test";
    icon = "⏲ ";
  };
  TODO = {
    color = "info";
    icon = " ";
  };
  WARN = {
    alt = [
      "WARNING"
      "XXX"
    ];
    color = "warning";
    icon = " ";
  };
}

Declared by:

plugins.todo-comments.settings.merge_keywords

When true, custom keywords will be merged with the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.todo-comments.settings.sign_priority

Sign priority.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 8

Declared by:

plugins.todo-comments.settings.signs

Show icons in the signs column.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.todo-comments.settings.gui_style.bg

The gui style to use for the bg highlight group.

Type: null or string or raw lua code

Default: null

Plugin default: "BOLD"

Declared by:

plugins.todo-comments.settings.gui_style.fg

The gui style to use for the fg highlight group.

Type: null or string or raw lua code

Default: null

Plugin default: "NONE"

Declared by:

plugins.todo-comments.settings.highlight.after

Whether to apply the after highlight to the foreground or background.

Type: null or one of “fg”, “bg”, “” or raw lua code

Default: null

Plugin default: "fg"

Declared by:

plugins.todo-comments.settings.highlight.before

Whether to apply the before highlight to the foreground or background.

Type: null or one of “”, “fg”, “bg” or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.todo-comments.settings.highlight.comments_only

Uses treesitter to match keywords in comments only.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.todo-comments.settings.highlight.exclude

List of file types to exclude highlighting.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.todo-comments.settings.highlight.keyword

How highlighting is applied to the keyword.

wide and wide_bg are the same as bg, but will also highlight surrounding characters, wide_fg acts accordingly but with fg.

Type: null or one of “wide”, “fg”, “bg”, “wide_bg”, “wide_fg”, “” or raw lua code

Default: null

Plugin default: "wide"

Declared by:

plugins.todo-comments.settings.highlight.max_line_len

Ignore lines longer than this.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 400

Declared by:

plugins.todo-comments.settings.highlight.multiline

Enable multiline todo comments.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.todo-comments.settings.highlight.multiline_context

Extra lines that will be re-evaluated when changing a line.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.todo-comments.settings.highlight.multiline_pattern

Lua pattern to match the next multiline from the start of the matched keyword.

Type: null or string or raw lua code

Default: null

Plugin default: "^."

Declared by:

plugins.todo-comments.settings.highlight.pattern

Pattern or list of patterns, used for highlighting (vim regex).

Type: null or string or list of string

Default: null

Plugin default: ".*<(KEYWORDS)\\s*:"

Declared by:

plugins.todo-comments.settings.search.args

Arguments to use for the search command in list form.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "--color=never"
  "--no-heading"
  "--with-filename"
  "--line-number"
  "--column"
]

Declared by:

plugins.todo-comments.settings.search.command

Command to use for searching for keywords.

Type: null or string or raw lua code

Default: null

Plugin default: "rg"

Declared by:

plugins.todo-comments.settings.search.pattern

Regex that will be used to match keywords. Don’t replace the (KEYWORDS) placeholder.

Type: null or string or raw lua code

Default: null

Plugin default: "\\b(KEYWORDS):"

Declared by:

toggleterm

URL: https://github.com/akinsho/toggleterm.nvim/

Maintainers: Gaetan Lepage

plugins.toggleterm.enable

Whether to enable toggleterm.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.toggleterm.package

The toggleterm.nvim package to use.

Type: package

Default: pkgs.vimPlugins.toggleterm-nvim

Declared by:

plugins.toggleterm.autoLoad

Whether to automatically load toggleterm.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.toggleterm.lazyLoad

Lazy-load settings for toggleterm.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.toggleterm.lazyLoad.enable

lazy-loading for toggleterm.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.toggleterm.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.toggleterm.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.toggleterm.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.toggleterm.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.toggleterm.settings

Options provided to the require('toggleterm').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  direction = "float";
  float_opts = {
    border = "curved";
    height = 30;
    width = 130;
  };
  open_mapping = "[[<c->]]";
}

Declared by:

plugins.toggleterm.settings.auto_scroll

Automatically scroll to the bottom on terminal output.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.toggleterm.settings.autochdir

When neovim changes it current directory the terminal will change it’s own when next it’s opened.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.toggleterm.settings.close_on_exit

Close the terminal window when the process exits.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.toggleterm.settings.direction

The direction the terminal should be opened in.

Type: null or one of “vertical”, “horizontal”, “tab”, “float” or raw lua code

Default: null

Plugin default: "horizontal"

Declared by:

plugins.toggleterm.settings.hide_numbers

Hide the number column in toggleterm buffers.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.toggleterm.settings.highlights

Highlights which map a highlight group name to an attrs of it’s values.

Type: null or (attribute set of ((attribute set) or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  FloatBorder = {
    link = "Normal";
  };
  NormalFloat = {
    link = "Normal";
  };
  StatusLine = {
    gui = "NONE";
  };
  StatusLineNC = {
    cterm = "italic";
    gui = "NONE";
  };
}

Declared by:

plugins.toggleterm.settings.insert_mappings

Whether or not the open mapping applies in insert mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.toggleterm.settings.on_close

Function to run when the terminal closes.

fun(t: Terminal)

Type: null or lua code string

Default: null

Declared by:

plugins.toggleterm.settings.on_create

Function to run when the terminal is first created.

fun(t: Terminal)

Type: null or lua code string

Default: null

Declared by:

plugins.toggleterm.settings.on_exit

Function to run when terminal process exits.

fun(t: Terminal, job: number, exit_code: number, name: string)

Type: null or lua code string

Default: null

Declared by:

plugins.toggleterm.settings.on_open

Function to run when the terminal opens.

fun(t: Terminal)

Type: null or lua code string

Default: null

Declared by:

plugins.toggleterm.settings.on_stderr

Callback for processing output on stderr.

fun(t: Terminal, job: number, data: string[], name: string)

Type: null or lua code string

Default: null

Declared by:

plugins.toggleterm.settings.on_stdout

Callback for processing output on stdout.

fun(t: Terminal, job: number, data: string[], name: string)

Type: null or lua code string

Default: null

Declared by:

plugins.toggleterm.settings.open_mapping

Setting the open_mapping key to use for toggling the terminal(s) will set up mappings for normal mode.

Type: null or lua code string

Default: null

Declared by:

plugins.toggleterm.settings.persist_mode

If set to true (default) the previous terminal mode will be remembered.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.toggleterm.settings.persist_size

Whether the terminal size should persist.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.toggleterm.settings.shade_filetypes

Shade filetypes.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.toggleterm.settings.shade_terminals

NOTE: This option takes priority over highlights specified so if you specify Normal highlights you should set this to false.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.toggleterm.settings.shading_factor

The percentage by which to lighten terminal background.

default: -30 (gets multiplied by -3 if background is light).

Type: null or signed integer

Default: null

Declared by:

plugins.toggleterm.settings.shell

Change the default shell.

Type: null or string or raw lua code

Default: null

Plugin default:

{
  __raw = "vim.o.shell";
}

Declared by:

plugins.toggleterm.settings.size

Size of the terminal. size can be a number or a function.

Example:

  size = 20

OR

size = \'\'
  function(term)
    if term.direction == "horizontal" then
      return 15
    elseif term.direction == "vertical" then
      return vim.o.columns * 0.4
    end
  end
\'\';

Type: null or lua function string or signed integer or floating point number

Default: null

Plugin default: 12

Declared by:

plugins.toggleterm.settings.start_in_insert

Whether to start toggleterm in insert mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.toggleterm.settings.terminal_mappings

Whether or not the open mapping applies in the opened terminals.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.toggleterm.settings.float_opts.border

border = “single” | “double” | “shadow” | “curved” | … other options supported by win open. The border key is almost the same as ‘nvim_open_win’. The ‘curved’ border is a custom border type not natively supported but implemented in this plugin.

Type: null or string or list of string or list of list of string

Default: null

Declared by:

plugins.toggleterm.settings.float_opts.col

Start column of the floating terminal. Defaults to the center of the screen. Like size, col can be a number or function which is passed the current terminal.

Type: null or lua function string or (unsigned integer, meaning >=0)

Default: null

Plugin default: null

Declared by:

plugins.toggleterm.settings.float_opts.height

Height of the floating terminal. Like size, height can be a number or function which is passed the current terminal.

Type: null or lua function string or (unsigned integer, meaning >=0)

Default: null

Plugin default: null

Declared by:

plugins.toggleterm.settings.float_opts.row

Start row of the floating terminal. Defaults to the center of the screen. Like size, row can be a number or function which is passed the current terminal.

Type: null or lua function string or (unsigned integer, meaning >=0)

Default: null

Plugin default: null

Declared by:

plugins.toggleterm.settings.float_opts.title_pos

Type: null or string or raw lua code

Default: null

Plugin default: "left"

Declared by:

plugins.toggleterm.settings.float_opts.width

Width of the floating terminal. Like size, width can be a number or function which is passed the current terminal.

Type: null or lua function string or (unsigned integer, meaning >=0)

Default: null

Plugin default: null

Declared by:

plugins.toggleterm.settings.float_opts.winblend

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.toggleterm.settings.float_opts.zindex

Type: null or (unsigned integer, meaning >=0)

Default: null

Declared by:

plugins.toggleterm.settings.winbar.enabled

Whether to enable winbar.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.toggleterm.settings.winbar.name_formatter

func(term: Terminal):string

Example:

  function(term)
    return fmt("%d:%s", term.id, term:_display_name())
  end

Type: null or lua function string

Default: null

Plugin default:

''
  function(term)
    return term.name
  end
''

Declared by:

transparent

URL: https://github.com/xiyaowong/transparent.nvim/

Maintainers: Gaetan Lepage

plugins.transparent.enable

Whether to enable transparent.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.transparent.package

The transparent.nvim package to use.

Type: package

Default: pkgs.vimPlugins.transparent-nvim

Declared by:

plugins.transparent.autoLoad

Whether to automatically load transparent.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.transparent.lazyLoad

Lazy-load settings for transparent.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.transparent.lazyLoad.enable

lazy-loading for transparent.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.transparent.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.transparent.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.transparent.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.transparent.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.transparent.settings

Options provided to the require('transparent').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  exclude_groups = [ ];
  extra_groups = [
    "BufferLineTabClose"
    "BufferLineBufferSelected"
    "BufferLineFill"
    "BufferLineBackground"
    "BufferLineSeparator"
    "BufferLineIndicatorSelected"
  ];
}

Declared by:

plugins.transparent.settings.exclude_groups

Groups that you don’t want to clear.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.transparent.settings.extra_groups

Additional groups that should be cleared.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.transparent.settings.groups

The list of transparent groups.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "Normal"
  "NormalNC"
  "Comment"
  "Constant"
  "Special"
  "Identifier"
  "Statement"
  "PreProc"
  "Type"
  "Underlined"
  "Todo"
  "String"
  "Function"
  "Conditional"
  "Repeat"
  "Operator"
  "Structure"
  "LineNr"
  "NonText"
  "SignColumn"
  "CursorLine"
  "CursorLineNr"
  "StatusLine"
  "StatusLineNC"
  "EndOfBuffer"
]

Declared by:

treesitter

URL: https://github.com/nvim-treesitter/nvim-treesitter/

Maintainers: Austin Horstman


Provides an interface to tree-sitter

note

This plugin defaults to all functionality disabled.

Please explicitly enable the features you would like to use in plugins.treesitter.settings. For example, to enable syntax highlighting use the plugins.treesitter.settings.highlight.enable option.

Installing tree-sitter grammars from Nixpkgs

By default, all available grammars packaged in the nvim-treesitter package are installed.

If you'd like more control, you could instead specify which packages to install. For example:

  plugins.treesitter = {
    enable = true;

    grammarPackages = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [
      bash
      json
      lua
      make
      markdown
      nix
      regex
      toml
      vim
      vimdoc
      xml
      yaml
    ];
  };

Installing tree-sitter grammars from nvim-treesitter

The default behavior is not to install any grammars through the plugin. We usually recommend installing grammars through nixpkgs instead (see above).

If you'd like to install a grammar through nvim-treesitter, you can run :TSInstall <grammar> within vim or use the plugins.treesitter.settings.ensure_installed option to specify grammars you want the plugin to fetch and install.

  plugins.treesitter = {
    enable = true;

    settings = {
      # NOTE: You can set whether `nvim-treesitter` should automatically install the grammars.
      auto_install = false;
      ensure_installed = [
        "git_config"
        "git_rebase"
        "gitattributes"
        "gitcommit"
        "gitignore"
      ];
    };
  };

NOTE: You can combine the functionality of plugins.treesitter.nixGrammars and plugins.treesitter.settings.ensure_installed. This may be useful if a grammar isn't available from nixpkgs or you prefer to have specific grammars managed by nvim-treesitter.

Installing Your Own Grammars with Nixvim

The grammars you want will usually be included in nixGrammars by default. But, in the rare case it isn't, you can build your own and use it with Nixvim like so:

{ pkgs, ... }:
let
  # Example of building your own grammar
  treesitter-nu-grammar = pkgs.tree-sitter.buildGrammar {
    language = "nu";
    version = "0.0.0+rev=0bb9a60";
    src = pkgs.fetchFromGitHub {
      owner = "nushell";
      repo = "tree-sitter-nu";
      rev = "0bb9a602d9bc94b66fab96ce51d46a5a227ab76c";
      hash = "sha256-A5GiOpITOv3H0wytCv6t43buQ8IzxEXrk3gTlOrO0K0=";
    };
    meta.homepage = "https://github.com/nushell/tree-sitter-nu";
  };

  # or you can yoink any grammars in tree-sitter.grammars.${grammar-name}
  # treesitter-nu-grammar = pkgs.tree-sitter-grammars.tree-sitter-nu;
in
{
  programs.nixvim = {
    plugins = {
      treesitter = {
        enable = true;
        settings.indent.enable = true;
        grammarPackages = pkgs.vimPlugins.nvim-treesitter.passthru.allGrammars ++ [
          treesitter-nu-grammar
        ];
        luaConfig.post=
        ''
          do
            local parser_config = require("nvim-treesitter.parsers").get_parser_configs()
            -- change the following as needed
            parser_config.nu = {
              install_info = {
                url = "${treesitter-nu-grammar}", -- local path or git repo
                files = {"src/parser.c"}, -- note that some parsers also require src/scanner.c or src/scanner.cc
                -- optional entries:
                --  branch = "main", -- default branch in case of git repo if different from master
                -- generate_requires_npm = false, -- if stand-alone parser without npm dependencies
                -- requires_generate_from_grammar = false, -- if folder contains pre-generated src/parser.c
              },
              filetype = "nu", -- if filetype does not match the parser name
            }
          end
        '';
      };
    };

    # Add as extra plugins so that their `queries/{language}/*.scm` get
    # installed and can be picked up by `tree-sitter`
    extraPlugins = [
      treesitter-nu-grammar
    ];
  };
}

The queries for the grammar should be added to one of the runtime directories under queries/{language} but sometimes plugins do not conform to this structure.

In such cases, you can override the source derivation (or the grammar derivation) to move the queries to the appropriate folder:

(
  (pkgs.fetchFromGitLab {
    owner = "joncoole";
    repo = "tree-sitter-nginx";
    rev = "b4b61db443602b69410ab469c122c01b1e685aa0";
    hash = "sha256-Sa7audtwH8EgrHJ5XIUKTdveZU2pDPoUq70InQ6qcKA=";
  }).overrideAttrs
  (drv: {
    fixupPhase = ''
      mkdir -p $out/queries/nginx
      mv $out/queries/*.scm $out/queries/nginx/
    '';
  })
)

Verify if the queries were picked up by running :TSModuleInfo.

plugins.treesitter.enable

Whether to enable nvim-treesitter.

Type: boolean

Default: false

Example: true

Declared by:

plugins.treesitter.package

The nvim-treesitter package to use.

Type: package

Default: pkgs.vimPlugins.nvim-treesitter

Declared by:

plugins.treesitter.autoLoad

Whether to automatically load nvim-treesitter when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.treesitter.folding

Whether to enable tree-sitter based folding.

Type: boolean

Default: false

Example: true

Declared by:

plugins.treesitter.grammarPackages

Grammar packages to install

Type: list of package

Default: config.plugins.treesitter.package.passthru.allGrammars

Example: pkgs.vimPlugins.nvim-treesitter.passthru.allGrammars

Declared by:

plugins.treesitter.languageRegister

This is a wrapping of the vim.treesitter.language.register function.

Register specific parsers to one or several filetypes.

The keys are the parser names and the values are either one or several filetypes.

Type: attribute set of ((list of string) or string convertible to it)

Default: { }

Example:

{
  cpp = "onelab";
  python = [
    "foo"
    "bar"
  ];
}

Declared by:

plugins.treesitter.nixGrammars

Whether to install grammars defined in grammarPackages.

Type: boolean

Default: true

Example: false

Declared by:

plugins.treesitter.nixvimInjections

Whether to enable Nixvim injections, e.g. highlighting extraConfigLua as lua.

Type: boolean

Default: true

Example: false

Declared by:

plugins.treesitter.lazyLoad

Lazy-load settings for nvim-treesitter.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.treesitter.lazyLoad.enable

lazy-loading for nvim-treesitter

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.treesitter.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.treesitter.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.treesitter.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.treesitter.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.treesitter.settings

Options provided to the require('nvim-treesitter.configs').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  auto_install = false;
  ensure_installed = "all";
  highlight = {
    additional_vim_regex_highlighting = true;
    custom_captures = { };
    disable = [
      "rust"
    ];
    enable = true;
  };
  ignore_install = [
    "rust"
  ];
  incremental_selection = {
    enable = true;
    keymaps = {
      init_selection = false;
      node_decremental = "grm";
      node_incremental = "grn";
      scope_incremental = "grc";
    };
  };
  indent = {
    enable = true;
  };
  parser_install_dir = {
    __raw = "vim.fs.joinpath(vim.fn.stdpath('data'), 'treesitter')";
  };
  sync_install = false;
}

Declared by:

plugins.treesitter.settings.auto_install

Whether to automatically install missing parsers when entering a buffer.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.treesitter.settings.ensure_installed

Either "all" or a list of languages to ensure installing.

Type: null or value “all” (singular enum) or list of (string or raw lua code) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.treesitter.settings.ignore_install

List of parsers to ignore installing. Used when ensure_installed is set to "all".

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.treesitter.settings.parser_install_dir

Location of the parsers to be installed by the plugin (only needed when nixGrammars is disabled).

By default, parsers are installed to the “site” dir. If set to null the plugin default is used, which will not work on nix.

Type: null or string or raw lua code

Default:

{
  __raw = "vim.fs.joinpath(vim.fn.stdpath('data'), 'site')";
}

Plugin default: the plugin’s package directory

Declared by:

plugins.treesitter.settings.sync_install

Install parsers synchronously (only applied to ensure_installed).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.treesitter.settings.highlight.enable

Whether to enable treesitter highlighting.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.treesitter.settings.highlight.additional_vim_regex_highlighting

Setting this to true will run syntax and tree-sitter at the same time.
Set this to true if you depend on ‘syntax’ being enabled (e.g. for indentation).
See :h syntax.

Using this option may slow down your editor, and you may see some duplicate highlights.
Instead of true, it can also be a list of languages.

Type: null or boolean or list of (string or raw lua code) or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.treesitter.settings.highlight.custom_captures

Custom capture group highlighting.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.treesitter.settings.highlight.disable

Can either be a list of the names of parsers you wish to disable or a lua function that returns a boolean indicating the parser should be disabled.

Type: null or lua function string or list of (string or raw lua code)

Default: null

Plugin default: null

Declared by:

plugins.treesitter.settings.incremental_selection.enable

Incremental selection based on the named nodes from the grammar.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.treesitter.settings.incremental_selection.keymaps.init_selection

Key shortcut or false to unset.

Type: null or string or boolean or raw lua code

Default: null

Plugin default: "gnn"

Declared by:

plugins.treesitter.settings.incremental_selection.keymaps.node_decremental

Key shortcut or false to unset.

Type: null or string or boolean or raw lua code

Default: null

Plugin default: "grm"

Declared by:

plugins.treesitter.settings.incremental_selection.keymaps.node_incremental

Key shortcut or false to unset.

Type: null or string or boolean or raw lua code

Default: null

Plugin default: "grn"

Declared by:

plugins.treesitter.settings.incremental_selection.keymaps.scope_incremental

Key shortcut or false to unset.

Type: null or string or boolean or raw lua code

Default: null

Plugin default: "grc"

Declared by:

plugins.treesitter.settings.indent.enable

Whether to enable treesitter indentation.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

treesitter-context

URL: https://github.com/nvim-treesitter/nvim-treesitter-context/

Maintainers: Gaetan Lepage

plugins.treesitter-context.enable

Whether to enable nvim-treesitter-context.

Type: boolean

Default: false

Example: true

Declared by:

plugins.treesitter-context.package

The nvim-treesitter-context package to use.

Type: package

Default: pkgs.vimPlugins.nvim-treesitter-context

Declared by:

plugins.treesitter-context.autoLoad

Whether to automatically load nvim-treesitter-context when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.treesitter-context.lazyLoad

Lazy-load settings for nvim-treesitter-context.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.treesitter-context.lazyLoad.enable

lazy-loading for nvim-treesitter-context

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.treesitter-context.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.treesitter-context.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.treesitter-context.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.treesitter-context.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.treesitter-context.settings

Options provided to the require('treesitter-context').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  line_numbers = true;
  max_lines = 0;
  min_window_height = 0;
  mode = "topline";
  multiline_threshold = 20;
  separator = "-";
  trim_scope = "inner";
  zindex = 20;
}

Declared by:

plugins.treesitter-context.settings.enable

Enable this plugin (Can be enabled/disabled later via commands)

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.treesitter-context.settings.line_numbers

Whether to show line numbers.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.treesitter-context.settings.max_lines

How many lines the window should span. 0 means no limit.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.treesitter-context.settings.min_window_height

Minimum editor window height to enable context. 0 means no limit.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.treesitter-context.settings.mode

Line used to calculate context.

Type: null or one of “cursor”, “topline” or raw lua code

Default: null

Plugin default: "cursor"

Declared by:

plugins.treesitter-context.settings.multiline_threshold

Maximum number of lines to collapse for a single context line.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 20

Declared by:

plugins.treesitter-context.settings.on_attach

The implementation of a lua function which takes an integer buf as parameter and returns a boolean. Return false to disable attaching.

Type: null or lua function string

Default: null

Plugin default: "nil"

Declared by:

plugins.treesitter-context.settings.separator

Separator between context and content. Should be a single character string, like “-”. When separator is set, the context will only show up when there are at least 2 lines above cursorline.

Type: null or string

Default: null

Declared by:

plugins.treesitter-context.settings.trim_scope

Which context lines to discard if max_lines is exceeded.

Type: null or one of “outer”, “inner” or raw lua code

Default: null

Plugin default: "outer"

Declared by:

plugins.treesitter-context.settings.zindex

The Z-index of the context window.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 20

Declared by:

plugins.treesitter-refactor.enable

Whether to enable treesitter-refactor (requires plugins.treesitter.enable to be true).

Type: boolean

Default: false

Example: true

Declared by:

plugins.treesitter-refactor.package

The treesitter-refactor package to use.

Type: package

Default: pkgs.vimPlugins.nvim-treesitter-refactor

Declared by:

plugins.treesitter-refactor.highlightCurrentScope.enable

Whether to enable highlighting the block from the current scope where the cursor is.

Type: boolean

Default: false

Example: true

Declared by:

plugins.treesitter-refactor.highlightCurrentScope.disable

List of languages to disable the module on

Type: list of string

Default: [ ]

Declared by:

plugins.treesitter-refactor.highlightDefinitions.enable

Whether to enable Highlights definition and usages of the current symbol under the cursor…

Type: boolean

Default: false

Example: true

Declared by:

plugins.treesitter-refactor.highlightDefinitions.clearOnCursorMove

Controls if highlights should be cleared when the cursor is moved. If your ‘updatetime’ is around 100 you can set this to false to have a less laggy experience.

Type: boolean

Default: true

Declared by:

plugins.treesitter-refactor.highlightDefinitions.disable

List of languages to disable the module on

Type: list of string

Default: [ ]

Declared by:

plugins.treesitter-refactor.navigation.enable

Whether to enable Provides “go to definition” for the symbol under the cursor, and lists the definitions from the current file. .

Type: boolean

Default: false

Example: true

Declared by:

plugins.treesitter-refactor.navigation.disable

List of languages to disable the module on

Type: list of string

Default: [ ]

Declared by:

plugins.treesitter-refactor.navigation.keymaps.gotoDefinition

go to the definition of the symbol under the cursor

Type: null or string

Default: "gnd"

Declared by:

plugins.treesitter-refactor.navigation.keymaps.gotoDefinitionLspFallback

go to the definition of the symbol under the cursor or use vim.lsp.buf.definition if the symbol can not be resolved. You can use your own fallback function if create a mapping for lua require'nvim-treesitter.refactor.navigation(nil, fallback_function)<cr>.

Type: null or string

Default: null

Declared by:

plugins.treesitter-refactor.navigation.keymaps.gotoNextUsage

go to next usage of identifier under the cursor

Type: null or string

Default: "<a-*>"

Declared by:

plugins.treesitter-refactor.navigation.keymaps.gotoPreviousUsage

go to previous usage of identifier

Type: null or string

Default: "<a-#>"

Declared by:

plugins.treesitter-refactor.navigation.keymaps.listDefinitions

list all definitions from the current file

Type: null or string

Default: "gnD"

Declared by:

plugins.treesitter-refactor.navigation.keymaps.listDefinitionsToc

list all definitions from the current file like a table of contents (similar to the one you see when pressing |gO| in help files).

Type: null or string

Default: "gO"

Declared by:

plugins.treesitter-refactor.smartRename.enable

Whether to enable Renames the symbol under the cursor within the current scope (and current file)…

Type: boolean

Default: false

Example: true

Declared by:

plugins.treesitter-refactor.smartRename.disable

List of languages to disable the module on

Type: list of string

Default: [ ]

Declared by:

plugins.treesitter-refactor.smartRename.keymaps.smartRename

rename symbol under the cursor

Type: null or string

Default: "grr"

Declared by:

plugins.treesitter-textobjects.enable

Whether to enable treesitter-textobjects (requires plugins.treesitter.enable to be true).

Type: boolean

Default: false

Example: true

Declared by:

plugins.treesitter-textobjects.package

The treesitter-textobjects package to use.

Type: package

Default: pkgs.vimPlugins.nvim-treesitter-textobjects

Declared by:

plugins.treesitter-textobjects.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.treesitter-textobjects.lspInterop.enable

LSP interop.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.treesitter-textobjects.lspInterop.border

Define the style of the floating window border.

Type: null or one of “none”, “single”, “double”, “rounded”, “solid”, “shadow” or raw lua code

Default: null

Plugin default: "none"

Declared by:

plugins.treesitter-textobjects.lspInterop.floatingPreviewOpts

Options to pass to vim.lsp.util.open_floating_preview. For example, maximum_height.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.treesitter-textobjects.lspInterop.peekDefinitionCode

Show textobject surrounding definition as determined using Neovim’s built-in LSP in a floating window. Press the shortcut twice to enter the floating window (when https://github.com/neovim/neovim/pull/12720 or its successor is merged).

Type: null or (attribute set of (string or (submodule) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.treesitter-textobjects.move.enable

Go to next/previous text object~

Define your own mappings to jump to the next or previous text object. This is similar to |]m|, |[m|, |]M|, |[M| Neovim’s mappings to jump to the next or previous function.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.treesitter-textobjects.move.disable

List of languages to disable this module for.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.treesitter-textobjects.move.gotoNext

Will go to either the start or the end, whichever is closer. Use if you want more granular movements. Make it even more gradual by adding multiple queries and regex.

Type: null or (attribute set of (string or (submodule) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.treesitter-textobjects.move.gotoNextEnd

Same as gotoNextStart, but it jumps to the start of the text object.

Type: null or (attribute set of (string or (submodule) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.treesitter-textobjects.move.gotoNextStart

Map of keymaps to a list of tree-sitter capture groups ({@function.outer, @class.outer}). The one that starts closest to the cursor will be chosen, preferring row-proximity to column-proximity.

Type: null or (attribute set of (string or (submodule) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.treesitter-textobjects.move.gotoPrevious

Will go to either the start or the end, whichever is closer. Use if you want more granular movements. Make it even more gradual by adding multiple queries and regex.

Type: null or (attribute set of (string or (submodule) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.treesitter-textobjects.move.gotoPreviousEnd

Same as gotoNextEnd, but it jumps to the previous text object.

Type: null or (attribute set of (string or (submodule) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.treesitter-textobjects.move.gotoPreviousStart

Same as gotoNextStart, but it jumps to the previous text object.

Type: null or (attribute set of (string or (submodule) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.treesitter-textobjects.move.setJumps

Whether to set jumps in the jumplist.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.treesitter-textobjects.select.enable

Text object selection:

Define your own text objects mappings similar to ip (inner paragraph) and ap (a paragraph).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.treesitter-textobjects.select.disable

List of languages to disable this module for.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.treesitter-textobjects.select.includeSurroundingWhitespace

true or false, when true textobjects are extended to include preceding or succeeding whitespace.

Can also be a function which gets passed a table with the keys query_string (@function.inner) and selection_mode (v) and returns true of false.

If you set this to true (default is false) then any textobject is extended to include preceding or succeeding whitespace. Succeeding whitespace has priority in order to act similarly to eg the built-in ap.

Type: null or lua function string or boolean

Default: null

Plugin default: false

Declared by:

plugins.treesitter-textobjects.select.keymaps

Map of keymaps to a tree-sitter query ((function_definition) @function) or capture group (@function.inner).

Type: null or (attribute set of (string or (submodule) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.treesitter-textobjects.select.lookahead

Whether or not to look ahead for the textobject.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.treesitter-textobjects.select.selectionModes

Map of capture group to v(charwise), V(linewise), or <c-v>(blockwise), choose a selection mode per capture, default is v(charwise).

Type: null or (attribute set of (one of “v”, “V”, “<c-v>” or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.treesitter-textobjects.swap.enable

Swap text objects:

Define your own mappings to swap the node under the cursor with the next or previous one, like function parameters or arguments.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.treesitter-textobjects.swap.disable

List of languages to disable this module for.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.treesitter-textobjects.swap.swapNext

Map of keymaps to a list of tree-sitter capture groups ({@parameter.inner}). Capture groups that come earlier in the list are preferred.

Type: null or (attribute set of (string or (submodule) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.treesitter-textobjects.swap.swapPrevious

Same as swapNext, but it will swap with the previous text object.

Type: null or (attribute set of (string or (submodule) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

treesj

URL: https://github.com/Wansmer/treesj/

Maintainers: Johan Larsson


A plugin for splitting/joining blocks of code like arrays, hashes, statements, objects, dictionaries, etc.

plugins.treesj.enable

Whether to enable treesj.

Type: boolean

Default: false

Example: true

Declared by:

plugins.treesj.package

The treesj package to use.

Type: package

Default: pkgs.vimPlugins.treesj

Declared by:

plugins.treesj.autoLoad

Whether to automatically load treesj when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.treesj.lazyLoad

Lazy-load settings for treesj.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.treesj.lazyLoad.enable

lazy-loading for treesj

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.treesj.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.treesj.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.treesj.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.treesj.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.treesj.settings

Options provided to the require('treesj').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  cursor_behavior = "start";
  use_default_keymaps = false;
}

Declared by:

plugins.treesj.settings.check_syntax_error

If true, then a node with syntax error will not be formatted.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.treesj.settings.cursor_behavior

Cursor behavior.

  • hold: cursor follows the node/place on which it was called.
  • start: cursor jumps to the first symbol of the node being formatted.
  • end: cursor jumps to the last symbol of the node being formatted.

Type: null or one of “hold”, “start”, “end” or raw lua code

Default: null

Plugin default: "hold"

Declared by:

plugins.treesj.settings.dot_repeat

Use dot for repeat action.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.treesj.settings.langs

Presets for languages.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.treesj.settings.max_join_length

If true and the line after the join will be longer than this value, the node will not be formatted.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 120

Declared by:

plugins.treesj.settings.notify

Notify about possible problems or not.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.treesj.settings.on_error

Callback for treesj error handler.

Type: null or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.treesj.settings.use_default_keymaps

Use default keymaps (<space>m: toggle, <space>j: join, <space>s: split).

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

trim

URL: https://github.com/cappyzawa/trim.nvim/

Maintainers: Gaetan Lepage

plugins.trim.enable

Whether to enable trim.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.trim.package

The trim.nvim package to use.

Type: package

Default: pkgs.vimPlugins.trim-nvim

Declared by:

plugins.trim.autoLoad

Whether to automatically load trim.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.trim.lazyLoad

Lazy-load settings for trim.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.trim.lazyLoad.enable

lazy-loading for trim.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.trim.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.trim.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.trim.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.trim.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.trim.settings

Options provided to the require('trim').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  ft_blocklist = [
    "markdown"
  ];
  highlight = true;
  patterns = [
    ''
      [[%s/(
      
      )
      +/1/]]''
  ];
  trim_on_write = false;
}

Declared by:

plugins.trim.settings.ft_blocklist

Filetypes to exclude.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.trim.settings.highlight

Whether to highlight trailing whitespaces.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.trim.settings.highlight_bg

Which color to use for coloring whitespaces.

Type: null or string or raw lua code

Default: null

Plugin default: "#ff0000"

Declared by:

plugins.trim.settings.highlight_ctermbg

Which color to use for coloring whitespaces (cterm).

Type: null or string or raw lua code

Default: null

Plugin default: "red"

Declared by:

plugins.trim.settings.patterns

Extra patterns to use for removing white spaces.

Plugin default: []

Type: list of lua code string

Default: [ ]

Example:

[
  ''
    [[%s/(
    
    )
    +/1/]]''
]

Declared by:

plugins.trim.settings.trim_first_line

Whether to trim blank lines at the beginning of the file.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.trim.settings.trim_last_line

Whether to trim trailing blank lines at the end of the file.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.trim.settings.trim_on_write

Whether to automatically trim on write.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.trim.settings.trim_trailing

Whether to trim trailing whitespaces.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

trouble

URL: https://github.com/folke/trouble.nvim/

Maintainers: Loïc Reynier

plugins.trouble.enable

Whether to enable trouble.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.trouble.package

The trouble.nvim package to use.

Type: package

Default: pkgs.vimPlugins.trouble-nvim

Declared by:

plugins.trouble.autoLoad

Whether to automatically load trouble.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.trouble.lazyLoad

Lazy-load settings for trouble.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.trouble.lazyLoad.enable

lazy-loading for trouble.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.trouble.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.trouble.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.trouble.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.trouble.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.trouble.settings

Options provided to the require('trouble').setup function.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.trouble.settings.auto_close

Automatically close the list when you have no diagnostics.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.trouble.settings.auto_jump

Auto jump to the item when there’s only one.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.trouble.settings.auto_preview

Automatically preview the location of the diagnostic. <esc> to close preview and go back to last window.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.trouble.settings.auto_refresh

Automatically refresh when open.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.trouble.settings.focus

Focus the window when opened.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.trouble.settings.follow

Follow the current item.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.trouble.settings.icons

Define custom icons.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  folder_closed = " ";
  folder_open = " ";
  indent = {
    fold_closed = " ";
    fold_open = " ";
    last = "└╴";
    middle = "├╴";
    top = "│ ";
    ws = "  ";
  };
  kinds = {
    Array = " ";
    Boolean = "󰨙 ";
    Class = " ";
    Constant = "󰏿 ";
    Constructor = " ";
    Enum = " ";
    EnumMember = " ";
    Event = " ";
    Field = " ";
    File = " ";
    Function = "󰊕 ";
    Interface = " ";
    Key = " ";
    Method = "󰊕 ";
    Module = " ";
    Namespace = "󰦮 ";
    Null = " ";
    Number = "󰎠 ";
    Object = " ";
    Operator = " ";
    Package = " ";
    Property = " ";
    String = " ";
    Struct = "󰆼 ";
    TypeParameter = " ";
    Variable = "󰀫 ";
  };
}

Declared by:

plugins.trouble.settings.indent_guides

Add indent guides.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.trouble.settings.keys

Key mappings can be set to the name of a builtin action, or you can define your own custom action.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "<2-leftmouse>" = "jump";
  "<c-s>" = "jump_split";
  "<c-v>" = "jump_vsplit";
  "<cr>" = "jump";
  "<esc>" = "cancel";
  "?" = "help";
  P = "toggle_preview";
  R = "toggle_refresh";
  "[[" = "prev";
  "]]" = "next";
  d = {
    action = "delete";
    mode = "v";
  };
  dd = "delete";
  gb = {
    action = {
      __raw = ''
        function(view)
          view:filter({ buf = 0 }, { toggle = true })
        end
      '';
    };
    desc = "Toggle Current Buffer Filter";
  };
  i = "inspect";
  o = "jump_close";
  p = "preview";
  q = "close";
  r = "refresh";
  s = {
    action = {
      __raw = ''
        function(view)
           local f = view:get_filter("severity")
           local severity = ((f and f.filter.severity or 0) + 1) % 5
           view:filter({ severity = severity }, {
             id = "severity",
             template = "{hl:Title}Filter:{hl} {severity}",
             del = severity == 0,
           })
        end
      '';
    };
    desc = "Toggle Severity Filter";
  };
  zA = "fold_toggle_recursive";
  zC = "fold_close_recursive";
  zM = "fold_close_all";
  zN = "fold_enable";
  zO = "fold_open_recursive";
  zR = "fold_open_all";
  zX = "fold_update_all";
  za = "fold_toggle";
  zc = "fold_close";
  zi = "fold_toggle_enable";
  zm = "fold_more";
  zn = "fold_disable";
  zo = "fold_open";
  zr = "fold_reduce";
  zx = "fold_update";
  "{" = "prev";
  "}" = "next";
}

Declared by:

plugins.trouble.settings.max_items

Limit the number of items that can be displayed per section.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 200

Declared by:

plugins.trouble.settings.modes

Customize the various builtin modes or define your own.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  lsp_base = {
    params = {
      include_current = false;
    };
  };
  lsp_references = {
    params = {
      include_declaration = true;
    };
  };
  symbols = {
    desc = "document symbols";
    filter = {
      any = {
        ft = [
          "help"
          "markdown"
        ];
        kind = [
          "Class"
          "Constructor"
          "Enum"
          "Field"
          "Function"
          "Interface"
          "Method"
          "Module"
          "Namespace"
          "Package"
          "Property"
          "Struct"
          "Trait"
        ];
      };
      not = {
        ft = "lua";
        kind = "Package";
      };
    };
    focus = false;
    mode = "lsp_document_symbols";
    win = {
      position = "right";
    };
  };
}

Declared by:

plugins.trouble.settings.multiline

Render multi-line messages.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.trouble.settings.open_no_results

Open the trouble window when there are no results.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.trouble.settings.pinned

Whether the opened trouble window will be bound to the current buffer.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.trouble.settings.preview

Window options for the preview window.

See |nvim_open_win()|.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  scratch = true;
  type = "main";
}

Declared by:

plugins.trouble.settings.restore

Restores the last location in the list when opening.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.trouble.settings.warn_no_results

Show a warning when there are no results.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.trouble.settings.win

Window options for the results window. Can be a split or a floating window.

See |nvim_open_win()|.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

ts-autotag

URL: https://github.com/windwp/nvim-ts-autotag/

Maintainers: Gaetan Lepage

plugins.ts-autotag.enable

Whether to enable nvim-ts-autotag.

Type: boolean

Default: false

Example: true

Declared by:

plugins.ts-autotag.package

The nvim-ts-autotag package to use.

Type: package

Default: pkgs.vimPlugins.nvim-ts-autotag

Declared by:

plugins.ts-autotag.autoLoad

Whether to automatically load nvim-ts-autotag when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.ts-autotag.lazyLoad

Lazy-load settings for nvim-ts-autotag.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.ts-autotag.lazyLoad.enable

lazy-loading for nvim-ts-autotag

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.ts-autotag.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.ts-autotag.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.ts-autotag.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.ts-autotag.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.ts-autotag.settings

Options provided to the require('nvim-ts-autotag').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  opts = {
    enable_close = true;
    enable_close_on_slash = false;
    enable_rename = true;
  };
  per_filetype = {
    html = {
      enable_close = false;
    };
  };
}

Declared by:

plugins.ts-autotag.settings.aliases

Filetype aliases.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  astro = "html";
  blade = "html";
  eruby = "html";
  handlebars = "glimmer";
  hbs = "glimmer";
  htmldjango = "html";
  javascript = "typescriptreact";
  "javascript.jsx" = "typescriptreact";
  javascriptreact = "typescriptreact";
  markdown = "html";
  php = "html";
  rescript = "typescriptreact";
  rust = "rust";
  twig = "html";
  typescript = "typescriptreact";
  "typescript.tsx" = "typescriptreact";
  vue = "html";
}

Declared by:

plugins.ts-autotag.settings.per_filetype

Per filetype config overrides.

Type: null or (attribute set of ((attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.ts-autotag.settings.opts.enable_close

Whether or not to auto close tags.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.ts-autotag.settings.opts.enable_close_on_slash

Whether or not to auto close tags when a / is inserted.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.ts-autotag.settings.opts.enable_rename

Whether or not to auto rename paired tags.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

ts-comments

URL: https://github.com/folke/ts-comments.nvim/

Maintainers: Austin Horstman

plugins.ts-comments.enable

Whether to enable ts-comments.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.ts-comments.package

The ts-comments.nvim package to use.

Type: package

Default: pkgs.vimPlugins.ts-comments-nvim

Declared by:

plugins.ts-comments.autoLoad

Whether to automatically load ts-comments.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.ts-comments.lazyLoad

Lazy-load settings for ts-comments.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.ts-comments.lazyLoad.enable

lazy-loading for ts-comments.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.ts-comments.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.ts-comments.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.ts-comments.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.ts-comments.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.ts-comments.settings

Options provided to the require('ts-comments').setup function.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.ts-comments.settings.lang

Configure comment string for each language.

ts-comments.nvim uses the default Neovim commentstring as a fallback, so there’s no need to configure every language.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  astro = "";
  axaml = "";
  blueprint = "// %s";
  c = "// %s";
  c_sharp = "// %s";
  clojure = [
    ";; %s"
    "; %s"
  ];
  cpp = "// %s";
  cs_project = "";
  cue = "// %s";
  fsharp = "// %s";
  fsharp_project = "";
  gleam = "// %s";
  glimmer = "{{! %s }}";
  graphql = "# %s";
  handlebars = "{{! %s }}";
  hcl = "# %s";
  html = "";
  hyprlang = "# %s";
  ini = "; %s";
  ipynb = "# %s";
  javascript = {
    __unkeyed-1 = "// %s";
    __unkeyed-2 = "/* %s */";
    call_expression = "// %s";
    jsx_attribute = "// %s";
    jsx_element = "{/* %s */}";
    jsx_fragment = "{/* %s */}";
    spread_element = "// %s";
    statement_block = "// %s";
  };
  kdl = "// %s";
  php = "// %s";
  rego = "# %s";
  rescript = "// %s";
  rust = [
    "// %s"
    "/* %s */"
  ];
  sql = "-- %s";
  styled = "/* %s */";
  svelte = "";
  templ = {
    __default = "// %s";
    component_block = "";
  };
  terraform = "# %s";
  tsx = {
    "/* %s */" = null;
    __default = "// %s";
    call_expression = "// %s";
    jsx_attribute = "// %s";
    jsx_element = "{/* %s */}";
    jsx_fragment = "{/* %s */}";
    spread_element = "// %s";
    statement_block = "// %s";
  };
  twig = "{# %s #}";
  typescript = [
    "// %s"
    "/* %s */"
  ];
  vue = "";
  xaml = "";
}

Declared by:

plugins.ts-context-commentstring.enable

Whether to enable nvim-ts-context-commentstring.

Type: boolean

Default: false

Example: true

Declared by:

plugins.ts-context-commentstring.package

The ts-context-commentstring package to use.

Type: package

Default: pkgs.vimPlugins.nvim-ts-context-commentstring

Declared by:

plugins.ts-context-commentstring.disableAutoInitialization

Whether to disable auto-initialization.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.ts-context-commentstring.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.ts-context-commentstring.languages

Allows you to add support for more languages.

See :h ts-context-commentstring-commentstring-configuration for more information.

Type: null or (attribute set of (string or attribute set of string))

Default: null

Declared by:

plugins.ts-context-commentstring.skipTsContextCommentStringModule

Whether to skip backwards compatibility routines and speed up loading.

Type: boolean

Default: true

Example: false

Declared by:

twilight

URL: https://github.com/folke/twilight.nvim/

Maintainers: Gaetan Lepage

plugins.twilight.enable

Whether to enable twilight.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.twilight.package

The twilight.nvim package to use.

Type: package

Default: pkgs.vimPlugins.twilight-nvim

Declared by:

plugins.twilight.autoLoad

Whether to automatically load twilight.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.twilight.lazyLoad

Lazy-load settings for twilight.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.twilight.lazyLoad.enable

lazy-loading for twilight.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.twilight.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.twilight.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.twilight.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.twilight.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.twilight.settings

Options provided to the require('twilight').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  context = 20;
  dimming = {
    alpha = 0.4;
  };
  expand = [
    "function"
    "method"
  ];
  treesitter = true;
}

Declared by:

plugins.twilight.settings.context

Amount of lines we will try to show around the current line.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 10

Declared by:

plugins.twilight.settings.exclude

Exclude these filetypes.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.twilight.settings.expand

For treesitter, we will always try to expand to the top-most ancestor with these types.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "function"
  "method"
  "table"
  "if_statement"
]

Declared by:

plugins.twilight.settings.treesitter

Use treesitter when available for the filetype. treesitter is used to automatically expand the visible text, but you can further control the types of nodes that should always be fully expanded.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.twilight.settings.dimming.alpha

Amount of dimming.

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.25

Declared by:

plugins.twilight.settings.dimming.color

Highlight groups / colors to use.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "Normal"
  "#ffffff"
]

Declared by:

plugins.twilight.settings.dimming.inactive

When true, other windows will be fully dimmed (unless they contain the same buffer).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.twilight.settings.dimming.term_bg

If guibg=NONE, this will be used to calculate text color.

Type: null or string or raw lua code

Default: null

Plugin default: "#000000"

Declared by:

typescript-tools

URL: https://github.com/pmizio/typescript-tools.nvim/

Maintainers: Austin Horstman

plugins.typescript-tools.enable

Whether to enable typescript-tools.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.typescript-tools.package

The typescript-tools.nvim package to use.

Type: package

Default: pkgs.vimPlugins.typescript-tools-nvim

Declared by:

plugins.typescript-tools.autoLoad

Whether to automatically load typescript-tools.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.typescript-tools.lazyLoad

Lazy-load settings for typescript-tools.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.typescript-tools.lazyLoad.enable

lazy-loading for typescript-tools.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.typescript-tools.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.typescript-tools.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.typescript-tools.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.typescript-tools.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.typescript-tools.settings

Options provided to the require('typescript-tools').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  handlers = {
    "textDocument/publishDiagnostics" = ''
      api.filter_diagnostics(
        { 80006 }
      )
    '';
  };
  settings = {
    tsserver_file_preferences = {
      __raw = ''
        function(ft)
          return {
            includeInlayParameterNameHints = "all",
            includeCompletionsForModuleExports = true,
            quotePreference = "auto",
          }
        end
      '';
    };
    tsserver_format_options = {
      __raw = ''
        function(ft)
          return {
            allowIncompleteCompletions = false,
            allowRenameOfImportPath = false,
          }
        end
      '';
    };
    tsserver_plugins = [
      "@styled/typescript-styled-plugin"
    ];
  };
}

Declared by:

plugins.typescript-tools.settings.handlers

How tsserver should respond to LSP requests

Type: null or (attribute set of lua function string)

Default: null

Example:

{
  "textDocument/publishDiagnostics" = ''
    require("typescript-tools.api").filter_diagnostics(
      -- Ignore 'This may be converted to an async function' diagnostics.
      { 80006 }
    )
  '';
}

Declared by:

plugins.typescript-tools.settings.on_attach

Function to call when tsserver attaches to a buffer.

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

typst-preview

URL: https://github.com/chomosuke/typst-preview.nvim/

Maintainers: Gaetan Lepage

plugins.typst-preview.enable

Whether to enable typst-preview.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.typst-preview.package

The typst-preview.nvim package to use.

Type: package

Default: pkgs.vimPlugins.typst-preview-nvim

Declared by:

plugins.typst-preview.autoLoad

Whether to automatically load typst-preview.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.typst-preview.settings

Options provided to the require('typst-preview').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  debug = true;
  dependencies_bin = {
    tinymist = "tinymist";
    websocat = "websocat";
  };
  port = 8000;
}

Declared by:

plugins.typst-preview.lazyLoad

Lazy-load settings for typst-preview.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.typst-preview.lazyLoad.enable

lazy-loading for typst-preview.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.typst-preview.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.typst-preview.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.typst-preview.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.typst-preview.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

typst-vim

URL: https://github.com/kaarmu/typst.vim/

Maintainers: Gaetan Lepage

plugins.typst-vim.enable

Whether to enable typst.vim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.typst-vim.package

The typst.vim package to use.

Type: package

Default: pkgs.vimPlugins.typst-vim

Declared by:

plugins.typst-vim.autoLoad

Whether to automatically load typst.vim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.typst-vim.keymaps.silent

Whether typst-vim keymaps should be silent.

Type: boolean

Default: false

Declared by:

plugins.typst-vim.keymaps.watch

Keymap to preview the document and recompile on change.

Type: null or string

Default: null

Declared by:

plugins.typst-vim.settings

The configuration options for typst-vim without the typst_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal typst_foo_bar=1
  • hello = "world" -> :setglobal typst_hello="world"
  • some_toggle = true -> :setglobal typst_some_toggle
  • other_toggle = false -> :setglobal notypst_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  auto_close_toc = 1;
  cmd = "typst";
  conceal_math = 1;
}

Declared by:

plugins.typst-vim.settings.auto_close_toc

Specifies whether TOC will be automatically closed after using it.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.typst-vim.settings.cmd

Specifies the location of the Typst executable.

Type: null or string or raw lua code

Default: null

Plugin default: "typst"

Declared by:

plugins.typst-vim.settings.conceal_math

Enable concealment for math symbols in math mode (i.e. replaces symbols with their actual unicode character). Warning: this can affect performance

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.typst-vim.settings.pdf_viewer

Specifies pdf viewer that typst watch --open will use.

Type: null or string

Default: null

Declared by:

undotree

URL: https://github.com/mbbill/undotree/

Maintainers: Gaetan Lepage

plugins.undotree.enable

Whether to enable undotree.

Type: boolean

Default: false

Example: true

Declared by:

plugins.undotree.package

The undotree package to use.

Type: package

Default: pkgs.vimPlugins.undotree

Declared by:

plugins.undotree.autoLoad

Whether to automatically load undotree when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.undotree.settings

The configuration options for undotree without the undotree_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal undotree_foo_bar=1
  • hello = "world" -> :setglobal undotree_hello="world"
  • some_toggle = true -> :setglobal undotree_some_toggle
  • other_toggle = false -> :setglobal noundotree_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  CursorLine = true;
  DiffAutoOpen = true;
  DiffCommand = "diff";
  DiffpanelHeight = 10;
  HelpLine = true;
  HighlightChangedText = true;
  HighlightChangedWithSign = true;
  HighlightSyntaxAdd = "DiffAdd";
  HighlightSyntaxChange = "DiffChange";
  HighlightSyntaxDel = "DiffDelete";
  RelativeTimestamp = true;
  SetFocusWhenToggle = true;
  ShortIndicators = false;
  SplitWidth = 40;
  TreeNodeShape = "*";
  TreeReturnShape = "\\";
  TreeSplitShape = "/";
  TreeVertShape = "|";
  WindowLayout = 4;
}

Declared by:

vim-bbye

URL: https://github.com/moll/vim-bbye/

Maintainers: Gaetan Lepage

plugins.vim-bbye.enable

Whether to enable vim-bbye.

Type: boolean

Default: false

Example: true

Declared by:

plugins.vim-bbye.package

The vim-bbye package to use.

Type: package

Default: pkgs.vimPlugins.vim-bbye

Declared by:

plugins.vim-bbye.autoLoad

Whether to automatically load vim-bbye when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.vim-bbye.keymapsSilent

Whether vim-bbye keymaps should be silent.

Type: boolean

Default: false

Declared by:

plugins.vim-bbye.keymaps.bdelete

Keymap for deleting the current buffer.";

Type: null or string

Default: null

Declared by:

plugins.vim-bbye.keymaps.bwipeout

Keymap for completely deleting the current buffer.";

Type: null or string

Default: null

Declared by:

vim-be-good

URL: https://github.com/ThePrimeagen/vim-be-good/

Maintainers: Katie Janzen


Vim be good is a plugin designed to make you better at vim by creating a game to practice basic movements in. Learn more: https://github.com/ThePrimeagen/vim-be-good

plugins.vim-be-good.enable

Whether to enable vim-be-good.

Type: boolean

Default: false

Example: true

Declared by:

plugins.vim-be-good.package

The vim-be-good package to use.

Type: package

Default: pkgs.vimPlugins.vim-be-good

Declared by:

plugins.vim-be-good.autoLoad

Whether to automatically load vim-be-good when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.vim-be-good.lazyLoad

Lazy-load settings for vim-be-good.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.vim-be-good.lazyLoad.enable

lazy-loading for vim-be-good

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.vim-be-good.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.vim-be-good.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.vim-be-good.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.vim-be-good.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

vim-colemak

URL: https://github.com/kalbasit/vim-colemak/

Maintainers: Wael Nasreddine

plugins.vim-colemak.enable

Whether to enable vim-colemak.

Type: boolean

Default: false

Example: true

Declared by:

plugins.vim-colemak.package

The vim-colemak package to use.

Type: package

Default: pkgs.vimPlugins.vim-colemak

Declared by:

plugins.vim-colemak.autoLoad

Whether to automatically load vim-colemak when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

vim-css-color

URL: https://github.com/ap/vim-css-color/

Maintainers: Daniel Laing

plugins.vim-css-color.enable

Whether to enable vim-css-color.

Type: boolean

Default: false

Example: true

Declared by:

plugins.vim-css-color.package

The vim-css-color package to use.

Type: package

Default: pkgs.vimPlugins.vim-css-color

Declared by:

plugins.vim-css-color.autoLoad

Whether to automatically load vim-css-color when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

vim-dadbod

URL: https://github.com/tpope/vim-dadbod/

Maintainers: Boney Patel

plugins.vim-dadbod.enable

Whether to enable vim-dadbod.

Type: boolean

Default: false

Example: true

Declared by:

plugins.vim-dadbod.package

The vim-dadbod package to use.

Type: package

Default: pkgs.vimPlugins.vim-dadbod

Declared by:

plugins.vim-dadbod.autoLoad

Whether to automatically load vim-dadbod when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

vim-dadbod-completion

URL: https://github.com/kristijanhusak/vim-dadbod-completion/

Maintainers: Boney Patel

plugins.vim-dadbod-completion.enable

Whether to enable vim-dadbod-completion.

Type: boolean

Default: false

Example: true

Declared by:

plugins.vim-dadbod-completion.package

The vim-dadbod-completion package to use.

Type: package

Default: pkgs.vimPlugins.vim-dadbod-completion

Declared by:

plugins.vim-dadbod-completion.autoLoad

Whether to automatically load vim-dadbod-completion when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

vim-dadbod-ui

URL: https://github.com/kristijanhusak/vim-dadbod-ui/

Maintainers: Boney Patel

plugins.vim-dadbod-ui.enable

Whether to enable vim-dadbod-ui.

Type: boolean

Default: false

Example: true

Declared by:

plugins.vim-dadbod-ui.package

The vim-dadbod-ui package to use.

Type: package

Default: pkgs.vimPlugins.vim-dadbod-ui

Declared by:

plugins.vim-dadbod-ui.autoLoad

Whether to automatically load vim-dadbod-ui when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

vim-matchup

URL: https://github.com/andymass/vim-matchup/

Maintainers: Gaetan Lepage

plugins.vim-matchup.enable

Whether to enable vim-matchup.

Type: boolean

Default: false

Example: true

Declared by:

plugins.vim-matchup.package

The vim-matchup package to use.

Type: package

Default: pkgs.vimPlugins.vim-matchup

Declared by:

plugins.vim-matchup.autoLoad

Whether to automatically load vim-matchup when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.vim-matchup.settings

The configuration options for vim-matchup without the matchup_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal matchup_foo_bar=1
  • hello = "world" -> :setglobal matchup_hello="world"
  • some_toggle = true -> :setglobal matchup_some_toggle
  • other_toggle = false -> :setglobal nomatchup_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  matchparen_offscreen = {
    method = "popup";
  };
  mouse_enabled = 0;
  surround_enabled = 1;
  transmute_enabled = 1;
}

Declared by:

plugins.vim-matchup.settings.enabled

Set to 0 to disable the plugin entirely.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.vim-matchup.settings.delim_count_fail

When disabled (default), giving an invalid count to the |[%| and |]%| motions and the text objects |i%| and |a%| will cause the motion or operation to fail.

When enabled, they will move as far as possible.

Note: targeting high counts when this option is enabled can become slow because many positions need to be tried before giving up.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.vim-matchup.settings.delim_nomids

If set to 1, middle words (like return) are not matched to start and end words for highlighting and motions.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.vim-matchup.settings.delim_noskips

This option controls whether matching is done within strings and comments.

  • By default, it is set to 0 which means all valid matches are made within strings and comments.
  • If set to 1, symbols like () will still be matched but words like for and end will not.
  • If set to 2, nothing will be matched within strings and comments.

Type: null or one of 0, 1, 2 or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.vim-matchup.settings.delim_start_plaintext

When enabled (the default), the plugin will be loaded for all buffers, including ones without a file type set.

This allows matching to be done in new buffers and plain text files but adds a small start-up cost to vim.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.vim-matchup.settings.delim_stopline

Configures the number of lines to search in either direction while using motions and text objects. Does not apply to match highlighting (see matchparen_stopline instead).

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1500

Declared by:

plugins.vim-matchup.settings.mappings_enabled

Set to 0 to disable all mappings.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.vim-matchup.settings.matchparen_deferred

Deferred highlighting improves cursor movement performance (for example, when using |hjkl|) by delaying highlighting for a short time and waiting to see if the cursor continues moving.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.vim-matchup.settings.matchparen_deferred_fade_time

When set to {time} in milliseconds, the deferred highlighting behavior is changed in two ways:

  1. Highlighting of matches is preserved for at least {time} even when the cursor is moved away.
  2. If the cursor stays on the same match for longer than {time}, highlighting is cleared.

The effect is that highlighting occurs momentarily and then disappears, regardless of where the cursor is. It is possible that fading takes longer than {time}, if vim is busy doing other things.

This value should be greater than the deferred show delay.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.vim-matchup.settings.matchparen_deferred_hide_delay

If the cursor has not stopped moving, assume highlight is stale after this many milliseconds.

Stale highlights are hidden.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 700

Declared by:

plugins.vim-matchup.settings.matchparen_deferred_show_delay

Delay, in milliseconds, between when the cursor moves and when we start checking if the cursor is on a match.

Applies to both making highlights and clearing them for deferred highlighting.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 50

Declared by:

plugins.vim-matchup.settings.matchparen_enabled

This option can disable match highlighting at |startup|.

Note: vim’s built-in plugin |pi_paren| plugin is also disabled. The variable g:loaded_matchparen has no effect on match-up.

You can also enable and disable highlighting for specific buffers using the variable |b:matchup_matchparen_enabled|.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.vim-matchup.settings.matchparen_end_sign

Configure the virtual symbol shown for closeless matches in languages like C++ and python.

if (true)
  cout << "";
else
  cout << ""; ◀ if

Type: null or string or raw lua code

Default: null

Plugin default: "◀"

Declared by:

plugins.vim-matchup.settings.matchparen_hi_background

Highlight buffer background between matches. This uses the MatchBackground highlighting group and is linked to ColorColumn by default.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.vim-matchup.settings.matchparen_hi_surround_always

Always highlight the surrounding words, if possible. This is like |<plug>(matchup-hi-surround)| but is updated each time the cursor moves.

This requires deferred matching (matchparen_deferred = 1).

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.vim-matchup.settings.matchparen_insert_timeout

Adjust the timeouts in milliseconds for highlighting.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 60

Declared by:

plugins.vim-matchup.settings.matchparen_nomode

When not empty, match highlighting will be disabled in the specified modes, where each mode is a single character like in the |mode()| function.

E.g., to disable highlighting in insert mode,

matchparen_nomode = "i";

and in visual modes,

matchparen_nomode = "vV\<c-v>";

Note: In visual modes, this takes effect only after moving the cursor.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Example: "vV<c-v>"

Declared by:

plugins.vim-matchup.settings.matchparen_pumvisible

If set to 1, matches will be made even when the |popupmenu-completion| is visible.

If you use an auto-complete plugin which interacts badly with matching, set this option to 0.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.vim-matchup.settings.matchparen_singleton

Whether or not to highlight recognized words even if there is no match.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.vim-matchup.settings.matchparen_stopline

The number of lines to search in either direction while highlighting matches.

Set this conservatively since high values may cause performance issues.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 400

Declared by:

plugins.vim-matchup.settings.matchparen_timeout

Adjust the timeouts in milliseconds for highlighting.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 300

Declared by:

plugins.vim-matchup.settings.motion_cursor_end

If enabled, cursor will land on the end of mid and close words while moving downwards (|%|/|]%|). While moving upwards (|g%|, |[%|) the cursor will land on the beginning. Set to 0 to disable.

Note: this has no effect on operators: d% will delete |inclusive| of the ending word (this is compatible with matchit).

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.vim-matchup.settings.motion_enabled

Set to 0 to disable motions (|matchup-%|, |%|, |[%|, |]%|).

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.vim-matchup.settings.motion_override_Npercent

In vim, {count}% goes to the {count} percentage in the file (see |N%|). match-up overrides this motion for small {count} (by default, anything less than 7).

  • For example, to allow {count}% for {count} less than 12, set it to 11.
  • To disable this feature, and restore vim’s default {count}%, set it to 0.
  • To always enable this feature, use any value greater than 99.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 6

Declared by:

plugins.vim-matchup.settings.mouse_enabled

Set to 0 to disable selecting matches with double click.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.vim-matchup.settings.override_vimtex

By default, match-up is disabled for tex files when the plugin |vimtex| is detected.

To enable match-up for tex files, set this option to 1. This will replace vimtex’s built-in highlighting and % map.

Note: matching may be computationally intensive for complex LaTeX documents. If you experience slowdowns, consider also setting matchparen_deferred to 1.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.vim-matchup.settings.surround_enabled

Enables the surround module which provides maps |ds%| and |cs%|.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.vim-matchup.settings.text_obj_enabled

Set to 0 to disable text objects (|a%|, |i%|).

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.vim-matchup.settings.text_obj_linewise_operators

Modifies the set of operators which may operate line-wise with |i%| (see |matchup-feat-linewise|).

You may use "v", "V", and "\<c-v>" (i.e., an actual CTRL-V character) to specify the corresponding visual mode.

You can also specify custom plugin operators with ‘g@’ and optionally, an expression separated by a comma.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "d"
  "y"
]

Declared by:

plugins.vim-matchup.settings.transmute_enabled

Set to 1 to enable the experimental transmute feature (|matchup-transmute|).

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.vim-matchup.settings.matchparen_offscreen

Attrs controlling the behavior with off-screen matches. If empty, this feature is disabled.

Type: null or (attribute set of anything)

Default: null

Plugin default:

{
  method = "status";
}

Example:

{
  __empty = null;
}

Declared by:

plugins.vim-matchup.settings.matchparen_offscreen.border

For floating window on neovim only: set to add a border. If the value is the integer 1, default borders are enabled.

A list or string can be specified as described in |nvim_open_win()|.

Type: null or (one of 0, 1) or list of string

Default: null

Plugin default: 0

Declared by:

plugins.vim-matchup.settings.matchparen_offscreen.fullwidth

For "popup" method: make the floating window as wide as the current window.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.vim-matchup.settings.matchparen_offscreen.highlight

For popup method on vim only: set to a highlight group to override the colors in the popup window. The default is to use *hl-Pmenu*.

Type: null or string or raw lua code

Default: null

Example: "OffscreenPopup"

Declared by:

plugins.vim-matchup.settings.matchparen_offscreen.method

Sets the method to use to show off-screen matches. Possible values are:

  • "status" (default): Replace the |status-line| for off-screen matches.
    If a match is off of the screen, the line belonging to that match will be displayed syntax-highlighted in the status line along with the line number (if line numbers are enabled). If the match is above the screen border, an additional Δ symbol will be shown to indicate that the matching line is really above the cursor line.
  • "status_manual": Compute the string which would be displayed in the status-line or popup, but do not display it. The function MatchupStatusOffscreen() can be used to get the text.
  • "popup": Use a floating window to show the off-screen match.

Type: null or one of “status”, “status_manual”, “popup”

Default: null

Plugin default: "status"

Example: "popup"

Declared by:

plugins.vim-matchup.settings.matchparen_offscreen.scrolloff

When enabled, off-screen matches will not be shown in the statusline while the cursor is at the screen edge (respects the value of 'scrolloff').

This is intended to prevent flickering while scrolling with j and k.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.vim-matchup.settings.matchparen_offscreen.syntax_hl

For popup method on vim only: syntax highlight the code in the popup. May have performance implications.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.vim-matchup.treesitter

Options provided to the treesitter matchup integration.

Type: attribute set of anything

Default: { }

Example:

{
  disable = [
    "c"
    "ruby"
  ];
  enable = true;
}

Declared by:

plugins.vim-matchup.treesitter.enable

Whether to enable treesitter integration.

Type: boolean

Default: false

Example: true

Declared by:

plugins.vim-matchup.treesitter.disable

Languages for which to disable this module.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.vim-matchup.treesitter.disable_virtual_text

Do not use virtual text to highlight the virtual end of a block, for languages without explicit end markers (e.g., Python).

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.vim-matchup.treesitter.include_match_words

Additionally include traditional vim regex matches for symbols. For example, highlights /* */ comments in C++ which are not supported in tree-sitter matching.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

vim-slime

URL: https://github.com/jpalardy/vim-slime/

Maintainers: Gaetan Lepage

plugins.vim-slime.enable

Whether to enable vim-slime.

Type: boolean

Default: false

Example: true

Declared by:

plugins.vim-slime.package

The vim-slime package to use.

Type: package

Default: pkgs.vimPlugins.vim-slime

Declared by:

plugins.vim-slime.autoLoad

Whether to automatically load vim-slime when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.vim-slime.settings

The configuration options for vim-slime without the slime_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal slime_foo_bar=1
  • hello = "world" -> :setglobal slime_hello="world"
  • some_toggle = true -> :setglobal slime_some_toggle
  • other_toggle = false -> :setglobal noslime_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  bracketed_paste = 0;
  default_config = {
    socket_name = "default";
    target_pane = "{last}";
  };
  dont_ask_default = 0;
  no_mappings = 0;
  paste_file = "$HOME/.slime_paste";
  preserve_curpos = 1;
  target = "screen";
  vimterminal_cmd = null;
}

Declared by:

plugins.vim-slime.settings.bracketed_paste

Sometimes REPL are too smart for their own good, e.g. autocompleting a bracket that should not be autocompleted when pasting code from a file. In this case it can be useful to rely on bracketed-paste (https://cirw.in/blog/bracketed-paste). Luckily, tmux knows how to handle that. See tmux’s manual.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.vim-slime.settings.default_config

Pre-filled prompt answer.

Examples:

  • tmux:

      {
        socket_name = "default";
        target_pane = "{last}";
      }
    
  • zellij:

      {
        session_id = "current";
        relative_pane = "right";
      }
    

Type: null or (attribute set of (string or raw lua code))

Default: null

Declared by:

plugins.vim-slime.settings.dont_ask_default

Whether to bypass the prompt and use the specified default configuration options.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.vim-slime.settings.no_mappings

Whether to disable the default mappings.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.vim-slime.settings.paste_file

Required to transfer data from vim to GNU screen or tmux. Setting this explicitly can work around some occasional portability issues. whimrepl does not require or support this setting.

Type: null or string or raw lua code

Default: null

Plugin default: "$HOME/.slime_paste"

Declared by:

plugins.vim-slime.settings.preserve_curpos

Whether to preserve cursor position when sending a line or paragraph.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.vim-slime.settings.target

Which backend vim-slime should use.

Type: null or one of “dtach”, “kitty”, “neovim”, “screen”, “tmux”, “vimterminal”, “wezterm”, “whimrepl”, “x11”, “zellij” or raw lua code

Default: null

Plugin default: "screen"

Declared by:

plugins.vim-slime.settings.vimterminal_cmd

The vim terminal command to execute.

Type: null or string or raw lua code

Default: null

Declared by:

vim-suda

URL: https://github.com/lambdalisue/vim-suda/

Maintainers: Marcel

plugins.vim-suda.enable

Whether to enable vim-suda.

Type: boolean

Default: false

Example: true

Declared by:

plugins.vim-suda.package

The vim-suda package to use.

Type: package

Default: pkgs.vimPlugins.vim-suda

Declared by:

plugins.vim-suda.autoLoad

Whether to automatically load vim-suda when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.vim-suda.settings

The configuration options for vim-suda without the suda# prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal suda#foo_bar=1
  • hello = "world" -> :setglobal suda#hello="world"
  • some_toggle = true -> :setglobal suda#some_toggle
  • other_toggle = false -> :setglobal nosuda#other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  noninteractive = 1;
  path = "doas";
  prompt = "Pass: ";
  smart_edit = 1;
}

Declared by:

plugins.vim-suda.settings.executable

Path to the sudo binary.

Type: null or string or raw lua code

Default: null

Plugin default: "sudo"

Declared by:

plugins.vim-suda.settings.noninteractive

If set, suda will not prompt you for a password before saving a file. It is supposed to support a setup with passwordless sudo or doas. Use with care.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.vim-suda.settings.prompt

A prompt string used to ask password.

Type: null or string or raw lua code

Default: null

Plugin default: "Password: "

Declared by:

plugins.vim-suda.settings.smart_edit

If set, an |autocmd| is created that performs a heuristic check on every buffer and decides whether to replace it with a suda buffer. The check is done only once for every buffer and it is designed to be optimized as possible so you shouldn’t feel any slowdown when opening buffers.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

vim-surround

URL: https://github.com/tpope/vim-surround/

Maintainers: Gaetan Lepage

plugins.vim-surround.enable

Whether to enable surround.vim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.vim-surround.package

The surround.vim package to use.

Type: package

Default: pkgs.vimPlugins.vim-surround

Declared by:

plugins.vim-surround.autoLoad

Whether to automatically load surround.vim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

vim-test

URL: https://github.com/vim-test/vim-test/

Maintainers: Gaetan Lepage

plugins.vim-test.enable

Whether to enable vim-test.

Type: boolean

Default: false

Example: true

Declared by:

plugins.vim-test.package

The vim-test package to use.

Type: package

Default: pkgs.vimPlugins.vim-test

Declared by:

plugins.vim-test.autoLoad

Whether to automatically load vim-test when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.vim-test.settings

The configuration options for vim-test without the test# prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal test#foo_bar=1
  • hello = "world" -> :setglobal test#hello="world"
  • some_toggle = true -> :setglobal test#some_toggle
  • other_toggle = false -> :setglobal notest#other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  "javascript#jest#options" = "--reporters jest-vim-reporter";
  "neovim#term_position" = "vert";
  preserve_screen = false;
  strategy = {
    file = "vimux";
    nearest = "vimux";
    suite = "vimux";
  };
}

Declared by:

vimade

URL: https://github.com/TaDaa/vimade/

Maintainers: Gaetan Lepage

plugins.vimade.enable

Whether to enable vimade.

Type: boolean

Default: false

Example: true

Declared by:

plugins.vimade.package

The vimade package to use.

Type: package

Default: pkgs.vimPlugins.vimade

Declared by:

plugins.vimade.autoLoad

Whether to automatically load vimade when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.vimade.settings

Options provided to the require('vimade').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  fadelevel = 0.7;
  recipe = [
    "duo"
    {
      animate = true;
    }
  ];
  tint = {
    bg = {
      intensity = 0.1;
      rgb = [
        255
        255
        255
      ];
    };
    fg = {
      intensity = 0.1;
      rgb = [
        255
        255
        255
      ];
    };
  };
}

Declared by:

plugins.vimade.lazyLoad

Lazy-load settings for vimade.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.vimade.lazyLoad.enable

lazy-loading for vimade

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.vimade.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.vimade.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.vimade.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.vimade.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

vimtex

URL: https://github.com/lervag/vimtex/

Maintainers: Gaetan Lepage

plugins.vimtex.enable

Whether to enable vimtex.

Type: boolean

Default: false

Example: true

Declared by:

plugins.vimtex.package

The vimtex package to use.

Type: package

Default: pkgs.vimPlugins.vimtex

Declared by:

plugins.vimtex.autoLoad

Whether to automatically load vimtex when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.vimtex.mupdfPackage

The mupdf package to use.

Type: null or package

Default: pkgs.mupdf

Declared by:

plugins.vimtex.pstreePackage

The pstree package to use.

Type: null or package

Default: pkgs.pstree

Declared by:

plugins.vimtex.texlivePackage

The texlive package to use.

Type: null or package

Default: pkgs.texlive.combined.scheme-medium

Declared by:

plugins.vimtex.xdotoolPackage

The xdotool package to use.

Type: null or package

Default: pkgs.xdotool

Declared by:

plugins.vimtex.zathuraPackage

The zathura package to use.

Type: null or package

Default: pkgs.zathura

Declared by:

plugins.vimtex.settings

The configuration options for vimtex without the vimtex_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal vimtex_foo_bar=1
  • hello = "world" -> :setglobal vimtex_hello="world"
  • some_toggle = true -> :setglobal vimtex_some_toggle
  • other_toggle = false -> :setglobal novimtex_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  compiler_method = "latexrun";
  toc_config = {
    split_pos = "vert topleft";
    split_width = 40;
  };
  view_method = "zathura";
}

Declared by:

plugins.vimtex.settings.view_method

Set the viewer method. By default, a generic viewer is used through the general view method (e.g. xdg-open on Linux).

Type: string

Default: "general"

Example: "zathura"

Declared by:

vimux

URL: https://github.com/preservim/vimux/

Maintainers: Gaetan Lepage

plugins.vimux.enable

Whether to enable vimux.

Type: boolean

Default: false

Example: true

Declared by:

plugins.vimux.package

The vimux package to use.

Type: package

Default: pkgs.vimPlugins.vimux

Declared by:

plugins.vimux.autoLoad

Whether to automatically load vimux when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.vimux.settings

The configuration options for vimux without the Vimux prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal Vimuxfoo_bar=1
  • hello = "world" -> :setglobal Vimuxhello="world"
  • some_toggle = true -> :setglobal Vimuxsome_toggle
  • other_toggle = false -> :setglobal noVimuxother_toggle

Type: attribute set of anything

Default: { }

Example:

{
  Height = "25";
  Orientation = "h";
  UseNearest = 0;
}

Declared by:

plugins.vimux.settings.CloseOnExit

Set this option to 1 to tell vimux to close the runner when you quit vim.

Caution: It is probably best not to mix this with RunnerName.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.vimux.settings.CommandShell

  • Set this option to 1 to enable shell completion in PromptCommand.
  • Set this option to 0 to enable vim command editing in PromptCommand.

Enabling shell completion blocks the ability to use up-arrow to cycle through previously-run commands in PromptCommand.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.vimux.settings.Debug

If you’re having trouble with vimux, set this option to get vimux to pass each tmux command to |echomsg| before running it.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.vimux.settings.ExpandCommand

Should the command given at the prompt via PromptCommand be expanded using expand().

Set to 1 to expand the string.

Unfortunately expand() only expands % (etc.) if the string starts with that character. So the command is split at spaces and then rejoined after expansion. With this simple approach things like "%:h/test.xml" are not possible.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.vimux.settings.Height

The part of the screen the split pane Vimux will spawn should take up. This option accepts both a number of lines/columns or a percentage.

Type: null or string or raw lua code

Default: null

Plugin default: "20%"

Example: "40"

Declared by:

plugins.vimux.settings.OpenExtraArgs

Allows additional arguments to be passed to the tmux command that opens the runner.

Make sure that the arguments specified are valid depending on whether you’re using panes or windows, and your version of tmux.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Example: "-c #{pane_current_path}"

Declared by:

plugins.vimux.settings.Orientation

The default orientation of the split tmux pane.

This tells tmux to make the pane either vertically or horizontally, which is backward from how Vim handles creating splits.

Type: null or one of “v”, “h” or raw lua code

Default: null

Plugin default: "v"

Declared by:

plugins.vimux.settings.PromptString

The string presented in the vim command line when Vimux is invoked.

Be sure to put a space at the end of the string to allow for distinction between the prompt and your input.

Type: null or string or raw lua code

Default: null

Plugin default: "Command? "

Declared by:

plugins.vimux.settings.ResetSequence

The keys sent to the runner pane before running a command.

When vimux runs a tmux command, it first makes sure that the runner is not in copy mode by running copy-mode -q on the runner. This sequence is then sent to make sure that the runner is ready to receive input.

The default sends C-u to clear the line.

Type: null or string or raw lua code

Default: null

Plugin default: "C-u"

Example: ""

Declared by:

plugins.vimux.settings.RunnerName

Setting the name for the runner.

Works for panes and windows. This makes the VimuxRunner reusable between sessions. Caveat is, all your instances (in the same session/window) use the same window.

Caution: It is probably best not to mix this with CloseOnExit.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Example: "vimuxout"

Declared by:

plugins.vimux.settings.RunnerQuery

Set this option to define a query to use for looking up an existing runner pane or window when initiating Vimux.

Uses the tmux syntax for the target-pane and target-window command arguments. (See the man page for tmux).

It must be an attrs containing up to two keys, pane and window, defining the query to use for the respective runner types.

If no key exists for the current runner type, the search for an existing runner falls back to the UseNearest option (and the related RunnerName).

If that option is false or either command fails, a new runner is created instead, positioned according to Orientation.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Example:

{
  pane = "{down-of}";
  window = "vimux";
}

Declared by:

plugins.vimux.settings.RunnerType

The type of view object Vimux should use for the runner.

For reference, a tmux session is a group of windows, and a window is a layout of panes.

Type: null or one of “pane”, “window” or raw lua code

Default: null

Plugin default: "pane"

Declared by:

plugins.vimux.settings.TmuxCommand

The command that Vimux runs when it calls out to tmux.

It may be useful to redefine this if you’re using something like tmate.

Type: null or string or raw lua code

Default: null

Plugin default: "tmux"

Example: "tmate"

Declared by:

plugins.vimux.settings.UseNearest

Use existing pane or window (not used by vim) if found instead of running split-window.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

vimwiki

URL: https://github.com/vimwiki/vimwiki/

Maintainers: Gaetan Lepage

plugins.vimwiki.enable

Whether to enable vimwiki.

Type: boolean

Default: false

Example: true

Declared by:

plugins.vimwiki.package

The vimwiki package to use.

Type: package

Default: pkgs.vimPlugins.vimwiki

Declared by:

plugins.vimwiki.autoLoad

Whether to automatically load vimwiki when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.vimwiki.settings

The configuration options for vimwiki without the vimwiki_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal vimwiki_foo_bar=1
  • hello = "world" -> :setglobal vimwiki_hello="world"
  • some_toggle = true -> :setglobal vimwiki_some_toggle
  • other_toggle = false -> :setglobal novimwiki_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  autowriteall = 0;
  global_ext = 0;
  hl_cb_checked = 1;
  hl_headers = 1;
  key_mappings = {
    all_maps = 1;
    global = 1;
    headers = 1;
  };
  list = [
    {
      ext = ".md";
      path = "~/docs/notes/";
      syntax = "markdown";
    }
  ];
  listsym_rejected = "✗";
  listsyms = "○◐●✓";
  use_calendar = 1;
}

Declared by:

virt-column

URL: https://github.com/lukas-reineke/virt-column.nvim/

Maintainers: Alison Jenkins

plugins.virt-column.enable

Whether to enable virt-column.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.virt-column.package

The virt-column.nvim package to use.

Type: package

Default: pkgs.vimPlugins.virt-column-nvim

Declared by:

plugins.virt-column.autoLoad

Whether to automatically load virt-column.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.virt-column.lazyLoad

Lazy-load settings for virt-column.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.virt-column.lazyLoad.enable

lazy-loading for virt-column.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.virt-column.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.virt-column.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.virt-column.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.virt-column.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.virt-column.settings

Options provided to the require('virt-column').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  char = "┃";
  enabled = true;
  exclude = {
    buftypes = [
      "nofile"
      "quickfix"
      "terminal"
      "prompt"
    ];
    filetypes = [
      "lspinfo"
      "packer"
      "checkhealth"
      "help"
      "man"
      "TelescopePrompt"
      "TelescopeResults"
    ];
  };
  highlight = "NonText";
  virtcolumn = "";
}

Declared by:

plugins.virt-column.settings.enabled

Enables or disables virt-column.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.virt-column.settings.char

Character, or list of characters, that get used to display the virtual column. Each character has to have a display width of 0 or 1.

Type: null or string or list of string

Default: null

Plugin default:

[
  "┃"
]

Declared by:

plugins.virt-column.settings.highlight

Highlight group, or list of highlight groups, that get applied to the virtual column.

Type: null or string or list of string

Default: null

Plugin default: "NonText"

Declared by:

plugins.virt-column.settings.virtcolumn

Comma-separated list of screen columns same syntax as :help colorcolumn.

Type: null or string or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.virt-column.settings.exclude.buftypes

List of buftypes for which virt-column is disabled.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "nofile"
  "quickfix"
  "terminal"
  "prompt"
]

Declared by:

plugins.virt-column.settings.exclude.filetypes

List of filetypes for which virt-column is disabled.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "lspinfo"
  "packer"
  "checkhealth"
  "help"
  "man"
  "TelescopePrompt"
  "TelescopeResults"
]

Declared by:

visual-multi

URL: https://github.com/mg979/vim-visual-multi/

Maintainers: Gaetan Lepage

plugins.visual-multi.enable

Whether to enable vim-visual-multi.

Type: boolean

Default: false

Example: true

Declared by:

plugins.visual-multi.package

The vim-visual-multi package to use.

Type: package

Default: pkgs.vimPlugins.vim-visual-multi

Declared by:

plugins.visual-multi.autoLoad

Whether to automatically load vim-visual-multi when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.visual-multi.settings

The configuration options for visual-multi without the VM_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal VM_foo_bar=1
  • hello = "world" -> :setglobal VM_hello="world"
  • some_toggle = true -> :setglobal VM_some_toggle
  • other_toggle = false -> :setglobal noVM_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  default_mappings = 1;
  maps = {
    "Add Cursor Down" = "<M-Down>";
    "Add Cursor Up" = "<M-Up>";
    "Mouse Cursor" = "<M-LeftMouse>";
    "Mouse Word" = "<M-RightMouse>";
    "Select All" = "<C-M-n>";
  };
  mouse_mappings = 1;
  show_warnings = 1;
  silent_exit = 0;
}

Declared by:

plugins.visual-multi.settings.add_cursor_at_pos_no_mappings

When starting VM by adding a single cursor at position, don’t enable buffer mappings, so that you can keep moving freely the cursor to add more cursors elsewhere.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.visual-multi.settings.case_setting

Starting case matching for patterns. Can be switched inside VM. Leave empty to use your current setting.

Type: null or one of “”, “smart”, “sensitive”, “ignore” or raw lua code

Default: null

Plugin default: ""

Declared by:

plugins.visual-multi.settings.custom_motions

To remap any standard motion (h, j, k, l, f…) commands.

It can be useful if you use keyboard layouts other than QWERTY.

Valid motions that you can remap are:

h j k l w W b B e E ge gE , ; $ 0 ^ % \| f F t T

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Example:

{
  h = "l";
  l = "h";
}

Declared by:

plugins.visual-multi.settings.custom_noremaps

To remap any key to normal! commands.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Example:

{
  "<<" = "<<";
  "==" = "==";
  ">>" = ">>";
}

Declared by:

plugins.visual-multi.settings.custom_remaps

To remap VM mappings to other VM mappings.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Example:

{
  "<c-p>" = "N";
  "<c-s>" = "q";
}

Declared by:

plugins.visual-multi.settings.default_mappings

Default mappings are permanent, that is, always available, and applied when Vim starts.

Buffer mappings instead are applied per-buffer, when VM is started. Permanent mappings, except <C-n>, can be disabled by setting this option to 0.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.visual-multi.settings.disable_syntax_in_imode

Whether to disable syntax highlighting in insert mode.

You could want to do it for performance reasons.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.visual-multi.settings.filesize_limit

VM won’t start if buffer size is greater than this.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.visual-multi.settings.highlight_matches

Controls VM default highlighting style for patterns matched, but not selected.

Possible useful values are "underline" and "red". Otherwise an empty string if you want the normal |Search| highlight, or a full highlight command (help |:hi|).

Type: null or string or raw lua code

Default: null

Plugin default: "underline"

Example: "hi Search ctermfg=228 cterm=underline"

Declared by:

plugins.visual-multi.settings.insert_special_keys

Some keys in insert mode can have a different behaviour, compared to vim defaults. Possible values:

  • "c-a": <C-A> go to the beginning of the line, at indent level
  • "c-e": <C-E> go to the end of the line
  • "c-v": <C-V> paste from VM unnamed register

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "c-v"
]

Declared by:

plugins.visual-multi.settings.leader

Mappings preceded by \\ are meant prefixed with |g:VM_leader|.

Some of the permanent/visual mappings use the |g:VM_leader| as well, and you could want to use a different one for them. In this case you can define the leader as an attrs.

Type: null or string or (submodule)

Default: null

Plugin default: "\\\\"

Example:

{
  buffer = "z";
  default = "\\";
  visual = "\\";
}

Declared by:

plugins.visual-multi.settings.live_editing

Controls how often text is updated in insert mode.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.visual-multi.settings.maps

Customize key mappings.

Type: null or (attribute set of (string or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Example:

{
  "Add Cursor Down" = "<M-Down>";
  "Add Cursor Up" = "<M-Up>";
  "Mouse Cursor" = "<M-LeftMouse>";
  "Mouse Word" = "<M-RightMouse>";
  "Select All" = "<C-M-n>";
}

Declared by:

plugins.visual-multi.settings.mouse_mappings

Whether to enable mouse mappings.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.visual-multi.settings.persistent_registers

If true VM registers will be stored in the |viminfo|. The viminfo option must include !, for this to work.

Also see |:VMRegisters|.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.visual-multi.settings.plugins_compatibilty

Used for plugins compatibility, see |vm-compatibility|.

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.visual-multi.settings.quit_after_leaving_insert_mode

So that you don’t have to type <Esc> twice.

If you set this to 1, maybe you can remap Reselect Last, so that you can quickly restart VM with your last selection. See |vm-quick-reference|.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.visual-multi.settings.recursive_operations_at_cursors

When executing normal commands in cursor mode (dw and similar), by default recursive mappings are used, so that user text object can be used as well.

Set to 0 if you always want commands in cursor mode to be non-recursive.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.visual-multi.settings.reindent_filetypes

Autoindentation (via |indentkeys|) is temporarily disabled in insert mode, and you have to reindent edited lines yoursef.

For filetypes included in this list, edited lines are automatically reindented when exiting insert mode.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.visual-multi.settings.reselect_first

The first region will be reselected after most commands, if set to 1.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.visual-multi.settings.set_statusline

Enable statusline when VM is active.

  • With a value of 1, the statusline will be set once, on VM start.
  • With a value of 2, the statusline will be refreshed on |CursorHold| event.
  • With a value of 3, also on |CursorMoved| event.

Type: null or one of 1, 2, 3 or raw lua code

Default: null

Plugin default: 2

Declared by:

plugins.visual-multi.settings.show_warnings

When entering VM and there are mapping conflicts, a warning is displayed.

Set to 0 to disable this warning. You can still run |:VMDebug| to see if there are conflicts.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.visual-multi.settings.silent_exit

Don’t display a message when exiting VM.

You may prefer it if you already set up statusline integration.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.visual-multi.settings.single_mode_auto_reset

If insert mode is entered while |vm-single-mode| is enabled, it will be reset automatically when exiting insert mode, unless this value is 0.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.visual-multi.settings.single_mode_maps

Set to 0 to disable entirely insert mode mappings to cycle cursors in |vm-single-mode|.

If you only want to change the default mappings, see |vm-mappings-buffer|.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.visual-multi.settings.skip_empty_lines

When adding cursors up/down, skip empty lines.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.visual-multi.settings.skip_shorter_lines

When adding cursors up/down, skip shorter lines.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.visual-multi.settings.use_first_cursor_in_line

In insert mode, the active cursor is normally the last selected one.

Set this option to 1 to always use the first cursor in the line.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.visual-multi.settings.user_operators

Cursor mode only.

The elements of the list can be simple strings (then any text object can be accepted) or an attrs with the operator as key, and the number of characters to be typed as value.

These operators can be either vim or plugin operators, mappings are passed recursively.

Note: |vim-surround| and |vim-abolish| have built-in support, this isn’t needed for them to work.

Type: null or (list of (string or attribute set of (unsigned integer, meaning >=0) or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Example:

[
  "yd"
  "cx"
  {
    cs = 2;
  }
]

Declared by:

plugins.visual-multi.settings.verbose_commands

Set to 1 if you want command prompts to be more informative, rather than as minimal as possible.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 0

Declared by:

visual-whitespace

URL: https://github.com/mcauley-penney/visual-whitespace.nvim/

Maintainers: Austin Horstman

plugins.visual-whitespace.enable

Whether to enable visual-whitespace.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.visual-whitespace.package

The visual-whitespace.nvim package to use.

Type: package

Default: pkgs.vimPlugins.visual-whitespace-nvim

Declared by:

plugins.visual-whitespace.autoLoad

Whether to automatically load visual-whitespace.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.visual-whitespace.settings

Options provided to the require('visual-whitespace').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  enabled = true;
  match_types = {
    lead = true;
    nbsp = true;
    space = true;
    tab = true;
    trail = true;
  };
}

Declared by:

plugins.visual-whitespace.lazyLoad

Lazy-load settings for visual-whitespace.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.visual-whitespace.lazyLoad.enable

lazy-loading for visual-whitespace.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.visual-whitespace.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.visual-whitespace.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.visual-whitespace.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.visual-whitespace.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

wakatime

URL: https://github.com/wakatime/vim-wakatime/

Maintainers: Gaetan Lepage

plugins.wakatime.enable

Whether to enable vim-wakatime.

Type: boolean

Default: false

Example: true

Declared by:

plugins.wakatime.package

The vim-wakatime package to use.

Type: package

Default: pkgs.vimPlugins.vim-wakatime

Declared by:

plugins.wakatime.autoLoad

Whether to automatically load vim-wakatime when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

web-devicons

URL: https://github.com/nvim-tree/nvim-web-devicons

Maintainers: Refael Sheinker

plugins.web-devicons.enable

Whether to enable nvim-web-devicons.

Type: boolean

Default: false

Example: true

Declared by:

plugins.web-devicons.package

The nvim-web-devicons package to use.

Type: package

Default: pkgs.vimPlugins.nvim-web-devicons

Declared by:

plugins.web-devicons.autoLoad

Whether to automatically load nvim-web-devicons when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.web-devicons.customIcons

Custom overrides for icons.

Type: null or (attribute set of ((anything) or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.web-devicons.settings

Options provided to the require('nvim-web-devicons').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  color_icons = true;
  strict = true;
}

Declared by:

plugins.web-devicons.defaultIcon

Set the default icon when none is found.

Type: null or (submodule)

Default: null

Declared by:

plugins.web-devicons.defaultIcon.color

Color of the icon.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.web-devicons.defaultIcon.cterm_color

Cterm color of the icon.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.web-devicons.defaultIcon.icon

Icon to use.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.web-devicons.lazyLoad

Lazy-load settings for nvim-web-devicons.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.web-devicons.lazyLoad.enable

lazy-loading for nvim-web-devicons

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.web-devicons.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.web-devicons.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.web-devicons.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.web-devicons.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

wezterm

URL: https://github.com/willothy/wezterm.nvim/

Maintainers: Austin Horstman

plugins.wezterm.enable

Whether to enable wezterm.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.wezterm.package

The wezterm.nvim package to use.

Type: package

Default: pkgs.vimPlugins.wezterm-nvim

Declared by:

plugins.wezterm.autoLoad

Whether to automatically load wezterm.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.wezterm.lazyLoad

Lazy-load settings for wezterm.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.wezterm.lazyLoad.enable

lazy-loading for wezterm.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.wezterm.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.wezterm.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.wezterm.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.wezterm.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.wezterm.settings

Options provided to the require('wezterm').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  create_commands = false;
}

Declared by:

plugins.wezterm.settings.create_commands

Whether to create plugin commands.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

which-key

URL: https://github.com/folke/which-key.nvim/

Maintainers: Austin Horstman

plugins.which-key.enable

Whether to enable which-key.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.which-key.package

The which-key.nvim package to use.

Type: package

Default: pkgs.vimPlugins.which-key-nvim

Declared by:

plugins.which-key.autoLoad

Whether to automatically load which-key.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.which-key.lazyLoad

Lazy-load settings for which-key.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.which-key.lazyLoad.enable

lazy-loading for which-key.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.which-key.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.which-key.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.which-key.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.which-key.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.which-key.settings

Options provided to the require('which-key').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  delay = 200;
  expand = 1;
  notify = false;
  preset = false;
  replace = {
    desc = [
      [
        "<space>"
        "SPACE"
      ]
      [
        "<leader>"
        "SPACE"
      ]
      [
        "<[cC][rR]>"
        "RETURN"
      ]
      [
        "<[tT][aA][bB]>"
        "TAB"
      ]
      [
        "<[bB][sS]>"
        "BACKSPACE"
      ]
    ];
  };
  spec = [
    {
      __unkeyed-1 = "<leader>b";
      group = "Buffers";
      icon = "󰓩 ";
    }
    {
      __unkeyed = "<leader>c";
      group = "Codesnap";
      icon = "󰄄 ";
      mode = "v";
    }
    {
      __unkeyed-1 = "<leader>bs";
      group = "Sort";
      icon = "󰒺 ";
    }
    {
      __unkeyed-1 = [
        {
          __unkeyed-1 = "<leader>f";
          group = "Normal Visual Group";
        }
        {
          __unkeyed-1 = "<leader>f<tab>";
          group = "Normal Visual Group in Group";
        }
      ];
      mode = [
        "n"
        "v"
      ];
    }
    {
      __unkeyed-1 = "<leader>w";
      group = "windows";
      proxy = "<C-w>";
    }
    {
      __unkeyed-1 = "<leader>cS";
      __unkeyed-2 = "<cmd>CodeSnapSave<CR>";
      desc = "Save";
      mode = "v";
    }
    {
      __unkeyed-1 = "<leader>db";
      __unkeyed-2 = {
        __raw = ''
          function()
            require("dap").toggle_breakpoint()
          end
        '';
      };
      desc = "Breakpoint toggle";
      mode = "n";
      silent = true;
    }
  ];
  win = {
    border = "single";
  };
}

Declared by:

plugins.which-key.settings.debug

Enable wk.log in the current directory.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.which-key.settings.defer

Start hidden and wait for a key to be pressed before showing the popup.

Only used by enabled xo mapping modes.

Type: null or lua function string

Default: null

Plugin default:

{
  __raw = ''
    function(ctx)
      return ctx.mode == "V" or ctx.mode == "<C-V>
     end'';
}

Declared by:

plugins.which-key.settings.delay

Delay before showing the popup. Can be a number or a function that returns a number.

Type: null or signed integer or raw lua code

Default: null

Plugin default:

{
  __raw = ''
    function(ctx)
      return ctx.plugin and 0 or 200
    end
  '';
}

Declared by:

plugins.which-key.settings.expand

Expand groups when <= n mappings.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.which-key.settings.filter

Filter used to exclude mappings

Type: null or lua function string

Default: null

Plugin default:

{
  __raw = ''
    function(mapping)
      return true
    end
  '';
}

Declared by:

plugins.which-key.settings.notify

Show a warning when issues were detected with your mappings.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.which-key.settings.preset

Preset style for WhichKey. Set to false to disable.

Type: null or one of “classic”, “modern”, “helix”, false or raw lua code

Default: null

Plugin default: "classic"

Declared by:

plugins.which-key.settings.show_help

Show a help message in the command line for using WhichKey.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.which-key.settings.show_keys

Show the currently pressed key and its label as a message in the command line.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.which-key.settings.sort

Mappings are sorted using configured sorters and natural sort of the keys.

Type: null or (list of (one of “local”, “order”, “group”, “alphanum”, “mod”, “manual”, “case” or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "local"
  "order"
  "group"
  "alphanum"
  "mod"
]

Declared by:

plugins.which-key.settings.spec

WhichKey automatically gets the descriptions of your keymaps from the desc attribute of the keymap. So for most use-cases, you don’t need to do anything else.

However, the mapping spec is still useful to configure group descriptions and mappings that don’t really exist as a regular keymap.

Please refer to the plugin’s documentation.

Type: null or (list of ((attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Example:

[
  {
    __unkeyed-1 = "<leader>b";
    group = "Buffers";
    icon = "󰓩 ";
  }
  {
    __unkeyed = "<leader>c";
    group = "Codesnap";
    icon = "󰄄 ";
    mode = "v";
  }
  {
    __unkeyed-1 = "<leader>bs";
    group = "Sort";
    icon = "󰒺 ";
  }
  {
    __unkeyed-1 = [
      {
        __unkeyed-1 = "<leader>f";
        group = "Normal Visual Group";
      }
      {
        __unkeyed-1 = "<leader>f<tab>";
        group = "Normal Visual Group in Group";
      }
    ];
    mode = [
      "n"
      "v"
    ];
  }
  {
    __unkeyed-1 = "<leader>w";
    group = "windows";
    proxy = "<C-w>";
  }
  {
    __unkeyed-1 = "<leader>cS";
    __unkeyed-2 = "<cmd>CodeSnapSave<CR>";
    desc = "Save";
    mode = "v";
  }
  {
    __unkeyed-1 = "<leader>db";
    __unkeyed-2 = {
      __raw = ''
        function()
          require("dap").toggle_breakpoint()
        end
      '';
    };
    desc = "Breakpoint toggle";
    mode = "n";
    silent = true;
  }
]

Declared by:

plugins.which-key.settings.triggers

Manually setup triggers

Type: null or (list of ((attribute set of anything) or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  {
    __unkeyed-1 = "<auto>";
    mode = "nxsot";
  }
]

Declared by:

plugins.which-key.settings.disable.bt

Buftypes to disable WhichKey.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.which-key.settings.disable.ft

Filetypes to disable WhichKey.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.which-key.settings.icons.breadcrumb

Symbol used in the command line area that shows your active key combo.

Type: null or string or raw lua code

Default: null

Plugin default: "»"

Declared by:

plugins.which-key.settings.icons.colors

Use the highlights from mini.icons.

When false, it will use WhichKeyIcon instead.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.which-key.settings.icons.ellipsis

Symbol used for overflow.

Type: null or string or raw lua code

Default: null

Plugin default: "…"

Declared by:

plugins.which-key.settings.icons.group

Symbol prepended to a group.

Type: null or string or raw lua code

Default: null

Plugin default: "+"

Declared by:

plugins.which-key.settings.icons.keys

Icons used by key format.

Type: null or (attribute set)

Default: null

Plugin default:

{
  BS = "󰁮";
  C = "󰘴 ";
  CR = "󰌑 ";
  D = "󰘳 ";
  Down = " ";
  Esc = "󱊷 ";
  F1 = "󱊫";
  F10 = "󱊴";
  F11 = "󱊵";
  F12 = "󱊶";
  F2 = "󱊬";
  F3 = "󱊭";
  F4 = "󱊮";
  F5 = "󱊯";
  F6 = "󱊰";
  F7 = "󱊱";
  F8 = "󱊲";
  F9 = "󱊳";
  Left = " ";
  M = "󰘵 ";
  NL = "󰌑 ";
  Right = " ";
  S = "󰘶 ";
  ScrollWheelDown = "󱕐 ";
  ScrollWheelUp = "󱕑 ";
  Space = "󱁐 ";
  Tab = "󰌒 ";
  Up = " ";
}

Declared by:

plugins.which-key.settings.icons.mappings

Set to false to disable all mapping icons.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.which-key.settings.icons.rules

Icon rules. Set to false to disable all icons.

Type: null or (list of (attribute set)) or boolean

Default: null

Plugin default: [ ]

Declared by:

plugins.which-key.settings.icons.separator

Symbol used between a key and its label.

Type: null or string or raw lua code

Default: null

Plugin default: "➜"

Declared by:

plugins.which-key.settings.keys.scroll_down

Binding to scroll down in the popup.

Type: null or string or raw lua code

Default: null

Plugin default: "<c-d>"

Declared by:

plugins.which-key.settings.keys.scroll_up

Binding to scroll up in the popup.

Type: null or string or raw lua code

Default: null

Plugin default: "<c-u>"

Declared by:

plugins.which-key.settings.layout.spacing

Spacing between columns.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 3

Declared by:

plugins.which-key.settings.layout.width.max

Maximum width.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.which-key.settings.layout.width.min

Minimum width.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 20

Declared by:

plugins.which-key.settings.plugins.marks

Shows a list of your marks on ' and `.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.which-key.settings.plugins.registers

Shows your registers on " in NORMAL or <C-r> in INSERT mode.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.which-key.settings.plugins.presets.g

Show WhichKey for bindings prefixed with g.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.which-key.settings.plugins.presets.motions

Adds help for motions.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.which-key.settings.plugins.presets.nav

Misc bindings to work with windows.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.which-key.settings.plugins.presets.operators

Adds help for operators like d, y, …

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.which-key.settings.plugins.presets.text_objects

Help for text objects triggered after entering an operator.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.which-key.settings.plugins.presets.windows

Default bindings on <c-w>.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.which-key.settings.plugins.presets.z

Show WhichKey for folds, spelling and other bindings prefixed with z.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.which-key.settings.plugins.spelling.enabled

Enabling this will show WhichKey when pressing z= to select spelling suggestions.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.which-key.settings.plugins.spelling.suggestions

How many suggestions should be shown in the list?

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 20

Declared by:

plugins.which-key.settings.replace.desc

Lua patterns to replace right side description references with.

Type: null or (list of ((list of string) or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  [
    "<Plug>%(?(.*)%)?"
    "%1"
  ]
  [
    "^%+"
    ""
  ]
  [
    "<[cC]md>"
    ""
  ]
  [
    "<[cC][rR]>"
    ""
  ]
  [
    "<[sS]ilent>"
    ""
  ]
  [
    "^lua%s+"
    ""
  ]
  [
    "^call%s+"
    ""
  ]
  [
    "^:%s*"
    ""
  ]
]

Declared by:

plugins.which-key.settings.replace.key

Lua functions or list of strings to replace key left side key name with.

Type: null or (list of (lua function string or list of string or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  __raw = ''
    function(key)
      return require("which-key.view").format(key)
    end
  '';
}

Declared by:

plugins.which-key.settings.win.border

Allows configuring the border of which-key.

Supports all available border types from vim.api.keyset.win_config.border.

Defines the border to use for which-key. Accepts same border values as nvim_open_win(). See :help nvim_open_win() for more info.

Type: null or string or list of string or list of list of string or raw lua code

Default: null

Plugin default: "none"

Declared by:

plugins.which-key.settings.win.no_overlap

Don’t allow the popup to overlap with the cursor.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.which-key.settings.win.padding

Extra window padding, in the form [top/bottom, right/left].

Type: null or (list of 2 signed integer)

Default: null

Plugin default:

[
  1
  2
]

Declared by:

plugins.which-key.settings.win.title

Whether to show the title.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.which-key.settings.win.title_pos

Position of the title.

Type: null or string or raw lua code

Default: null

Plugin default: "center"

Declared by:

plugins.which-key.settings.win.zindex

Layer depth on the popup window.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 1000

Declared by:

plugins.which-key.settings.win.wo.winblend

0 for fully opaque and 100 for fully transparent.

Type: null or integer between 0 and 100 (both inclusive) or raw lua code

Default: null

Plugin default: 0

Declared by:

whichpy

URL: https://github.com/neolooong/whichpy.nvim/

Maintainers: Kasper Seweryn

plugins.whichpy.enable

Whether to enable whichpy.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.whichpy.package

The whichpy.nvim package to use.

Type: package

Default: pkgs.vimPlugins.whichpy-nvim

Declared by:

plugins.whichpy.autoLoad

Whether to automatically load whichpy.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.whichpy.neotestIntegration

Whether to enable neotest-integration for whichpy-nvim…

Type: boolean

Default: false

Example: true

Declared by:

plugins.whichpy.settings

Options provided to the require('whichpy').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  locator = {
    uv = {
      enable = true;
    };
    workspace = {
      depth = 3;
    };
  };
  update_path_env = true;
}

Declared by:

plugins.whichpy.lazyLoad

Lazy-load settings for whichpy.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.whichpy.lazyLoad.enable

lazy-loading for whichpy.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.whichpy.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.whichpy.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.whichpy.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.whichpy.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

whitespace

URL: https://github.com/johnfrankmorgan/whitespace.nvim/

Maintainers: Austin Horstman

plugins.whitespace.enable

Whether to enable whitespace.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.whitespace.package

The whitespace.nvim package to use.

Type: package

Default: pkgs.vimPlugins.whitespace-nvim

Declared by:

plugins.whitespace.autoLoad

Whether to automatically load whitespace.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.whitespace.settings

Options provided to the require('whitespace-nvim').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  ignored_filetypes = [
    "Avante"
    "AvanteInput"
    "TelescopePrompt"
    "Trouble"
    "blink-cmp-documentation"
    "blink-cmp-menu"
    "blink-cmp-signature"
    "checkhealth"
    "copilot-chat"
    "dashboard"
    "fzf"
    "help"
    "ministarter"
    "snacks_dashboard"
  ];
  return_cursor = false;
}

Declared by:

plugins.whitespace.lazyLoad

Lazy-load settings for whitespace.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.whitespace.lazyLoad.enable

lazy-loading for whitespace.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.whitespace.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.whitespace.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.whitespace.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.whitespace.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.wilder.enable

Whether to enable wilder-nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.wilder.enableCmdlineEnter

If true calls wilder#enable_cmdline_enter(). Creates a new |CmdlineEnter| autocmd to which will start wilder when the cmdline is entered.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.wilder.package

The wilder-nvim package to use.

Type: package

Default: pkgs.vimPlugins.wilder-nvim

Declared by:

plugins.wilder.acceptCompletionAutoSelect

The auto_select option passed to wilder#accept_completion(), if mapped.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.wilder.acceptKey

Mapping to bind to wilder#accept_completion().

NOTE: A string or an attrs (with keys key and fallback) representing the mapping to bind to |wilder#next()|. If a string is provided, it is automatically converted to {key = <KEY>; fallback = <KEY>;}.

  • mapping is the |cmap| used to bind to |wilder#next()|.
  • fallback is the mapping used if |wilder#in_context()| is false.

Type: null or string or (submodule)

Default: null

Plugin default: "<Down>"

Declared by:

plugins.wilder.beforeCursor

If true, wilder will look only at the part of the cmdline before the cursor, and when selecting a completion, the entire cmdline will be replaced. Only applicable if useCmdlinechanged is false.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wilder.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.wilder.interval

Interval of the |timer| used to check whether the cmdline has changed, in milliseconds. Only applicable if useCmdlinechanged is false.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 100

Declared by:

plugins.wilder.modes

List of modes that wilder will be active in.

Type: null or (list of (one of “/”, “?”, “:” or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "/"
  "?"
]

Declared by:

plugins.wilder.nextKey

A key to map to wilder#next() providing next suggestion.

NOTE: A string or an attrs (with keys key and fallback) representing the mapping to bind to |wilder#next()|. If a string is provided, it is automatically converted to {key = <KEY>; fallback = <KEY>;}.

  • mapping is the |cmap| used to bind to |wilder#next()|.
  • fallback is the mapping used if |wilder#in_context()| is false.

Type: null or string or (submodule)

Default: null

Plugin default: "<Tab>"

Declared by:

plugins.wilder.numWorkers

Number of workers for the Python 3 |remote-plugin|. Has to be set at startup, before wilder is first run. Setting the option after the first run has no effect.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 2

Declared by:

plugins.wilder.pipeline

Sets the pipeline to use to get completions. See |wilder-pipeline|.

Example:

  [
    \'\'
      wilder.branch(
        wilder.cmdline_pipeline({
          language = 'python',
          fuzzy = 1,
        }),
        wilder.python_search_pipeline({
          pattern = wilder.python_fuzzy_pattern(),
          sorter = wilder.python_difflib_sorter(),
          engine = 're',
        })
      )
    \'\'
  ]

Type: null or (list of lua code string)

Default: null

Declared by:

plugins.wilder.postHook

A function which takes a ctx. This function is called when wilder stops, or when wilder becomes hidden. See |wilder-hidden|.

ctx contains no keys.

Type: null or lua function string

Default: null

Plugin default: "nil"

Declared by:

plugins.wilder.preHook

A function which takes a ctx. This function is called when wilder starts, or when wilder becomes unhidden. See |wilder-hidden|.

ctx contains no keys.

Type: null or lua function string

Default: null

Plugin default: "nil"

Declared by:

plugins.wilder.prevKey

A key to map to wilder#prev() providing previous suggestion.

NOTE: A string or an attrs (with keys key and fallback) representing the mapping to bind to |wilder#next()|. If a string is provided, it is automatically converted to {key = <KEY>; fallback = <KEY>;}.

  • mapping is the |cmap| used to bind to |wilder#next()|.
  • fallback is the mapping used if |wilder#in_context()| is false.

Type: null or string or (submodule)

Default: null

Plugin default: "<S-Tab>"

Declared by:

plugins.wilder.rejectKey

Mapping to bind to wilder#reject_completion().

NOTE: A string or an attrs (with keys key and fallback) representing the mapping to bind to |wilder#next()|. If a string is provided, it is automatically converted to {key = <KEY>; fallback = <KEY>;}.

  • mapping is the |cmap| used to bind to |wilder#next()|.
  • fallback is the mapping used if |wilder#in_context()| is false.

Type: null or string or (submodule)

Default: null

Plugin default: "<Up>"

Declared by:

plugins.wilder.renderer

Sets the renderer to used to display the completions. See |wilder-renderer|.

Example:

  \'\'
    wilder.wildmenu_renderer({
      -- highlighter applies highlighting to the candidates
      highlighter = wilder.basic_highlighter(),
    })
  \'\'

Type: null or lua function string

Default: null

Plugin default: "nil"

Declared by:

plugins.wilder.useCmdlinechanged

If true, wilder will refresh queries when the |CmdlineChanged| autocommand is triggered. Otherwise it will use a |timer| to check whether the cmdline has changed. Using a timer will be more resource intensive.

Default: exists('##CmdlineChanged')

Type: null or boolean

Default: null

Declared by:

plugins.wilder.usePythonRemotePlugin

If true, uses the Python remote plugin. This option can be set to false to disable the Python remote plugin.

This option has to be set before setting the pipeline option and before wilder is first run.

Default: has('python3') && (has('nvim') || exists('*yarp#py3'))

Type: null or boolean

Default: null

Declared by:

plugins.wilder.wildcharm

Key to set the ‘wildcharm’ option to. Can be set to v:false to skip the setting.

Type: null or string or value false (singular enum)

Default: null

Plugin default: "&wildchar"

Declared by:

windsurf-nvim

URL: https://github.com/Exafunction/windsurf.nvim/

Maintainers: Gaetan Lepage, Austin Horstman


By default, enabling this plugin will also install the curl, gzip, coreutils, util-linux and codeium packages (via the dependencies.*.enable options`).

You are free to configure dependencies.*.enable and dependencies.*.package to disable or customize this behavior, respectively.

plugins.windsurf-nvim.enable

Whether to enable windsurf.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.windsurf-nvim.package

The windsurf.nvim package to use.

Type: package

Default: pkgs.vimPlugins.windsurf-nvim

Declared by:

plugins.windsurf-nvim.autoLoad

Whether to automatically load windsurf.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.windsurf-nvim.settings

Options provided to the require('codeium').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  enable_chat = true;
}

Declared by:

plugins.windsurf-nvim.lazyLoad

Lazy-load settings for windsurf.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.windsurf-nvim.lazyLoad.enable

lazy-loading for windsurf.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.windsurf-nvim.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.windsurf-nvim.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.windsurf-nvim.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.windsurf-nvim.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

windsurf-vim

URL: https://github.com/Exafunction/windsurf.vim/

Maintainers: Gaetan Lepage

plugins.windsurf-vim.enable

Whether to enable windsurf.vim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.windsurf-vim.package

The windsurf.vim package to use.

Type: package

Default: pkgs.vimPlugins.windsurf-vim

Declared by:

plugins.windsurf-vim.autoLoad

Whether to automatically load windsurf.vim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.windsurf-vim.keymaps.accept

Keymap for inserting the proposed suggestion. Command: vim.fn['codeium#Accept']()

Type: null or string or raw lua code

Default: null

Plugin default: "<Tab>"

Declared by:

plugins.windsurf-vim.keymaps.clear

Keymap for clearing current suggestion. Command: vim.fn['codeium#Clear']()

Type: null or string or raw lua code

Default: null

Plugin default: "<C-]>"

Declared by:

plugins.windsurf-vim.keymaps.complete

Keymap for manually triggering the suggestion. Command: vim.fn['codeium#Complete']()

Type: null or string or raw lua code

Default: null

Plugin default: "<M-Bslash>"

Declared by:

plugins.windsurf-vim.keymaps.next

Keymap for cycling to the next suggestion. Command: vim.fn['codeium#CycleCompletions'](1)

Type: null or string or raw lua code

Default: null

Plugin default: "<M-]>"

Declared by:

plugins.windsurf-vim.keymaps.prev

Keymap for cycling to the previous suggestion. Command: vim.fn['codeium#CycleCompletions'](-1)

Type: null or string or raw lua code

Default: null

Plugin default: "<M-[>"

Declared by:

plugins.windsurf-vim.settings

The configuration options for windsurf-vim without the codeium_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal codeium_foo_bar=1
  • hello = "world" -> :setglobal codeium_hello="world"
  • some_toggle = true -> :setglobal codeium_some_toggle
  • other_toggle = false -> :setglobal nocodeium_other_toggle

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.windsurf-vim.settings.bin

The path to the codeium language server executable.

Type: null or string

Default: lib.getExe' pkgs.codeium "codeium_language_server"

Declared by:

plugins.windsurf-vim.settings.disable_bindings

Whether to disable default keybindings.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.windsurf-vim.settings.filetypes

A dictionary mapping whether codeium should be enabled or disabled in certain filetypes. This can be used to opt out of completions for certain filetypes.

Type: null or (attribute set of (boolean or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  "." = false;
  gitcommit = false;
  gitrebase = false;
  help = false;
}

Declared by:

plugins.windsurf-vim.settings.idle_delay

Delay in milliseconds before autocompletions are shown (limited by language server to a minimum of 75).

Type: null or positive integer, meaning >0, or raw lua code

Default: null

Plugin default: 75

Declared by:

plugins.windsurf-vim.settings.manual

If true, codeium completions will never automatically trigger.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.windsurf-vim.settings.no_map_tab

Whether to disable the <Tab> keybinding.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.windsurf-vim.settings.render

A global boolean flag that controls whether codeium renders are enabled or disabled.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.windsurf-vim.settings.tab_fallback

The fallback key when there is no suggestion display in codeium#Accept().

Default: “<C-N>” when a popup menu is visible, else “\t”.

Type: null or string

Default: null

Declared by:

wrapping

URL: https://github.com/andrewferrier/wrapping.nvim/

Maintainers: Zain Kergaye

plugins.wrapping.enable

Whether to enable wrapping.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.wrapping.package

The wrapping.nvim package to use.

Type: package

Default: pkgs.vimPlugins.wrapping-nvim

Declared by:

plugins.wrapping.autoLoad

Whether to automatically load wrapping.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.wrapping.lazyLoad

Lazy-load settings for wrapping.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.wrapping.lazyLoad.enable

lazy-loading for wrapping.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.wrapping.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.wrapping.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.wrapping.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.wrapping.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.wrapping.settings

Options provided to the require('wrapping').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  auto_set_mode_filetype_allowlist = [
    "file"
    "filetwo"
  ];
  create_commands = false;
  create_keymaps = false;
  notify_on_switch = false;
}

Declared by:

plugins.wrapping.settings.auto_set_mode_filetype_allowlist

Filetypes for automatic heuristic mode triggers.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "asciidoc"
  "gitcommit"
  "help"
  "latex"
  "mail"
  "markdown"
  "rst"
  "tex"
  "text"
  "typst"
]

Declared by:

plugins.wrapping.settings.auto_set_mode_filetype_denylist

Auto set mode filetype deny list

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default: [ ]

Declared by:

plugins.wrapping.settings.auto_set_mode_heuristically

If true, the plugin will set the hard or soft mode automatically when any file loads.

For a specific set of file types, use plugins.wrapping.settings.auto_set_mode_filetype_allowlist.

It uses the BufWinEnter event in an autocmd with a variety of undocumented heuristics. Refer to the [plugin documentation] for more details on this evolving behavior.

[plugin documentation] https://github.com/andrewferrier/wrapping.nvim?tab=readme-ov-file#automatic-heuristic-mode

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.wrapping.settings.create_commands

If true, the plugin will create the following commands to set/override a wrapping mode in case it is not autodetected correctly:

  • ‘HardWrapMode’

  • ‘SoftWrapMode’

  • ‘ToggleWrapMode’

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.wrapping.settings.create_keymaps

If true, it will create the following normal-mode keymappings:

  • ‘[ow’ (soft wrap mode)

  • ‘]ow’ (hard wrap mode)

  • ‘yow’ (toggle wrap mode)

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.wrapping.settings.notify_on_switch

By default, wrapping.nvim will output a message to the command line when the hard or soft mode is set.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.wrapping.settings.set_nvim_opt_default

If true, wrapping.nvim will tweak some NeoVim defaults (linebreak and wrap) to make it operate more smoothly.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.wtf.enable

Whether to enable wtf.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.wtf.package

The wtf.nvim package to use.

Type: package

Default: pkgs.vimPlugins.wtf-nvim

Declared by:

plugins.wtf.additionalInstructions

Any additional instructions.

Type: null or string

Default: null

Declared by:

plugins.wtf.context

Send code as well as diagnostics.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.wtf.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.wtf.language

Set your preferred language for the response.

Type: null or string or raw lua code

Default: null

Plugin default: "english"

Declared by:

plugins.wtf.openaiApiKey

An alternative way to set your API key.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.wtf.openaiModelId

ChatGPT Model.

Type: null or string or raw lua code

Default: null

Plugin default: "gpt-3.5-turbo"

Declared by:

plugins.wtf.popupType

Default AI popup type.

Type: null or one of “popup”, “horizontal”, “vertical” or raw lua code

Default: null

Plugin default: "popup"

Declared by:

plugins.wtf.searchEngine

Default search engine.

Type: null or one of “google”, “duck_duck_go”, “stack_overflow”, “github” or raw lua code

Default: null

Plugin default: "google"

Declared by:

plugins.wtf.winhighlight

Add custom colours.

Type: null or string or raw lua code

Default: null

Plugin default: "Normal:Normal,FloatBorder:FloatBorder"

Declared by:

plugins.wtf.hooks.requestFinished

Callback for request finished.

Type: null or lua function string

Default: null

Plugin default: "nil"

Declared by:

plugins.wtf.hooks.requestStarted

Callback for request start.

Type: null or lua function string

Default: null

Plugin default: "nil"

Declared by:

plugins.wtf.keymaps.ai

Keymap for the ai action.

Type: null or ((submodule) or string convertible to it)

Default: null

Declared by:

plugins.wtf.keymaps.ai.action

The action to execute.

Type: string or raw lua code

Default:

{
  __raw = "require('wtf').ai";
}

Declared by:

plugins.wtf.keymaps.ai.key

The key to map.

Type: string

Default: "gw"

Example: "<C-m>"

Declared by:

plugins.wtf.keymaps.ai.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default:

[
  "n"
  "x"
]

Example:

[
  "n"
  "v"
]

Declared by:

plugins.wtf.keymaps.ai.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wtf.keymaps.ai.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.wtf.keymaps.ai.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wtf.keymaps.ai.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.wtf.keymaps.ai.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wtf.keymaps.ai.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wtf.keymaps.ai.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.wtf.keymaps.ai.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wtf.keymaps.ai.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wtf.keymaps.ai.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wtf.keymaps.grep_history

Keymap for the grep_history action.

Type: null or ((submodule) or string convertible to it)

Default: null

Declared by:

plugins.wtf.keymaps.grep_history.action

The action to execute.

Type: string or raw lua code

Default:

{
  __raw = "require('wtf').grep_history";
}

Declared by:

plugins.wtf.keymaps.grep_history.key

The key to map.

Type: string

Default: "wg"

Example: "<C-m>"

Declared by:

plugins.wtf.keymaps.grep_history.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.wtf.keymaps.grep_history.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wtf.keymaps.grep_history.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.wtf.keymaps.grep_history.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wtf.keymaps.grep_history.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.wtf.keymaps.grep_history.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wtf.keymaps.grep_history.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wtf.keymaps.grep_history.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.wtf.keymaps.grep_history.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wtf.keymaps.grep_history.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wtf.keymaps.grep_history.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wtf.keymaps.history

Keymap for the history action.

Type: null or ((submodule) or string convertible to it)

Default: null

Declared by:

plugins.wtf.keymaps.history.action

The action to execute.

Type: string or raw lua code

Default:

{
  __raw = "require('wtf').history";
}

Declared by:

plugins.wtf.keymaps.history.key

The key to map.

Type: string

Default: "wh"

Example: "<C-m>"

Declared by:

plugins.wtf.keymaps.history.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.wtf.keymaps.history.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wtf.keymaps.history.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.wtf.keymaps.history.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wtf.keymaps.history.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.wtf.keymaps.history.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wtf.keymaps.history.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wtf.keymaps.history.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.wtf.keymaps.history.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wtf.keymaps.history.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wtf.keymaps.history.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wtf.keymaps.search

Keymap for the search action.

Type: null or ((submodule) or string convertible to it)

Default: null

Declared by:

plugins.wtf.keymaps.search.action

The action to execute.

Type: string or raw lua code

Default:

{
  __raw = "require('wtf').search";
}

Declared by:

plugins.wtf.keymaps.search.key

The key to map.

Type: string

Default: "gW"

Example: "<C-m>"

Declared by:

plugins.wtf.keymaps.search.mode

One or several modes. Use the short-names ("n", "v", …). See :h map-modes to learn more.

Type: one of or non-empty list of “”, “n”, “!”, “i”, “c”, “v”, “x”, “s”, “o”, “t”, “l”, “!a”, “ia”, “ca”

Default: "n"

Example:

[
  "n"
  "v"
]

Declared by:

plugins.wtf.keymaps.search.options.buffer

Make the mapping buffer-local. Equivalent to adding <buffer> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wtf.keymaps.search.options.desc

A textual description of this keybind, to be shown in which-key, if you have it.

Type: null or string or raw lua code

Default: null

Declared by:

plugins.wtf.keymaps.search.options.expr

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wtf.keymaps.search.options.noremap

Whether to use the noremap variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.wtf.keymaps.search.options.nowait

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wtf.keymaps.search.options.remap

Make the mapping recursive. Inverses noremap.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wtf.keymaps.search.options.replace_keycodes

When expr is true, replace keycodes in the resulting string.

Returning nil from the Lua callback is equivalent to returning an empty string.

Type: null or boolean

Default: null

Declared by:

plugins.wtf.keymaps.search.options.script

Equivalent to adding <script> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wtf.keymaps.search.options.silent

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.wtf.keymaps.search.options.unique

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

yanky

URL: https://github.com/gbprod/yanky.nvim/

Maintainers: Gaetan Lepage

plugins.yanky.enable

Whether to enable yanky.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.yanky.enableTelescope

Whether to enable the yank_history telescope picker…

Type: boolean

Default: false

Example: true

Declared by:

plugins.yanky.package

The yanky.nvim package to use.

Type: package

Default: pkgs.vimPlugins.yanky-nvim

Declared by:

plugins.yanky.autoLoad

Whether to automatically load yanky.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.yanky.lazyLoad

Lazy-load settings for yanky.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.yanky.lazyLoad.enable

lazy-loading for yanky.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.yanky.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.yanky.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.yanky.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.yanky.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.yanky.settings

Options provided to the require('yanky').setup function.

NOTE: The following local variables are available in the scope:

local utils = require('yanky.utils')
local mapping = require('yanky.telescope.mapping') -- Only if `plugins.telescope` is enabled

Type: attribute set of anything

Default: { }

Example:

{
  highlight = {
    on_put = true;
    on_yank = true;
    timer = 500;
  };
  picker = {
    telescope = {
      mappings = {
        default = "mapping.put('p')";
        i = {
          "<c-g>" = "mapping.put('p')";
          "<c-k>" = "mapping.put('P')";
          "<c-r>" = "mapping.set_register(utils.get_default_register())";
          "<c-x>" = "mapping.delete()";
        };
        n = {
          P = "mapping.put('P')";
          d = "mapping.delete()";
          gP = "mapping.put('gP')";
          gp = "mapping.put('gp')";
          p = "mapping.put('p')";
          r = "mapping.set_register(utils.get_default_register())";
        };
      };
    };
  };
  preserve_cursor_position = {
    enabled = true;
  };
}

Declared by:

plugins.yanky.settings.highlight.on_put

Define if highlight put text feature is enabled.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.yanky.settings.highlight.on_yank

Define if highlight yanked text feature is enabled.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.yanky.settings.highlight.timer

Define the duration of highlight.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 500

Declared by:

plugins.yanky.settings.picker.select.action

This define the action that should be done when selecting an item in the vim.ui.select prompt. If you let this option to null, this will use the default action: put selected item after cursor.

Type: null or lua function string

Default: null

Plugin default: null

Example: "require('yanky.picker').actions.put('gp')"

Declared by:

plugins.yanky.settings.picker.telescope.mappings

This define or overrides the mappings available in Telescope.

If you set settings.use_default_mappings to true, mappings will be merged with default mappings.

Type: null or (attribute set of (lua function string or attribute set of lua function string or raw lua code)) or raw lua code

Default: null

Plugin default: null

Example:

{
  default = "mapping.put('p')";
  i = {
    "<c-g>" = "mapping.put('p')";
    "<c-k>" = "mapping.put('P')";
    "<c-r>" = "mapping.set_register(utils.get_default_register())";
    "<c-x>" = "mapping.delete()";
  };
  n = {
    P = "mapping.put('P')";
    d = "mapping.delete()";
    p = "mapping.put('p')";
    r = "mapping.set_register(utils.get_default_register())";
  };
}

Declared by:

plugins.yanky.settings.picker.telescope.use_default_mappings

This define or overrides the mappings available in Telescope.

If you set this option to true, mappings will be merged with default mappings.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.yanky.settings.preserve_cursor_position.enabled

Whether cursor position should be preserved on yank. This works only if mappings has been defined.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.yanky.settings.ring.cancel_event

Define the event used to cancel ring activation. update will cancel ring on next buffer update, move will cancel ring when moving cursor or content changed.

Type: null or one of “update”, “move” or raw lua code

Default: null

Plugin default: "update"

Declared by:

plugins.yanky.settings.ring.history_length

Define the number of yanked items that will be saved and used for ring.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 100

Declared by:

plugins.yanky.settings.ring.ignore_registers

Define registers to be ignored. By default the black hole register is ignored.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "_"
]

Declared by:

plugins.yanky.settings.ring.storage

Define the storage mode for ring values.

Using shada, this will save pesistantly using Neovim ShaDa feature. This means that history will be persisted between each session of Neovim.

You can also use this feature to sync the yank history across multiple running instances of Neovim by updating shada file. If you execute :wshada in the first instance and then :rshada in the second instance, the second instance will be synced with the yank history in the first instance.

Using memory, each Neovim instance will have his own history and il will be lost between sessions.

Sqlite is more reliable than ShaDa but requires more dependencies. You can change the storage path using ring.storagePath option.

Type: null or one of “shada”, “sqlite”, “memory” or raw lua code

Default: null

Plugin default: "shada"

Declared by:

plugins.yanky.settings.ring.storage_path

Only for sqlite storage.

Type: null or string or raw lua code

Default: null

Plugin default:

{
  __raw = "vim.fn.stdpath('data') .. '/databases/yanky.db'";
}

Declared by:

plugins.yanky.settings.ring.sync_with_numbered_registers

History can also be synchronized with numbered registers. Every time the yank history changes the numbered registers 1 - 9 will be updated to sync with the first 9 entries in the yank history. See here for an explanation of why we would want do do this.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.yanky.settings.ring.update_register_on_cycle

If true, when you cycle through the ring, the contents of the register used to update will be updated with the last content cycled.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.yanky.settings.system_clipboard.clipboard_register

Choose the register that is synced with ring (from above). If &clipboard is empty then * is used.

Type: null or string or raw lua code

Default: null

Plugin default: null

Declared by:

plugins.yanky.settings.system_clipboard.sync_with_ring

Yanky can automatically adds to ring history yanks that occurs outside of Neovim. This works regardless to your &clipboard setting.

This means, if &clipboard is set to unnamed and/or unnamedplus, if you yank something outside of Neovim, you can put it immediately using p and it will be added to your yank ring.

If &clipboard is empty, if you yank something outside of Neovim, this will be the first value you’ll have when cycling through the ring. Basically, you can do p and then <c-p> to paste yanked text.

Note that clipboard == unnamed uses the primary selection of the system (see :h clipboard for more details) which is updated on selection, not on copy/yank. Also note that the syncing happens when neovim gains focus.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.yanky.settings.textobj.enabled

Yanky comes with a text object corresponding to last put text. To use it, you have to enable it and set a keymap.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

yazi

URL: https://github.com/mikavilpas/yazi.nvim/

Maintainers: Austin Horstman


Yazi is a blazing fast file manager for the terminal. This plugin allows you to open yazi in a floating window in Neovim.

Some default keybindings have additional dependencies you may need to install or enable. See the upstream docs for details.

plugins.yazi.enable

Whether to enable yazi.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.yazi.package

The yazi.nvim package to use.

Type: package

Default: pkgs.vimPlugins.yazi-nvim

Declared by:

plugins.yazi.autoLoad

Whether to automatically load yazi.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.yazi.lazyLoad

Lazy-load settings for yazi.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.yazi.lazyLoad.enable

lazy-loading for yazi.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.yazi.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.yazi.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.yazi.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.yazi.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.yazi.settings

Options provided to the require('yazi').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  enable_mouse_support = true;
  floating_window_scaling_factor = 0.5;
  log_level = "debug";
  open_for_directories = true;
  yazi_floating_window_border = "single";
  yazi_floating_window_winblend = 50;
}

Declared by:

plugins.yazi.settings.enable_mouse_support

Enables mouse support.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.yazi.settings.clipboard_register

Some yazi.nvim commands copy text to the clipboard. This is the register yazi.nvim should use for copying. Defaults to “*”, the system clipboard.

Type: null or string or raw lua code

Default: null

Plugin default: "*"

Declared by:

plugins.yazi.settings.floating_window_scaling_factor

The floating window scaling factor. 1 means 100%, 0.9 means 90%, etc.

Type: null or signed integer or floating point number or raw lua code

Default: null

Plugin default: 0.9

Declared by:

plugins.yazi.settings.highlight_groups

Add highlight groups to different yazi events.

NOTE: this only works if use_ya_for_events_reading is enabled, etc.

Type: null or (attribute set) or raw lua code

Default: null

Plugin default:

{
  hovered_buffer = null;
}

Declared by:

plugins.yazi.settings.keymaps

Customize the keymaps that are active when yazi is open and focused.

Also:

  • use e.g. open_file_in_tab = false to disable a keymap
  • you can customize only some of the keymaps if you want
  • Set to false to disable all default keymaps.

Type: null or (attribute set) or value false (singular enum)

Default: null

Plugin default:

{
  copy_relative_path_to_selected_files = "<c-y>";
  cycle_open_buffers = "<tab>";
  grep_in_directory = "<c-s>";
  open_file_in_horizontal_split = "<c-x>";
  open_file_in_tab = "<c-t>";
  open_file_in_vertical_split = "<c-v>";
  replace_in_directory = "<c-g>";
  send_to_quickfix_list = "<c-q>";
  show_help = "<f1>";
}

Declared by:

plugins.yazi.settings.log_level

The log level to use. Off by default, but can be used to diagnose issues. You can find the location of the log file by running :checkhealth yazi in Neovim.

Type: null or unsigned integer, meaning >=0, or one of “off”, “error”, “warn”, “info”, “debug”, “trace”

Default: null

Plugin default: "off"

Declared by:

plugins.yazi.settings.open_file_function

What Neovim should do a when a file was opened (selected) in yazi.

Defaults to simply opening the file.

Type: null or lua function string

Default: null

Plugin default:

{
  __raw = ''
    function(chosen_file)
      vim.cmd(string.format("edit %s", vim.fn.fnameescape(chosen_file)))
    end
  '';
}

Declared by:

plugins.yazi.settings.open_for_directories

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.yazi.settings.set_keymappings_function

Completely override the keymappings for yazi. This function will be called in the context of the yazi terminal buffer.

Type: null or lua function string

Default: null

Plugin default: null

Declared by:

plugins.yazi.settings.use_ya_for_events_reading

Use the ya command to read events.

Allows more complex behaviors using the ya messaging system.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.yazi.settings.use_yazi_client_id_flag

Allows passing which instance of yazi is being controlled.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.yazi.settings.yazi_floating_window_border

The type of border to use for the floating window.

Supports all available border types from vim.api.keyset.win_config.border.

Defines the border to use for yazi. Accepts same border values as nvim_open_win(). See :help nvim_open_win() for more info.

Type: null or string or list of string or list of list of string or raw lua code

Default: null

Plugin default: "rounded"

Declared by:

plugins.yazi.settings.yazi_floating_window_winblend

0 for fully opaque and 100 for fully transparent. See :h winblend

Type: null or integer between 0 and 100 (both inclusive) or raw lua code

Default: null

Plugin default: 0

Declared by:

plugins.yazi.settings.hooks.yazi_closed_successfully

When yazi was successfully closed

Type: null or lua function string

Default: null

Plugin default:

{
  __raw = ''
    function(chosen_file, config, state)
    end
  '';
}

Declared by:

plugins.yazi.settings.hooks.yazi_opened

If you want to execute a custom action when yazi has been opened, you can define it here.

Type: null or lua function string

Default: null

Plugin default:

{
  __raw = ''
    function(preselected_path, yazi_buffer_id, config)
    end
  '';
}

Declared by:

plugins.yazi.settings.hooks.yazi_opened_multiple_files

When yazi opened multiple files. The default is to send them to the quickfix list, but if you want to change that, you can define it here

Type: null or lua function string

Default: null

Plugin default:

{
  __raw = ''
    function(chosen_files)
      vim.cmd("args" .. table.concat(chosen_files, " "))
    end
  '';
}

Declared by:

zellij

URL: https://github.com/Lilja/zellij.nvim/

Maintainers: Haseeb Majid

plugins.zellij.enable

Whether to enable zellij.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.zellij.package

The zellij.nvim package to use.

Type: package

Default: pkgs.vimPlugins.zellij-nvim

Declared by:

plugins.zellij.autoLoad

Whether to automatically load zellij.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.zellij.lazyLoad

Lazy-load settings for zellij.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.zellij.lazyLoad.enable

lazy-loading for zellij.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.zellij.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.zellij.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.zellij.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.zellij.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.zellij.settings

Options provided to the require('zellij').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  debug = true;
  path = "zellij";
  replaceVimWindowNavigationKeybinds = true;
  vimTmuxNavigatorKeybinds = false;
}

Declared by:

plugins.zellij.settings.debug

Will log things to /tmp/zellij.nvim.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.zellij.settings.path

Path to the zellij binary.

Type: null or string or raw lua code

Default: null

Plugin default: "zellij"

Declared by:

plugins.zellij.settings.replaceVimWindowNavigationKeybinds

Will set keybinds like <C-w>h to left.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.zellij.settings.vimTmuxNavigatorKeybinds

Will set keybinds like <C-h> to left.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

zellij-nav

URL: https://github.com/swaits/zellij-nav.nvim/

Maintainers: Gaetan Lepage

plugins.zellij-nav.enable

Whether to enable zellij-nav.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.zellij-nav.package

The zellij-nav.nvim package to use.

Type: package

Default: pkgs.vimPlugins.zellij-nav-nvim

Declared by:

plugins.zellij-nav.autoLoad

Whether to automatically load zellij-nav.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.zellij-nav.settings

Options provided to the require('zellij-nav').setup function.

Type: attribute set of anything

Default: { }

Example:

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

Declared by:

plugins.zellij-nav.lazyLoad

Lazy-load settings for zellij-nav.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.zellij-nav.lazyLoad.enable

lazy-loading for zellij-nav.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.zellij-nav.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.zellij-nav.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.zellij-nav.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.zellij-nav.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

zen-mode

URL: https://github.com/folke/zen-mode.nvim/

Maintainers: Gaetan Lepage

plugins.zen-mode.enable

Whether to enable zen-mode.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.zen-mode.package

The zen-mode.nvim package to use.

Type: package

Default: pkgs.vimPlugins.zen-mode-nvim

Declared by:

plugins.zen-mode.autoLoad

Whether to automatically load zen-mode.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.zen-mode.lazyLoad

Lazy-load settings for zen-mode.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.zen-mode.lazyLoad.enable

lazy-loading for zen-mode.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.zen-mode.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.zen-mode.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.zen-mode.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.zen-mode.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.zen-mode.settings

Options provided to the require('zen-mode').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  on_close = ''
    function()
      require("gitsigns.actions").toggle_current_line_blame()
      vim.cmd('IBLEnable')
      vim.opt.relativenumber = true
      vim.opt.signcolumn = "yes:2"
      require("gitsigns.actions").refresh()
    end
  '';
  on_open = ''
    function()
      require("gitsigns.actions").toggle_current_line_blame()
      vim.cmd('IBLDisable')
      vim.opt.relativenumber = false
      vim.opt.signcolumn = "no"
      require("gitsigns.actions").refresh()
    end
  '';
  plugins = {
    gitsigns = {
      enabled = true;
    };
    options = {
      enabled = true;
      ruler = false;
      showcmd = false;
    };
    tmux = {
      enabled = false;
    };
    twilight = {
      enabled = false;
    };
  };
  window = {
    backdrop = 0.95;
    height = 1;
    options = {
      signcolumn = "no";
    };
    width = 0.8;
  };
}

Declared by:

plugins.zen-mode.settings.on_close

Callback where you can add custom code when the Zen window closes.

Type: null or lua function string

Default: null

Plugin default: "function(win) end"

Declared by:

plugins.zen-mode.settings.on_open

Callback where you can add custom code when the Zen window opens.

Type: null or lua function string

Default: null

Plugin default: "function(win) end"

Declared by:

plugins.zen-mode.settings.plugins.options

Disable some global vim options (vim.o…).

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default:

{
  enabled = true;
  laststatus = 0;
  ruler = false;
  showcmd = false;
}

Declared by:

plugins.zen-mode.settings.window.backdrop

Shade the backdrop of the Zen window. Set to 1 to keep the same as Normal.

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 0.95

Declared by:

plugins.zen-mode.settings.window.height

Height of the Zen window.

Can be:

  • an absolute number of cells when > 1
  • a percentage of the width / height of the editor when <= 1
  • a function that returns the width or the height

Type: null or positive integer, meaning >0, or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 1

Declared by:

plugins.zen-mode.settings.window.options

By default, no options are changed for the Zen window. You can set any vim.wo option here.

Example:

  {
    signcolumn = "no";
    number = false;
    relativenumber = false;
    cursorline = false;
    cursorcolumn = false;
    foldcolumn = "0";
    list = false;
  }

Type: null or (attribute set of (anything or raw lua code)) or raw lua code

Default: null

Plugin default: { }

Declared by:

plugins.zen-mode.settings.window.width

Width of the zen window.

Can be:

  • an absolute number of cells when > 1
  • a percentage of the width / height of the editor when <= 1
  • a function that returns the width or the height

Type: null or positive integer, meaning >0, or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw lua code

Default: null

Plugin default: 120

Declared by:

zig

URL: https://github.com/ziglang/zig.vim/

Maintainers: Gaetan Lepage

plugins.zig.enable

Whether to enable zig.vim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.zig.package

The zig.vim package to use.

Type: package

Default: pkgs.vimPlugins.zig-vim

Declared by:

plugins.zig.autoLoad

Whether to automatically load zig.vim when neovim starts.

Type: boolean

Default: true

Example: false

Declared by:

plugins.zig.settings

The configuration options for zig without the zig_ prefix.

For example, the following settings are equivialent to these :setglobal commands:

  • foo_bar = 1 -> :setglobal zig_foo_bar=1
  • hello = "world" -> :setglobal zig_hello="world"
  • some_toggle = true -> :setglobal zig_some_toggle
  • other_toggle = false -> :setglobal nozig_other_toggle

Type: attribute set of anything

Default: { }

Example:

{
  fmt_autosave = 0;
}

Declared by:

plugins.zig.settings.fmt_autosave

This plugin enables automatic code formatting on save by default using zig fmt. To disable it, you can set this option to 0.

Type: null or (one of 0, 1) or raw lua code

Default: null

Plugin default: 1

Declared by:

zk

URL: https://github.com/zk-org/zk-nvim/

Maintainers: Gaetan Lepage

plugins.zk.enable

Whether to enable zk.nvim.

Type: boolean

Default: false

Example: true

Declared by:

plugins.zk.package

The zk.nvim package to use.

Type: package

Default: pkgs.vimPlugins.zk-nvim

Declared by:

plugins.zk.autoLoad

Whether to automatically load zk.nvim when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.zk.lazyLoad

Lazy-load settings for zk.nvim.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.zk.lazyLoad.enable

lazy-loading for zk.nvim

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.zk.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.zk.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.zk.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.zk.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.zk.settings

Options provided to the require('zk').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  lsp = {
    auto_attach = {
      enabled = true;
      filetypes = [
        "markdown"
      ];
    };
    config = {
      cmd = [
        "zk"
        "lsp"
      ];
      name = "zk";
    };
  };
  picker = "telescope";
}

Declared by:

plugins.zk.settings.picker

It is recommended to use "telescope", "fzf", "fzf_lua", "minipick" or "snacks_picker".

Type: null or one of “select”, “fzf”, “fzf_lua”, “minipick”, “telescope”, “snacks_picker” or raw lua code

Default: null

Plugin default: "select"

Declared by:

plugins.zk.settings.lsp.auto_attach.enabled

Automatically attach buffers in a zk notebook.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.zk.settings.lsp.auto_attach.filetypes

Filetypes for which zk should automatically attach.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "markdown"
]

Declared by:

plugins.zk.settings.lsp.config

LSP configuration. See :h vim.lsp.start_client().

Type: null or (attribute set of anything)

Default: null

Plugin default:

{
  cmd = [
    "zk"
    "lsp"
  ];
  name = "zk";
}

Declared by:

plugins.zk.settings.lsp.config.cmd

Command to start the language server.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "zk"
  "lsp"
]

Declared by:

plugins.zk.settings.lsp.config.name

The name for this server.

Type: null or string or raw lua code

Default: null

Plugin default: "zk"

Declared by:

plugins.zk.settings.lsp.config.on_attach

Command to run when the client is attached.

Type: null or lua code string

Default: null

Declared by:

zotcite

URL: https://github.com/jalvesaq/zotcite/

Maintainers: Gaetan Lepage

plugins.zotcite.enable

Whether to enable zotcite.

Type: boolean

Default: false

Example: true

Declared by:

plugins.zotcite.package

The zotcite package to use.

Type: package

Default: pkgs.vimPlugins.zotcite

Declared by:

plugins.zotcite.autoLoad

Whether to automatically load zotcite when neovim starts.

Type: boolean

Default: false when lazy-loading is enabled.

Example: false

Declared by:

plugins.zotcite.lazyLoad

Lazy-load settings for zotcite.

warning

This is an experimental option and may not work as expected with all plugins. The API may change without notice. Please report any issues you encounter.

Type: submodule

Default: { }

Declared by:

plugins.zotcite.lazyLoad.enable

lazy-loading for zotcite

Type: unspecified value

Default: true when settings has a non-null attribute

Declared by:

plugins.zotcite.lazyLoad.settings

Lazy provider configuration settings.

Check your lazy loading provider’s documentation on settings to configure.

Type: attribute set of anything

Default: { }

Example:

{
  cmd = "Neotest";
  keys = [
    {
      __unkeyed-1 = "<leader>nt";
      __unkeyed-3 = "<CMD>Neotest summary<CR>";
      desc = "Summary toggle";
    }
  ];
}

Declared by:

plugins.zotcite.luaConfig

The plugin’s lua configuration

Type: submodule

Default: { }

Declared by:

plugins.zotcite.luaConfig.post

Lua code inserted at the end of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkAfterSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.zotcite.luaConfig.pre

Lua code inserted at the start of the plugin’s configuration. This is the same as using lib.nixvim.utils.mkBeforeSection when defining content.

Type: null or strings concatenated with “\n”

Default: null

Declared by:

plugins.zotcite.settings

Options provided to the require('zotcite').setup function.

Type: attribute set of anything

Default: { }

Example:

{
  filetypes = [
    "markdown"
    "quarto"
  ];
  hl_cite_key = false;
  open_in_zotero = true;
  wait_attachment = true;
}

Declared by:

plugins.zotcite.settings.conceallevel

Zotcite sets the conceallevel of the Markdown document to 2. Use this option if you want a different value.

Type: null or unsigned integer, meaning >=0, or raw lua code

Default: null

Plugin default: 2

Declared by:

plugins.zotcite.settings.filetypes

Which filetypes to enable Zotcite on.

Type: null or (list of (string or raw lua code)) or raw lua code

Default: null

Plugin default:

[
  "markdown"
  "pandoc"
  "rmd"
  "quarto"
  "vimwiki"
]

Declared by:

plugins.zotcite.settings.hl_cite_key

Set to false if you want to disable Zotcite’s syntax highlighting of citation keys.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.zotcite.settings.open_in_zotero

Set this to true if you want :ZOpenAttachment to open PDF attachments in Zotero (as opposed to your system’s default PDF viewer).

Note that you’ll need to have Zotero configured as the default app for opening zotero:// links. On Linux, assuming your Zotero installation included a zotero.desktop file, you can do the following:

xdg-mime default zotero.desktop x-scheme-handler/zotero

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.zotcite.settings.wait_attachment

While opening an attachment, Zotcite cannot catch errors because it doesn’t wait for the application to finish.

If zotcite fails to open a PDF attachment, you may want to temporarily set this option to true.

Then, Neovim should freeze until the attachment is closed, and, if the PDF viewer finishes with non-zero status, anything output to the stderr will be displayed as a warning message.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

test.buildNixvim

Whether to build the nixvim config in the test.

Type: boolean

Default: true

Declared by:

test.name

The test derivation’s name.

Type: string

Default: "nixvim-check"

Declared by:

test.runNvim

Whether to run nvim in the test.

Type: boolean

Default: config.test.buildNixvim

Declared by:

test.assertions

A list of expectations for warnings.

Function definitions will be supplied a mkExpectation function that enables defining simple expectations less verbosely.

Type: (list of (submodule)) or function convertible to it

Default:

expect: [ (expect "count" 0) ]

Example:

expect: [
  (expect "count" 1)
  (expect "any" "Hello, world!")
]

Declared by:

test.assertions.*.expect

If non-null, will be used together with value to define predicate.

Type: null or one of “any”, “anyExact”, “count”

Default: null

Declared by:

test.assertions.*.message

The assertion message.

If the value is a function, it is called with the same list of warning/assertion messages that is applied to predicate.

Type: string or function that evaluates to a(n) string

Default: If assertion is non-null, a default is computed. Otherwise, there is no default.

Declared by:

test.assertions.*.predicate

A predicate of that determines whether this expectation is met.

Type

[String] -> Boolean

Parameters

  1. values - all warnings or matched assertions

Type: function that evaluates to a(n) boolean

Declared by:

test.assertions.*.value

If defined, will be used together with expect to define predicate.

Type: Depends on `expect`:

  • “any”: string
  • “anyExact”: string
  • “count”: unsigned integer, meaning >=0

Declared by:

test.warnings

A list of expectations for warnings.

Function definitions will be supplied a mkExpectation function that enables defining simple expectations less verbosely.

Type: (list of (submodule)) or function convertible to it

Default:

expect: [ (expect "count" 0) ]

Example:

expect: [
  (expect "count" 1)
  (expect "any" "Hello, world!")
]

Declared by:

test.warnings.*.expect

If non-null, will be used together with value to define predicate.

Type: null or one of “any”, “anyExact”, “count”

Default: null

Declared by:

test.warnings.*.message

The assertion message.

If the value is a function, it is called with the same list of warning/assertion messages that is applied to predicate.

Type: string or function that evaluates to a(n) string

Default: If assertion is non-null, a default is computed. Otherwise, there is no default.

Declared by:

test.warnings.*.predicate

A predicate of that determines whether this expectation is met.

Type

[String] -> Boolean

Parameters

  1. values - all warnings or matched assertions

Type: function that evaluates to a(n) boolean

Declared by:

test.warnings.*.value

If defined, will be used together with expect to define predicate.

Type: Depends on `expect`:

  • “any”: string
  • “anyExact”: string
  • “count”: unsigned integer, meaning >=0

Declared by:

Contributing (and hacking onto) nixvim

This document is mainly for contributors to nixvim, but it can also be useful for extending nixvim.

Submitting a change

In order to submit a change you must be careful of several points:

  • The code must be properly formatted. This can be done through nix fmt.
  • The tests must pass. This can be done through nix flake check --all-systems (this also checks formatting).
  • The change should try to avoid breaking existing configurations.
  • If the change introduces a new feature it should add tests for it (see the architecture section for details).
  • The commit title should be consistent with our style. This usually looks like "plugins/: fixed some bug", you can browse the commit history of the files you're editing to see previous commit messages.

Testing the docs locally

When making a change, you may wish to see how it looks in Nixvim's documentation. This can be done by running nix run .#docs from within a Nixvim repo. Alternatively, if you've entered a Nixvim dev shell, you can run serve-docs.

Either command will start a HTTP server on port 8000 and open it in your browser using xdg-open.

Nixvim Architecture

Nixvim is mainly built around pkgs.neovimUtils.makeNeovimConfig. This function takes a list of plugins (and a few other misc options), and generates a configuration for neovim. This can then be passed to pkgs.wrapNeovimUnstable to generate a derivation that bundles the plugins, extra programs and the lua configuration.

All the options that nixvim expose end up in those three places. This is done in the modules/output.nix file.

The guiding principle of nixvim is to only add to the init.lua what the user added to the configuration. This means that we must trim out all the options that were not set.

This is done by making most of the options of the type types.nullOr ...., and not setting any option that is null.

Plugin configurations

Most of nixvim is dedicated to wrapping neovim plugins such that we can configure them in Nix. To add a new plugin you need to do the following.

  1. Add a file in the correct sub-directory of plugins.
  • Most plugins should be added to plugins/by-name/<name>. Plugins in by-name are automatically imported 🚀
  • Occasionally, you may wish to add a plugin to a directory outside of by-name, such as plugins/colorschemes. If so, you will also need to add your plugin to plugins/default.nix to ensure it gets imported. Note: the imports list is sorted and grouped. In vim, you can usually use V (visual-line mode) with the :sort command to achieve the desired result.
  1. The vast majority of plugins fall into one of those two categories:
  • vim plugins: They are configured through global variables (g:plugin_foo_option in vimscript and vim.g.plugin_foo_option in lua).
    For those, you should use the lib.nixvim.plugins.mkVimPlugin.
    -> See this plugin for an example.
  • neovim plugins: They are configured through a setup function (require('plugin').setup({opts})).
    For those, you should use the lib.nixvim.plugins.mkNeovimPlugin.
    -> See the template.
  1. Add the necessary arguments when calling either mkNeovimPlugin or mkVimPlugin

mkNeovimPlugin

The mkNeovimPlugin function provides a standardize way to create a Neovim plugin. This is intended to be used with lua plugins that have a setup function, although it is flexible enough to be used with similar variants of plugins. A template plugin can be found in (plugins/TEMPLATE.nix)[https://github.com/nix-community/nixvim/blob/main/plugins/TEMPLATE.nix].

ParameterDescriptionRequiredDefault Value
nameThe name of the plugin.YesN/A
urlThe URL of the plugin's repository.Yespackage parameter's meta.homepage
callSetupIndicating whether to call the setup function. Useful when setup function needs customizations.Notrue
colorschemeThe name of the colorscheme.Noname parameter
configLocationThe option location where the lua configuration should be installed. Nested option locations can be represented as a list. The location can also be wrapped using lib.mkBefore, lib.mkAfter, or lib.mkOrder.No"extraConfigLuaPre" if isColorscheme then extraConfigLuaPre, otherwise "extraConfigLua"
dependenciesA list of dependencies to enable by default with this plugin. (List of strings)No[]
deprecateExtraOptionsIndicating whether to deprecate the extraOptions attribute. Mainly used for old plugins.Nofalse
descriptionA brief description of the plugin. Can also be used for non-normative documentation, warnings, tips and tricks.Nonull
extraConfigAdditional configuration for the plugin. Either an attrset, a function accepting cfg, or a function accepting cfg and opts.No{}
extraOptionsModule options for the plugin, to be added outside of the settings option. These should be Nixvim-specific options.No{}
extraPackagesExtra packages to include.No[]
extraPluginsExtra plugins to include.No[]
hasLuaConfigIndicating whether the plugin generates lua configuration code (and thus should have a luaConfig option).Notrue
hasSettingsIndicating whether the plugin has settings. A settings option will be created if true.Notrue
importsAdditional modules to import.No[]
isColorschemeIndicating whether the plugin is a colorscheme.Nofalse
moduleNameThe Lua name for the plugin.Noname parameter
maintainersMaintainers for the plugin.No[]
optionsRenamedToSettingsOptions that have been renamed and move to the settings attribute.No[]
packPathNameThe name of the plugin directory in packpath, usually the plugin's github repo name. E.g. "foo-bar.nvim".Noname parameter
packageThe nixpkgs package attr for this plugin. Can be a string, a list of strings, a module option, or any derivation. For example, "foo-bar-nvim" for pkgs.vimPlugins.foo-bar-nvim, or [ "hello" "world" ] will be referenced as pkgs.hello.world.Noname parameter
settingsDescriptionA description of the settings provided to the setup function.No"Options provided to the require('${moduleName}')${setup} function."
settingsExampleAn example configuration for the plugin's settings. See Writing option examples.Nonull
settingsOptionsOptions representing the plugin's settings. This is optional because settings is a "freeform" option. See Declaring plugin options.No{}
setupThe setup function for the plugin.No".setup"
Functionality

The mkNeovimPlugin function generates a Nix module that:

  1. Defines the plugin's metadata, including maintainers, description, and URL.
  2. Sets up options for enabling the plugin, specifying the package, and configuring settings and Lua configuration.
Example Usage
mkNeovimPlugin {
  name = "example-plugin";
  maintainers = [ lib.maintainers.user ];
  url = "https://github.com/example/example-plugin";
  description = "An example Neovim plugin";
  settingsOptions = {
    option1 = lib.mkOption {
      type = lib.types.str;
      default = "default-value";
      description = "An example option";
    };
  };
}

This example defines a Neovim plugin named example-plugin with specified maintainers, URL, description, settings options, and additional configuration. package will be 'example-plugin' thanks to package referring to the name attribute.

See the template for a starting point.

Here's a simple plugin using mkNeovimPlugin for reference: lsp_lines.nvim.

mkVimPlugin

The mkVimPlugin function provides a standardized way to create a Vim plugin. This is intended to be used with traditional vim plugins, usually written in viml. Such plugins are usually configured via vim globals, but often have no configurable options at all.

ParameterDescriptionRequiredDefault Value
nameThe name of the Vim plugin.YesN/A
urlThe URL of the plugin repository.Yespackage parameter's meta.homepage
colorschemeThe name of the colorscheme.Noname parameter
dependenciesA list of dependencies to enable by default with this plugin. (List of strings)No[]
deprecateExtraConfigFlag to deprecate extra configuration.Nofalse
descriptionA description of the plugin. Can also be used for non-normative documentation, warnings, tips and tricks.Nonull
extraConfigExtra configuration for the plugin. Either an attrset, a function accepting cfg, or a function accepting cfg and opts.No{}
extraOptionsExtra options for the plugin.No{}
extraPackagesExtra packages to include.No[]
extraPluginsExtra plugins to include.No[]
globalPrefixGlobal prefix for the settings.No""
importsA list of imports for the plugin.No[]
isColorschemeFlag to indicate if the plugin is a colorscheme.Nofalse
maintainersThe maintainers of the plugin.No[]
optionsRenamedToSettingsList of options renamed to settings.No[]
packPathNameThe name of the plugin directory in packpath, usually the plugin's github repo name. E.g. "foo-bar.vim".Noname parameter
packageThe nixpkgs package attr for this plugin. Can be a string, a list of strings, a module option, or any derivation. For example, "foo-bar-vim" for pkgs.vimPlugins.foo-bar-vim, or [ "hello" "world" ] will be referenced as pkgs.hello.world.Noname parameter
settingsExampleExample settings for the plugin. See Writing option examples.Nonull
settingsOptionsOptions representing the plugin's settings. This is optional because settings is a "freeform" option. See Declaring plugin options.No{}
Functionality

The mkVimPlugin function generates a Nix module that:

  1. Defines the plugin's metadata, including maintainers, description, and URL.
  2. Sets up options for enabling the plugin, specifying the package, and configuring settings and extra configuration.
Example Usage
mkVimPlugin {
  name = "example-plugin";
  url = "https://github.com/example/plugin";
  maintainers = [ lib.maintainers.user ];
  description = "An example Vim plugin.";
  globalPrefix = "example_";
}

Simple vim plugins already implemented:

All the plugins are located under the plugins folder. If you want which plugins are defined as vim plugins, follow these steps:

# Ensure you are in the nixvim directory
cd nixvim

# Either setup nix-direnv, or manually enter a devshell using:
nix develop

# List all created plugins with `mkVimPlugin`
list-plugins -k vim

Writing option examples

Module options have first-class support for "examples" that are included automatically in documentation.

For example this option will render something like:

foo

Some string

Default: null
Example: "Hello, world!"

foo = lib.mkOption {
  type = lib.types.nullOr lib.types.str;
  description = "Some string";
  default = null;
  example = "Hello, world!";
}

Because mkVimPlugin and mkNeovimPlugin abstract away creation of the settings option, they provide a settingsExample argument. It is highly recommended to use this to provide an example for the plugin's settings.

Although lib.nixvim.defaultNullOpts helper functions don't usually support defining an example, each function offers a "prime variant" (e.g. defaultNullOpts.mkString has defaultNullOpts.mkString') which accept nearly any argument you could use with lib.mkOption. See Declaring plugin options.

Most of the time you will set example to a nix value and the module system will render it using lib.generators.toPretty. However, sometimes the example you wish to show would benefit from a specific formatting, may include function application or use of nix operators, or may benefit from some non-code explanation. In that scenario, you should use lib.literalExpression or lib.literalMD.

You can use lib.literalExpression to write an example that is manually rendered by you. E.g. if your example needs to include expressions like lib.nixvim.mkRaw "foo", you could use:

example = lib.literalExpression ''
  {
    foo = lib.nixvim.mkRaw "foo";
  }
''

Another example where literalExpression is beneficial is when your example includes multi-line strings. If you allow the module system to render your example itself using lib.generators.toPretty, then multi-line strings will be rendered as a "normal" string literal, with \n used to represent line-breaks. Note that to include a '' literal within a nix indented string, you should use '''. E.g:

example = lib.literalExpression ''
  {
    long-string = '''
      This string
      spans over
      several lines!
    ''';
  }
''

On very rare occasions, you may wish to include some non-code text within your example. This can be done by wrapping a markdown string with lib.literalMD. E.g:

example = lib.literalMD ''
  This will render as normal text.

  Markdown formatting is **supported**!

  ```nix
  This will render as nix code.
  ```
''

See also: Writing NixOS Modules: Option Declarations (NixOS Manual).

Declaring plugin options

caution

Declaring settings-options is not required, because the settings option is a freeform type.

While settings options can be helpful for documentation and type-checking purposes, this is a double-edged sword because we have to ensure the options are correctly typed and documented to avoid unnecessary restrictions or confusion.

We usually recommend not declaring settings options, however there are exceptions where the trade-off is worth it.

tip

Learn more about the RFC 42 which motivated this new approach.

If you feel having nix options for some of the upstream plugin options adds value and is worth the maintenance cost, you can declare these in settingsOptions.

Take care to ensure option names exactly match the upstream plugin's option names (without globalsPrefix, if used). You must also ensure that the option type is permissive enough to avoid unnecessarily restricting config definitions. If unsure, you can forego declaring the option or use a permissive type such as lib.types.anything.

There are a number of helpers added into lib that can help you correctly implement them:

  • lib.nixvim.defaultNullOpts.{mkBool,mkInt,mkStr,...}: This family of helpers takes a default value and a description, and sets the Nix default to null. These are the main functions you should use to define options.
  • lib.nixvim.defaultNullOpts.<name>': These "prime" variants of the above helpers do the same thing, but expect a "structured" attrs argument. This allows more flexibility in what arguments are passed through to the underlying lib.mkOption call.
  • lib.types.rawLua: A type to represent raw lua code. The values are of the form { __raw = "<code>";}.

The resulting settings attrs will be directly translated to lua and will be forwarded the plugin:

  • Using globals (vim.g.<globalPrefix><option-name>) for plugins using mkVimPlugin
  • Using the require('<plugin>').setup(<options>) function for the plugins using mkNeovimPlugin

In either case, you don't need to bother implementing this part. It is done automatically.

Tests

Most of the tests of nixvim consist of creating a neovim derivation with the supplied nixvim configuration, and then try to execute neovim to check for any output. All output is considered to be an error.

The tests are located in the tests/test-sources directory, and should be added to a file in the same hierarchy than the repository. For example if a plugin is defined in ./plugins/ui/foo.nix the test should be added in ./tests/test-sources/ui/foo.nix.

Tests can either be a simple attribute set, or a function taking {pkgs} as an input. The keys of the set are configuration names, and the values are a nixvim configuration.

You can specify the special test attribute in the configuration that will not be interpreted by nixvim, but only the test runner. The following keys are available:

  • test.runNvim: Set to false to avoid launching nvim with this configuration and simply build the configuration.

tip

A single test can be run with nix develop --command tests --interactive. This launches the testing suite in interactive mode, allowing you to easily search for and select specific tests to run.

warning

Running the entire test suite locally is not necessary in most cases. Instead, you may find it more efficient to focus on specific tests relevant to your changes, as Continuous Integration (CI) will run the full test suite on any Pull Requests (PRs) you open. This ensures comprehensive coverage without requiring the full suite to be run locally every time.

The full test suite can still be run locally with nix flake check --all-systems if needed.

There are a second set of tests, unit tests for nixvim itself, defined in tests/lib-tests.nix that use the pkgs.lib.runTests framework.

If you want to speed up tests, we have set up a Cachix for nixvim. This way, only tests whose dependencies have changed will be re-run, speeding things up considerably. To use it, just install cachix and run cachix use nix-community.

Maintaining Nixvim

This page is intended as a reference for Nixvim's core maintainers, although it may be interesting for anyone curious how we do certain things.

Deprecation

The deprecation policy discussion is happening in #3181.

Releasing

Nixvim releases stable versions in sync with nixpkgs. A YY.05 version is released in May and a YY.11 version is released in November.

We do not need to wait for the release to be "stable" before creating a branch, however we should wait before updating links and references on the main branch.

Creating a stable branch may require temporarily disabling branch protection. This can only be done by an "admin" or "owner".

Once a stable branch is created, its flake inputs should be updated to point to the corresponding stable versions. The branch can be created before these exist, in which case they should be updated when the corresponding stable inputs become available.

Once a stable branch is created, it should be added to the update-other workflow on the main branch.

Once a stable branch is considered "public", it should be added to the build_documentation workflow on the main branch. This can be done while the version is still "beta".

Once a stable version is considered "out of beta", references to Nixvim's stable branch should be updated on the main branch to reference the new version.

Deprecating old releases

Once a stable branch is deprecated, it should be removed from the update-other workflow on the main branch.

It should also be removed from the build_documentation workflow on the main branch.

NixVim Options Search