nvf

nvf Options

_module.args Link copied!

Type: lazy attribute set of raw value

Additional arguments passed to each module in addition to ones like lib, config, and pkgs, modulesPath.

This option is also available to all submodules. Submodules do not inherit args from their parent module, nor do they provide args to their parent module or sibling submodules. The sole exception to this is the argument name which is provided by parent modules to a submodule and contains the attribute name the submodule is bound to, or a unique generated name if it is not bound to an attribute.

Some arguments are already passed by default, of which the following cannot be changed with this option:

  • lib: The nixpkgs library.

  • config: The results of all options after merging the values from all modules together.

  • options: The options declared in all modules.

  • specialArgs: The specialArgs argument passed to evalModules.

  • All attributes of specialArgs

    Whereas option values can generally depend on other option values thanks to laziness, this does not apply to imports, which must be computed statically before anything else.

    For this reason, callers of the module system can provide specialArgs which are available during import resolution.

    For NixOS, specialArgs includes modulesPath, which allows you to import extra modules from the nixpkgs package tree without having to somehow make the module aware of the location of the nixpkgs or NixOS directories.

    { modulesPath, ... }: {
      imports = [
        (modulesPath + "/profiles/minimal.nix")
      ];
    }
    

For NixOS, the default value for this option includes at least this argument:

  • pkgs: The nixpkgs package set according to the nixpkgs.pkgs option.

vim.additionalRuntimePaths Link copied!

Type: list of (absolute path or string)

Additional runtime paths that will be appended to the active runtimepath of the Neovim. This can be used to add additional lookup paths for configs, plugins, spell languages and other things you would generally place in your $HOME/.config/nvim.

This is meant as a declarative alternative to throwing files into ~/.config/nvim and having the Neovim wrapper pick them up. For more details on vim.o.runtimepath, and what paths to use; please see https://neovim.io/doc/user/options.html#'runtimepath'">the official documentation

Default: [ ]
Example:
[
  # absolute path, as a string - impure
  "$HOME/.config/nvim-extra"

  # relative path, as a path - pure
  ./nvim

  # source type path - pure and reproducible
  (builtins.source {
    path = ./runtime;
    name = "nvim-runtime";
  })
]

vim.assistant.avante-nvim.enable Link copied!

Type: boolean

Whether to enable complementary Neovim plugin for avante.nvim.

Default: false
Example: true

vim.assistant.avante-nvim.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of avante-nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.assistant.avante-nvim.setupOpts.auto_suggestions_provider Link copied!

Type: string

Since auto-suggestions are a high-frequency operation and therefore expensive, currently designating it as copilot provider is dangerous because: https://github.com/yetone/avante.nvim/issues/1048 Of course, you can reduce the request frequency by increasing suggestion.debounce.

Default: "claude"

vim.assistant.avante-nvim.setupOpts.behaviour.auto_apply_diff_after_generation Link copied!

Type: boolean

Whether to enable automatically apply diff after LLM response..

Default: false
Example: true

vim.assistant.avante-nvim.setupOpts.behaviour.auto_set_highlight_group Link copied!

Type: boolean

Whether to enable automatically set the highlight group for the current line..

Default: true
Example: true

vim.assistant.avante-nvim.setupOpts.behaviour.auto_set_keymaps Link copied!

Type: boolean

Whether to enable automatically set the keymap for the current line..

Default: true
Example: true

vim.assistant.avante-nvim.setupOpts.behaviour.auto_suggestions Link copied!

Type: boolean

Whether to enable auto suggestions..

Default: false
Example: true

vim.assistant.avante-nvim.setupOpts.behaviour.enable_claude_text_editor_tool_mode Link copied!

Type: boolean

Whether to enable Claude Text Editor Tool Mode..

Default: false
Example: true

vim.assistant.avante-nvim.setupOpts.behaviour.enable_cursor_planning_mode Link copied!

Type: boolean

Whether to enable Cursor Planning Mode..

Default: false
Example: true

vim.assistant.avante-nvim.setupOpts.behaviour.enable_token_counting Link copied!

Type: boolean

Whether to enable token counting..

Default: true
Example: true

vim.assistant.avante-nvim.setupOpts.behaviour.minimize_diff Link copied!

Type: boolean

Whether to enable remove unchanged lines when applying a code block..

Default: true
Example: true

vim.assistant.avante-nvim.setupOpts.behaviour.support_paste_from_clipboard Link copied!

Type: boolean

Whether to enable pasting image from clipboard. This will be determined automatically based whether img-clip is available or not. .

Default: false
Example: true

vim.assistant.avante-nvim.setupOpts.cursor_applying_provider Link copied!

Type: null or string

The provider used in the applying phase of Cursor Planning Mode, defaults to nil, Config.provider will be used as the provider for the applying phase when nil.

Default: null

vim.assistant.avante-nvim.setupOpts.diff.autojump Link copied!

Type: boolean

Automatically jumps to the next change.

Default: true
Example: true

vim.assistant.avante-nvim.setupOpts.diff.override_timeoutlen Link copied!

Type: signed integer

Override the 'timeoutlen' setting while hovering over a diff (see :help timeoutlen). Helps to avoid entering operator-pending mode with diff mappings starting with c. Disable by setting to -1.

Default: 500
Example: -1

vim.assistant.avante-nvim.setupOpts.dual_boost.enabled Link copied!

Type: boolean

Whether to enable dual_boost mode..

Default: false
Example: true

vim.assistant.avante-nvim.setupOpts.dual_boost.first_provider Link copied!

Type: string

The first provider to generate response.

Default: "openai"

vim.assistant.avante-nvim.setupOpts.dual_boost.prompt Link copied!

Type: string

The prompt to generate response based on the two reference outputs.

Default: '' Based on the two reference outputs below, generate a response that incorporates elements from both but reflects your own judgment and unique perspective. Do not provide any explanation, just give the response directly. Reference Output 1: [{{provider1_output}}], Reference Output 2: [{{provider2_output}}''

vim.assistant.avante-nvim.setupOpts.dual_boost.second_provider Link copied!

Type: string

The second provider to generate response.

Default: "claude"

vim.assistant.avante-nvim.setupOpts.dual_boost.timeout Link copied!

Type: signed integer

Timeout in milliseconds.

Default: 60000

vim.assistant.avante-nvim.setupOpts.hints.enabled Link copied!

Type: boolean

Whether to enable hints.

Default: true
Example: true

vim.assistant.avante-nvim.setupOpts.mappings.cancel Link copied!

Type: null or (attribute set)

Define or override the default keymaps for cancel actions.

Default: null

vim.assistant.avante-nvim.setupOpts.mappings.diff Link copied!

Type: null or (attribute set)

Define or override the default keymaps for diff.

Default: null

vim.assistant.avante-nvim.setupOpts.mappings.jump Link copied!

Type: null or (attribute set)

Define or override the default keymaps for jump actions.

Default: null

vim.assistant.avante-nvim.setupOpts.mappings.sidebar Link copied!

Type: null or (attribute set)

Define or override the default keymaps for sidebar actions.

Default: null

vim.assistant.avante-nvim.setupOpts.mappings.submit Link copied!

Type: null or (attribute set)

Define or override the default keymaps for submit actions.

Default: null

vim.assistant.avante-nvim.setupOpts.mappings.suggestion Link copied!

Type: null or (attribute set)

Define or override the default keymaps for suggestion actions.

Default: null

vim.assistant.avante-nvim.setupOpts.provider Link copied!

Type: null or string

The provider used in Aider mode or in the planning phase of Cursor Planning Mode.

Default: null

vim.assistant.avante-nvim.setupOpts.suggestion.debounce Link copied!

Type: signed integer

Suggestion debounce in milliseconds.

Default: 600

vim.assistant.avante-nvim.setupOpts.suggestion.throttle Link copied!

Type: signed integer

Suggestion throttle in milliseconds.

Default: 600

vim.assistant.avante-nvim.setupOpts.vendors Link copied!

Type: null or (attribute set)

Define Your Custom providers.

Default: null
Example:
```nix
ollama = {
  __inherited_from = "openai";
  api_key_name = "";
  endpoint = "http://127.0.0.1:11434/v1";
  model = "qwen2.5u-coder:7b";
  max_tokens = 4096;
  disable_tools = true;
};
ollama_ds = {
  __inherited_from = "openai";
  api_key_name = "";
  endpoint = "http://127.0.0.1:11434/v1";
  model = "deepseek-r1u:7b";
  max_tokens = 4096;
  disable_tools = true;
};
```

vim.assistant.avante-nvim.setupOpts.windows.ask.border Link copied!

Type: string

The border type on the ask window.

Default: "rounded"

vim.assistant.avante-nvim.setupOpts.windows.ask.floating Link copied!

Type: boolean

Open the 'AvanteAsk' prompt in a floating window.

Default: false

vim.assistant.avante-nvim.setupOpts.windows.ask.focus_on_apply Link copied!

Type: one of "ours", "theirs"

Which diff to focus after applying.

Default: "ours"

vim.assistant.avante-nvim.setupOpts.windows.ask.start_insert Link copied!

Type: boolean

Start insert mode when opening the ask window.

Default: true

vim.assistant.avante-nvim.setupOpts.windows.edit.border Link copied!

Type: string

The border type on the edit window.

Default: "rounded"

vim.assistant.avante-nvim.setupOpts.windows.edit.start_insert Link copied!

Type: boolean

Start insert mode when opening the edit window.

Default: true

vim.assistant.avante-nvim.setupOpts.windows.input.height Link copied!

Type: signed integer

Height of the input window in vertical layout.

Default: 8

vim.assistant.avante-nvim.setupOpts.windows.input.prefix Link copied!

Type: string

The prefix used on the user input.

Default: "> "

vim.assistant.avante-nvim.setupOpts.windows.position Link copied!

Type: one of "right", "left", "top", "bottom"

The position of the sidebar.

Default: "right"

vim.assistant.avante-nvim.setupOpts.windows.sidebar_header.align Link copied!

Type: one of "right", "center", "left"

Position of the title.

Default: "center"

vim.assistant.avante-nvim.setupOpts.windows.sidebar_header.enabled Link copied!

Type: boolean

enable/disable the header.

Default: true

vim.assistant.avante-nvim.setupOpts.windows.sidebar_header.rounded Link copied!

Type: boolean

Enable rounded sidebar header

Default: true

vim.assistant.avante-nvim.setupOpts.windows.width Link copied!

Type: signed integer

Default % based on available width.

Default: 30

vim.assistant.avante-nvim.setupOpts.windows.wrap Link copied!

Type: boolean

similar to vim.o.wrap.

Default: true
Example: true

vim.assistant.chatgpt.enable Link copied!

Type: boolean

Whether to enable ChatGPT AI assistant. Requires the environment variable OPENAI_API_KEY to be set.

Default: false
Example: true

vim.assistant.chatgpt.mappings.addTests Link copied!

Type: null or string

[ChatGPT] Add tests

Default: "aa"

vim.assistant.chatgpt.mappings.chatGpt Link copied!

Type: null or string

ChatGPT

Default: "ac"

vim.assistant.chatgpt.mappings.docstring Link copied!

Type: null or string

[ChatGPT] Docstring

Default: "ad"

vim.assistant.chatgpt.mappings.editWithInstructions Link copied!

Type: null or string

[ChatGPT] Edit with instructions

Default: "ae"

vim.assistant.chatgpt.mappings.explain Link copied!

Type: null or string

[ChatGPT] Explain code

Default: "ax"

vim.assistant.chatgpt.mappings.fixBugs Link copied!

Type: null or string

[ChatGPT] Fix bugs

Default: "af"

vim.assistant.chatgpt.mappings.grammarCorrection Link copied!

Type: null or string

[ChatGPT] Grammar correction

Default: "ag"

vim.assistant.chatgpt.mappings.keyword Link copied!

Type: null or string

[ChatGPT] Keywords

Default: "ak"

vim.assistant.chatgpt.mappings.optimize Link copied!

Type: null or string

[ChatGPT] Optimize code

Default: "ao"

vim.assistant.chatgpt.mappings.readabilityanalysis Link copied!

Type: null or string

[ChatGPT] Code reability analysis

Default: "al"

vim.assistant.chatgpt.mappings.roxygenEdit Link copied!

Type: null or string

[ChatGPT] Roxygen edit

Default: "ar"

vim.assistant.chatgpt.mappings.summarize Link copied!

Type: null or string

[ChatGPT] Summarize

Default: "as"

vim.assistant.chatgpt.mappings.translate Link copied!

Type: null or string

[ChatGPT] Translate

Default: "at"

vim.assistant.chatgpt.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of chatgpt

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.assistant.codecompanion-nvim.enable Link copied!

Type: boolean

Whether to enable complementary neovim plugin for codecompanion.nvim.

Default: false
Example: true

vim.assistant.codecompanion-nvim.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of codecompanion-nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.assistant.codecompanion-nvim.setupOpts.adapters Link copied!

Type: null or (luaInline)

An adapter is what connects Neovim to an LLM.

Default: null

vim.assistant.codecompanion-nvim.setupOpts.display.action_palette.opts.show_default_actions Link copied!

Type: boolean

Whether to enable showing default actions in the action palette.

Default: true
Example: true

vim.assistant.codecompanion-nvim.setupOpts.display.action_palette.opts.show_default_prompt_library Link copied!

Type: boolean

Whether to enable showing default prompt library in the action palette.

Default: true
Example: true

vim.assistant.codecompanion-nvim.setupOpts.display.action_palette.prompt Link copied!

Type: string

Prompt used for interactive LLM calls.

Default: "Prompt "

vim.assistant.codecompanion-nvim.setupOpts.display.action_palette.provider Link copied!

Type: one of "default", "telescope", "mini_pick"

Provider used for the action palette.

Default: "default"

vim.assistant.codecompanion-nvim.setupOpts.display.chat.auto_scroll Link copied!

Type: boolean

Whether to enable automatic page scrolling.

Default: true
Example: true

vim.assistant.codecompanion-nvim.setupOpts.display.chat.icons.pinned_buffer Link copied!

Type: string

The icon to represent a pinned buffer.

Default: " "

vim.assistant.codecompanion-nvim.setupOpts.display.chat.icons.watched_buffer Link copied!

Type: string

The icon to represent a watched buffer.

Default: "👀 "

vim.assistant.codecompanion-nvim.setupOpts.display.chat.intro_message Link copied!

Type: string

Message to appear in chat buffer.

Default: "Welcome to CodeCompanion ✨! Press ? for options."

vim.assistant.codecompanion-nvim.setupOpts.display.chat.separator Link copied!

Type: string

The separator between the different messages in the chat buffer.

Default: "─"

vim.assistant.codecompanion-nvim.setupOpts.display.chat.show_header_separator Link copied!

Type: boolean

Whether to enable header separators in the chat buffer.

Set this to false if you're using an external markdown formatting plugin. .

Default: false
Example: true

vim.assistant.codecompanion-nvim.setupOpts.display.chat.show_references Link copied!

Type: boolean

Whether to enable references in the chat buffer.

Default: true
Example: true

vim.assistant.codecompanion-nvim.setupOpts.display.chat.show_settings Link copied!

Type: boolean

Whether to enable LLM settings to appear at the top of the chat buffer. .

Default: false
Example: true

vim.assistant.codecompanion-nvim.setupOpts.display.chat.show_token_count Link copied!

Type: boolean

Whether to enable the token count for each response.

Default: true
Example: true

vim.assistant.codecompanion-nvim.setupOpts.display.chat.start_in_insert_mode Link copied!

Type: boolean

Whether to enable opening the chat buffer in insert mode. .

Default: false
Example: true

vim.assistant.codecompanion-nvim.setupOpts.display.diff.close_chat_at Link copied!

Type: signed integer

Close an open chat buffer if the total columns of your display are less than...

Default: 240

vim.assistant.codecompanion-nvim.setupOpts.display.diff.enabled Link copied!

Type: boolean

Whether to enable a diff view to see the changes made by the LLM.

Default: true
Example: true

vim.assistant.codecompanion-nvim.setupOpts.display.diff.layout Link copied!

Type: one of "vertical", "horizontal"

Type of split for default provider.

Default: "vertical"

vim.assistant.codecompanion-nvim.setupOpts.display.diff.provider Link copied!

Type: one of "default", "mini_diff"

The preferred kind of provider.

Default: "default"

vim.assistant.codecompanion-nvim.setupOpts.display.inline.layout Link copied!

Type: one of "vertical", "horizontal", "buffer"

Customize how output is created in new buffer.

Default: "vertical"

vim.assistant.codecompanion-nvim.setupOpts.opts.language Link copied!

Type: string

Specify which language an LLM should respond in.

Default: "English"

vim.assistant.codecompanion-nvim.setupOpts.opts.log_level Link copied!

Type: one of "DEBUG", "INFO", "ERROR", "TRACE"

Change the level of logging.

Default: "ERROR"

vim.assistant.codecompanion-nvim.setupOpts.opts.send_code Link copied!

Type: boolean

Whether to enable code being sent to the LLM.

Default: true
Example: true

vim.assistant.codecompanion-nvim.setupOpts.prompt_library Link copied!

Type: null or (attribute set)

A prompt library is a collection of prompts that can be used in the action palette.

Default: null

vim.assistant.codecompanion-nvim.setupOpts.strategies.chat.adapter Link copied!

Type: null or string

Adapter used for the chat strategy.

Default: null

vim.assistant.codecompanion-nvim.setupOpts.strategies.chat.keymaps Link copied!

Type: null or (attribute set)

Define or override the default keymaps.

Default: null

vim.assistant.codecompanion-nvim.setupOpts.strategies.chat.roles Link copied!

Type: null or (luaInline)

The chat buffer places user and LLM responses under a H2 header. These can be customized in the configuration.

Default: null

vim.assistant.codecompanion-nvim.setupOpts.strategies.chat.slash_commands Link copied!

Type: null or (luaInline)

Slash Commands (invoked with /) let you dynamically insert context into the chat buffer, such as file contents or date/time.

Default: null

vim.assistant.codecompanion-nvim.setupOpts.strategies.chat.tools Link copied!

Type: null or (attribute set)

Configure tools to perform specific tasks when invoked by an LLM.

Default: null

vim.assistant.codecompanion-nvim.setupOpts.strategies.chat.variables Link copied!

Type: null or (luaInline)

Define your own variables to share specific content.

Default: null

vim.assistant.codecompanion-nvim.setupOpts.strategies.inline.adapter Link copied!

Type: null or string

Adapter used for the inline strategy.

Default: null

vim.assistant.codecompanion-nvim.setupOpts.strategies.inline.variables Link copied!

Type: null or (luaInline)

Define your own variables to share specific content.

Default: null

vim.assistant.copilot.cmp.enable Link copied!

Type: boolean

Whether to enable nvim-cmp integration for GitHub Copilot.

Default: false
Example: true

vim.assistant.copilot.enable Link copied!

Type: boolean

Whether to enable GitHub Copilot AI assistant.

Default: false
Example: true

vim.assistant.copilot.mappings.panel.accept Link copied!

Type: null or string

Accept suggestion

Default: ""

vim.assistant.copilot.mappings.panel.jumpNext Link copied!

Type: null or string

Jump to next suggestion

Default: "]]"

vim.assistant.copilot.mappings.panel.jumpPrev Link copied!

Type: null or string

Jump to previous suggestion

Default: "[["

vim.assistant.copilot.mappings.panel.open Link copied!

Type: null or string

Open suggestions

Default: ""

vim.assistant.copilot.mappings.panel.refresh Link copied!

Type: null or string

Refresh suggestions

Default: "gr"

vim.assistant.copilot.mappings.suggestion.accept Link copied!

Type: null or string

Accept suggetion

Default: ""

vim.assistant.copilot.mappings.suggestion.acceptLine Link copied!

Type: null or string

Accept next line

Default: null

vim.assistant.copilot.mappings.suggestion.acceptWord Link copied!

Type: null or string

Accept next word

Default: null

vim.assistant.copilot.mappings.suggestion.dismiss Link copied!

Type: null or string

Dismiss suggestion

Default: ""

vim.assistant.copilot.mappings.suggestion.next Link copied!

Type: null or string

Next suggestion

Default: ""

vim.assistant.copilot.mappings.suggestion.prev Link copied!

Type: null or string

Previous suggestion

Default: ""

vim.assistant.copilot.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of Copilot

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.assistant.copilot.setupOpts.copilot_node_command Link copied!

Type: string

The command that will be executed to initiate nodejs for GitHub Copilot. Recommended to leave as default.

Default: "\${pkgs.nodejs-slim.out}/bin/node"

vim.assistant.copilot.setupOpts.panel.enabled Link copied!

Type: boolean

Whether to enable Completion Panel.

Default: true
Example: true

vim.assistant.copilot.setupOpts.panel.layout.position Link copied!

Type: one of "bottom", "top", "left", "right"

Panel position

Default: "bottom"

vim.assistant.copilot.setupOpts.panel.layout.ratio Link copied!

Type: floating point number

Panel size

Default: 0.4

vim.assistant.copilot.setupOpts.suggestion.enabled Link copied!

Type: boolean

Whether to enable Suggestions.

Default: true
Example: true

vim.augroups Link copied!

Type: list of (submodule)

A list of Neovim autogroups, which are used to organize and manage related autocommands together. Groups allow multiple autocommands to be cleared or redefined collectively, preventing duplicate definitions.

Each autogroup consists of a name and a boolean indicating whether to clear existing autocommands.

Default: [ ]

vim.augroups.*.clear Link copied!

Type: boolean

Whether to clear existing autocommands in this group before defining new ones. This helps avoid duplicate autocommands.

Default: true

vim.augroups.*.enable Link copied!

Type: boolean

Whether to enable this autocommand group.

Default: true
Example: true

vim.augroups.*.name Link copied!

Type: string

The name of the autocommand group.

Example: "MyAutoCmdGroup"

vim.autocmds Link copied!

Type: list of (submodule)

A list of Neovim autocommands to be registered.

Each entry defines an autocommand, specifying events, patterns, a callback or Vim command, an optional group, a description, and execution settings.

Default: [ ]

vim.autocmds.*.callback Link copied!

Type: null or (luaInline)

Lua function to be called when the event(s) are triggered.

Default: null
Example:
mkLuaInline ''
  function()
      print("Saving a Lua file...")
  end
'''

vim.autocmds.*.command Link copied!

Type: null or string

Vim command to be executed when the event(s) are triggered. Cannot be defined if the callback option is already defined.

Default: null

vim.autocmds.*.desc Link copied!

Type: null or string

A description for the autocommand.

Default: null
Example: "Notify when saving a Lua file"

vim.autocmds.*.enable Link copied!

Type: boolean

Whether to enable this autocommand.

Default: true
Example: true

vim.autocmds.*.event Link copied!

Type: null or (list of string)

The event(s) that trigger the autocommand.

Default: null
Example:
[
  "BufRead"
  "BufWritePre"
]

vim.autocmds.*.group Link copied!

Type: null or string

An optional autocommand group to manage related autocommands.

Default: null
Example: "MyAutoCmdGroup"

vim.autocmds.*.nested Link copied!

Type: boolean

Whether to allow nested autocommands to trigger.

Default: false

vim.autocmds.*.once Link copied!

Type: boolean

Whether to run the autocommand only once.

Default: false

vim.autocmds.*.pattern Link copied!

Type: null or (list of string)

The file pattern(s) that determine when the autocommand applies.

Default: null
Example:
[
  "*.lua"
  "*.vim"
]

vim.autocomplete.enableSharedCmpSources Link copied!

Type: boolean

Whether to enable sources shared by blink.cmp and nvim-cmp.

Default: false
Example: true

vim.autocomplete.nvim-cmp.enable Link copied!

Type: boolean

Whether to enable nvim-cmp.

Default: false
Example: true

vim.autocomplete.nvim-cmp.format Link copied!

Type: null or (luaInline)

The function used to customize the completion menu entries. This is outside of setupOpts to allow for an easier integration with lspkind.nvim.

See :help cmp-config.formatting.format.

Default: ```lua function(entry, vim_item) vim_item.menu = (${toLuaObject config.vim.autocomplete.nvim-cmp.sources})[entry.source.name] return vim_item end ```

vim.autocomplete.nvim-cmp.mappings.close Link copied!

Type: null or string

Close [nvim-cmp]

Default: ""

vim.autocomplete.nvim-cmp.mappings.complete Link copied!

Type: null or string

Complete [nvim-cmp]

Default: ""

vim.autocomplete.nvim-cmp.mappings.confirm Link copied!

Type: null or string

Confirm [nvim-cmp]

Default: ""

vim.autocomplete.nvim-cmp.mappings.next Link copied!

Type: null or string

Next item [nvim-cmp]

Default: ""

vim.autocomplete.nvim-cmp.mappings.previous Link copied!

Type: null or string

Previous item [nvim-cmp]

Default: ""

vim.autocomplete.nvim-cmp.mappings.scrollDocsDown Link copied!

Type: null or string

Scroll docs down [nvim-cmp]

Default: ""

vim.autocomplete.nvim-cmp.mappings.scrollDocsUp Link copied!

Type: null or string

Scroll docs up [nvim-cmp]

Default: ""

vim.autocomplete.nvim-cmp.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of the autocomplete plugin

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.autocomplete.nvim-cmp.setupOpts.completion.completeopt Link copied!

Type: string

A comma-separated list of options for completion.

See :help completeopt for the complete list.

Default: "menu,menuone,noinsert"

vim.autocomplete.nvim-cmp.setupOpts.sorting.comparators Link copied!

Type: mergeless list of (string or (luaInline))

The comparator functions used for sorting completions.

You can either pass a valid inline lua function (see :help cmp-config.sorting.comparators), or a string, in which case the builtin comparator with that name will be used.

A deprio function and a kinds (require("cmp.types").lsp.CompletionItemKind) variable is provided above setupOpts. By passing a type to the function, the returned function will be a comparator that always ranks the specified kind the lowest.

Default: [ { _type = "lua-inline"; expr = "deprio(kinds.Text)"; } { _type = "lua-inline"; expr = "deprio(kinds.Snippet)"; } "offset" "exact" "score" "kind" "length" "sort_text" ]

vim.autocomplete.nvim-cmp.sourcePlugins Link copied!

Type: list of (null or package or one of "blink-cmp", "aerial-nvim", "alpha-nvim", "avante-nvim", "base16", "blink-cmp-spell", "blink-compat", "blink-emoji-nvim", "blink-ripgrep-nvim", "bufdelete-nvim", "catppuccin", "ccc-nvim", "cellular-automaton-nvim", "chatgpt-nvim", "cheatsheet-nvim", "cinnamon-nvim", "cmp-buffer", "cmp-luasnip", "cmp-nvim-lsp", "cmp-path", "cmp-treesitter", "codecompanion-nvim", "codewindow-nvim", "comment-nvim", "conform-nvim", "copilot-cmp", "copilot-lua", "crates-nvim", "csharpls-extended-lsp-nvim", "dashboard-nvim", "diffview-nvim", "direnv-vim", "dracula", "dressing-nvim", "elixir-tools-nvim", "fastaction-nvim", "fidget-nvim", "flash-nvim", "flutter-tools-nvim", "friendly-snippets", "fzf-lua", "gesture-nvim", "git-conflict-nvim", "github", "gitlinker-nvim", "gitsigns-nvim", "glow-nvim", "gruvbox", "hardtime-nvim", "harpoon", "haskell-tools-nvim", "highlight-undo-nvim", "hop-nvim", "hydra-nvim", "icon-picker-nvim", "image-nvim", "img-clip", "indent-blankline-nvim", "lazydev-nvim", "leap-nvim", "leetcode-nvim", "lsp-signature-nvim", "lspkind-nvim", "lspsaga-nvim", "lua-utils-nvim", "lualine-nvim", "luasnip", "lz-n", "lzn-auto-require", "markview-nvim", "mind-nvim", "mini-ai", "mini-align", "mini-animate", "mini-base16", "mini-basics", "mini-bracketed", "mini-bufremove", "mini-clue", "mini-colors", "mini-comment", "mini-completion", "mini-cursorword", "mini-diff", "mini-doc", "mini-extra", "mini-files", "mini-fuzzy", "mini-git", "mini-hipatterns", "mini-hues", "mini-icons", "mini-indentscope", "mini-jump", "mini-jump2d", "mini-map", "mini-misc", "mini-move", "mini-notify", "mini-operators", "mini-pairs", "mini-pick", "mini-sessions", "mini-snippets", "mini-splitjoin", "mini-starter", "mini-statusline", "mini-surround", "mini-tabline", "mini-test", "mini-trailspace", "mini-visits", "minimap-vim", "mkdir-nvim", "modes-nvim", "multicursors-nvim", "neo-tree-nvim", "neocord", "neorg", "neorg-telescope", "neovim-session-manager", "new-file-template-nvim", "nix-develop-nvim", "noice-nvim", "none-ls-nvim", "nord", "nui-nvim", "nvim-autopairs", "nvim-bufferline-lua", "nvim-cmp", "nvim-colorizer-lua", "nvim-cursorline", "nvim-dap", "nvim-dap-go", "nvim-dap-ui", "nvim-docs-view", "nvim-lightbulb", "nvim-lint", "nvim-lspconfig", "nvim-metals", "nvim-navbuddy", "nvim-navic", "nvim-neoclip-lua", "nvim-nio", "nvim-notify", "nvim-scrollbar", "nvim-surround", "nvim-tree-lua", "nvim-treesitter-context", "nvim-treesitter-textobjects", "nvim-ts-autotag", "nvim-ufo", "nvim-web-devicons", "obsidian-nvim", "oil-nvim", "omnisharp-extended-lsp-nvim", "onedark", "orgmode", "otter-nvim", "oxocarbon", "pathlib-nvim", "plenary-nvim", "precognition-nvim", "project-nvim", "promise-async", "rainbow-delimiters-nvim", "registers-nvim", "render-markdown-nvim", "rose-pine", "rtp-nvim", "run-nvim", "rustaceanvim", "smartcolumn-nvim", "snacks-nvim", "solarized", "solarized-osaka", "sqls-nvim", "tabular", "telescope", "tiny-devicons-auto-colors-nvim", "todo-comments-nvim", "toggleterm-nvim", "tokyonight", "trouble", "ts-error-translator-nvim", "typst-preview-nvim", "vim-dirtytalk", "vim-fugitive", "vim-illuminate", "vim-markdown", "vim-repeat", "vim-sleuth", "vim-startify", "which-key-nvim", "yanky-nvim", "nvim-treesitter", "flutter-tools-patched", "vim-repeat")

List of source plugins used by nvim-cmp.

Default: [ ]

vim.autocomplete.nvim-cmp.sources Link copied!

Type: attribute set of (null or string)

The list of sources used by nvim-cmp

Default: { buffer = "[Buffer]"; nvim-cmp = null; path = "[Path]"; }
Example:
{
  buffer = "[Buffer]";
  nvim-cmp = null;
}

vim.autopairs.nvim-autopairs.enable Link copied!

Type: boolean

Whether to enable autopairs.

Default: false
Example: true

vim.autopairs.nvim-autopairs.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of nvim-autopairs

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.bell Link copied!

Type: one of "none", "visual", "on"

Set how bells are handled. Options: on, visual or none

Default: "none"

vim.binds.cheatsheet.enable Link copied!

Type: boolean

Whether to enable cheatsheet-nvim: searchable cheatsheet for nvim using telescope.

Default: false
Example: true

vim.binds.hardtime-nvim.enable Link copied!

Type: boolean

Whether to enable hardtime helper for no repeat keybinds.

Default: false
Example: true

vim.binds.hardtime-nvim.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of hardtime-nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.binds.whichKey.enable Link copied!

Type: boolean

Whether to enable which-key keybind helper menu.

Default: false
Example: true

vim.binds.whichKey.register Link copied!

Type: attribute set of (null or string)

Register label for which-key keybind helper menu

Default: { }

vim.binds.whichKey.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of which-key

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.binds.whichKey.setupOpts.notify Link copied!

Type: boolean

Show a warning when issues were detected with mappings

Default: true

vim.binds.whichKey.setupOpts.preset Link copied!

Type: one of "classic", "modern", "helix"

The default preset for the which-key window

Default: "modern"

vim.binds.whichKey.setupOpts.replace Link copied!

Type: attribute set

Functions/Lua Patterns for formatting the labels

Default: { "" = "RETURN"; "" = "SPACE"; "" = "SPACE"; "" = "TAB"; }

vim.binds.whichKey.setupOpts.win.border Link copied!

Type: string

Which-key window border style

Default: "rounded"

vim.build.finalPackage Link copied!

Type: package

final output package

vim.clipboard.enable Link copied!

Type: boolean

Whether to enable clipboard management for Neovim. Users may still choose to manage their clipboard through should they wish to avoid using this module. .

Default: false
Example: true

vim.clipboard.providers Link copied!

Type: submodule

Clipboard providers for which packages will be added to nvf's extraPackages. The package field may be set to null if related packages are already found in system packages to potentially reduce closure sizes.

Default: { }

vim.clipboard.providers.wl-copy.enable Link copied!

Type: boolean

Whether to enable wl-copy.

Default: false
Example: true

vim.clipboard.providers.wl-copy.package Link copied!

Type: null or package

The wl-clipboard package to use.

Default: pkgs.wl-clipboard

vim.clipboard.providers.xclip.enable Link copied!

Type: boolean

Whether to enable xclip.

Default: false
Example: true

vim.clipboard.providers.xclip.package Link copied!

Type: null or package

The xclip package to use.

Default: pkgs.xclip

vim.clipboard.providers.xsel.enable Link copied!

Type: boolean

Whether to enable xsel.

Default: false
Example: true

vim.clipboard.providers.xsel.package Link copied!

Type: null or package

The xsel package to use.

Default: pkgs.xsel

vim.clipboard.registers Link copied!

Type: string or list of string

The register to be used by the Neovim clipboard. Recognized types are:

  • unnamed: Vim will use the clipboard register "*" for all yank, delete, change and put operations which would normally go to the unnamed register.

  • unnamedplus: A variant of the "unnamed" flag which uses the clipboard register "+" (:h quoteplus) instead of register "*" for all yank, delete, change and put operations which would normally go to the unnamed register.

When unnamed and unnamedplus is included simultaneously yank and delete operations (but not put) will additionally copy the text into register "*".

Please see :h clipboard for more details.

Default: ""
Example: "unnamedplus"

vim.comments.comment-nvim.enable Link copied!

Type: boolean

Whether to enable smart and powerful comment plugin for neovim comment-nvim.

Default: false
Example: true

vim.comments.comment-nvim.mappings.toggleCurrentBlock Link copied!

Type: null or string

Toggle current block comment

Default: "gbc"

vim.comments.comment-nvim.mappings.toggleCurrentLine Link copied!

Type: null or string

Toggle current line comment

Default: "gcc"

vim.comments.comment-nvim.mappings.toggleOpLeaderBlock Link copied!

Type: null or string

Toggle block comment

Default: "gb"

vim.comments.comment-nvim.mappings.toggleOpLeaderLine Link copied!

Type: null or string

Toggle line comment

Default: "gc"

vim.comments.comment-nvim.mappings.toggleSelectedBlock Link copied!

Type: null or string

Toggle selected block

Default: "gb"

vim.comments.comment-nvim.mappings.toggleSelectedLine Link copied!

Type: null or string

Toggle selected comment

Default: "gc"

vim.comments.comment-nvim.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of Comment-nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.comments.comment-nvim.setupOpts.mappings.basic Link copied!

Type: boolean

Whether to enable basic mappings.

Default: false
Example: true

vim.comments.comment-nvim.setupOpts.mappings.extra Link copied!

Type: boolean

Whether to enable extra mappings.

Default: false
Example: true

vim.dashboard.alpha.enable Link copied!

Type: boolean

Whether to enable fast and fully programmable greeter for neovim [alpha.nvim].

Default: false
Example: true

vim.dashboard.alpha.layout Link copied!

Type: list of attribute set of anything

Alpha dashboard layout

Default: [ ]

vim.dashboard.alpha.opts Link copied!

Type: attribute set of anything

Optional global options

Default: { }

vim.dashboard.alpha.theme Link copied!

Type: null or one of "dashboard", "startify", "theta"

Alpha default theme to use

Default: "dashboard"

vim.dashboard.dashboard-nvim.enable Link copied!

Type: boolean

Whether to enable Fancy and Blazing Fast start screen plugin of neovim [dashboard.nvim].

Default: false
Example: true

vim.dashboard.dashboard-nvim.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of dashboard.nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.dashboard.startify.bookmarks Link copied!

Type: list of (attribute set)

List of book marks to disaply on start page

Default: [ ]
Example:
{
  c = "~/.vimrc";
}

vim.dashboard.startify.changeDirCmd Link copied!

Type: one of "cd", "lcd", "tcd"

Command to change the current window with. Can be cd, lcd or tcd

Default: "lcd"

vim.dashboard.startify.changeToDir Link copied!

Type: boolean

Should vim change to the directory of the file you open

Default: true

vim.dashboard.startify.changeToVCRoot Link copied!

Type: boolean

Should vim change to the version control root when opening a file

Default: false

vim.dashboard.startify.commands Link copied!

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

Commands that are presented to the user on startify page

Default: [ ]

vim.dashboard.startify.customFooter Link copied!

Type: list of string

Text to place in the footer

Default: [ ]

vim.dashboard.startify.customHeader Link copied!

Type: list of string

Text to place in the header

Default: [ ]

vim.dashboard.startify.customIndices Link copied!

Type: list of string

Specify a list of default characters to use instead of numbers

Default: [ ]

vim.dashboard.startify.disableOnStartup Link copied!

Type: boolean

Prevent startify from opening on startup but can be called with :Startify

Default: false

vim.dashboard.startify.enable Link copied!

Type: boolean

Whether to enable dashboard via vim-startify.

Default: false
Example: true

vim.dashboard.startify.filesNumber Link copied!

Type: signed integer

How many files to list

Default: 10

vim.dashboard.startify.lists Link copied!

Type: list of (attribute set)

Specify the lists and in what order they are displayed on startify.

Default: [ { header = [ "MRU" ]; type = "files"; } { header = [ "MRU Current Directory" ]; type = "dir"; } { header = [ "Sessions" ]; type = "sessions"; } { header = [ "Bookmarks" ]; type = "bookmarks"; } { header = [ "Commands" ]; type = "commands"; } ]

vim.dashboard.startify.paddingLeft Link copied!

Type: signed integer

Number of spaces used for left padding.

Default: 3

vim.dashboard.startify.sessionAutoload Link copied!

Type: boolean

Make startify auto load Session.vim files from the current directory

Default: false

vim.dashboard.startify.sessionBeforeSave Link copied!

Type: list of string

Commands to run before saving a session

Default: [ ]

vim.dashboard.startify.sessionDeleteBuffers Link copied!

Type: boolean

Delete all buffers when loading or closing a session

Default: true

vim.dashboard.startify.sessionDir Link copied!

Type: string

Directory to save and load sessions from

Default: "~/.vim/session"

vim.dashboard.startify.sessionPersistence Link copied!

Type: boolean

Persist session before leaving vim or switching session

Default: false

vim.dashboard.startify.sessionRemoveLines Link copied!

Type: list of string

Patterns to remove from session files

Default: [ ]

vim.dashboard.startify.sessionSavecmds Link copied!

Type: list of string

List of commands to run when loading a session.

Default: [ ]

vim.dashboard.startify.sessionSavevars Link copied!

Type: list of string

List of variables to save into a session file.

Default: [ ]

vim.dashboard.startify.sessionSort Link copied!

Type: boolean

Set if you want items sorted by date rather than alphabetically

Default: false

vim.dashboard.startify.skipList Link copied!

Type: list of string

List of regex patterns to exclude from MRU lists

Default: [ ]

vim.dashboard.startify.skipListServer Link copied!

Type: list of string

List of vim servers to not load startify for

Default: [ ]

vim.dashboard.startify.unsafe Link copied!

Type: boolean

Turns on unsafe mode for Startify. Stops resolving links, checking files are readable and filtering bookmark list

Default: false

vim.dashboard.startify.updateOldFiles Link copied!

Type: boolean

Set if you want startify to always update and not just when neovim closes

Default: false

vim.dashboard.startify.useEnv Link copied!

Type: boolean

Show environment variables in path if name is shorter than value

Default: false

vim.debugMode.enable Link copied!

Type: boolean

Whether to enable debug mode.

Default: false
Example: true

vim.debugMode.level Link copied!

Type: one of 2, 3, 4, 5, 8, 9, 11, 12, 13, 14, 15, 16

Set verbosity level of Neovim while debug mode is enabled.

Value must be be one of the levels expected by Neovim's https://neovim.io/doc/user/options.html#'verbose'">verbose option

Default: 16

vim.debugMode.logFile Link copied!

Type: null or absolute path

Set the log file that will be used to store verbose messages set by the verbose option.

Default: null

vim.debugger.nvim-dap.enable Link copied!

Type: boolean

Whether to enable debugging via nvim-dap.

Default: false
Example: true

vim.debugger.nvim-dap.mappings.continue Link copied!

Type: null or string

Continue

Default: "dc"

vim.debugger.nvim-dap.mappings.goDown Link copied!

Type: null or string

Go down stacktrace

Default: "dvi"

vim.debugger.nvim-dap.mappings.goUp Link copied!

Type: null or string

Go up stacktrace

Default: "dvo"

vim.debugger.nvim-dap.mappings.hover Link copied!

Type: null or string

Hover

Default: "dh"

vim.debugger.nvim-dap.mappings.restart Link copied!

Type: null or string

Restart

Default: "dR"

vim.debugger.nvim-dap.mappings.runLast Link copied!

Type: null or string

Re-run Last Debug Session

Default: "d."

vim.debugger.nvim-dap.mappings.runToCursor Link copied!

Type: null or string

Continue to the current cursor

Default: "dgc"

vim.debugger.nvim-dap.mappings.stepBack Link copied!

Type: null or string

Step back

Default: "dgk"

vim.debugger.nvim-dap.mappings.stepInto Link copied!

Type: null or string

Step into function

Default: "dgi"

vim.debugger.nvim-dap.mappings.stepOut Link copied!

Type: null or string

Step out of function

Default: "dgo"

vim.debugger.nvim-dap.mappings.stepOver Link copied!

Type: null or string

Next step

Default: "dgj"

vim.debugger.nvim-dap.mappings.terminate Link copied!

Type: null or string

Terminate

Default: "dq"

vim.debugger.nvim-dap.mappings.toggleBreakpoint Link copied!

Type: null or string

Toggle breakpoint

Default: "db"

vim.debugger.nvim-dap.mappings.toggleDapUI Link copied!

Type: null or string

Toggle DAP-UI

Default: "du"

vim.debugger.nvim-dap.mappings.toggleRepl Link copied!

Type: null or string

Toggle Repl

Default: "dr"

vim.debugger.nvim-dap.sources Link copied!

Type: attribute set of string

List of debuggers to install

Default: { }

vim.debugger.nvim-dap.ui.autoStart Link copied!

Type: boolean

Automatically Opens and Closes DAP-UI upon starting/closing a debugging session

Default: true

vim.debugger.nvim-dap.ui.enable Link copied!

Type: boolean

Whether to enable UI extension for nvim-dap.

Default: false
Example: true

vim.debugger.nvim-dap.ui.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of nvim-dap-ui

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.diagnostics.config Link copied!

Type: attribute set of ((attribute set of anything) or boolean or (luaInline))

Values that will be passed to vim.diagnostic.config after being converted to a Lua table. Possible values for each key can be found in the help text for vim.diagnostics.Opts. You may find more about the diagnostics API of Neovim in :help diagnostic-api.

Note

This option is freeform. You may set values that are not present in nvf documentation, but those values will not be fully type checked. Please refer to the help text for vim.diagnostic.Opts for appropriate values.

Default: { }

vim.diagnostics.config.signs Link copied!

Type: (attribute set of anything) or boolean or (luaInline)

Use signs for diagnostics. See :help diagnostic-signs.

Default: false
Example:
{
  signs = {
    text = {
      "vim.diagnostic.severity.ERROR" = "󰅚 ";
      "vim.diagnostic.severity.WARN" = "󰀪 ";
    };
  };
}

vim.diagnostics.config.underline Link copied!

Type: (attribute set of anything) or boolean or (luaInline)

Use underline for diagnostics.

Default: true

vim.diagnostics.config.update_in_insert Link copied!

Type: boolean

Update diagnostics in Insert mode. If false, diagnostics will be updated on InsertLeave (:help InsertLeave).

Default: false

vim.diagnostics.config.virtual_lines Link copied!

Type: (attribute set of anything) or boolean or (luaInline)

Use virtual lines for diagnostics.

Default: false

vim.diagnostics.config.virtual_text Link copied!

Type: (attribute set of anything) or boolean or (luaInline)

Use virtual text for diagnostics. If multiple diagnostics are set for a namespace, one prefix per diagnostic + the last diagnostic message are shown.

Default: false
Example:
{
  format = lib.generators.mkLuaInline ''
    function(diagnostic)
      return string.format("%s (%s)", diagnostic.message, diagnostic.source)
    end
  '';
}

vim.diagnostics.enable Link copied!

Type: boolean

Whether to enable diagostics module for Neovim.

Default: false
Example: true

vim.diagnostics.nvim-lint.enable Link copied!

Type: boolean

Whether to enable asynchronous linter plugin for Neovim [nvim-lint].

Default: false
Example: true

vim.diagnostics.nvim-lint.lint_after_save Link copied!

Type: boolean

Whether to enable autocmd to lint after each save.

Default: true
Example: true

vim.diagnostics.nvim-lint.lint_function Link copied!

Type: luaInline

Define the global function nvf_lint which is used by nvf to lint.

Default: { _type = "lua-inline"; expr = '' function(buf) local ft = vim.api.nvim_get_option_value("filetype", { buf = buf }) local linters = require("lint").linters local linters_from_ft = require("lint").linters_by_ft[ft] -- if no linter is configured for this filetype, stops linting if linters_from_ft == nil then return end for _, name in ipairs(linters_from_ft) do local linter = linters[name] assert(linter, 'Linter with name `' .. name .. '` not available') if type(linter) == "function" then linter = linter() end -- for require("lint").lint() to work, linter.name must be set linter.name = linter.name or name local cwd = linter.required_files -- if no configuration files are configured, lint if cwd == nil then require("lint").lint(linter) else -- if configuration files are configured and present in the project, lint for _, fn in ipairs(cwd) do local path = vim.fs.joinpath(linter.cwd or vim.fn.getcwd(), fn); if vim.uv.fs_stat(path) then require("lint").lint(linter) break end end end end end ''; }
Example:
mkLuaInline ''
  function(buf)
    require("lint").try_lint()
  end
''

vim.diagnostics.nvim-lint.linters Link copied!

Type: attribute set of (submodule)

Linter configurations. Builtin linters will be updated and not replaced, but note that this is not a deep extend operation, i.e. if you define an env option, it will replace the entire env table provided by the builtin (if it exists).

Default: { }
Example:
''
  {
    phpcs = {
      args = ["-q" "--report-json" "-"];
  
      # this will replace the builtin's env table if it exists
      env = {
        ENV_VAR = "something";
      };
    };
  }
''

vim.diagnostics.nvim-lint.linters.<name>.append_fname Link copied!

Type: null or boolean

Automatically add the current file name to the commands arguments. Only has an effect if stdin is false

Default: null

vim.diagnostics.nvim-lint.linters.<name>.args Link copied!

Type: null or (list of (string or (luaInline)))

Arguments to pass

Default: null

vim.diagnostics.nvim-lint.linters.<name>.cmd Link copied!

Type: null or string

Command of the linter

Default: null

vim.diagnostics.nvim-lint.linters.<name>.cwd Link copied!

Type: null or string

Working directory of the linter

Default: null

vim.diagnostics.nvim-lint.linters.<name>.env Link copied!

Type: null or (attribute set of string)

Environment variables to use

Default: null

vim.diagnostics.nvim-lint.linters.<name>.ignore_exitcode Link copied!

Type: null or boolean

Declares if exit code != 1 should be ignored or result in a warning.

Default: null

vim.diagnostics.nvim-lint.linters.<name>.name Link copied!

Type: null or string

Name of the linter

Default: null

vim.diagnostics.nvim-lint.linters.<name>.parser Link copied!

Type: null or (luaInline)

Parser function

Default: null

vim.diagnostics.nvim-lint.linters.<name>.required_files Link copied!

Type: null or (list of string)

Required files to lint. These files must exist relative to the cwd of the linter or else this linter will be skipped

Note

This option is an nvf extension that only takes effect if you use the nvf_lint() lua function.

See {option}vim.diagnostics.nvim-lint.lint_function.

Default: null
Example:
[
  "eslint.config.js"
]

vim.diagnostics.nvim-lint.linters.<name>.stdin Link copied!

Type: null or boolean

Send content via stdin.

Default: null

vim.diagnostics.nvim-lint.linters.<name>.stream Link copied!

Type: null or one of "stdout", "stderr", "both"

Result stream

Default: null

vim.diagnostics.nvim-lint.linters_by_ft Link copied!

Type: attribute set of list of string

Map of filetype to formatters. This option takes a set of key = value format where the value will be converted to its Lua equivalent through `toLuaObject. You are responsible for passing the correct Nix data types to generate a correct Lua value that conform is able to accept.

Default: { }
Example:
{
  markdown = [
    "vale"
  ];
  text = [
    "vale"
  ];
}

vim.enableLuaLoader Link copied!

Type: boolean

Whether to enable the experimental Lua module loader to speed up the start up process. If true, this will enable the experimental Lua module loader which:

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

Note

The Lua module loader is disabled by default. Before setting this option, please take a look at the {option}[official documentation]. This option may be enabled by default in the future.

Default: false
Example: true

vim.extraLuaFiles Link copied!

Type: list of (absolute path or string)

Additional lua files that will be sourced by Neovim. Takes both absolute and relative paths, all of which will be called via the luafile command in Neovim.

See https://neovim.io/doc/user/lua.html#lua-commands">lua-commands on the Neovim documentation for more details.

Warning

All paths passed to this option must be valid. If Neovim cannot resolve the path you are attempting to source, then your configuration will error, and Neovim will not start. Please ensure that all paths are correct before using this option.

Default: [ ]
Example:
[
  # absolute path, as a string - impure
  "$HOME/.config/nvim/my-lua-file.lua"

  # relative path, as a path - pure
  ./nvim/my-lua-file.lua

  # source type path - pure and reproducible
  (builtins.path {
    path = ./nvim/my-lua-file.lua;
    name = "my-lua-file";
  })
]

vim.extraPackages Link copied!

Type: list of package

List of additional packages to make available to the Neovim wrapper.

Default: [ ]
Example: "[pkgs.fzf pkgs.ripgrep]"

vim.extraPlugins Link copied!

Type: attribute set of (submodule)

A list of plugins and their configurations that will be set up after builtin plugins.

This option takes a special type that allows you to order your custom plugins using nvf's modified DAG library.

Default: { }
Example:
```nix
with pkgs.vimPlugins; {
  aerial = {
    package = aerial-nvim;
    setup = "require('aerial').setup {}";
  };

  harpoon = {
    package = harpoon;
    setup = "require('harpoon').setup {}";
    after = ["aerial"]; # place harpoon configuration after aerial
  };
}
```

vim.extraPlugins.<name>.after Link copied!

Type: list of string

Setup this plugin after the following ones.

Default: [ ]

vim.extraPlugins.<name>.package Link copied!

Type: null or package or one of "blink-cmp", "aerial-nvim", "alpha-nvim", "avante-nvim", "base16", "blink-cmp-spell", "blink-compat", "blink-emoji-nvim", "blink-ripgrep-nvim", "bufdelete-nvim", "catppuccin", "ccc-nvim", "cellular-automaton-nvim", "chatgpt-nvim", "cheatsheet-nvim", "cinnamon-nvim", "cmp-buffer", "cmp-luasnip", "cmp-nvim-lsp", "cmp-path", "cmp-treesitter", "codecompanion-nvim", "codewindow-nvim", "comment-nvim", "conform-nvim", "copilot-cmp", "copilot-lua", "crates-nvim", "csharpls-extended-lsp-nvim", "dashboard-nvim", "diffview-nvim", "direnv-vim", "dracula", "dressing-nvim", "elixir-tools-nvim", "fastaction-nvim", "fidget-nvim", "flash-nvim", "flutter-tools-nvim", "friendly-snippets", "fzf-lua", "gesture-nvim", "git-conflict-nvim", "github", "gitlinker-nvim", "gitsigns-nvim", "glow-nvim", "gruvbox", "hardtime-nvim", "harpoon", "haskell-tools-nvim", "highlight-undo-nvim", "hop-nvim", "hydra-nvim", "icon-picker-nvim", "image-nvim", "img-clip", "indent-blankline-nvim", "lazydev-nvim", "leap-nvim", "leetcode-nvim", "lsp-signature-nvim", "lspkind-nvim", "lspsaga-nvim", "lua-utils-nvim", "lualine-nvim", "luasnip", "lz-n", "lzn-auto-require", "markview-nvim", "mind-nvim", "mini-ai", "mini-align", "mini-animate", "mini-base16", "mini-basics", "mini-bracketed", "mini-bufremove", "mini-clue", "mini-colors", "mini-comment", "mini-completion", "mini-cursorword", "mini-diff", "mini-doc", "mini-extra", "mini-files", "mini-fuzzy", "mini-git", "mini-hipatterns", "mini-hues", "mini-icons", "mini-indentscope", "mini-jump", "mini-jump2d", "mini-map", "mini-misc", "mini-move", "mini-notify", "mini-operators", "mini-pairs", "mini-pick", "mini-sessions", "mini-snippets", "mini-splitjoin", "mini-starter", "mini-statusline", "mini-surround", "mini-tabline", "mini-test", "mini-trailspace", "mini-visits", "minimap-vim", "mkdir-nvim", "modes-nvim", "multicursors-nvim", "neo-tree-nvim", "neocord", "neorg", "neorg-telescope", "neovim-session-manager", "new-file-template-nvim", "nix-develop-nvim", "noice-nvim", "none-ls-nvim", "nord", "nui-nvim", "nvim-autopairs", "nvim-bufferline-lua", "nvim-cmp", "nvim-colorizer-lua", "nvim-cursorline", "nvim-dap", "nvim-dap-go", "nvim-dap-ui", "nvim-docs-view", "nvim-lightbulb", "nvim-lint", "nvim-lspconfig", "nvim-metals", "nvim-navbuddy", "nvim-navic", "nvim-neoclip-lua", "nvim-nio", "nvim-notify", "nvim-scrollbar", "nvim-surround", "nvim-tree-lua", "nvim-treesitter-context", "nvim-treesitter-textobjects", "nvim-ts-autotag", "nvim-ufo", "nvim-web-devicons", "obsidian-nvim", "oil-nvim", "omnisharp-extended-lsp-nvim", "onedark", "orgmode", "otter-nvim", "oxocarbon", "pathlib-nvim", "plenary-nvim", "precognition-nvim", "project-nvim", "promise-async", "rainbow-delimiters-nvim", "registers-nvim", "render-markdown-nvim", "rose-pine", "rtp-nvim", "run-nvim", "rustaceanvim", "smartcolumn-nvim", "snacks-nvim", "solarized", "solarized-osaka", "sqls-nvim", "tabular", "telescope", "tiny-devicons-auto-colors-nvim", "todo-comments-nvim", "toggleterm-nvim", "tokyonight", "trouble", "ts-error-translator-nvim", "typst-preview-nvim", "vim-dirtytalk", "vim-fugitive", "vim-illuminate", "vim-markdown", "vim-repeat", "vim-sleuth", "vim-startify", "which-key-nvim", "yanky-nvim", "nvim-treesitter", "flutter-tools-patched", "vim-repeat"

Plugin Package.

vim.extraPlugins.<name>.setup Link copied!

Type: strings concatenated with "\n"

Lua code to run during setup.

Default: ""
Example: "require('aerial').setup {}"

vim.filetree.neo-tree.enable Link copied!

Type: boolean

Whether to enable filetree via neo-tree.nvim.

Default: false
Example: true

vim.filetree.neo-tree.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of neo-tree

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.filetree.neo-tree.setupOpts.add_blank_line_at_top Link copied!

Type: boolean

Whether to add a blank line at the top of the tree

Default: false

vim.filetree.neo-tree.setupOpts.auto_clean_after_session_restore Link copied!

Type: boolean

Whether to automatically clean up broken neo-tree buffers saved in sessions

Default: false

vim.filetree.neo-tree.setupOpts.default_source Link copied!

Type: string

You can choose a specific source.

last here which indicates the last used source

Default: "filesystem"

vim.filetree.neo-tree.setupOpts.enable_cursor_hijack Link copied!

Type: boolean

Whether to enable cursor hijacking.

If enabled neotree will keep the cursor on the first letter of the filename when moving in the tree .

Default: false
Example: true

vim.filetree.neo-tree.setupOpts.enable_diagnostics Link copied!

Type: boolean

Whether to enable diagnostics.

Default: true
Example: true

vim.filetree.neo-tree.setupOpts.enable_git_status Link copied!

Type: boolean

Whether to enable git status.

Default: true
Example: true

vim.filetree.neo-tree.setupOpts.enable_modified_markers Link copied!

Type: boolean

Whether to enable markers for files with unsaved changes..

Default: true
Example: true

vim.filetree.neo-tree.setupOpts.enable_opened_markers Link copied!

Type: boolean

Whether to enable tracking of opened files.

Required for components.name.highlight_opened_files .

Default: true
Example: true

vim.filetree.neo-tree.setupOpts.enable_refresh_on_write Link copied!

Type: boolean

Whether to enable Refresh the tree when a file is written.

Only used if use_libuv_file_watcher is false. .

Default: true
Example: true

vim.filetree.neo-tree.setupOpts.filesystem.hijack_netrw_behavior Link copied!

Type: one of "disabled", "open_default", "open_current"

Hijack Netrw behavior

Default: "open_default"

vim.filetree.neo-tree.setupOpts.git_status_async Link copied!

Type: boolean

Whether to enable async git status.

This will make the git status check async and will not block the UI. .

Default: false
Example: true

vim.filetree.neo-tree.setupOpts.hide_root_node Link copied!

Type: boolean

Whether to hide the root node of the tree

Default: false

vim.filetree.neo-tree.setupOpts.log_level Link copied!

Type: one of "trace", "debug", "info", "warn", "error", "fatal"

Log level for the plugin.

Default: "info"

vim.filetree.neo-tree.setupOpts.log_to_file Link copied!

Type: boolean or string

Must be either a boolean or a path to your log file.

Use :NeoTreeLogs to show the file

Default: false
Example: /tmp/neo-tree.log

vim.filetree.neo-tree.setupOpts.open_files_do_not_replace_types Link copied!

Type: list of string

A list of filetypes that should not be replaced when opening a file

Default: [ "terminal" "Trouble" "qf" "edgy" ]

vim.filetree.neo-tree.setupOpts.open_files_in_last_window Link copied!

Type: boolean

Whether to open files in the last window

If disabled, neo-tree will open files in top left window

Default: true

vim.filetree.neo-tree.setupOpts.retain_hidden_root_indent Link copied!

Type: boolean

Whether to retain the indent of the hidden root node

IF the root node is hidden, keep the indentation anyhow. This is needed if you use expanders because they render in the indent.

Default: false

vim.filetree.nvimTree.enable Link copied!

Type: boolean

Whether to enable filetree via nvim-tree.lua.

Default: false
Example: true

vim.filetree.nvimTree.mappings.findFile Link copied!

Type: null or string

Find file in NvimTree

Default: "tg"

vim.filetree.nvimTree.mappings.focus Link copied!

Type: null or string

Focus NvimTree

Default: "tf"

vim.filetree.nvimTree.mappings.refresh Link copied!

Type: null or string

Refresh NvimTree

Default: "tr"

vim.filetree.nvimTree.mappings.toggle Link copied!

Type: null or string

Toggle NvimTree

Default: "t"

vim.filetree.nvimTree.openOnSetup Link copied!

Type: boolean

Open when vim is started on a directory

Default: true

vim.filetree.nvimTree.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of Nvim Tree

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.filetree.nvimTree.setupOpts.actions Link copied!

Type: submodule

Configuration for various actions.

Default: { }

vim.filetree.nvimTree.setupOpts.actions.change_dir Link copied!

Type: submodule

vim change-directory behaviour

Default: { }

vim.filetree.nvimTree.setupOpts.actions.change_dir.enable Link copied!

Type: boolean

Change the working directory when changing directories in the tree.

Default: true

vim.filetree.nvimTree.setupOpts.actions.change_dir.global Link copied!

Type: boolean

Use :cd instead of :lcd when changing directories. Consider that this might cause issues with the nvimTree.syncRootWithCwd option.

Default: false

vim.filetree.nvimTree.setupOpts.actions.change_dir.restrict_above_cwd Link copied!

Type: boolean

Restrict changing to a directory above the global current working directory.

Default: false

vim.filetree.nvimTree.setupOpts.actions.expand_all Link copied!

Type: submodule

Configuration for expand_all behaviour.

Default: { }

vim.filetree.nvimTree.setupOpts.actions.expand_all.exclude Link copied!

Type: list of string

A list of directories that should not be expanded automatically.

Default: [ ".git" "target" "build" "result" ]

vim.filetree.nvimTree.setupOpts.actions.expand_all.max_folder_discovery Link copied!

Type: signed integer

Limit the number of folders being explored when expanding every folders. Avoids hanging neovim when running this action on very large folders.

Default: 300

vim.filetree.nvimTree.setupOpts.actions.file_popup Link copied!

Type: submodule

Configuration for file_popup behaviour.

Default: { }

vim.filetree.nvimTree.setupOpts.actions.file_popup.open_win_config Link copied!

Type: attribute set

Floating window config for file_popup. See |nvim_open_win| for more details.

Default: { border = "rounded"; col = 1; relative = "cursor"; row = 1; style = "minimal"; }

vim.filetree.nvimTree.setupOpts.actions.open_file Link copied!

Type: submodule

Configuration options for opening a file from nvim-tree.

Default: { }

vim.filetree.nvimTree.setupOpts.actions.open_file.eject Link copied!

Type: boolean

Prevent new opened file from opening in the same window as the tree.

Default: false

vim.filetree.nvimTree.setupOpts.actions.open_file.quit_on_open Link copied!

Type: boolean

Closes the explorer when opening a file.

Default: false

vim.filetree.nvimTree.setupOpts.actions.open_file.resize_window Link copied!

Type: boolean

Resizes the tree when opening a file. Previously view.auto_resize

Default: false

vim.filetree.nvimTree.setupOpts.actions.open_file.window_picker.chars Link copied!

Type: string

A string of chars used as identifiers by the window picker.

Default: "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"

vim.filetree.nvimTree.setupOpts.actions.open_file.window_picker.enable Link copied!

Type: boolean

Enable the window picker. If this feature is not enabled, files will open in window from which you last opened the tree.

Default: false

vim.filetree.nvimTree.setupOpts.actions.open_file.window_picker.exclude.buftype Link copied!

Type: list of string

A list of buftypes to exclude from the window picker.

Default: [ "nofile" "terminal" "help" ]

vim.filetree.nvimTree.setupOpts.actions.open_file.window_picker.exclude.filetype Link copied!

Type: list of string

A list of filetypes to exclude from the window picker.

Default: [ "notify" "packer" "qf" "diff" "fugitive" "fugitiveblame" ]

vim.filetree.nvimTree.setupOpts.actions.open_file.window_picker.picker Link copied!

Type: string

Change the default window picker, can be a string "default" or a function. 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.

The picker may create a new window.

Default: "default"
Example:
-- with s1n7ax/nvim-window-picker plugin
require('window-picker').pick_window,

vim.filetree.nvimTree.setupOpts.actions.remove_file.close_window Link copied!

Type: boolean

Close any window displaying a file when removing the file from the tree

Default: true

vim.filetree.nvimTree.setupOpts.actions.use_system_clipboard Link copied!

Type: boolean

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 '"'.

Default: true

vim.filetree.nvimTree.setupOpts.auto_reload_on_write Link copied!

Type: boolean

Auto reload tree on write

Default: true

vim.filetree.nvimTree.setupOpts.diagnostics Link copied!

Type: submodule

Show LSP and COC diagnostics in the signcolumn Note that the modified sign will take precedence over the diagnostics signs.

Default: { }

vim.filetree.nvimTree.setupOpts.diagnostics.debounce_delay Link copied!

Type: signed integer

Idle milliseconds between diagnostic event and update.

Default: 50

vim.filetree.nvimTree.setupOpts.diagnostics.enable Link copied!

Type: boolean

Whether to enable diagnostics view in the signcolumn..

Default: false
Example: true

vim.filetree.nvimTree.setupOpts.diagnostics.icons Link copied!

Type: submodule

Icons for diagnostic severity.

Default: { }

vim.filetree.nvimTree.setupOpts.diagnostics.icons.error Link copied!

Type: string

Icon used for error diagnostic.

Default: ""

vim.filetree.nvimTree.setupOpts.diagnostics.icons.hint Link copied!

Type: string

Icon used for hint diagnostic.

Default: ""

vim.filetree.nvimTree.setupOpts.diagnostics.icons.info Link copied!

Type: string

Icon used for info diagnostic.

Default: ""

vim.filetree.nvimTree.setupOpts.diagnostics.icons.warning Link copied!

Type: string

Icon used for warning diagnostic.

Default: ""

vim.filetree.nvimTree.setupOpts.diagnostics.severity Link copied!

Type: submodule

Severity for which the diagnostics will be displayed. See :help diagnostic-severity

Default: { }

vim.filetree.nvimTree.setupOpts.diagnostics.severity.max Link copied!

Type: one of "HINT", "INFO", "WARNING", "ERROR"

Maximum severity.

Default: "ERROR"

vim.filetree.nvimTree.setupOpts.diagnostics.severity.min Link copied!

Type: one of "HINT", "INFO", "WARNING", "ERROR"

Minimum severity.

Default: "HINT"

vim.filetree.nvimTree.setupOpts.diagnostics.show_on_dirs Link copied!

Type: unspecified value

Show diagnostic icons on parent directories.

Default: false

vim.filetree.nvimTree.setupOpts.diagnostics.show_on_open_dirs Link copied!

Type: boolean

Show diagnostics icons on directories that are open. Only relevant when diagnostics.show_on_dirs is true.

Default: true

vim.filetree.nvimTree.setupOpts.disable_netrw Link copied!

Type: boolean

Disables netrw and replaces it with tree

Default: false

vim.filetree.nvimTree.setupOpts.filesystem_watchers Link copied!

Type: submodule

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.

Default: { }

vim.filetree.nvimTree.setupOpts.filesystem_watchers.debounce_delay Link copied!

Type: signed integer

Idle milliseconds between filesystem change and action.

Default: 50

vim.filetree.nvimTree.setupOpts.filesystem_watchers.enable Link copied!

Type: boolean

Enable filesystem watchers.

Default: true

vim.filetree.nvimTree.setupOpts.filesystem_watchers.ignore_dirs Link copied!

Type: list of string

List of vim regex for absolute directory paths that will not be watched. Backslashes must be escaped e.g. "my-project/\\.build$". Useful when path is not in .gitignore or git integration is disabled.

Default: [ ]

vim.filetree.nvimTree.setupOpts.filters Link copied!

Type: submodule

Filtering options.

Default: { dotfiles = false; exclude = [ ]; git_clean = false; git_ignored = false; no_buffer = false; }

vim.filetree.nvimTree.setupOpts.filters.dotfiles Link copied!

Type: boolean

Do not show dotfiles: files starting with a .

Default: false

vim.filetree.nvimTree.setupOpts.filters.exclude Link copied!

Type: list of string

List of directories or files to exclude from filtering: always show them.

Default: [ ]

vim.filetree.nvimTree.setupOpts.filters.git_clean Link copied!

Type: boolean

Do not show files with no git status. This will show ignored files when nvimTree.filters.gitIgnored is set, as they are effectively dirty.

Default: false

vim.filetree.nvimTree.setupOpts.filters.git_ignored Link copied!

Type: boolean

Ignore files based on .gitignore. Requires git.enableto betrue`

Default: false

vim.filetree.nvimTree.setupOpts.filters.no_buffer Link copied!

Type: boolean

Do not show files that have no buflisted() buffer.

Default: false

vim.filetree.nvimTree.setupOpts.git.disable_for_dirs Link copied!

Type: list of string

Disable git integration when git top-level matches these paths. May be relative, evaluated via ":p"

Default: [ ]

vim.filetree.nvimTree.setupOpts.git.enable Link copied!

Type: boolean

Whether to enable Git integration with icons and colors..

Default: false
Example: true

vim.filetree.nvimTree.setupOpts.git.show_on_dirs Link copied!

Type: boolean

Show git icons on parent directories.

Default: true

vim.filetree.nvimTree.setupOpts.git.show_on_open_dirs Link copied!

Type: boolean

Show git icons on directories that are open.

Default: true

vim.filetree.nvimTree.setupOpts.git.timeout Link copied!

Type: signed integer

Kills the git process after some time if it takes too long. Git integration will be disabled after 10 git jobs exceed this timeout.

Default: 400

vim.filetree.nvimTree.setupOpts.hijack_cursor Link copied!

Type: boolean

Hijack the cursor in the tree to put it at the start of the filename

Default: false

vim.filetree.nvimTree.setupOpts.hijack_directories.auto_open Link copied!

Type: boolean

Opens the tree if the tree was previously closed.

Default: false

vim.filetree.nvimTree.setupOpts.hijack_directories.enable Link copied!

Type: boolean

Enable the hijack_directories feature. Disable this option if you use vim-dirvish or dirbuf.nvim. If hijack_netrw and disable_netrw are false, this feature will be disabled.

Default: true

vim.filetree.nvimTree.setupOpts.hijack_netrw Link copied!

Type: boolean

Prevents netrw from automatically opening when opening directories

Default: true

vim.filetree.nvimTree.setupOpts.hijack_unnamed_buffer_when_opening Link copied!

Type: boolean

Open nvimtree in place of the unnamed buffer if it's empty.

Default: false

vim.filetree.nvimTree.setupOpts.live_filter Link copied!

Type: submodule

Configurations for the live_filtering feature. The live filter allows you to filter the tree nodes dynamically, based on regex matching (see vim.regex). This feature is bound to the f key by default. The filter can be cleared with the F key by default.

Default: { }

vim.filetree.nvimTree.setupOpts.live_filter.always_show_folders Link copied!

Type: boolean

Whether to filter folders or not.

Default: true

vim.filetree.nvimTree.setupOpts.live_filter.prefix Link copied!

Type: string

Prefix of the filter displayed in the buffer.

Default: "[FILTER]: "

vim.filetree.nvimTree.setupOpts.modified Link copied!

Type: submodule

Indicate which file have unsaved modification.

Default: { }

vim.filetree.nvimTree.setupOpts.modified.enable Link copied!

Type: boolean

Whether to enable Modified files with icons and color highlight..

Default: false
Example: true

vim.filetree.nvimTree.setupOpts.modified.show_on_dirs Link copied!

Type: boolean

Show modified icons on parent directories.

Default: true

vim.filetree.nvimTree.setupOpts.modified.show_on_open_dirs Link copied!

Type: boolean

Show modified icons on directories that are open.

Default: true

vim.filetree.nvimTree.setupOpts.notify Link copied!

Type: submodule

Configuration for notifications.

Default: { }

vim.filetree.nvimTree.setupOpts.notify.absolute_path Link copied!

Type: boolean

Whether to use absolute paths or item names in fs action notifications.

Default: true

vim.filetree.nvimTree.setupOpts.notify.threshold Link copied!

Type: one of "ERROR", "WARNING", "INFO", "DEBUG"

Specify minimum notification level, uses the values from vim.log.levels

Default: "INFO"

vim.filetree.nvimTree.setupOpts.prefer_startup_root Link copied!

Type: boolean

Prefer startup root directory when updating root directory of the tree. Only relevant when update_focused_file.update_root is true

Default: false

vim.filetree.nvimTree.setupOpts.reload_on_bufenter Link copied!

Type: boolean

Automatically reloads the tree on BufEnter nvim-tree.

Default: false

vim.filetree.nvimTree.setupOpts.renderer.add_trailing Link copied!

Type: boolean

Appends a trailing slash to folder names.

Default: false

vim.filetree.nvimTree.setupOpts.renderer.full_name Link copied!

Type: boolean

Display node whose name length is wider than the width of nvim-tree window in floating window.

Default: false

vim.filetree.nvimTree.setupOpts.renderer.group_empty Link copied!

Type: boolean

Compact folders that only contain a single folder into one node in the file tree.

Default: false

vim.filetree.nvimTree.setupOpts.renderer.highlight_git Link copied!

Type: boolean

Enable file highlight for git attributes using NvimTreeGit highlight groups. Requires nvimTree.git.enable This can be used with or without the icons.

Default: false

vim.filetree.nvimTree.setupOpts.renderer.highlight_modified Link copied!

Type: one of "none", "icon", "name", "all"

Highlight modified files in the tree using NvimTreeNormal highlight group. Requires nvimTree.view.highlightOpenedFiles

Default: "none"

vim.filetree.nvimTree.setupOpts.renderer.highlight_opened_files Link copied!

Type: one of "none", "icon", "name", "all"

Highlight icons and/or names for bufloaded() files using the NvimTreeOpenedFile highlight group.

Default: "none"

vim.filetree.nvimTree.setupOpts.renderer.icons Link copied!

Type: submodule

Configuration options for icons.

Default: { }

vim.filetree.nvimTree.setupOpts.renderer.icons.bookmarks_placement Link copied!

Type: one of "before", "after", "signcolumn", "right_align"

Place where the bookmark icons will be rendered. signcolumn requires view.signcolumn to be enabled.

Default: "after"

vim.filetree.nvimTree.setupOpts.renderer.icons.diagnostics_placement Link copied!

Type: one of "before", "after", "signcolumn", "right_align"

Place where the diagnostics icons will be rendered. signcolumn requires view.signcolumn to be enabled.

Default: "after"

vim.filetree.nvimTree.setupOpts.renderer.icons.git_placement Link copied!

Type: one of "before", "after", "signcolumn", "right_align"

Place where the git icons will be rendered. signcolumn requires view.signcolumn to be enabled.

Default: "before"

vim.filetree.nvimTree.setupOpts.renderer.icons.glyphs Link copied!

Type: submodule

Configuration options for icon glyphs. NOTE: Do not set any glyphs to more than two characters if it's going to appear in the signcolumn.

Default: { }

vim.filetree.nvimTree.setupOpts.renderer.icons.glyphs.default Link copied!

Type: string

Glyph for files. Will be overridden by nvim-web-devicons if available.

Default: ""

vim.filetree.nvimTree.setupOpts.renderer.icons.glyphs.folder Link copied!

Type: attribute set

Glyphs for directories. Recommended to use the defaults unless you know what you are doing.

Default: { arrow_closed = ""; arrow_open = ""; default = ""; empty = ""; empty_open = ""; open = ""; symlink = ""; symlink_open = ""; }

vim.filetree.nvimTree.setupOpts.renderer.icons.glyphs.git Link copied!

Type: attribute set

Glyphs for git status.

Default: { deleted = ""; ignored = "◌"; renamed = "➜"; staged = "✓"; unmerged = ""; unstaged = "✗"; untracked = "★"; }

vim.filetree.nvimTree.setupOpts.renderer.icons.glyphs.modified Link copied!

Type: string

Icon to display for modified files.

Default: ""

vim.filetree.nvimTree.setupOpts.renderer.icons.hidden_placement Link copied!

Type: one of "before", "after", "signcolumn", "right_align"

Place where the hidden icons will be rendered. signcolumn requires view.signcolumn to be enabled.

Default: "after"

vim.filetree.nvimTree.setupOpts.renderer.icons.modified_placement Link copied!

Type: one of "before", "after", "signcolumn", "right_align"

Place where the modified icons will be rendered. signcolumn requires view.signcolumn to be enabled.

Default: "after"

vim.filetree.nvimTree.setupOpts.renderer.icons.padding Link copied!

Type: string

Inserted between icon and filename

Default: " "

vim.filetree.nvimTree.setupOpts.renderer.icons.show.file Link copied!

Type: boolean

Show an icon before the file name. nvim-web-devicons will be used if available.

Default: true

vim.filetree.nvimTree.setupOpts.renderer.icons.show.folder Link copied!

Type: boolean

Show an icon before the folder name.

Default: true

vim.filetree.nvimTree.setupOpts.renderer.icons.show.folder_arrow Link copied!

Type: boolean

Show a small arrow before the folder node. Arrow will be a part of the node when using renderer.indent_markers.

Default: true

vim.filetree.nvimTree.setupOpts.renderer.icons.show.git Link copied!

Type: boolean

Show a git status icon, see renderer.icons.gitPlacement Requires git.enable to be true.

Default: false

vim.filetree.nvimTree.setupOpts.renderer.icons.show.modified Link copied!

Type: boolean

Show a modified icon, see renderer.icons.modifiedPlacement Requires modified.enable to be true.

Default: true

vim.filetree.nvimTree.setupOpts.renderer.icons.webdev_colors Link copied!

Type: boolean

Use the webdev icon colors, otherwise NvimTreeFileIcon

Default: true

vim.filetree.nvimTree.setupOpts.renderer.indent_markers Link copied!

Type: submodule

Configuration options for tree indent markers.

Default: { }

vim.filetree.nvimTree.setupOpts.renderer.indent_markers.enable Link copied!

Type: boolean

Whether to enable Display indent markers when folders are open..

Default: false
Example: true

vim.filetree.nvimTree.setupOpts.renderer.indent_markers.icons Link copied!

Type: attribute set

Individual elements of the indent markers

Default: { bottom = "─"; corner = "└"; edge = "│"; item = "│"; none = ""; }

vim.filetree.nvimTree.setupOpts.renderer.indent_markers.inline_arrows Link copied!

Type: boolean

Display folder arrows in the same column as indent marker when using renderer.icons.show.folder_arrow

Default: true

vim.filetree.nvimTree.setupOpts.renderer.indent_width Link copied!

Type: signed integer

Number of spaces for an each tree nesting level. Minimum 1.

Default: 2

vim.filetree.nvimTree.setupOpts.renderer.root_folder_label Link copied!

Type: string or boolean

In what format to show root folder. See :help filename-modifiers for available string options. Set to false to hide the root folder.

Function is passed the absolute path of the root folder and should return a string. e.g. my_root_folder_label = function(path) return ".../" .. vim.fn.fnamemodify(path, ":t") end

Default: false
Example: "\"\":~:s?$?/..?\""

vim.filetree.nvimTree.setupOpts.renderer.special_files Link copied!

Type: list of string

A list of filenames that gets highlighted with `NvimTreeSpecialFile

Default: [ "Cargo.toml" "README.md" "readme.md" "Makefile" "MAKEFILE" "flake.nix" ]

vim.filetree.nvimTree.setupOpts.respect_buf_cwd Link copied!

Type: boolean

Will change cwd of nvim-tree to that of new buffer's when opening nvim-tree.

Default: false

vim.filetree.nvimTree.setupOpts.root_dirs Link copied!

Type: list of string

Preferred root directories. Only relevant when updateFocusedFile.updateRoot is true

Default: [ ]

vim.filetree.nvimTree.setupOpts.select_prompts Link copied!

Type: boolean

Whether to enable Use vim.ui.select style prompts. Necessary when using a UI prompt decorator such as dressing.nvim or telescope-ui-select.nvim .

Default: false
Example: true

vim.filetree.nvimTree.setupOpts.sort.folders_first Link copied!

Type: boolean

Sort folders before files. Has no effect when sort.sorter is a function.

Default: true

vim.filetree.nvimTree.setupOpts.sort.sorter Link copied!

Type: one of "name", "extension", "modification_time", "case_sensitive", "suffix", "filetype"

How files within the same directory are sorted.

Default: "name"

vim.filetree.nvimTree.setupOpts.sync_root_with_cwd Link copied!

Type: boolean

Changes the tree root directory on DirChanged and refreshes the tree. Only relevant when updateFocusedFile.updateRoot is true

(previously update_cwd)

Default: false

vim.filetree.nvimTree.setupOpts.system_open.args Link copied!

Type: list of string

Optional argument list.

Default: [ ]

vim.filetree.nvimTree.setupOpts.system_open.cmd Link copied!

Type: string

The open command itself

Default: "\${pkgs.xdg-utils}/bin/xdg-open"

vim.filetree.nvimTree.setupOpts.tab Link copied!

Type: submodule

Configuration for tab behaviour.

Default: { }

vim.filetree.nvimTree.setupOpts.tab.sync Link copied!

Type: submodule

Configuration for syncing nvim-tree across tabs.

Default: { }

vim.filetree.nvimTree.setupOpts.tab.sync.close Link copied!

Type: boolean

Closes the tree across all tabpages when the tree is closed.

Default: false

vim.filetree.nvimTree.setupOpts.tab.sync.ignore Link copied!

Type: list of string

List of filetypes or buffer names on new tab that will prevent nvimTree.tab.sync.open and nvimTree.tab.sync.close

Default: [ ]

vim.filetree.nvimTree.setupOpts.tab.sync.open Link copied!

Type: boolean

Opens the tree automatically when switching tabpage or opening a new tabpage if the tree was previously open.

Default: false

vim.filetree.nvimTree.setupOpts.trash Link copied!

Type: submodule

Configuration options for trashing.

Default: { cmd = "\${pkgs.glib}/bin/gio trash"; }

vim.filetree.nvimTree.setupOpts.trash.cmd Link copied!

Type: string

The command used to trash items

vim.filetree.nvimTree.setupOpts.ui Link copied!

Type: submodule

General UI configuration.

Default: { }

vim.filetree.nvimTree.setupOpts.ui.confirm.remove Link copied!

Type: boolean

Prompt before removing.

Default: true

vim.filetree.nvimTree.setupOpts.ui.confirm.trash Link copied!

Type: boolean

Prompt before trash.

Default: true

vim.filetree.nvimTree.setupOpts.update_focused_file Link copied!

Type: submodule

Update the focused file on BufEnter, un-collapses the folders recursively until it finds the file.

Default: { }

vim.filetree.nvimTree.setupOpts.update_focused_file.enable Link copied!

Type: boolean

update focused file

Default: false

vim.filetree.nvimTree.setupOpts.update_focused_file.ignore_list Link copied!

Type: list of string

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 update_focused_file.update_root and update_focused_file.enable are true.

Default: [ ]

vim.filetree.nvimTree.setupOpts.update_focused_file.update_root Link copied!

Type: boolean

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 update_focused_file.enable is true

Default: false

vim.filetree.nvimTree.setupOpts.view Link copied!

Type: submodule

Window / buffer setup.

Default: { }

vim.filetree.nvimTree.setupOpts.view.centralize_selection Link copied!

Type: boolean

If true, reposition the view so that the current node is initially centralized when entering nvim-tree.

Default: false

vim.filetree.nvimTree.setupOpts.view.cursorline Link copied!

Type: boolean

Enable cursorline in nvim-tree window.

Default: true

vim.filetree.nvimTree.setupOpts.view.debounce_delay Link copied!

Type: signed integer

Idle milliseconds before some reload / refresh operations. Increase if you experience performance issues around screen refresh.

Default: 15

vim.filetree.nvimTree.setupOpts.view.float Link copied!

Type: submodule

Configuration options for floating window.

Default: { }

vim.filetree.nvimTree.setupOpts.view.float.enable Link copied!

Type: boolean

If true, tree window will be floating.

Default: false

vim.filetree.nvimTree.setupOpts.view.float.open_win_config Link copied!

Type: attribute set

Floating window config. See :h nvim_open_win() for more details.

Default: { border = "rounded"; col = 1; height = 30; relative = "editor"; row = 1; width = 30; }

vim.filetree.nvimTree.setupOpts.view.float.quit_on_focus_loss Link copied!

Type: boolean

Close the floating tree window when it loses focus.

Default: true

vim.filetree.nvimTree.setupOpts.view.number Link copied!

Type: boolean

Print the line number in front of each line.

Default: false

vim.filetree.nvimTree.setupOpts.view.preserve_window_proportions Link copied!

Type: boolean

Preserves window proportions when opening a file. If false, the height and width of windows other than nvim-tree will be equalized.

Default: false

vim.filetree.nvimTree.setupOpts.view.relativenumber Link copied!

Type: boolean

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.

Default: false

vim.filetree.nvimTree.setupOpts.view.side Link copied!

Type: one of "left", "right"

Side of the tree.

Default: "left"

vim.filetree.nvimTree.setupOpts.view.signcolumn Link copied!

Type: one of "yes", "auto", "no"

Show diagnostic sign column. Value can be "yes", "auto" or"no".

Default: "yes"

vim.filetree.nvimTree.setupOpts.view.width Link copied!

Type: signed integer or (attribute set)

Width of the window: can be a % string, a number representing columns, a function or a table.

A table (an attribute set in our case, see example) indicates that the view should be dynamically sized based on the longest line.

Default: 30
Example:
{
  min = 30;
  max = -1;
  padding = 1;
}

vim.formatter.conform-nvim.enable Link copied!

Type: boolean

Whether to enable lightweight yet powerful formatter plugin for Neovim [conform-nvim].

Default: false
Example: true

vim.formatter.conform-nvim.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of conform.nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.formatter.conform-nvim.setupOpts.default_format_opts Link copied!

Type: attribute set

Default values when calling conform.format()

Default: { lsp_format = "fallback"; }

vim.formatter.conform-nvim.setupOpts.format_after_save Link copied!

Type: null or (attribute set) or (luaInline)

Table or function(luainline) that will be passed to conform.format(). If this is set, Conform will run the formatter asynchronously after save.

Default: { _type = "lua-inline"; expr = '' function() if not vim.g.formatsave or vim.b.disableFormatSave then return else return {["lsp_format"] = "fallback"} end end ''; }

vim.formatter.conform-nvim.setupOpts.format_on_save Link copied!

Type: null or (attribute set) or (luaInline)

Attribute set or Lua function that will be passed to conform.format(). If this is set, Conform will run the formatter on save.

Default: enabled by default, and respects {option}`vim.lsp.formatOnSave` and {option}`vim.lsp.mappings.toggleFormatSave`

vim.formatter.conform-nvim.setupOpts.formatters_by_ft Link copied!

Type: attribute set

Map of filetype to formatters. This option takes a set of key = value format where the value will be converted to its Lua equivalent. You are responsible for passing the correct Nix data types to generate a correct Lua value that conform is able to accept.

Default: { }
Example:
{
  lua = [
    "stylua"
  ];
}

vim.fzf-lua.enable Link copied!

Type: boolean

Whether to enable fzf-lua.

Default: false
Example: true

vim.fzf-lua.profile Link copied!

Type: one of "default", "default-title", "fzf-native", "fzf-tmux", "fzf-vim", "max-perf", "telescope", "skim", "borderless", "borderless-full", "border-fused"

The configuration profile to use

Default: "default"

vim.fzf-lua.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of fzf-lua

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.fzf-lua.setupOpts.fzf_bin Link copied!

Type: string

Path to fzf executable

Default: "\${pkgs.fzf.out}/bin/fzf"

vim.fzf-lua.setupOpts.winopts.border Link copied!

Type: one of "none", "single", "double", "rounded", "solid", "shadow" or list of (string or list of string)

Border type for the fzf-lua picker window

Default: "rounded"

vim.gestures.gesture-nvim.enable Link copied!

Type: boolean

Whether to enable gesture-nvim: mouse gestures.

Default: false
Example: true

vim.gestures.gesture-nvim.mappings.draw Link copied!

Type: null or string

Start drawing [gesture.nvim]

Default: ""

vim.gestures.gesture-nvim.mappings.finish Link copied!

Type: null or string

Finish drawing [gesture.nvim]

Default: ""

vim.git.enable Link copied!

Type: boolean

Whether to enable git integration suite.

Enabling this option will enable the following plugins:

  • gitsigns
  • vim-fugitive
  • git-conflict
  • gitlinker-nvim .
Default: false
Example: true

vim.git.git-conflict.enable Link copied!

Type: boolean

Whether to enable git-conflict.

Default: false
Example: true

vim.git.git-conflict.mappings.both Link copied!

Type: null or string

Choose Both [Git-Conflict]

Default: "cb"

vim.git.git-conflict.mappings.nextConflict Link copied!

Type: null or string

Go to the next Conflict [Git-Conflict]

Default: "[x"

vim.git.git-conflict.mappings.none Link copied!

Type: null or string

Choose None [Git-Conflict]

Default: "c0"

vim.git.git-conflict.mappings.ours Link copied!

Type: null or string

Choose Ours [Git-Conflict]

Default: "co"

vim.git.git-conflict.mappings.prevConflict Link copied!

Type: null or string

Go to the previous Conflict [Git-Conflict]

Default: "]x"

vim.git.git-conflict.mappings.theirs Link copied!

Type: null or string

Choose Theirs [Git-Conflict]

Default: "ct"

vim.git.git-conflict.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of git-conflict

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.git.gitlinker-nvim.enable Link copied!

Type: boolean

Whether to enable gitlinker-nvim.

Default: false
Example: true

vim.git.gitlinker-nvim.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of gitlinker-nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.git.gitsigns.codeActions.enable Link copied!

Type: boolean

Whether to enable gitsigns codeactions through null-ls.

Default: false
Example: true

vim.git.gitsigns.enable Link copied!

Type: boolean

Whether to enable gitsigns.

Default: false
Example: true

vim.git.gitsigns.mappings.blameLine Link copied!

Type: null or string

Blame line [Gitsigns]

Default: "hb"

vim.git.gitsigns.mappings.diffProject Link copied!

Type: null or string

Diff project [Gitsigns]

Default: "hD"

vim.git.gitsigns.mappings.diffThis Link copied!

Type: null or string

Diff this [Gitsigns]

Default: "hd"

vim.git.gitsigns.mappings.nextHunk Link copied!

Type: null or string

Next hunk [Gitsigns]

Default: "]c"

vim.git.gitsigns.mappings.previewHunk Link copied!

Type: null or string

Preview hunk [Gitsigns]

Default: "hP"

vim.git.gitsigns.mappings.previousHunk Link copied!

Type: null or string

Previous hunk [Gitsigns]

Default: "[c"

vim.git.gitsigns.mappings.resetBuffer Link copied!

Type: null or string

Reset buffer [Gitsigns]

Default: "hR"

vim.git.gitsigns.mappings.resetHunk Link copied!

Type: null or string

Reset hunk [Gitsigns]

Default: "hr"

vim.git.gitsigns.mappings.stageBuffer Link copied!

Type: null or string

Stage buffer [Gitsigns]

Default: "hS"

vim.git.gitsigns.mappings.stageHunk Link copied!

Type: null or string

Stage hunk [Gitsigns]

Default: "hs"

vim.git.gitsigns.mappings.toggleBlame Link copied!

Type: null or string

Toggle blame [Gitsigns]

Default: "tb"

vim.git.gitsigns.mappings.toggleDeleted Link copied!

Type: null or string

Toggle deleted [Gitsigns]

Default: "td"

vim.git.gitsigns.mappings.undoStageHunk Link copied!

Type: null or string

Undo stage hunk [Gitsigns]

Default: "hu"

vim.git.gitsigns.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of gitsigns

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.git.vim-fugitive.enable Link copied!

Type: boolean

Whether to enable vim-fugitive.

Default: false
Example: true

vim.globals Link copied!

Type: attribute set of anything

A freeform attribute set containing global variable values for setting vim variables as early as possible. If populated, this option will set vim variables in the built luaConfigRC as the first item.

Note

{foo = "bar";} will set vim.g.foo to “bar”, where the type of bar in the resulting Lua value will be inferred from the type of the value in the {name = value;} pair passed to the option.

Default: { }
Example:
{
  some_variable = 42;
}

vim.globals.editorconfig Link copied!

Type: boolean

Whether to enable EditorConfig integration in Neovim.

This defaults to true as it is enabled by default in stock Neovim, setting this option to false disables EditorConfig integration entirely.

See https://neovim.io/doc/user/editorconfig.html">Neovim documentation for more details on configuring EditorConfig behaviour.

Default: true

vim.globals.mapleader Link copied!

Type: string

The key used for <leader> mappings

Default: " "

vim.globals.maplocalleader Link copied!

Type: string

The key used for <localleader> mappings

Default: ","

vim.hideSearchHighlight Link copied!

Type: boolean

Hide search highlight so it doesn't stay highlighted

Default: false

vim.highlight Link copied!

Type: attribute set of (submodule)

Custom highlights to apply

Default: { }
Example:
{
  SignColumn = {
    bg = "#282828";
  };
}

vim.highlight.<name>.bg Link copied!

Type: null or string

The background color to use. Written as color name or hex "#RRGGBB".

Default: null
Example: "#ebdbb2"

vim.highlight.<name>.blend Link copied!

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

Blend as an integer between 0 and 100

Default: null

vim.highlight.<name>.bold Link copied!

Type: null or boolean

Whether to enable bold

Default: null
Example: false

vim.highlight.<name>.cterm Link copied!

Type: null or (list of (one of "bold", "underline", "undercurl", "underdouble", "underdotted", "underdashed", "strikethrough", "reverse", "inverse", "italic", "standout", "altfont", "nocombine", "NONE"))

The cterm arguments to use. See ':h highlight-args'

Default: null

vim.highlight.<name>.ctermbg Link copied!

Type: null or string

The cterm background color to use

Default: null

vim.highlight.<name>.ctermfg Link copied!

Type: null or string

The cterm foreground color to use

Default: null

vim.highlight.<name>.default Link copied!

Type: null or boolean

Don't override existing definition

Default: null

vim.highlight.<name>.fg Link copied!

Type: null or string

The foreground color to use. Written as color name or hex "#RRGGBB".

Default: null
Example: "#ebdbb2"

vim.highlight.<name>.force Link copied!

Type: null or boolean

Whether to enable force update

Default: null
Example: false

vim.highlight.<name>.italic Link copied!

Type: null or boolean

Whether to enable italic

Default: null
Example: false

vim.highlight.<name>.nocombine Link copied!

Type: null or boolean

Whether to enable nocombine

Default: null
Example: false

vim.highlight.<name>.reverse Link copied!

Type: null or boolean

Whether to enable reverse

Default: null
Example: false

vim.highlight.<name>.sp Link copied!

Type: null or string

The special color to use. Written as color name or hex "#RRGGBB".

Default: null
Example: "#ebdbb2"

vim.highlight.<name>.standout Link copied!

Type: null or boolean

Whether to enable standout

Default: null
Example: false

vim.highlight.<name>.strikethrough Link copied!

Type: null or boolean

Whether to enable strikethrough

Default: null
Example: false

vim.highlight.<name>.undercurl Link copied!

Type: null or boolean

Whether to enable undercurl

Default: null
Example: false

vim.highlight.<name>.underdashed Link copied!

Type: null or boolean

Whether to enable underdashed

Default: null
Example: false

vim.highlight.<name>.underdotted Link copied!

Type: null or boolean

Whether to enable underdotted

Default: null
Example: false

vim.highlight.<name>.underdouble Link copied!

Type: null or boolean

Whether to enable underdouble

Default: null
Example: false

vim.highlight.<name>.underline Link copied!

Type: null or boolean

Whether to enable underline

Default: null
Example: false

vim.keymaps Link copied!

Type: list of (submodule)

Custom keybindings.

Default: { }
Example:
''
  vim.keymaps = [
    {
      key = "<leader>m";
      mode = "n";
      silent = true;
      action = ":make<CR>";
    }
    {
      key = "<leader>l";
      mode = ["n" "x"];
      silent = true;
      action = "<cmd>cnext<CR>";
    }
  ];
''

vim.keymaps.*.action Link copied!

Type: string

The command to execute.

vim.keymaps.*.desc Link copied!

Type: null or string

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

Default: null

vim.keymaps.*.expr Link copied!

Type: boolean

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

Default: false

vim.keymaps.*.key Link copied!

Type: null or string

The key that triggers this keybind.

vim.keymaps.*.lua Link copied!

Type: boolean

If true, action is considered to be lua code. Thus, it will not be wrapped in "".

Default: false

vim.keymaps.*.mode Link copied!

Type: string or list of string

The short-name of the mode to set the keymapping for. Passing an empty string is the equivalent of :map.

See :help map-modes for a list of modes.

Example: `["n" "v" "c"]` for normal, visual and command mode

vim.keymaps.*.noremap Link copied!

Type: boolean

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.

Default: true

vim.keymaps.*.nowait Link copied!

Type: boolean

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

Default: false

vim.keymaps.*.script Link copied!

Type: boolean

Equivalent to adding <script> to a map.

Default: false

vim.keymaps.*.silent Link copied!

Type: boolean

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

Default: true

vim.keymaps.*.unique Link copied!

Type: boolean

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

Default: false

vim.languages.assembly.enable Link copied!

Type: boolean

Whether to enable Assembly support.

Default: false
Example: true

vim.languages.assembly.lsp.enable Link copied!

Type: boolean

Whether to enable Assembly LSP support (asm-lsp).

Default: false
Example: true

vim.languages.assembly.lsp.package Link copied!

Type: package

asm-lsp package

Default:

vim.languages.assembly.treesitter.enable Link copied!

Type: boolean

Whether to enable Assembly treesitter.

Default: false
Example: true

vim.languages.assembly.treesitter.package Link copied!

Type: package

The asm treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.asm

vim.languages.astro.enable Link copied!

Type: boolean

Whether to enable Astro language support.

Default: false
Example: true

vim.languages.astro.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra Astro diagnostics.

Default: false
Example: true

vim.languages.astro.extraDiagnostics.types Link copied!

Type: list of (value "eslint_d" (singular enum) or (submodule))

List of Astro diagnostics to enable

Default: [ "eslint_d" ]

vim.languages.astro.format.enable Link copied!

Type: boolean

Whether to enable Astro formatting.

Default: false
Example: true

vim.languages.astro.format.package Link copied!

Type: package

Astro formatter package

Default:

vim.languages.astro.format.type Link copied!

Type: one of "biome", "prettier", "prettierd"

Astro formatter to use

Default: "prettier"

vim.languages.astro.lsp.enable Link copied!

Type: boolean

Whether to enable Astro LSP support.

Default: false
Example: true

vim.languages.astro.lsp.package Link copied!

Type: package or list of string

Astro LSP server package, or the command to run as a list of strings

Default:
Example: "[lib.getExe pkgs.astro-language-server \"--minify\" \"--stdio\"]"

vim.languages.astro.lsp.server Link copied!

Type: value "astro" (singular enum)

Astro LSP server to use

Default: "astro"

vim.languages.astro.treesitter.astroPackage Link copied!

Type: package

The astro treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.astro

vim.languages.astro.treesitter.enable Link copied!

Type: boolean

Whether to enable Astro treesitter.

Default: false
Example: true

vim.languages.bash.enable Link copied!

Type: boolean

Whether to enable Bash language support.

Default: false
Example: true

vim.languages.bash.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra Bash diagnostics.

Default: false
Example: true

vim.languages.bash.extraDiagnostics.types Link copied!

Type: list of (value "shellcheck" (singular enum) or (submodule))

List of Bash diagnostics to enable

Default: [ "shellcheck" ]

vim.languages.bash.format.enable Link copied!

Type: boolean

Enable Bash formatting

Default: false

vim.languages.bash.format.package Link copied!

Type: package

Bash formatter package

Default:

vim.languages.bash.format.type Link copied!

Type: value "shfmt" (singular enum)

Bash formatter to use

Default: "shfmt"

vim.languages.bash.lsp.enable Link copied!

Type: boolean

Whether to enable Enable Bash LSP support.

Default: false
Example: true

vim.languages.bash.lsp.package Link copied!

Type: package or list of string

bash-language-server package, or the command to run as a list of strings

Default:
Example: [lib.getExe pkgs.nodePackages.bash-language-server "start"]

vim.languages.bash.lsp.server Link copied!

Type: value "bash-ls" (singular enum)

Bash LSP server to use

Default: "bash-ls"

vim.languages.bash.treesitter.enable Link copied!

Type: boolean

Whether to enable Bash treesitter.

Default: false
Example: true

vim.languages.bash.treesitter.package Link copied!

Type: package

The bash treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.bash

vim.languages.clang.cHeader Link copied!

Type: boolean
Default: false

vim.languages.clang.dap.debugger Link copied!

Type: value "lldb-vscode" (singular enum)

clang debugger to use

Default: "lldb-vscode"

vim.languages.clang.dap.enable Link copied!

Type: boolean

Enable clang Debug Adapter

Default: false

vim.languages.clang.dap.package Link copied!

Type: package

clang debugger package.

Default:

vim.languages.clang.enable Link copied!

Type: boolean

Whether to enable C/C++ language support.

Default: false
Example: true

vim.languages.clang.lsp.enable Link copied!

Type: boolean

Whether to enable clang LSP support.

Default: false
Example: true

vim.languages.clang.lsp.opts Link copied!

Type: null or string

Options to pass to clang LSP server

Default: null

vim.languages.clang.lsp.package Link copied!

Type: package or list of string

clang LSP server package, or the command to run as a list of strings

Default:
Example: "[lib.getExe pkgs.jdt-language-server \" - data \" \" ~/.cache/jdtls/workspace \"]"

vim.languages.clang.lsp.server Link copied!

Type: one of "ccls", "clangd"

The clang LSP server to use

Default: "clangd"

vim.languages.clang.treesitter.cPackage Link copied!

Type: package

The c treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.c

vim.languages.clang.treesitter.cppPackage Link copied!

Type: package

The cpp treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.cpp

vim.languages.clang.treesitter.enable Link copied!

Type: boolean

Whether to enable C/C++ treesitter.

Default: false
Example: true

vim.languages.clojure.enable Link copied!

Type: boolean

Whether to enable Clojure language support.

Default: false
Example: true

vim.languages.clojure.lsp.enable Link copied!

Type: boolean

Whether to enable Clojure LSP support.

Default: false
Example: true

vim.languages.clojure.lsp.package Link copied!

Type: package or list of string

Clojure LSP

Default:

vim.languages.clojure.treesitter.enable Link copied!

Type: boolean

Whether to enable Clojure treesitter.

Default: false
Example: true

vim.languages.clojure.treesitter.package Link copied!

Type: package

The clojure treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.clojure

vim.languages.csharp.enable Link copied!

Type: boolean

Whether to enable C# language support.

Default: false
Example: true

vim.languages.csharp.lsp.enable Link copied!

Type: boolean

Whether to enable C# LSP support.

Default: false
Example: true

vim.languages.csharp.lsp.package Link copied!

Type: package or list of string

C# LSP server package, or the command to run as a list of strings

Default:

vim.languages.csharp.lsp.server Link copied!

Type: one of "csharp_ls", "omnisharp"

C# LSP server to use

Default: "csharp_ls"

vim.languages.csharp.treesitter.enable Link copied!

Type: boolean

Whether to enable C# treesitter.

Default: false
Example: true

vim.languages.csharp.treesitter.package Link copied!

Type: package

The c-sharp treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.c-sharp

vim.languages.css.enable Link copied!

Type: boolean

Whether to enable CSS language support.

Default: false
Example: true

vim.languages.css.format.enable Link copied!

Type: boolean

Whether to enable CSS formatting.

Default: false
Example: true

vim.languages.css.format.package Link copied!

Type: package

CSS formatter package

Default:

vim.languages.css.format.type Link copied!

Type: one of "biome", "prettier", "prettierd"

CSS formatter to use

Default: "prettier"

vim.languages.css.lsp.enable Link copied!

Type: boolean

Whether to enable CSS LSP support.

Default: false
Example: true

vim.languages.css.lsp.package Link copied!

Type: package or list of string

CSS LSP server package, or the command to run as a list of strings

Default:
Example: "[lib.getExe pkgs.jdt-language-server \" - data \" \" ~/.cache/jdtls/workspace \"]"

vim.languages.css.lsp.server Link copied!

Type: value "vscode-langservers-extracted" (singular enum)

CSS LSP server to use

Default: "vscode-langservers-extracted"

vim.languages.css.treesitter.enable Link copied!

Type: boolean

Whether to enable CSS treesitter.

Default: false
Example: true

vim.languages.css.treesitter.package Link copied!

Type: package

The css treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.css

vim.languages.cue.enable Link copied!

Type: boolean

Whether to enable CUE language support.

Default: false
Example: true

vim.languages.cue.lsp.enable Link copied!

Type: boolean

Whether to enable CUE LSP support.

Default: false
Example: true

vim.languages.cue.lsp.package Link copied!

Type: package

cue lsp implementation

Default:

vim.languages.cue.treesitter.enable Link copied!

Type: boolean

Whether to enable CUE treesitter.

Default: false
Example: true

vim.languages.cue.treesitter.package Link copied!

Type: package

The cue treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.cue

vim.languages.dart.dap.enable Link copied!

Type: boolean

Enable Dart DAP support via flutter-tools

Default: false

vim.languages.dart.enable Link copied!

Type: boolean

Whether to enable Dart language support.

Default: false
Example: true

vim.languages.dart.flutter-tools.color.enable Link copied!

Type: boolean

Whether to enable highlighting color variables.

Default: false
Example: true

vim.languages.dart.flutter-tools.color.highlightBackground Link copied!

Type: boolean

Highlight the background

Default: false

vim.languages.dart.flutter-tools.color.highlightForeground Link copied!

Type: boolean

Highlight the foreground

Default: false

vim.languages.dart.flutter-tools.color.virtualText.character Link copied!

Type: string

Virtual text character to highlight

Default: "■"

vim.languages.dart.flutter-tools.color.virtualText.enable Link copied!

Type: boolean

Whether to enable Show the highlight using virtual text.

Default: false
Example: true

vim.languages.dart.flutter-tools.enable Link copied!

Type: boolean

Enable flutter-tools for flutter support

Default: false

vim.languages.dart.flutter-tools.enableNoResolvePatch Link copied!

Type: boolean

Whether to patch flutter-tools so that it doesn't resolve symlinks when detecting flutter path.

Note

This is required if flutterPackage is set to null and the flutter package in your PATH was built with Nix. If you are using a flutter SDK installed from a different source and encounter the error “dart missing from PATH”, leave this option disabled.

Default: false

vim.languages.dart.flutter-tools.flutterPackage Link copied!

Type: null or package

Flutter package, or null to detect the flutter path at runtime instead.

Default:

vim.languages.dart.lsp.enable Link copied!

Type: boolean

Whether to enable Dart LSP support.

Default: false
Example: true

vim.languages.dart.lsp.opts Link copied!

Type: null or string

Options to pass to Dart LSP server

Default: null

vim.languages.dart.lsp.package Link copied!

Type: package or list of string

Dart LSP server package, or the command to run as a list of strings

Default:
Example: "[lib.getExe pkgs.jdt-language-server \"-data\" \"~/.cache/jdtls/workspace\"]"

vim.languages.dart.lsp.server Link copied!

Type: value "dart" (singular enum)

The Dart LSP server to use

Default: "dart"

vim.languages.dart.treesitter.enable Link copied!

Type: boolean

Whether to enable Dart treesitter.

Default: false
Example: true

vim.languages.dart.treesitter.package Link copied!

Type: package

The dart treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.dart

vim.languages.elixir.elixir-tools.enable Link copied!

Type: boolean

Whether to enable Elixir tools.

Default: false
Example: true

vim.languages.elixir.enable Link copied!

Type: boolean

Whether to enable Elixir language support.

Default: false
Example: true

vim.languages.elixir.format.enable Link copied!

Type: boolean

Whether to enable Elixir formatting.

Default: false
Example: true

vim.languages.elixir.format.package Link copied!

Type: package

Elixir formatter package

Default:

vim.languages.elixir.format.type Link copied!

Type: value "mix" (singular enum)

Elixir formatter to use

Default: "mix"

vim.languages.elixir.lsp.enable Link copied!

Type: boolean

Whether to enable Elixir LSP support.

Default: false
Example: true

vim.languages.elixir.lsp.package Link copied!

Type: package or list of string

Elixir LSP server package, or the command to run as a list of strings

Default:
Example: "[lib.getExe pkgs.jdt-language-server \" - data \" \" ~/.cache/jdtls/workspace \"]"

vim.languages.elixir.lsp.server Link copied!

Type: value "elixirls" (singular enum)

Elixir LSP server to use

Default: "elixirls"

vim.languages.elixir.treesitter.enable Link copied!

Type: boolean

Whether to enable Elixir treesitter.

Default: false
Example: true

vim.languages.elixir.treesitter.package Link copied!

Type: package

The elixir treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.elixir

vim.languages.enableDAP Link copied!

Type: boolean

Turn on Debug Adapter for enabled languages by default

Default: false

vim.languages.enableExtraDiagnostics Link copied!

Type: boolean

Turn on extra diagnostics for enabled languages by default

Default: false

vim.languages.enableFormat Link copied!

Type: boolean

Turn on Formatting for enabled languages by default

Default: false

vim.languages.enableTreesitter Link copied!

Type: boolean

Turn on Treesitter for enabled languages by default

Default: false

vim.languages.fsharp.enable Link copied!

Type: boolean

Whether to enable F# language support.

Default: false
Example: true

vim.languages.fsharp.format.enable Link copied!

Type: boolean

Whether to enable F# formatting.

Default: false
Example: true

vim.languages.fsharp.format.package Link copied!

Type: package

F# formatter package

Default:

vim.languages.fsharp.format.type Link copied!

Type: value "fantomas" (singular enum)

F# formatter to use

Default: "fantomas"

vim.languages.fsharp.lsp.enable Link copied!

Type: boolean

Whether to enable F# LSP support.

Default: false
Example: true

vim.languages.fsharp.lsp.package Link copied!

Type: package or list of string

F# LSP server package, or the command to run as a list of strings

Default:
Example: "[lib.getExe pkgs.fsautocomplete \"--state-directory\" \"~/.cache/fsautocomplete\"]"

vim.languages.fsharp.lsp.server Link copied!

Type: value "fsautocomplete" (singular enum)

F# LSP server to use

Default: "fsautocomplete"

vim.languages.fsharp.treesitter.enable Link copied!

Type: boolean

Whether to enable F# treesitter.

Default: false
Example: true

vim.languages.fsharp.treesitter.package Link copied!

Type: package

The fsharp treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.fsharp

vim.languages.gleam.enable Link copied!

Type: boolean

Whether to enable Gleam language support.

Default: false
Example: true

vim.languages.gleam.lsp.enable Link copied!

Type: boolean

Whether to enable Gleam LSP support.

Default: false
Example: true

vim.languages.gleam.lsp.package Link copied!

Type: package or list of string

Gleam LSP server package, or the command to run as a list of strings

Default:

vim.languages.gleam.lsp.server Link copied!

Type: value "gleam" (singular enum)

Gleam LSP server to use

Default: "gleam"

vim.languages.gleam.treesitter.enable Link copied!

Type: boolean

Whether to enable Gleam treesitter.

Default: false
Example: true

vim.languages.gleam.treesitter.package Link copied!

Type: package

The gleam treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.gleam

vim.languages.go.dap.debugger Link copied!

Type: value "delve" (singular enum)

Go debugger to use

Default: "delve"

vim.languages.go.dap.enable Link copied!

Type: boolean

Enable Go Debug Adapter via nvim-dap-go plugin

Default: false

vim.languages.go.dap.package Link copied!

Type: package

Go debugger package.

Default:

vim.languages.go.enable Link copied!

Type: boolean

Whether to enable Go language support.

Default: false
Example: true

vim.languages.go.format.enable Link copied!

Type: boolean

Whether to enable Go formatting.

Default: disabled if Go LSP is enabled, otherwise follows {option}`vim.languages.enableFormat`
Example: true

vim.languages.go.format.package Link copied!

Type: package

Go formatter package

Default:

vim.languages.go.format.type Link copied!

Type: one of "gofmt", "gofumpt", "golines"

Go formatter to use

Default: "gofmt"

vim.languages.go.lsp.enable Link copied!

Type: boolean

Whether to enable Go LSP support.

Default: false
Example: true

vim.languages.go.lsp.package Link copied!

Type: package or list of string

Go LSP server package, or the command to run as a list of strings

Default:
Example: "[lib.getExe pkgs.jdt-language-server \" - data \" \" ~/.cache/jdtls/workspace \"]"

vim.languages.go.lsp.server Link copied!

Type: value "gopls" (singular enum)

Go LSP server to use

Default: "gopls"

vim.languages.go.treesitter.enable Link copied!

Type: boolean

Whether to enable Go treesitter.

Default: false
Example: true

vim.languages.go.treesitter.package Link copied!

Type: package

The go treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.go

vim.languages.haskell.dap.enable Link copied!

Type: boolean

Whether to enable DAP support for Haskell.

Default: false
Example: true

vim.languages.haskell.dap.package Link copied!

Type: package or list of string

Haskell DAP package or command to run the Haskell DAP

Default:

vim.languages.haskell.enable Link copied!

Type: boolean

Whether to enable Haskell support.

Default: false
Example: true

vim.languages.haskell.lsp.enable Link copied!

Type: boolean

Whether to enable LSP support for Haskell.

Default: false
Example: true

vim.languages.haskell.lsp.package Link copied!

Type: package or list of string

Haskell LSP package or command to run the Haskell LSP

Default:
Example: "[ (lib.getExe pkgs.haskellPackages.haskell-language-server) \"--debug\" ]"

vim.languages.haskell.treesitter.enable Link copied!

Type: boolean

Whether to enable Treesitter support for Haskell.

Default: false
Example: true

vim.languages.haskell.treesitter.package Link copied!

Type: package

The haskell treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.haskell

vim.languages.hcl.enable Link copied!

Type: boolean

Whether to enable HCL support.

Default: false
Example: true

vim.languages.hcl.format.enable Link copied!

Type: boolean

Enable HCL formatting

Default: false

vim.languages.hcl.format.package Link copied!

Type: package

HCL formatter package

Default:

vim.languages.hcl.format.type Link copied!

Type: value "hclfmt" (singular enum)

HCL formatter to use

Default: "hclfmt"

vim.languages.hcl.lsp.enable Link copied!

Type: boolean

Whether to enable HCL LSP support (terraform-ls).

Default: false
Example: true

vim.languages.hcl.lsp.package Link copied!

Type: package

HCL language server package (terraform-ls)

Default:

vim.languages.hcl.treesitter.enable Link copied!

Type: boolean

Whether to enable HCL treesitter.

Default: false
Example: true

vim.languages.hcl.treesitter.package Link copied!

Type: package

The hcl treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.hcl

vim.languages.helm.enable Link copied!

Type: boolean

Whether to enable Helm language support.

Default: false
Example: true

vim.languages.helm.lsp.enable Link copied!

Type: boolean

Whether to enable Helm LSP support.

Default: false
Example: true

vim.languages.helm.lsp.package Link copied!

Type: package or list of string

Helm LSP server package

Default:

vim.languages.helm.lsp.server Link copied!

Type: value "helm-ls" (singular enum)

Helm LSP server to use

Default: "helm-ls"

vim.languages.helm.treesitter.enable Link copied!

Type: boolean

Whether to enable Helm treesitter.

Default: false
Example: true

vim.languages.helm.treesitter.package Link copied!

Type: package

The helm treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.helm

vim.languages.html.enable Link copied!

Type: boolean

Whether to enable HTML language support.

Default: false
Example: true

vim.languages.html.treesitter.autotagHtml Link copied!

Type: boolean

Enable autoclose/autorename of html tags (nvim-ts-autotag)

Default: true

vim.languages.html.treesitter.enable Link copied!

Type: boolean

Whether to enable HTML treesitter support.

Default: false
Example: true

vim.languages.html.treesitter.package Link copied!

Type: package

The html treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.html

vim.languages.java.enable Link copied!

Type: boolean

Whether to enable Java language support.

Default: false
Example: true

vim.languages.java.lsp.enable Link copied!

Type: boolean

Whether to enable Java LSP support (java-language-server).

Default: false
Example: true

vim.languages.java.lsp.package Link copied!

Type: package or list of string

java language server package, or the command to run as a list of strings

Default:
Example: "[lib.getExe pkgs.jdt-language-server \"-data\" \"~/.cache/jdtls/workspace\"]"

vim.languages.java.treesitter.enable Link copied!

Type: boolean

Whether to enable Java treesitter.

Default: false
Example: true

vim.languages.java.treesitter.package Link copied!

Type: package

The java treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.java

vim.languages.julia.enable Link copied!

Type: boolean

Whether to enable Julia language support.

Default: false
Example: true

vim.languages.julia.lsp.enable Link copied!

Type: boolean

Whether to enable Julia LSP support.

Note

The entirety of Julia is bundled with nvf, if you enable this option, since there is no way to provide only the LSP server.

If you want to avoid that, you have to change to use the Julia binary in {env}PATH (set it to null), and add the LanguageServer package to Julia in your devshells.

Default: false

vim.languages.julia.lsp.package Link copied!

Type: null or package or list of string

Julia LSP server package, null to use the Julia binary in PATH, or the command to run as a list of strings.

Default:

vim.languages.julia.lsp.server Link copied!

Type: value "julials" (singular enum)

Julia LSP server to use

Default: "julials"

vim.languages.julia.treesitter.enable Link copied!

Type: boolean

Whether to enable Julia treesitter.

Default: false
Example: true

vim.languages.julia.treesitter.package Link copied!

Type: package

The julia treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.julia

vim.languages.kotlin.enable Link copied!

Type: boolean

Whether to enable Kotlin/HCL support.

Default: false
Example: true

vim.languages.kotlin.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra Kotlin diagnostics.

Default: false
Example: true

vim.languages.kotlin.extraDiagnostics.types Link copied!

Type: list of (value "ktlint" (singular enum) or (submodule))

List of Kotlin diagnostics to enable

Default: [ "ktlint" ]

vim.languages.kotlin.lsp.enable Link copied!

Type: boolean

Whether to enable Kotlin LSP support.

Default: false
Example: true

vim.languages.kotlin.lsp.package Link copied!

Type: package or list of string

kotlin_language_server package with Kotlin runtime

Default:
Example:
pkgs.symlinkJoin {
  name = "kotlin-language-server-wrapped";
  paths = [pkgs.kotlin-language-server];
  nativeBuildInputs = [pkgs.makeBinaryWrapper];
  postBuild = ''
    wrapProgram $out/bin/kotlin-language-server \
      --prefix PATH : ${pkgs.kotlin}/bin
  '';
};

vim.languages.kotlin.treesitter.enable Link copied!

Type: boolean

Whether to enable Kotlin treesitter.

Default: false
Example: true

vim.languages.kotlin.treesitter.package Link copied!

Type: package

The kotlin treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.kotlin

vim.languages.lua.enable Link copied!

Type: boolean

Whether to enable Lua language support.

Default: false
Example: true

vim.languages.lua.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra Lua diagnostics.

Default: false
Example: true

vim.languages.lua.extraDiagnostics.types Link copied!

Type: list of (value "luacheck" (singular enum) or (submodule))

List of Lua diagnostics to enable

Default: [ "luacheck" ]

vim.languages.lua.format.enable Link copied!

Type: boolean

Enable Lua formatting

Default: false

vim.languages.lua.format.package Link copied!

Type: package

Lua formatter package

Default:

vim.languages.lua.format.type Link copied!

Type: value "stylua" (singular enum)

Lua formatter to use

Default: "stylua"

vim.languages.lua.lsp.enable Link copied!

Type: boolean

Whether to enable Lua LSP support via LuaLS.

Default: false
Example: true

vim.languages.lua.lsp.lazydev.enable Link copied!

Type: boolean

Whether to enable lazydev.nvim integration, useful for neovim plugin developers.

Default: false
Example: true

vim.languages.lua.lsp.package Link copied!

Type: package or list of string

LuaLS package, or the command to run as a list of strings

Default:

vim.languages.lua.treesitter.enable Link copied!

Type: boolean

Whether to enable Lua Treesitter support.

Default: false
Example: true

vim.languages.lua.treesitter.package Link copied!

Type: package

The lua treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.lua

vim.languages.markdown.enable Link copied!

Type: boolean

Whether to enable Markdown markup language support.

Default: false
Example: true

vim.languages.markdown.extensions.markview-nvim.enable Link copied!

Type: boolean

https://github.com/OXY2DEV/markview.nvim">markview.nvim - a hackable markdown, Typst, latex, html(inline) & YAML previewer

Default: false
Example: true

vim.languages.markdown.extensions.markview-nvim.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of markview-nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.languages.markdown.extensions.render-markdown-nvim.enable Link copied!

Type: boolean

Inline Markdown rendering with https://github.com/MeanderingProgrammer/render-markdown.nvim">render-markdown.nvim

Default: false
Example: true

vim.languages.markdown.extensions.render-markdown-nvim.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of render-markdown

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.languages.markdown.extensions.render-markdown-nvim.setupOpts.file_types Link copied!

Type: null or (list of string)

List of buffer filetypes to enable this plugin in.

This will cause the plugin to attach to new buffers who have any of these filetypes.

Default: null

vim.languages.markdown.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra Markdown diagnostics.

Default: false
Example: true

vim.languages.markdown.extraDiagnostics.types Link copied!

Type: list of (value "markdownlint-cli2" (singular enum) or (submodule))

List of Markdown diagnostics to enable

Default: [ "markdownlint-cli2" ]

vim.languages.markdown.format.enable Link copied!

Type: boolean

Whether to enable Markdown formatting.

Default: false
Example: true

vim.languages.markdown.format.extraFiletypes Link copied!

Type: list of string

Extra filetypes to format with the Markdown formatter

Default: [ ]

vim.languages.markdown.format.package Link copied!

Type: package

Markdown formatter package

Default:

vim.languages.markdown.format.type Link copied!

Type: one of "deno_fmt", "denofmt", "prettierd"

Markdown formatter to use. denofmt is deprecated and currently aliased to deno_fmt.

Default: "deno_fmt"

vim.languages.markdown.lsp.enable Link copied!

Type: boolean

Whether to enable Enable Markdown LSP support.

Default: false
Example: true

vim.languages.markdown.lsp.package Link copied!

Type: package or list of string

Markdown LSP server package, or the command to run as a list of strings

Default:
Example: "[lib.getExe pkgs.jdt-language-server \" - data \" \" ~/.cache/jdtls/workspace \"]"

vim.languages.markdown.lsp.server Link copied!

Type: value "marksman" (singular enum)

Markdown LSP server to use

Default: "marksman"

vim.languages.markdown.treesitter.enable Link copied!

Type: boolean

Enable Markdown treesitter

Default: false

vim.languages.markdown.treesitter.mdInlinePackage Link copied!

Type: package

The markdown-inline treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.markdown-inline

vim.languages.markdown.treesitter.mdPackage Link copied!

Type: package

The markdown treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.markdown

vim.languages.nim.enable Link copied!

Type: boolean

Whether to enable Nim language support.

Default: false
Example: true

vim.languages.nim.format.enable Link copied!

Type: boolean

Whether to enable Nim formatting.

Default: false
Example: true

vim.languages.nim.format.package Link copied!

Type: package

Nim formatter package

Default:

vim.languages.nim.format.type Link copied!

Type: value "nimpretty" (singular enum)

Nim formatter to use

Default: "nimpretty"

vim.languages.nim.lsp.enable Link copied!

Type: boolean

Whether to enable Nim LSP support.

Default: false
Example: true

vim.languages.nim.lsp.package Link copied!

Type: package or list of string

Nim LSP server package, or the command to run as a list of strings

Default:
Example: "[lib.getExe pkgs.nimlsp]"

vim.languages.nim.lsp.server Link copied!

Type: string

Nim LSP server to use

Default: "nimlsp"

vim.languages.nim.treesitter.enable Link copied!

Type: boolean

Whether to enable Nim treesitter.

Default: false
Example: true

vim.languages.nim.treesitter.package Link copied!

Type: package

The nim treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.nim

vim.languages.nix.enable Link copied!

Type: boolean

Whether to enable Nix language support.

Default: false
Example: true

vim.languages.nix.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra Nix diagnostics.

Default: false
Example: true

vim.languages.nix.extraDiagnostics.types Link copied!

Type: list of (one of "deadnix", "statix" or (submodule))

List of Nix diagnostics to enable

Default: [ "statix" "deadnix" ]

vim.languages.nix.format.enable Link copied!

Type: boolean

Whether to enable Nix formatting.

Default: false
Example: true

vim.languages.nix.format.package Link copied!

Type: package

Nix formatter package

Default:

vim.languages.nix.format.type Link copied!

Type: one of "alejandra", "nixfmt"

Nix formatter to use

Default: "alejandra"

vim.languages.nix.lsp.enable Link copied!

Type: boolean

Whether to enable Nix LSP support.

Default: false
Example: true

vim.languages.nix.lsp.options Link copied!

Type: null or (attribute set of anything)

Options to pass to nixd LSP server

Default: null

vim.languages.nix.lsp.package Link copied!

Type: package or list of string

Nix LSP server package, or the command to run as a list of strings

Default:
Example: "[lib.getExe pkgs.jdt-language-server \"-data\" \"~/.cache/jdtls/workspace\"]"

vim.languages.nix.lsp.server Link copied!

Type: one of "nil", "nixd"

Nix LSP server to use

Default: "nil"

vim.languages.nix.treesitter.enable Link copied!

Type: boolean

Whether to enable Nix treesitter.

Default: false
Example: true

vim.languages.nix.treesitter.package Link copied!

Type: package

The nix treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.nix

vim.languages.nu.enable Link copied!

Type: boolean

Whether to enable Nu language support.

Default: false
Example: true

vim.languages.nu.lsp.enable Link copied!

Type: boolean

Whether to enable Nu LSP support.

Default: false
Example: true

vim.languages.nu.lsp.package Link copied!

Type: package or list of string

Nu LSP server package, or the command to run as a list of strings

Default:
Example: "[(lib.getExe pkgs.nushell) \"--lsp\"]"

vim.languages.nu.lsp.server Link copied!

Type: string

Nu LSP server to use

Default: "nushell"

vim.languages.nu.treesitter.enable Link copied!

Type: boolean

Whether to enable Nu treesitter.

Default: false
Example: true

vim.languages.nu.treesitter.package Link copied!

Type: package

The nu treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.nu

vim.languages.ocaml.enable Link copied!

Type: boolean

Whether to enable OCaml language support.

Default: false
Example: true

vim.languages.ocaml.format.enable Link copied!

Type: boolean

Whether to enable OCaml formatting support (ocamlformat).

Default: false
Example: true

vim.languages.ocaml.format.package Link copied!

Type: package

OCaml formatter package

Default:

vim.languages.ocaml.format.type Link copied!

Type: value "ocamlformat" (singular enum)

OCaml formatter to use

Default: "ocamlformat"

vim.languages.ocaml.lsp.enable Link copied!

Type: boolean

Whether to enable OCaml LSP support (ocaml-lsp).

Default: false
Example: true

vim.languages.ocaml.lsp.package Link copied!

Type: package or list of string

OCaml language server package, or the command to run as a list of strings

Default:

vim.languages.ocaml.lsp.server Link copied!

Type: value "ocaml-lsp" (singular enum)

OCaml LSP server to user

Default: "ocaml-lsp"

vim.languages.ocaml.treesitter.enable Link copied!

Type: boolean

Whether to enable OCaml treesitter.

Default: false
Example: true

vim.languages.ocaml.treesitter.package Link copied!

Type: package

The ocaml treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.ocaml

vim.languages.odin.enable Link copied!

Type: boolean

Whether to enable Odin language support.

Default: false
Example: true

vim.languages.odin.lsp.enable Link copied!

Type: boolean

Whether to enable Odin LSP support.

Default: false
Example: true

vim.languages.odin.lsp.package Link copied!

Type: package or list of string

Ols package, or the command to run as a list of strings

Default:

vim.languages.odin.lsp.server Link copied!

Type: value "ols" (singular enum)

Odin LSP server to use

Default: "ols"

vim.languages.odin.treesitter.enable Link copied!

Type: boolean

Whether to enable Odin treesitter.

Default: false
Example: true

vim.languages.odin.treesitter.package Link copied!

Type: package

The odin treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.odin

vim.languages.php.enable Link copied!

Type: boolean

Whether to enable PHP language support.

Default: false
Example: true

vim.languages.php.lsp.enable Link copied!

Type: boolean

Whether to enable PHP LSP support.

Default: false
Example: true

vim.languages.php.lsp.package Link copied!

Type: package or list of string

PHP LSP server package, or the command to run as a list of strings

Default:
Example: "[lib.getExe pkgs.jdt-language-server \" - data \" \" ~/.cache/jdtls/workspace \"]"

vim.languages.php.lsp.server Link copied!

Type: one of "intelephense", "phan", "phpactor"

PHP LSP server to use

Default: "phpactor"

vim.languages.php.treesitter.enable Link copied!

Type: boolean

Whether to enable PHP treesitter.

Default: false
Example: true

vim.languages.php.treesitter.package Link copied!

Type: package

The php treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.php

vim.languages.python.dap.debugger Link copied!

Type: value "debugpy" (singular enum)

Python debugger to use

Default: "debugpy"

vim.languages.python.dap.enable Link copied!

Type: boolean

Enable Python Debug Adapter

Default: false

vim.languages.python.dap.package Link copied!

Type: package

Python debugger package. This is a python package with debugpy installed, see https://nixos.wiki/wiki/Python#Install_Python_Packages.

Default:
Example: with pkgs; python39.withPackages (ps: with ps; [debugpy])

vim.languages.python.enable Link copied!

Type: boolean

Whether to enable Python language support.

Default: false
Example: true

vim.languages.python.format.enable Link copied!

Type: boolean

Whether to enable Python formatting.

Default: false
Example: true

vim.languages.python.format.package Link copied!

Type: package

Python formatter package

Default:

vim.languages.python.format.type Link copied!

Type: one of "black", "black-and-isort", "isort", "ruff"

Python formatter to use

Default: "black"

vim.languages.python.lsp.enable Link copied!

Type: boolean

Whether to enable Python LSP support.

Default: false
Example: true

vim.languages.python.lsp.package Link copied!

Type: package or list of string

python LSP server package, or the command to run as a list of strings

Default:
Example: "[lib.getExe pkgs.jdt-language-server \"-data\" \"~/.cache/jdtls/workspace\"]"

vim.languages.python.lsp.server Link copied!

Type: one of "basedpyright", "pyright", "python-lsp-server"

Python LSP server to use

Default: "basedpyright"

vim.languages.python.treesitter.enable Link copied!

Type: boolean

Whether to enable Python treesitter.

Default: false
Example: true

vim.languages.python.treesitter.package Link copied!

Type: package

Python treesitter grammar to use

Default:

vim.languages.r.enable Link copied!

Type: boolean

Whether to enable R language support.

Default: false
Example: true

vim.languages.r.format.enable Link copied!

Type: boolean

Whether to enable R formatting.

Default: false
Example: true

vim.languages.r.format.package Link copied!

Type: package

R formatter package

Default:

vim.languages.r.format.type Link copied!

Type: one of "format_r", "styler"

R formatter to use

Default: "format_r"

vim.languages.r.lsp.enable Link copied!

Type: boolean

Whether to enable R LSP support.

Default: false
Example: true

vim.languages.r.lsp.package Link copied!

Type: package or list of string

R LSP server package, or the command to run as a list of strings

Default:
Example: [ (lib.getExe pkgs.jdt-language-server) "-data" "~/.cache/jdtls/workspace" ]

vim.languages.r.lsp.server Link copied!

Type: value "r_language_server" (singular enum)

R LSP server to use

Default: "r_language_server"

vim.languages.r.treesitter.enable Link copied!

Type: boolean

Whether to enable R treesitter.

Default: false
Example: true

vim.languages.r.treesitter.package Link copied!

Type: package

The r treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.r

vim.languages.ruby.enable Link copied!

Type: boolean

Whether to enable Ruby language support.

Default: false
Example: true

vim.languages.ruby.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable Ruby extra diagnostics support.

Default: false
Example: true

vim.languages.ruby.extraDiagnostics.types Link copied!

Type: list of (value "rubocop" (singular enum) or (submodule))

List of Ruby diagnostics to enable

Default: [ "rubocop" ]

vim.languages.ruby.format.enable Link copied!

Type: boolean

Whether to enable Ruby formatter support.

Default: false
Example: true

vim.languages.ruby.format.package Link copied!

Type: package

Ruby formatter package

Default:

vim.languages.ruby.format.type Link copied!

Type: value "rubocop" (singular enum)

Ruby formatter to use

Default: "rubocop"

vim.languages.ruby.lsp.enable Link copied!

Type: boolean

Whether to enable Ruby LSP support.

Default: false
Example: true

vim.languages.ruby.lsp.package Link copied!

Type: package or list of string

Ruby LSP server package, or the command to run as a list of strings

Default:

vim.languages.ruby.lsp.server Link copied!

Type: one of "rubylsp", "rubyserver"

Ruby LSP server to use

Default: "rubyserver"

vim.languages.ruby.treesitter.enable Link copied!

Type: boolean

Whether to enable Ruby treesitter.

Default: false
Example: true

vim.languages.ruby.treesitter.package Link copied!

Type: package

The ruby treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.ruby

vim.languages.rust.crates.codeActions Link copied!

Type: boolean

Enable code actions through null-ls

Default: true

vim.languages.rust.crates.enable Link copied!

Type: boolean

Whether to enable crates-nvim, tools for managing dependencies.

Default: false
Example: true

vim.languages.rust.dap.enable Link copied!

Type: boolean

Rust Debug Adapter support

Default: false

vim.languages.rust.dap.package Link copied!

Type: package

lldb package

Default:

vim.languages.rust.enable Link copied!

Type: boolean

Whether to enable Rust language support.

Default: false
Example: true

vim.languages.rust.format.enable Link copied!

Type: boolean

Whether to enable Rust formatting.

Default: Disabled if Rust LSP is enabled, otherwise follows {option}`vim.languages.enableFormat`
Example: true

vim.languages.rust.format.package Link copied!

Type: package

Rust formatter package

Default:

vim.languages.rust.format.type Link copied!

Type: value "rustfmt" (singular enum)

Rust formatter to use

Default: "rustfmt"

vim.languages.rust.lsp.enable Link copied!

Type: boolean

Whether to enable Rust LSP support (rust-analyzer with extra tools).

Default: false
Example: true

vim.languages.rust.lsp.opts Link copied!

Type: string

Options to pass to rust analyzer

Default: ""
Example:
''
  ['rust-analyzer'] = {
    cargo = {allFeature = true},
    checkOnSave = true,
    procMacro = {
      enable = true,
    },
  },
''

vim.languages.rust.lsp.package Link copied!

Type: package or list of string

rust-analyzer package, or the command to run as a list of strings

Default:
Example: "[lib.getExe pkgs.jdt-language-server \"-data\" \"~/.cache/jdtls/workspace\"]"

vim.languages.rust.treesitter.enable Link copied!

Type: boolean

Whether to enable Rust treesitter.

Default: false
Example: true

vim.languages.rust.treesitter.package Link copied!

Type: package

The rust treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.rust

vim.languages.scala.dap.config Link copied!

Type: luaInline

Lua configuration for dap

Default: { _type = "lua-inline"; expr = '' dap.configurations.scala = { { type = "scala", request = "launch", name = "RunOrTest", metals = { runType = "runOrTestFile", --args = { "firstArg", "secondArg", "thirdArg" }, -- here just as an example }, }, { type = "scala", request = "launch", name = "Test Target", metals = { runType = "testTarget", }, }, } ''; }

vim.languages.scala.dap.enable Link copied!

Type: boolean

Whether to enable Scala Debug Adapter support (metals).

Default: false
Example: true

vim.languages.scala.enable Link copied!

Type: boolean

Whether to enable Scala language support.

Default: false
Example: true

vim.languages.scala.fixShortmess Link copied!

Type: boolean

Remove the 'F' flag from shortmess to allow messages to be shown. Without doing this, autocommands that deal with filetypes prohibit messages from being shown

Default: true

vim.languages.scala.lsp.enable Link copied!

Type: boolean

Whether to enable Scala LSP support (metals).

Default: false
Example: true

vim.languages.scala.lsp.extraMappings.listCommands Link copied!

Type: null or string

List Metals commands

Default: "lc"

vim.languages.scala.lsp.extraSettings Link copied!

Type: attribute set of anything

Extra settings passed to the metals config. Check nvim-metals docs for available options

Default: { excludedPackages = [ "akka.actor.typed.javadsl" "com.github.swagger.akka.javadsl" ]; showImplicitArguments = true; showImplicitConversionsAndClasses = true; showInferredType = true; }

vim.languages.scala.lsp.package Link copied!

Type: package

The metals package to use.

Default: pkgs.metals

vim.languages.scala.treesitter.enable Link copied!

Type: boolean

Whether to enable Scala treesitter.

Default: false
Example: true

vim.languages.scala.treesitter.package Link copied!

Type: package

The scala treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.scala

vim.languages.sql.dialect Link copied!

Type: string

SQL dialect for sqlfluff (if used)

Default: "ansi"

vim.languages.sql.enable Link copied!

Type: boolean

Whether to enable SQL language support.

Default: false
Example: true

vim.languages.sql.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra SQL diagnostics.

Default: false
Example: true

vim.languages.sql.extraDiagnostics.types Link copied!

Type: list of (value "sqlfluff" (singular enum) or (submodule))

List of SQL diagnostics to enable

Default: [ "sqlfluff" ]

vim.languages.sql.format.enable Link copied!

Type: boolean

Whether to enable SQL formatting.

Default: false
Example: true

vim.languages.sql.format.package Link copied!

Type: package

SQL formatter package

Default:

vim.languages.sql.format.type Link copied!

Type: value "sqlfluff" (singular enum)

SQL formatter to use

Default: "sqlfluff"

vim.languages.sql.lsp.enable Link copied!

Type: boolean

Whether to enable SQL LSP support.

Default: false
Example: true

vim.languages.sql.lsp.package Link copied!

Type: package or list of string

SQL LSP server package, or the command to run as a list of strings

Default:
Example: "[lib.getExe pkgs.jdt-language-server \"-data\" \"~/.cache/jdtls/workspace\"]"

vim.languages.sql.lsp.server Link copied!

Type: value "sqls" (singular enum)

SQL LSP server to use

Default: "sqls"

vim.languages.sql.treesitter.enable Link copied!

Type: boolean

Whether to enable SQL treesitter.

Default: false
Example: true

vim.languages.sql.treesitter.package Link copied!

Type: package

SQL treesitter grammar to use

Default:

vim.languages.svelte.enable Link copied!

Type: boolean

Whether to enable Svelte language support.

Default: false
Example: true

vim.languages.svelte.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra Svelte diagnostics.

Default: false
Example: true

vim.languages.svelte.extraDiagnostics.types Link copied!

Type: list of (value "eslint_d" (singular enum) or (submodule))

List of Svelte diagnostics to enable

Default: [ "eslint_d" ]

vim.languages.svelte.format.enable Link copied!

Type: boolean

Whether to enable Svelte formatting.

Default: false
Example: true

vim.languages.svelte.format.package Link copied!

Type: package

Svelte formatter package

Default:

vim.languages.svelte.format.type Link copied!

Type: one of "biome", "prettier"

Svelte formatter to use

Default: "prettier"

vim.languages.svelte.lsp.enable Link copied!

Type: boolean

Whether to enable Svelte LSP support.

Default: false
Example: true

vim.languages.svelte.lsp.package Link copied!

Type: package or list of string

Svelte LSP server package, or the command to run as a list of strings

Default:
Example: "[lib.getExe pkgs.jdt-language-server \"-data\" \"~/.cache/jdtls/workspace\"]"

vim.languages.svelte.lsp.server Link copied!

Type: value "svelte" (singular enum)

Svelte LSP server to use

Default: "svelte"

vim.languages.svelte.treesitter.enable Link copied!

Type: boolean

Whether to enable Svelte treesitter.

Default: false
Example: true

vim.languages.svelte.treesitter.sveltePackage Link copied!

Type: package

The svelte treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.svelte

vim.languages.tailwind.enable Link copied!

Type: boolean

Whether to enable Tailwindcss language support.

Default: false
Example: true

vim.languages.tailwind.lsp.enable Link copied!

Type: boolean

Whether to enable Tailwindcss LSP support.

Default: false
Example: true

vim.languages.tailwind.lsp.package Link copied!

Type: package or list of string

Tailwindcss LSP server package, or the command to run as a list of strings

Default:
Example: "[lib.getExe pkgs.jdt-language-server \" - data \" \" ~/.cache/jdtls/workspace \"]"

vim.languages.tailwind.lsp.server Link copied!

Type: value "tailwindcss-language-server" (singular enum)

Tailwindcss LSP server to use

Default: "tailwindcss-language-server"

vim.languages.terraform.enable Link copied!

Type: boolean

Whether to enable Terraform/HCL support.

Default: false
Example: true

vim.languages.terraform.lsp.enable Link copied!

Type: boolean

Whether to enable Terraform LSP support (terraform-ls).

Default: false
Example: true

vim.languages.terraform.lsp.package Link copied!

Type: package

terraform-ls package

Default:

vim.languages.terraform.treesitter.enable Link copied!

Type: boolean

Whether to enable Terraform treesitter.

Default: false
Example: true

vim.languages.terraform.treesitter.package Link copied!

Type: package

The terraform treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.terraform

vim.languages.ts.enable Link copied!

Type: boolean

Whether to enable Typescript/Javascript language support.

Default: false
Example: true

vim.languages.ts.extensions.ts-error-translator.enable Link copied!

Type: boolean

Whether to enable [ts-error-translator.nvim]: https://github.com/dmmulroy/ts-error-translator.nvim

Typescript error translation with [ts-error-translator.nvim]

.

Default: false
Example: true

vim.languages.ts.extensions.ts-error-translator.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of ts-error-translator

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.languages.ts.extensions.ts-error-translator.setupOpts.auto_override_publish_diagnostics Link copied!

Type: boolean

Automatically override the publish_diagnostics handler

Default: true

vim.languages.ts.extraDiagnostics.enable Link copied!

Type: boolean

Whether to enable extra Typescript/Javascript diagnostics.

Default: false
Example: true

vim.languages.ts.extraDiagnostics.types Link copied!

Type: list of (value "eslint_d" (singular enum) or (submodule))

List of Typescript/Javascript diagnostics to enable

Default: [ "eslint_d" ]

vim.languages.ts.format.enable Link copied!

Type: boolean

Whether to enable Typescript/Javascript formatting.

Default: false
Example: true

vim.languages.ts.format.package Link copied!

Type: package

Typescript/Javascript formatter package

Default:

vim.languages.ts.format.type Link copied!

Type: one of "biome", "prettier", "prettierd"

Typescript/Javascript formatter to use

Default: "prettier"

vim.languages.ts.lsp.enable Link copied!

Type: boolean

Whether to enable Typescript/Javascript LSP support.

Default: false
Example: true

vim.languages.ts.lsp.package Link copied!

Type: package or list of string

Typescript/Javascript LSP server package, or the command to run as a list of strings

Default:
Example: "[lib.getExe pkgs.jdt-language-server \"-data\" \"~/.cache/jdtls/workspace\"]"

vim.languages.ts.lsp.server Link copied!

Type: one of "denols", "ts_ls", "tsserver"

Typescript/Javascript LSP server to use

Default: "ts_ls"

vim.languages.ts.treesitter.enable Link copied!

Type: boolean

Whether to enable Typescript/Javascript treesitter.

Default: false
Example: true

vim.languages.ts.treesitter.jsPackage Link copied!

Type: package

The javascript treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.javascript

vim.languages.ts.treesitter.tsPackage Link copied!

Type: package

The tsx treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.tsx

vim.languages.typst.enable Link copied!

Type: boolean

Whether to enable Typst language support.

Default: false
Example: true

vim.languages.typst.extensions.typst-preview-nvim.enable Link copied!

Type: boolean

Whether to enable [typst-preview.nvim]: https://github.com/chomosuke/typst-preview.nvim

Low latency typst preview for Neovim via [typst-preview.nvim] .

Default: true
Example: true

vim.languages.typst.extensions.typst-preview-nvim.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of typst-preview-nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.languages.typst.extensions.typst-preview-nvim.setupOpts.dependencies_bin Link copied!

Type: attribute set of string

Provide the path to binaries for dependencies. Setting this to a non-null value will skip the download of the binary by the plugin.

Default: { tinymist = "\${pkgs.tinymist.out}/bin/tinymist"; websocat = "\${pkgs.websocat.out}/bin/websocat"; }

vim.languages.typst.extensions.typst-preview-nvim.setupOpts.extra_args Link copied!

Type: null or (list of string)

A list of extra arguments (or null) to be passed to previewer

Default: null
Example:
[
  "--input=ver=draft"
  "--ignore-system-fonts"
]

vim.languages.typst.extensions.typst-preview-nvim.setupOpts.open_cmd Link copied!

Type: null or string

Custom format string to open the output link provided with %s

Default: null
Example: "firefox %s -P typst-preview --class typst-preview"

vim.languages.typst.format.enable Link copied!

Type: boolean

Whether to enable Typst document formatting.

Default: false
Example: true

vim.languages.typst.format.package Link copied!

Type: package

Typst formatter package

Default:

vim.languages.typst.format.type Link copied!

Type: one of "typstfmt", "typstyle"

Typst formatter to use

Default: "typstfmt"

vim.languages.typst.lsp.enable Link copied!

Type: boolean

Whether to enable Typst LSP support (typst-lsp).

Default: false
Example: true

vim.languages.typst.lsp.package Link copied!

Type: package or list of string

typst-lsp package, or the command to run as a list of strings

Default:
Example: "[lib.getExe pkgs.jdt-language-server \"-data\" \"~/.cache/jdtls/workspace\"]"

vim.languages.typst.lsp.server Link copied!

Type: one of "tinymist", "typst-lsp"

Typst LSP server to use

Default: "tinymist"

vim.languages.typst.treesitter.enable Link copied!

Type: boolean

Whether to enable Typst treesitter.

Default: false
Example: true

vim.languages.typst.treesitter.package Link copied!

Type: package

The typst treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.typst

vim.languages.vala.enable Link copied!

Type: boolean

Whether to enable Vala language support.

Default: false
Example: true

vim.languages.vala.lsp.enable Link copied!

Type: boolean

Whether to enable Vala LSP support.

Default: false
Example: true

vim.languages.vala.lsp.package Link copied!

Type: package or list of string

Vala LSP server package, or the command to run as a list of strings

Default:

vim.languages.vala.lsp.server Link copied!

Type: value "vala_ls" (singular enum)

Vala LSP server to use

Default: "vala_ls"

vim.languages.vala.treesitter.enable Link copied!

Type: boolean

Whether to enable Vala treesitter.

Default: false
Example: true

vim.languages.vala.treesitter.package Link copied!

Type: package

The vala treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.vala

vim.languages.wgsl.enable Link copied!

Type: boolean

Whether to enable WGSL language support.

Default: false
Example: true

vim.languages.wgsl.lsp.enable Link copied!

Type: boolean

Whether to enable WGSL LSP support.

Default: false
Example: true

vim.languages.wgsl.lsp.package Link copied!

Type: package or list of string

wgsl-analyzer package, or the command to run as a list of strings

Default:
Example: [(lib.getExe pkgs.wgsl-analyzer)]

vim.languages.wgsl.lsp.server Link copied!

Type: value "wgsl-analyzer" (singular enum)

WGSL LSP server to use

Default: "wgsl-analyzer"

vim.languages.wgsl.treesitter.enable Link copied!

Type: boolean

Whether to enable WGSL treesitter.

Default: false
Example: true

vim.languages.wgsl.treesitter.package Link copied!

Type: package

The wgsl treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.wgsl

vim.languages.yaml.enable Link copied!

Type: boolean

Whether to enable YAML language support.

Default: false
Example: true

vim.languages.yaml.lsp.enable Link copied!

Type: boolean

Whether to enable YAML LSP support.

Default: false
Example: true

vim.languages.yaml.lsp.package Link copied!

Type: package or list of string

YAML LSP server package

Default:

vim.languages.yaml.lsp.server Link copied!

Type: value "yaml-language-server" (singular enum)

YAML LSP server to use

Default: "yaml-language-server"

vim.languages.yaml.treesitter.enable Link copied!

Type: boolean

Whether to enable YAML treesitter.

Default: false
Example: true

vim.languages.yaml.treesitter.package Link copied!

Type: package

The yaml treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.yaml

vim.languages.zig.dap.debugger Link copied!

Type: value "lldb-vscode" (singular enum)

Zig debugger to use

Default: "lldb-vscode"

vim.languages.zig.dap.enable Link copied!

Type: boolean

Enable Zig Debug Adapter

Default: false

vim.languages.zig.dap.package Link copied!

Type: package

Zig debugger package.

Default:

vim.languages.zig.enable Link copied!

Type: boolean

Whether to enable Zig language support.

Default: false
Example: true

vim.languages.zig.lsp.enable Link copied!

Type: boolean

Whether to enable Zig LSP support.

Default: false
Example: true

vim.languages.zig.lsp.package Link copied!

Type: package or list of string

ZLS package, or the command to run as a list of strings

Default:

vim.languages.zig.lsp.server Link copied!

Type: value "zls" (singular enum)

Zig LSP server to use

Default: "zls"

vim.languages.zig.treesitter.enable Link copied!

Type: boolean

Whether to enable Zig treesitter.

Default: false
Example: true

vim.languages.zig.treesitter.package Link copied!

Type: package

The zig treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.zig

vim.lazy.enable Link copied!

Type: boolean

Whether to enable plugin lazy-loading via lz.n and lzn-auto-require.

Default: true
Example: true

vim.lazy.enableLznAutoRequire Link copied!

Type: boolean

Enable lzn-auto-require. Since builtin plugins rely on this, only turn off for debugging.

Default: true

vim.lazy.loader Link copied!

Type: value "lz.n" (singular enum)

Lazy loader to use

Default: "lz.n"

vim.lazy.plugins Link copied!

Type: attribute set of (submodule)

Plugins to lazy load.

The attribute key is used as the plugin name: for the default vim.g.lz_n.load function this should be either the package.pname or package.name.

Default: { }
Example:
''
  {
    toggleterm-nvim = {
      package = "toggleterm-nvim";
      setupModule = "toggleterm";
      setupOpts = cfg.setupOpts;
  
      after = "require('toggleterm').do_something()";
      cmd = ["ToggleTerm"];
    };
  
    $''${pkgs.vimPlugins.vim-bbye.pname} = {
      package = pkgs.vimPlugins.vim-bbye;
      cmd = ["Bdelete" "Bwipeout"];
    };
  }
''

vim.lazy.plugins.<name>.after Link copied!

Type: null or strings concatenated with "\n"

Lua code to run after plugin is loaded. This will be wrapped in a function.

If is provided, the setup will be ran before after.

Default: null

vim.lazy.plugins.<name>.before Link copied!

Type: null or strings concatenated with "\n"

Lua code to run before plugin is loaded. This will be wrapped in a function.

Default: null

vim.lazy.plugins.<name>.beforeAll Link copied!

Type: null or strings concatenated with "\n"

Lua code to run before any plugins are loaded. This will be wrapped in a function.

Default: null

vim.lazy.plugins.<name>.beforeSetup Link copied!

Type: null or strings concatenated with "\n"

Lua code to run after the plugin is loaded, but before the setup function is called.

Default: null

vim.lazy.plugins.<name>.cmd Link copied!

Type: null or string or list of string

Lazy-load on command

Default: null

vim.lazy.plugins.<name>.colorscheme Link copied!

Type: null or string or list of string

Lazy-load on colorscheme.

Default: null

vim.lazy.plugins.<name>.enabled Link copied!

Type: null or boolean or string

When false, or if the lua function returns false, this plugin will not be included in the spec

Default: null

vim.lazy.plugins.<name>.event Link copied!

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

Lazy-load on event

Default: null

vim.lazy.plugins.<name>.ft Link copied!

Type: null or string or list of string

Lazy-load on filetype

Default: null

vim.lazy.plugins.<name>.keys Link copied!

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

Lazy-load on key mapping

Default: null
Example:
''
  keys = [
    {
      mode = "n";
      key = "<leader>s";
      action = ":DapStepOver<cr>";
      desc = "DAP Step Over";
    }
    {
      mode = ["n", "x"];
      key = "<leader>dc";
      action = "function() require('dap').continue() end";
      lua = true;
      desc = "DAP Continue";
    }
  ]
''

vim.lazy.plugins.<name>.lazy Link copied!

Type: null or boolean

Force enable/disable lazy-loading. null means only lazy-load if a valid lazy-load condition is set e.g. cmd, ft, keys etc.

Default: null

vim.lazy.plugins.<name>.load Link copied!

Type: null or strings concatenated with "\n"

Lua code to override the vim.g.lz_n.load() function for a single plugin.

This will be wrapped in a function(name) ... end.

Default: null

vim.lazy.plugins.<name>.package Link copied!

Type: null or null or package or one of "blink-cmp", "aerial-nvim", "alpha-nvim", "avante-nvim", "base16", "blink-cmp-spell", "blink-compat", "blink-emoji-nvim", "blink-ripgrep-nvim", "bufdelete-nvim", "catppuccin", "ccc-nvim", "cellular-automaton-nvim", "chatgpt-nvim", "cheatsheet-nvim", "cinnamon-nvim", "cmp-buffer", "cmp-luasnip", "cmp-nvim-lsp", "cmp-path", "cmp-treesitter", "codecompanion-nvim", "codewindow-nvim", "comment-nvim", "conform-nvim", "copilot-cmp", "copilot-lua", "crates-nvim", "csharpls-extended-lsp-nvim", "dashboard-nvim", "diffview-nvim", "direnv-vim", "dracula", "dressing-nvim", "elixir-tools-nvim", "fastaction-nvim", "fidget-nvim", "flash-nvim", "flutter-tools-nvim", "friendly-snippets", "fzf-lua", "gesture-nvim", "git-conflict-nvim", "github", "gitlinker-nvim", "gitsigns-nvim", "glow-nvim", "gruvbox", "hardtime-nvim", "harpoon", "haskell-tools-nvim", "highlight-undo-nvim", "hop-nvim", "hydra-nvim", "icon-picker-nvim", "image-nvim", "img-clip", "indent-blankline-nvim", "lazydev-nvim", "leap-nvim", "leetcode-nvim", "lsp-signature-nvim", "lspkind-nvim", "lspsaga-nvim", "lua-utils-nvim", "lualine-nvim", "luasnip", "lz-n", "lzn-auto-require", "markview-nvim", "mind-nvim", "mini-ai", "mini-align", "mini-animate", "mini-base16", "mini-basics", "mini-bracketed", "mini-bufremove", "mini-clue", "mini-colors", "mini-comment", "mini-completion", "mini-cursorword", "mini-diff", "mini-doc", "mini-extra", "mini-files", "mini-fuzzy", "mini-git", "mini-hipatterns", "mini-hues", "mini-icons", "mini-indentscope", "mini-jump", "mini-jump2d", "mini-map", "mini-misc", "mini-move", "mini-notify", "mini-operators", "mini-pairs", "mini-pick", "mini-sessions", "mini-snippets", "mini-splitjoin", "mini-starter", "mini-statusline", "mini-surround", "mini-tabline", "mini-test", "mini-trailspace", "mini-visits", "minimap-vim", "mkdir-nvim", "modes-nvim", "multicursors-nvim", "neo-tree-nvim", "neocord", "neorg", "neorg-telescope", "neovim-session-manager", "new-file-template-nvim", "nix-develop-nvim", "noice-nvim", "none-ls-nvim", "nord", "nui-nvim", "nvim-autopairs", "nvim-bufferline-lua", "nvim-cmp", "nvim-colorizer-lua", "nvim-cursorline", "nvim-dap", "nvim-dap-go", "nvim-dap-ui", "nvim-docs-view", "nvim-lightbulb", "nvim-lint", "nvim-lspconfig", "nvim-metals", "nvim-navbuddy", "nvim-navic", "nvim-neoclip-lua", "nvim-nio", "nvim-notify", "nvim-scrollbar", "nvim-surround", "nvim-tree-lua", "nvim-treesitter-context", "nvim-treesitter-textobjects", "nvim-ts-autotag", "nvim-ufo", "nvim-web-devicons", "obsidian-nvim", "oil-nvim", "omnisharp-extended-lsp-nvim", "onedark", "orgmode", "otter-nvim", "oxocarbon", "pathlib-nvim", "plenary-nvim", "precognition-nvim", "project-nvim", "promise-async", "rainbow-delimiters-nvim", "registers-nvim", "render-markdown-nvim", "rose-pine", "rtp-nvim", "run-nvim", "rustaceanvim", "smartcolumn-nvim", "snacks-nvim", "solarized", "solarized-osaka", "sqls-nvim", "tabular", "telescope", "tiny-devicons-auto-colors-nvim", "todo-comments-nvim", "toggleterm-nvim", "tokyonight", "trouble", "ts-error-translator-nvim", "typst-preview-nvim", "vim-dirtytalk", "vim-fugitive", "vim-illuminate", "vim-markdown", "vim-repeat", "vim-sleuth", "vim-startify", "which-key-nvim", "yanky-nvim", "nvim-treesitter", "flutter-tools-patched", "vim-repeat"

Plugin package.

If null, a custom load function must be provided

vim.lazy.plugins.<name>.priority Link copied!

Type: null or signed integer

Only useful for stat plugins (not lazy-loaded) to force loading certain plugins first.

Default: null

vim.lazy.plugins.<name>.setupModule Link copied!

Type: null or string

Lua module to run setup function on.

Default: null

vim.lazy.plugins.<name>.setupOpts Link copied!

Type: attribute set of anything

Options to pass to the setup function

Default: { }

vim.lineNumberMode Link copied!

Type: one of "relative", "number", "relNumber", "none"

How line numbers are displayed.

Default: "relNumber"
Example: "none"

vim.lsp.enable Link copied!

Type: boolean

Whether to enable global LSP functionality for Neovim.

This option controls whether to enable LSP functionality within modules under vim.languages. You do not need to set this to true for language servers defined in vim.lsp.servers to take effect, since they are enabled automatically. .

Default: false
Example: true

vim.lsp.formatOnSave Link copied!

Type: boolean

Whether to enable format on save.

Default: false
Example: true

vim.lsp.inlayHints.enable Link copied!

Type: boolean

Whether to enable inlay hints.

Default: false
Example: true

vim.lsp.lightbulb.autocmd.enable Link copied!

Type: boolean

Whether to enable updating lightbulb glyph automatically.

Default: true
Example: true

vim.lsp.lightbulb.autocmd.events Link copied!

Type: list of string

Events on which to update nvim-lightbulb glyphs

Default: [ "CursorHold" "CursorHoldI" ]

vim.lsp.lightbulb.autocmd.pattern Link copied!

Type: string or (luaInline)

File patterns or buffer names to match, determining which files or buffers trigger glyph updates.

Default: "*"

vim.lsp.lightbulb.enable Link copied!

Type: boolean

Whether to enable Lightbulb for code actions. Requires an emoji font.

Default: false
Example: true

vim.lsp.lightbulb.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of nvim-lightbulb

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.lsp.lspSignature.enable Link copied!

Type: boolean

Whether to enable lsp signature viewer.

Default: false
Example: true

vim.lsp.lspSignature.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of lsp-signature

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.lsp.lspconfig.enable Link copied!

Type: boolean

Whether to enable nvim-lspconfig, also enabled automatically.

Default: false
Example: true

vim.lsp.lspconfig.sources Link copied!

Type: attribute set of string

nvim-lspconfig sources

Default: { }

vim.lsp.lspkind.enable Link copied!

Type: boolean

Whether to enable vscode-like pictograms for lsp [lspkind].

Default: false
Example: true

vim.lsp.lspkind.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of lspkind.nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.lsp.lspkind.setupOpts.before Link copied!

Type: null or (luaInline)

The function that will be called before lspkind's modifications are applied

Default: null

vim.lsp.lspkind.setupOpts.mode Link copied!

Type: one of "text", "text_symbol", "symbol_text", "symbol"

Defines how annotations are shown

Default: "symbol_text"

vim.lsp.lspsaga.enable Link copied!

Type: boolean

Whether to enable LSP Saga.

Default: false
Example: true

vim.lsp.lspsaga.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of lspsaga

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.lsp.lspsaga.setupOpts.border_style Link copied!

Type: one of "none", "single", "double", "rounded", "solid", "shadow" or list of (string or list of string)

Border type, see :help nvim_open_win

Default: "rounded"

vim.lsp.mappings.addWorkspaceFolder Link copied!

Type: null or string

Add workspace folder

Default: "lwa"

vim.lsp.mappings.codeAction Link copied!

Type: null or string

Code action

Default: "la"

vim.lsp.mappings.documentHighlight Link copied!

Type: null or string

Document highlight

Default: "lH"

vim.lsp.mappings.format Link copied!

Type: null or string

Format

Default: "lf"

vim.lsp.mappings.goToDeclaration Link copied!

Type: null or string

Go to declaration

Default: "lgD"

vim.lsp.mappings.goToDefinition Link copied!

Type: null or string

Go to definition

Default: "lgd"

vim.lsp.mappings.goToType Link copied!

Type: null or string

Go to type

Default: "lgt"

vim.lsp.mappings.hover Link copied!

Type: null or string

Trigger hover

Default: "lh"

vim.lsp.mappings.listDocumentSymbols Link copied!

Type: null or string

List document symbols

Default: "lS"

vim.lsp.mappings.listImplementations Link copied!

Type: null or string

List implementations

Default: "lgi"

vim.lsp.mappings.listReferences Link copied!

Type: null or string

List references

Default: "lgr"

vim.lsp.mappings.listWorkspaceFolders Link copied!

Type: null or string

List workspace folders

Default: "lwl"

vim.lsp.mappings.listWorkspaceSymbols Link copied!

Type: null or string

List workspace symbols

Default: "lws"

vim.lsp.mappings.nextDiagnostic Link copied!

Type: null or string

Go to next diagnostic

Default: "lgn"

vim.lsp.mappings.openDiagnosticFloat Link copied!

Type: null or string

Open diagnostic float

Default: "le"

vim.lsp.mappings.previousDiagnostic Link copied!

Type: null or string

Go to previous diagnostic

Default: "lgp"

vim.lsp.mappings.removeWorkspaceFolder Link copied!

Type: null or string

Remove workspace folder

Default: "lwr"

vim.lsp.mappings.renameSymbol Link copied!

Type: null or string

Rename symbol

Default: "ln"

vim.lsp.mappings.signatureHelp Link copied!

Type: null or string

Signature help

Default: "ls"

vim.lsp.mappings.toggleFormatOnSave Link copied!

Type: null or string

Toggle format on save

Default: "ltf"

vim.lsp.null-ls.enable Link copied!

Type: boolean

Whether to enable null-ls, plugin to use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua. .

Default: false
Example: true

vim.lsp.null-ls.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of null-ls

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.lsp.null-ls.setupOpts.debounce Link copied!

Type: signed integer

Amount of time between the last change to a buffer and the next textDocument/didChange notification.

Default: 250

vim.lsp.null-ls.setupOpts.debug Link copied!

Type: boolean

Whether to enable debugging information for null-ls.

Displays all possible log messages and writes them to the null-ls log, which you can view with the command :NullLsLog .

Default: false
Example: true

vim.lsp.null-ls.setupOpts.default_timeout Link copied!

Type: signed integer

Amount of time (in milliseconds) after which built-in sources will time out.

Note

Built-in sources can define their own timeout period and users can override the timeout period on a per-source basis

Default: 5000

vim.lsp.null-ls.setupOpts.diagnostics_format Link copied!

Type: string

Sets the default format used for diagnostics. null-ls will replace th e following special components with the relevant diagnostic information:

  • `#: message
  • #: source name (defaults to null-ls if not specified)
  • #{c}`: code (if available)
Default: "[#{m}] #{s} (#{c})"

vim.lsp.null-ls.setupOpts.on_attach Link copied!

Type: null or (luaInline)

Defines an on_attach callback to run whenever null-ls attaches to a buffer.

Default: { _type = "lua-inline"; expr = "on_attach"; }

vim.lsp.null-ls.setupOpts.sources Link copied!

Type: null or (list of (luaInline))

Sources for null-ls to register

Default: null

vim.lsp.nvim-docs-view.enable Link copied!

Type: boolean

Whether to enable nvim-docs-view, for displaying lsp hover documentation in a side panel..

Default: false
Example: true

vim.lsp.nvim-docs-view.mappings.viewToggle Link copied!

Type: null or string

Open or close the docs view panel

Default: "lvt"

vim.lsp.nvim-docs-view.mappings.viewUpdate Link copied!

Type: null or string

Manually update the docs view panel

Default: "lvu"

vim.lsp.nvim-docs-view.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of nvim-docs-view

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.lsp.nvim-docs-view.setupOpts.height Link copied!

Type: signed integer

Height of the docs view panel if the position is set to either top or bottom

Default: 10

vim.lsp.nvim-docs-view.setupOpts.position Link copied!

Type: one of "left", "right", "top", "bottom"

Where to open the docs view panel

Default: "right"

vim.lsp.nvim-docs-view.setupOpts.update_mode Link copied!

Type: one of "auto", "manual"

Determines the mechanism used to update the docs view panel content.

  • If auto, the content will update upon cursor move.
  • If manual, the content will only update once :DocsViewUpdate is called
Default: "auto"

vim.lsp.nvim-docs-view.setupOpts.width Link copied!

Type: signed integer

Width of the docs view panel if the position is set to either left or right

Default: 60

vim.lsp.otter-nvim.enable Link copied!

Type: boolean

Whether to enable lsp features and a code completion source for code embedded in other documents [otter-nvim] .

Default: false
Example: true

vim.lsp.otter-nvim.mappings.toggle Link copied!

Type: null or string

Activate LSP on Cursor Position [otter-nvim]

Default: "lo"

vim.lsp.otter-nvim.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of otter.nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.lsp.otter-nvim.setupOpts.buffers.set_filetype Link copied!

Type: boolean

if set to true, the filetype of the otterbuffers will be set. Other wide only the autocommand of lspconfig that attaches the language server will be executed without setting the filetype

Default: false

vim.lsp.otter-nvim.setupOpts.buffers.write_to_disk Link copied!

Type: boolean

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

Default: false

vim.lsp.otter-nvim.setupOpts.handle_leading_whitespace Link copied!

Type: boolean

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.

Default: false

vim.lsp.otter-nvim.setupOpts.lsp.diagnostic_update_event Link copied!

Type: list of string

:h events that cause the diagnostic to update. Set to: {"BufWritePost", "InsertLeave", "TextChanged" } for less performant but more instant diagnostic updates

Default: [ "BufWritePost" ]

vim.lsp.otter-nvim.setupOpts.strip_wrapping_quote_characters Link copied!

Type: list of string
Default: [ "'" "\"" "`" ]

vim.lsp.servers Link copied!

Type: attribute set of (attribute set of anything)

LSP configurations that will be managed using vim.lsp.config() and related utilities added in Neovim 0.11. LSPs defined here will be added to the resulting init.lua using vim.lsp.config and enabled through vim.lsp.enable() API from Neovim below the configuration table.

You may review the generated configuration by running nvf-print-config in a shell. Please see :help lsp-config for more details on the underlying API.

Default: { }
Example:
''
  {
    "*" = {
      root_markers = [".git"];
      capabilities = {
        textDocument = {
          semanticTokens = {
            multilineTokenSupport = true;
          };
        };
      };
    };
  
    "clangd" = {
      filetypes = ["c"];
    };
  }
''

vim.lsp.servers.<name>.capabilities Link copied!

Type: null or (luaInline) or attribute set of anything

LSP capabilitiess to pass to lspconfig

Default: null

vim.lsp.servers.<name>.cmd Link copied!

Type: null or (list of string)

Command used to start the LSP server

Default: null

vim.lsp.servers.<name>.enable Link copied!

Type: boolean

Whether to enable this LSP server.

Default: true

vim.lsp.servers.<name>.filetypes Link copied!

Type: null or (list of string)

Filetypes to auto-attach LSP in

Default: null

vim.lsp.servers.<name>.on_attach Link copied!

Type: null or (luaInline)

Function to execute when an LSP server attaches to a buffer

Default: null

vim.lsp.servers.<name>.root_markers Link copied!

Type: null or (list of string)

"root markers" used to determine the root directory of the workspace, and the filetypes associated with this LSP server.

Default: null

vim.lsp.trouble.enable Link copied!

Type: boolean

Whether to enable trouble diagnostics viewer.

Default: false
Example: true

vim.lsp.trouble.mappings.documentDiagnostics Link copied!

Type: null or string

Document diagnostics [trouble]

Default: "ld"

vim.lsp.trouble.mappings.locList Link copied!

Type: null or string

LOCList [trouble]

Default: "xl"

vim.lsp.trouble.mappings.lspReferences Link copied!

Type: null or string

LSP References [trouble]

Default: "lr"

vim.lsp.trouble.mappings.quickfix Link copied!

Type: null or string

QuickFix [trouble]

Default: "xq"

vim.lsp.trouble.mappings.symbols Link copied!

Type: null or string

Symbols [trouble]

Default: "xs"

vim.lsp.trouble.mappings.workspaceDiagnostics Link copied!

Type: null or string

Workspace diagnostics [trouble]

Default: "lwd"

vim.lsp.trouble.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of Trouble

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.luaConfigPost Link copied!

Type: string

Verbatim lua code that will be inserted after the result of the luaConfigRc DAG has been resolved

This option does not take a DAG set, but a string instead. Useful when you'd like to insert contents of lua configs after the DAG result.

Default: ""
Example: ${builtins.readFile ./my-lua-config-post.lua}

vim.luaConfigPre Link copied!

Type: string

Verbatim lua code that will be inserted before the result of luaConfigRc DAG has been resolved.

This option does not take a DAG set, but a string instead. Useful when you'd like to insert contents of lua configs after the DAG result.

Warning

You do not want to override this option with mkForce It is used internally to set certain options as early as possible and should be avoided unless you know what you’re doing. Passing a string to this option will merge it with the default contents.

Default: By default, this option will **append** paths in [](#opt-vim.additionalRuntimePaths) to the `runtimepath` and enable the experimental Lua module loader if [](#opt-vim.enableLuaLoader) is set to true.
Example: ${builtins.readFile ./my-lua-config-pre.lua}

vim.luaConfigRC Link copied!

Type: (DAG of strings concatenated with "\n") or string

Lua configuration, either as a string or a DAG.

If this option is passed as a DAG, it will be resolved according to the DAG resolution rules (e.g. entryBefore or entryAfter) as per the nvf extended library.

Default: { }
Example:
```lua
-- Set the tab size to 4 spaces
vim.opt.tabstop = 4
vim.opt.shiftwidth = 4
vim.opt.expandtab = true
```

vim.luaPackages Link copied!

Type: list of string

List of lua packages to install

Default: [ ]
Example: "[\"magick\" \"serpent\"]"

vim.maps.command Link copied!

Type: attribute set of (submodule)

Mappings for command-line mode

Default: { }

vim.maps.command.<name>.action Link copied!

Type: string

The command to execute.

vim.maps.command.<name>.desc Link copied!

Type: null or string

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

Default: null

vim.maps.command.<name>.expr Link copied!

Type: boolean

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

Default: false

vim.maps.command.<name>.lua Link copied!

Type: boolean

If true, action is considered to be lua code. Thus, it will not be wrapped in "".

Default: false

vim.maps.command.<name>.noremap Link copied!

Type: boolean

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.

Default: true

vim.maps.command.<name>.nowait Link copied!

Type: boolean

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

Default: false

vim.maps.command.<name>.script Link copied!

Type: boolean

Equivalent to adding <script> to a map.

Default: false

vim.maps.command.<name>.silent Link copied!

Type: boolean

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

Default: true

vim.maps.command.<name>.unique Link copied!

Type: boolean

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

Default: false

vim.maps.insert Link copied!

Type: attribute set of (submodule)

Mappings for insert mode

Default: { }

vim.maps.insert.<name>.action Link copied!

Type: string

The command to execute.

vim.maps.insert.<name>.desc Link copied!

Type: null or string

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

Default: null

vim.maps.insert.<name>.expr Link copied!

Type: boolean

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

Default: false

vim.maps.insert.<name>.lua Link copied!

Type: boolean

If true, action is considered to be lua code. Thus, it will not be wrapped in "".

Default: false

vim.maps.insert.<name>.noremap Link copied!

Type: boolean

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.

Default: true

vim.maps.insert.<name>.nowait Link copied!

Type: boolean

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

Default: false

vim.maps.insert.<name>.script Link copied!

Type: boolean

Equivalent to adding <script> to a map.

Default: false

vim.maps.insert.<name>.silent Link copied!

Type: boolean

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

Default: true

vim.maps.insert.<name>.unique Link copied!

Type: boolean

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

Default: false

vim.maps.insertCommand Link copied!

Type: attribute set of (submodule)

Mappings for insert and command-line mode

Default: { }

vim.maps.insertCommand.<name>.action Link copied!

Type: string

The command to execute.

vim.maps.insertCommand.<name>.desc Link copied!

Type: null or string

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

Default: null

vim.maps.insertCommand.<name>.expr Link copied!

Type: boolean

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

Default: false

vim.maps.insertCommand.<name>.lua Link copied!

Type: boolean

If true, action is considered to be lua code. Thus, it will not be wrapped in "".

Default: false

vim.maps.insertCommand.<name>.noremap Link copied!

Type: boolean

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.

Default: true

vim.maps.insertCommand.<name>.nowait Link copied!

Type: boolean

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

Default: false

vim.maps.insertCommand.<name>.script Link copied!

Type: boolean

Equivalent to adding <script> to a map.

Default: false

vim.maps.insertCommand.<name>.silent Link copied!

Type: boolean

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

Default: true

vim.maps.insertCommand.<name>.unique Link copied!

Type: boolean

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

Default: false

vim.maps.lang Link copied!

Type: attribute set of (submodule)

Mappings for insert, command-line and lang-arg mode

Default: { }

vim.maps.lang.<name>.action Link copied!

Type: string

The command to execute.

vim.maps.lang.<name>.desc Link copied!

Type: null or string

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

Default: null

vim.maps.lang.<name>.expr Link copied!

Type: boolean

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

Default: false

vim.maps.lang.<name>.lua Link copied!

Type: boolean

If true, action is considered to be lua code. Thus, it will not be wrapped in "".

Default: false

vim.maps.lang.<name>.noremap Link copied!

Type: boolean

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.

Default: true

vim.maps.lang.<name>.nowait Link copied!

Type: boolean

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

Default: false

vim.maps.lang.<name>.script Link copied!

Type: boolean

Equivalent to adding <script> to a map.

Default: false

vim.maps.lang.<name>.silent Link copied!

Type: boolean

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

Default: true

vim.maps.lang.<name>.unique Link copied!

Type: boolean

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

Default: false

vim.maps.normal Link copied!

Type: attribute set of (submodule)

Mappings for normal mode

Default: { }

vim.maps.normal.<name>.action Link copied!

Type: string

The command to execute.

vim.maps.normal.<name>.desc Link copied!

Type: null or string

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

Default: null

vim.maps.normal.<name>.expr Link copied!

Type: boolean

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

Default: false

vim.maps.normal.<name>.lua Link copied!

Type: boolean

If true, action is considered to be lua code. Thus, it will not be wrapped in "".

Default: false

vim.maps.normal.<name>.noremap Link copied!

Type: boolean

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.

Default: true

vim.maps.normal.<name>.nowait Link copied!

Type: boolean

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

Default: false

vim.maps.normal.<name>.script Link copied!

Type: boolean

Equivalent to adding <script> to a map.

Default: false

vim.maps.normal.<name>.silent Link copied!

Type: boolean

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

Default: true

vim.maps.normal.<name>.unique Link copied!

Type: boolean

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

Default: false

vim.maps.normalVisualOp Link copied!

Type: attribute set of (submodule)

Mappings for normal, visual, select and operator-pending (same as plain 'map') mode

Default: { }

vim.maps.normalVisualOp.<name>.action Link copied!

Type: string

The command to execute.

vim.maps.normalVisualOp.<name>.desc Link copied!

Type: null or string

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

Default: null

vim.maps.normalVisualOp.<name>.expr Link copied!

Type: boolean

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

Default: false

vim.maps.normalVisualOp.<name>.lua Link copied!

Type: boolean

If true, action is considered to be lua code. Thus, it will not be wrapped in "".

Default: false

vim.maps.normalVisualOp.<name>.noremap Link copied!

Type: boolean

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.

Default: true

vim.maps.normalVisualOp.<name>.nowait Link copied!

Type: boolean

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

Default: false

vim.maps.normalVisualOp.<name>.script Link copied!

Type: boolean

Equivalent to adding <script> to a map.

Default: false

vim.maps.normalVisualOp.<name>.silent Link copied!

Type: boolean

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

Default: true

vim.maps.normalVisualOp.<name>.unique Link copied!

Type: boolean

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

Default: false

vim.maps.operator Link copied!

Type: attribute set of (submodule)

Mappings for operator-pending mode

Default: { }

vim.maps.operator.<name>.action Link copied!

Type: string

The command to execute.

vim.maps.operator.<name>.desc Link copied!

Type: null or string

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

Default: null

vim.maps.operator.<name>.expr Link copied!

Type: boolean

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

Default: false

vim.maps.operator.<name>.lua Link copied!

Type: boolean

If true, action is considered to be lua code. Thus, it will not be wrapped in "".

Default: false

vim.maps.operator.<name>.noremap Link copied!

Type: boolean

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.

Default: true

vim.maps.operator.<name>.nowait Link copied!

Type: boolean

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

Default: false

vim.maps.operator.<name>.script Link copied!

Type: boolean

Equivalent to adding <script> to a map.

Default: false

vim.maps.operator.<name>.silent Link copied!

Type: boolean

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

Default: true

vim.maps.operator.<name>.unique Link copied!

Type: boolean

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

Default: false

vim.maps.select Link copied!

Type: attribute set of (submodule)

Mappings for select mode

Default: { }

vim.maps.select.<name>.action Link copied!

Type: string

The command to execute.

vim.maps.select.<name>.desc Link copied!

Type: null or string

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

Default: null

vim.maps.select.<name>.expr Link copied!

Type: boolean

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

Default: false

vim.maps.select.<name>.lua Link copied!

Type: boolean

If true, action is considered to be lua code. Thus, it will not be wrapped in "".

Default: false

vim.maps.select.<name>.noremap Link copied!

Type: boolean

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.

Default: true

vim.maps.select.<name>.nowait Link copied!

Type: boolean

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

Default: false

vim.maps.select.<name>.script Link copied!

Type: boolean

Equivalent to adding <script> to a map.

Default: false

vim.maps.select.<name>.silent Link copied!

Type: boolean

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

Default: true

vim.maps.select.<name>.unique Link copied!

Type: boolean

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

Default: false

vim.maps.terminal Link copied!

Type: attribute set of (submodule)

Mappings for terminal mode

Default: { }

vim.maps.terminal.<name>.action Link copied!

Type: string

The command to execute.

vim.maps.terminal.<name>.desc Link copied!

Type: null or string

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

Default: null

vim.maps.terminal.<name>.expr Link copied!

Type: boolean

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

Default: false

vim.maps.terminal.<name>.lua Link copied!

Type: boolean

If true, action is considered to be lua code. Thus, it will not be wrapped in "".

Default: false

vim.maps.terminal.<name>.noremap Link copied!

Type: boolean

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.

Default: true

vim.maps.terminal.<name>.nowait Link copied!

Type: boolean

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

Default: false

vim.maps.terminal.<name>.script Link copied!

Type: boolean

Equivalent to adding <script> to a map.

Default: false

vim.maps.terminal.<name>.silent Link copied!

Type: boolean

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

Default: true

vim.maps.terminal.<name>.unique Link copied!

Type: boolean

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

Default: false

vim.maps.visual Link copied!

Type: attribute set of (submodule)

Mappings for visual and select mode

Default: { }

vim.maps.visual.<name>.action Link copied!

Type: string

The command to execute.

vim.maps.visual.<name>.desc Link copied!

Type: null or string

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

Default: null

vim.maps.visual.<name>.expr Link copied!

Type: boolean

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

Default: false

vim.maps.visual.<name>.lua Link copied!

Type: boolean

If true, action is considered to be lua code. Thus, it will not be wrapped in "".

Default: false

vim.maps.visual.<name>.noremap Link copied!

Type: boolean

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.

Default: true

vim.maps.visual.<name>.nowait Link copied!

Type: boolean

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

Default: false

vim.maps.visual.<name>.script Link copied!

Type: boolean

Equivalent to adding <script> to a map.

Default: false

vim.maps.visual.<name>.silent Link copied!

Type: boolean

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

Default: true

vim.maps.visual.<name>.unique Link copied!

Type: boolean

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

Default: false

vim.maps.visualOnly Link copied!

Type: attribute set of (submodule)

Mappings for visual only mode

Default: { }

vim.maps.visualOnly.<name>.action Link copied!

Type: string

The command to execute.

vim.maps.visualOnly.<name>.desc Link copied!

Type: null or string

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

Default: null

vim.maps.visualOnly.<name>.expr Link copied!

Type: boolean

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

Default: false

vim.maps.visualOnly.<name>.lua Link copied!

Type: boolean

If true, action is considered to be lua code. Thus, it will not be wrapped in "".

Default: false

vim.maps.visualOnly.<name>.noremap Link copied!

Type: boolean

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.

Default: true

vim.maps.visualOnly.<name>.nowait Link copied!

Type: boolean

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

Default: false

vim.maps.visualOnly.<name>.script Link copied!

Type: boolean

Equivalent to adding <script> to a map.

Default: false

vim.maps.visualOnly.<name>.silent Link copied!

Type: boolean

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

Default: true

vim.maps.visualOnly.<name>.unique Link copied!

Type: boolean

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

Default: false

vim.mini.ai.enable Link copied!

Type: boolean

Whether to enable mini.ai.

Default: false
Example: true

vim.mini.ai.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.ai

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.align.enable Link copied!

Type: boolean

Whether to enable mini.align.

Default: false
Example: true

vim.mini.align.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.align

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.animate.enable Link copied!

Type: boolean

Whether to enable mini.animate.

Default: false
Example: true

vim.mini.animate.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.animate

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.basics.enable Link copied!

Type: boolean

Whether to enable mini.basics.

Default: false
Example: true

vim.mini.basics.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.basics

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.bracketed.enable Link copied!

Type: boolean

Whether to enable mini.bracketed.

Default: false
Example: true

vim.mini.bracketed.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.bracketed

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.bufremove.enable Link copied!

Type: boolean

Whether to enable mini.bufremove.

Default: false
Example: true

vim.mini.bufremove.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.bufremove

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.clue.enable Link copied!

Type: boolean

Whether to enable mini.clue.

Default: false
Example: true

vim.mini.clue.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.clue

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.colors.enable Link copied!

Type: boolean

Whether to enable mini.colors.

Default: false
Example: true

vim.mini.comment.enable Link copied!

Type: boolean

Whether to enable mini.comment.

Default: false
Example: true

vim.mini.comment.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.comment

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.completion.enable Link copied!

Type: boolean

Whether to enable mini.completion.

Default: false
Example: true

vim.mini.completion.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.completion

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.cursorword.enable Link copied!

Type: boolean

Whether to enable mini.cursorword.

Default: false
Example: true

vim.mini.cursorword.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.cursorword

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.diff.enable Link copied!

Type: boolean

Whether to enable mini.diff.

Default: false
Example: true

vim.mini.diff.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.diff

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.doc.enable Link copied!

Type: boolean

Whether to enable mini.doc.

Default: false
Example: true

vim.mini.doc.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.doc

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.extra.enable Link copied!

Type: boolean

Whether to enable mini.extra.

Default: false
Example: true

vim.mini.files.enable Link copied!

Type: boolean

Whether to enable mini.files.

Default: false
Example: true

vim.mini.files.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.files

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.fuzzy.enable Link copied!

Type: boolean

Whether to enable mini.fuzzy.

Default: false
Example: true

vim.mini.fuzzy.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.fuzzy

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.git.enable Link copied!

Type: boolean

Whether to enable mini.git.

Default: false
Example: true

vim.mini.git.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.git

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.hipatterns.enable Link copied!

Type: boolean

Whether to enable mini.hipatterns.

Default: false
Example: true

vim.mini.hipatterns.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.hipatterns

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.hues.enable Link copied!

Type: boolean

Whether to enable mini.hues.

Default: false
Example: true

vim.mini.hues.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.hues

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.hues.setupOpts.background Link copied!

Type: RGB color in hex format

The hex color for the background color of the color scheme, prefixed with #

vim.mini.hues.setupOpts.foreground Link copied!

Type: RGB color in hex format

The hex color for the foreground color of the color scheme, prefixed with #

vim.mini.icons.enable Link copied!

Type: boolean

Whether to enable mini.icons.

Default: false
Example: true

vim.mini.icons.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.icons

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.indentscope.enable Link copied!

Type: boolean

Whether to enable mini.indentscope.

Default: false
Example: true

vim.mini.indentscope.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.indentscope

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.indentscope.setupOpts.ignore_filetypes Link copied!

Type: list of string

File types to ignore for illuminate

Default: [ "help" "neo-tree" "notify" "NvimTree" "TelescopePrompt" ]

vim.mini.jump.enable Link copied!

Type: boolean

Whether to enable mini.jump.

Default: false
Example: true

vim.mini.jump.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.jump

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.jump2d.enable Link copied!

Type: boolean

Whether to enable mini.jump2d.

Default: false
Example: true

vim.mini.jump2d.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.jump2d

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.map.enable Link copied!

Type: boolean

Whether to enable mini.map.

Default: false
Example: true

vim.mini.map.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.map

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.misc.enable Link copied!

Type: boolean

Whether to enable mini.misc.

Default: false
Example: true

vim.mini.misc.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.misc

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.move.enable Link copied!

Type: boolean

Whether to enable mini.move.

Default: false
Example: true

vim.mini.move.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.move

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.notify.enable Link copied!

Type: boolean

Whether to enable mini.notify.

Default: false
Example: true

vim.mini.notify.notifyOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.notify notifications

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.notify.notifyOpts.DEBUG.duration Link copied!

Type: signed integer

The duration of the debug notification

Default: 0

vim.mini.notify.notifyOpts.DEBUG.hl_group Link copied!

Type: string

The highlight group of the debug notification

Default: "DiagnosticHint"

vim.mini.notify.notifyOpts.ERROR.duration Link copied!

Type: signed integer

The duration of the error notification

Default: 5000

vim.mini.notify.notifyOpts.ERROR.hl_group Link copied!

Type: string

The highlight group of the error notification

Default: "DiagnosticError"

vim.mini.notify.notifyOpts.INFO.duration Link copied!

Type: signed integer

The duration of the info notification

Default: 5000

vim.mini.notify.notifyOpts.INFO.hl_group Link copied!

Type: string

The highlight group of the info notification

Default: "DiagnosticInfo"

vim.mini.notify.notifyOpts.OFF.duration Link copied!

Type: signed integer

The duration of the off notification

Default: 0

vim.mini.notify.notifyOpts.OFF.hl_group Link copied!

Type: string

The highlight group of the off notification

Default: "MiniNotifyNormal"

vim.mini.notify.notifyOpts.TRACE.duration Link copied!

Type: signed integer

The duration of the trace notification

Default: 0

vim.mini.notify.notifyOpts.TRACE.hl_group Link copied!

Type: string

The highlight group of the trace notification

Default: "DiagnosticOk"

vim.mini.notify.notifyOpts.WARN.duration Link copied!

Type: signed integer

The duration of the warn notification

Default: 5000

vim.mini.notify.notifyOpts.WARN.hl_group Link copied!

Type: string

The highlight group of the warn notification

Default: "DiagnosticWarn"

vim.mini.notify.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.notify

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.notify.setupOpts.window.config.border Link copied!

Type: one of "none", "single", "double", "rounded", "solid", "shadow" or list of (string or list of string)

The border type for the mini.notify-notifications

Default: "rounded"

vim.mini.operators.enable Link copied!

Type: boolean

Whether to enable mini.operators.

Default: false
Example: true

vim.mini.operators.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.operators

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.pairs.enable Link copied!

Type: boolean

Whether to enable mini.pairs.

Default: false
Example: true

vim.mini.pairs.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.pairs

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.pick.enable Link copied!

Type: boolean

Whether to enable mini.pick.

Default: false
Example: true

vim.mini.pick.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.pick

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.sessions.enable Link copied!

Type: boolean

Whether to enable mini.sessions.

Default: false
Example: true

vim.mini.sessions.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.sessions

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.snippets.enable Link copied!

Type: boolean

Whether to enable mini.snippets.

Default: false
Example: true

vim.mini.snippets.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.snippets

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.splitjoin.enable Link copied!

Type: boolean

Whether to enable mini.splitjoin.

Default: false
Example: true

vim.mini.splitjoin.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.splitjoin

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.starter.enable Link copied!

Type: boolean

Whether to enable mini.starter.

Default: false
Example: true

vim.mini.starter.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.starter

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.statusline.enable Link copied!

Type: boolean

Whether to enable mini.statusline.

Default: false
Example: true

vim.mini.statusline.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.statusline

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.surround.enable Link copied!

Type: boolean

Whether to enable mini.surround.

Default: false
Example: true

vim.mini.surround.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.surround

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.tabline.enable Link copied!

Type: boolean

Whether to enable mini.tabline.

Default: false
Example: true

vim.mini.tabline.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.tabline

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.test.enable Link copied!

Type: boolean

Whether to enable mini.test.

Default: false
Example: true

vim.mini.test.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.test

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.trailspace.enable Link copied!

Type: boolean

Whether to enable mini.trailspace.

Default: false
Example: true

vim.mini.trailspace.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.trailspace

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.mini.visits.enable Link copied!

Type: boolean

Whether to enable mini.visits.

Default: false
Example: true

vim.mini.visits.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of mini.visits

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.minimap.codewindow.enable Link copied!

Type: boolean

Whether to enable codewindow plugin for minimap view.

Default: false
Example: true

vim.minimap.codewindow.mappings.close Link copied!

Type: null or string

Close minimap [codewindow]

Default: "mc"

vim.minimap.codewindow.mappings.open Link copied!

Type: null or string

Open minimap [codewindow]

Default: "mo"

vim.minimap.codewindow.mappings.toggle Link copied!

Type: null or string

Toggle minimap [codewindow]

Default: "mm"

vim.minimap.codewindow.mappings.toggleFocus Link copied!

Type: null or string

Toggle minimap focus [codewindow]

Default: "mf"

vim.minimap.minimap-vim.enable Link copied!

Type: boolean

Whether to enable minimap view [minimap-vim].

Default: false
Example: true

vim.navigation.harpoon.enable Link copied!

Type: boolean

Whether to enable Quick bookmarks on keybinds [Harpoon].

Default: false
Example: true

vim.navigation.harpoon.mappings.file1 Link copied!

Type: null or string

Go to marked file 1 [Harpoon]

Default: ""

vim.navigation.harpoon.mappings.file2 Link copied!

Type: null or string

Go to marked file 2 [Harpoon]

Default: ""

vim.navigation.harpoon.mappings.file3 Link copied!

Type: null or string

Go to marked file 3 [Harpoon]

Default: ""

vim.navigation.harpoon.mappings.file4 Link copied!

Type: null or string

Go to marked file 4 [Harpoon]

Default: ""

vim.navigation.harpoon.mappings.listMarks Link copied!

Type: null or string

List marked files [Harpoon]

Default: ""

vim.navigation.harpoon.mappings.markFile Link copied!

Type: null or string

Mark file [Harpoon]

Default: "a"

vim.navigation.harpoon.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of Harpoon

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.navigation.harpoon.setupOpts.defaults.key Link copied!

Type: luaInline

How the out list key is looked up. This can be useful when using worktrees and using git remote instead of file path

Default: { _type = "lua-inline"; expr = '' function() return vim.loop.cwd() end ''; }

vim.navigation.harpoon.setupOpts.defaults.save_on_toggle Link copied!

Type: boolean

Any time the ui menu is closed then we will save the state back to the backing list, not to the fs

Default: false

vim.navigation.harpoon.setupOpts.defaults.sync_on_ui_close Link copied!

Type: boolean

Any time the ui menu is closed then the state of the list will be sync'd back to the fs

Default: false

vim.notes.mind-nvim.enable Link copied!

Type: boolean

Whether to enable note organizer tool for Neovim [mind-nvim].

Default: false
Example: true

vim.notes.neorg.enable Link copied!

Type: boolean

Whether to enable Neorg: An intuitive note-taking and organization tool with a structured nested syntax. .

Default: false
Example: true

vim.notes.neorg.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of Neorg

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.notes.neorg.setupOpts.load."core.defaults" Link copied!

Type: submodule

all of the most important modules that any user would want to have a "just works" experience

Default: { }

vim.notes.neorg.setupOpts.load."core.defaults".config.disable Link copied!

Type: list of string

list of modules from to be disabled from core.defaults

Default: [ ]
Example:
[
  "core.autocommands"
  "core.itero"
]

vim.notes.neorg.setupOpts.load."core.defaults".enable Link copied!

Type: boolean

Whether to enable all of the most important modules that any user would want to have a "just works" experience .

Default: false
Example: true

vim.notes.neorg.treesitter.enable Link copied!

Type: boolean

Whether to enable Neorg treesitter.

Default: false
Example: true

vim.notes.neorg.treesitter.norgPackage Link copied!

Type: package

The norg treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.norg

vim.notes.obsidian.enable Link copied!

Type: boolean

Whether to enable complementary neovim plugins for Obsidian editor.

Default: false
Example: true

vim.notes.obsidian.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of Obsidian.nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.notes.obsidian.setupOpts.completion.nvim_cmp Link copied!

Type: boolean

If using nvim-cmp, otherwise set to false

Default: false

vim.notes.obsidian.setupOpts.daily_notes.date_format Link copied!

Type: null or string

Date format used for creating daily notes

Default: null

vim.notes.obsidian.setupOpts.daily_notes.folder Link copied!

Type: null or string

Directory in which daily notes should be created

Default: null

vim.notes.orgmode.enable Link copied!

Type: boolean

Whether to enable nvim-orgmode: Neovim plugin for Emacs Orgmode. Get the best of both worlds.

Default: false
Example: true

vim.notes.orgmode.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of Orgmode

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.notes.orgmode.setupOpts.org_agenda_files Link copied!

Type: list of string

List of org files to be used as agenda files.

Default: [ "~/Documents/org/*" "~/my-orgs/**/*" ]

vim.notes.orgmode.setupOpts.org_default_notes_file Link copied!

Type: string

Default org file to be used for notes.

Default: "~/Documents/org/refile.org"

vim.notes.orgmode.treesitter.enable Link copied!

Type: boolean

Whether to enable Orgmode treesitter.

Default: false
Example: true

vim.notes.orgmode.treesitter.orgPackage Link copied!

Type: package

The org treesitter package to use.

Default: pkgs.vimPlugins.nvim-treesitter.builtGrammars.org

vim.notes.todo-comments.enable Link copied!

Type: boolean

Whether to enable todo-comments: highlight and search for todo comments like TODO, HACK, BUG in your code base.

Default: false
Example: true

vim.notes.todo-comments.mappings.quickFix Link copied!

Type: null or string

Open Todo-s in a quickfix list

Default: "tdq"

vim.notes.todo-comments.mappings.telescope Link copied!

Type: null or string

Open Todo-s in telescope

Default: "tds"

vim.notes.todo-comments.mappings.trouble Link copied!

Type: null or string

Open Todo-s in Trouble

Default: "tdt"

vim.notes.todo-comments.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of todo-comments.nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.notes.todo-comments.setupOpts.highlight.pattern Link copied!

Type: string

vim regex pattern used for highlighting comments

Default: ".*<(KEYWORDS)(\\([^\\)]*\\))?:"

vim.notes.todo-comments.setupOpts.search.args Link copied!

Type: list of string

arguments to pass to the search command

Default: [ "--color=never" "--no-heading" "--with-filename" "--line-number" "--column" ]

vim.notes.todo-comments.setupOpts.search.command Link copied!

Type: string

search command

Default: "\${pkgs.ripgrep}/bin/rg"

vim.notes.todo-comments.setupOpts.search.pattern Link copied!

Type: string

ripgrep regex pattern used for searching comments

Default: "\\b(KEYWORDS)(\\([^\\)]*\\))?:"

vim.notify.nvim-notify.enable Link copied!

Type: boolean

Whether to enable nvim-notify notifications.

Default: false
Example: true

vim.notify.nvim-notify.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of nvim-notify

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.notify.nvim-notify.setupOpts.background_colour Link copied!

Type: string

The background colour of the notification

Default: "NotifyBackground"

vim.notify.nvim-notify.setupOpts.icons Link copied!

Type: attribute set of string

The icons of the notification

Default: { DEBUG = ""; ERROR = ""; INFO = ""; TRACE = ""; WARN = ""; }

vim.notify.nvim-notify.setupOpts.position Link copied!

Type: one of "top_left", "top_right", "bottom_left", "bottom_right"

The position of the notification

Default: "top_right"

vim.notify.nvim-notify.setupOpts.render Link copied!

Type: one of "default", "minimal", "simple", "compact", "wrapped-compact" or (luaInline)

Custom rendering method to be used for displaying notifications

Default: "compact"

vim.notify.nvim-notify.setupOpts.stages Link copied!

Type: one of "fade_in_slide_out", "fade", "slide", "static"

The stages of the notification

Default: "fade_in_slide_out"

vim.notify.nvim-notify.setupOpts.timeout Link copied!

Type: signed integer

The timeout of the notification

Default: 1000

vim.optPlugins Link copied!

Type: list of (null or package or one of "blink-cmp", "aerial-nvim", "alpha-nvim", "avante-nvim", "base16", "blink-cmp-spell", "blink-compat", "blink-emoji-nvim", "blink-ripgrep-nvim", "bufdelete-nvim", "catppuccin", "ccc-nvim", "cellular-automaton-nvim", "chatgpt-nvim", "cheatsheet-nvim", "cinnamon-nvim", "cmp-buffer", "cmp-luasnip", "cmp-nvim-lsp", "cmp-path", "cmp-treesitter", "codecompanion-nvim", "codewindow-nvim", "comment-nvim", "conform-nvim", "copilot-cmp", "copilot-lua", "crates-nvim", "csharpls-extended-lsp-nvim", "dashboard-nvim", "diffview-nvim", "direnv-vim", "dracula", "dressing-nvim", "elixir-tools-nvim", "fastaction-nvim", "fidget-nvim", "flash-nvim", "flutter-tools-nvim", "friendly-snippets", "fzf-lua", "gesture-nvim", "git-conflict-nvim", "github", "gitlinker-nvim", "gitsigns-nvim", "glow-nvim", "gruvbox", "hardtime-nvim", "harpoon", "haskell-tools-nvim", "highlight-undo-nvim", "hop-nvim", "hydra-nvim", "icon-picker-nvim", "image-nvim", "img-clip", "indent-blankline-nvim", "lazydev-nvim", "leap-nvim", "leetcode-nvim", "lsp-signature-nvim", "lspkind-nvim", "lspsaga-nvim", "lua-utils-nvim", "lualine-nvim", "luasnip", "lz-n", "lzn-auto-require", "markview-nvim", "mind-nvim", "mini-ai", "mini-align", "mini-animate", "mini-base16", "mini-basics", "mini-bracketed", "mini-bufremove", "mini-clue", "mini-colors", "mini-comment", "mini-completion", "mini-cursorword", "mini-diff", "mini-doc", "mini-extra", "mini-files", "mini-fuzzy", "mini-git", "mini-hipatterns", "mini-hues", "mini-icons", "mini-indentscope", "mini-jump", "mini-jump2d", "mini-map", "mini-misc", "mini-move", "mini-notify", "mini-operators", "mini-pairs", "mini-pick", "mini-sessions", "mini-snippets", "mini-splitjoin", "mini-starter", "mini-statusline", "mini-surround", "mini-tabline", "mini-test", "mini-trailspace", "mini-visits", "minimap-vim", "mkdir-nvim", "modes-nvim", "multicursors-nvim", "neo-tree-nvim", "neocord", "neorg", "neorg-telescope", "neovim-session-manager", "new-file-template-nvim", "nix-develop-nvim", "noice-nvim", "none-ls-nvim", "nord", "nui-nvim", "nvim-autopairs", "nvim-bufferline-lua", "nvim-cmp", "nvim-colorizer-lua", "nvim-cursorline", "nvim-dap", "nvim-dap-go", "nvim-dap-ui", "nvim-docs-view", "nvim-lightbulb", "nvim-lint", "nvim-lspconfig", "nvim-metals", "nvim-navbuddy", "nvim-navic", "nvim-neoclip-lua", "nvim-nio", "nvim-notify", "nvim-scrollbar", "nvim-surround", "nvim-tree-lua", "nvim-treesitter-context", "nvim-treesitter-textobjects", "nvim-ts-autotag", "nvim-ufo", "nvim-web-devicons", "obsidian-nvim", "oil-nvim", "omnisharp-extended-lsp-nvim", "onedark", "orgmode", "otter-nvim", "oxocarbon", "pathlib-nvim", "plenary-nvim", "precognition-nvim", "project-nvim", "promise-async", "rainbow-delimiters-nvim", "registers-nvim", "render-markdown-nvim", "rose-pine", "rtp-nvim", "run-nvim", "rustaceanvim", "smartcolumn-nvim", "snacks-nvim", "solarized", "solarized-osaka", "sqls-nvim", "tabular", "telescope", "tiny-devicons-auto-colors-nvim", "todo-comments-nvim", "toggleterm-nvim", "tokyonight", "trouble", "ts-error-translator-nvim", "typst-preview-nvim", "vim-dirtytalk", "vim-fugitive", "vim-illuminate", "vim-markdown", "vim-repeat", "vim-sleuth", "vim-startify", "which-key-nvim", "yanky-nvim", "nvim-treesitter", "flutter-tools-patched", "vim-repeat")

List of plugins to optionally load on startup.

This option has the same type definition as vim.startPlugins and plugins in this list are appended to vim.startPlugins by the wrapper during the build process.

To avoid overriding packages and dependencies provided by startPlugins, you are recommended to use this option or vim.extraPlugins option.

Default: [ ]
Example:
''
  [pkgs.vimPlugins.vim-ghost]
''

vim.options Link copied!

Type: attribute set of anything

A freeform attribute set containing vim options to be set as early as possible. If populated, this option will set vim options in the built luaConfigRC after basic and before pluginConfigs DAG entries.

Note

{foo = "bar";} will set vim.o.foo to “bar”, where the type of bar in the resulting Lua value will be inferred from the type of the value in the {name = value;} pair passed to the option.

Default: { }
Example:
{
  visualbell = true;
}

vim.options.autoindent Link copied!

Type: boolean

Enable auto indent

Default: true

vim.options.cmdheight Link copied!

Type: signed integer

Height of the command pane

Default: 1

vim.options.cursorlineopt Link copied!

Type: one of "line", "screenline", "number", "both"

Highlight the text line of the cursor with CursorLine hl-CursorLine

Default: "line"

vim.options.mouse Link copied!

Type: string

Set modes for mouse support.

  • n - normal
  • v - visual
  • i - insert
  • c - command-line
  • h - all modes when editing a help file
  • a - all modes
  • r - for hit-enter and more-prompt prompt

This option takes a string to ensure proper conversion to the corresponding Lua type. As such, we do not check the value passed to this option. Please ensure that any value that is set here is a valid value as per https://neovim.io/doc/user/options.html#'mouse'%22">neovim documentation.

Default: "nvi"
Example: "a"

vim.options.shiftwidth Link copied!

Type: signed integer

Number of spaces to use for each step of (auto)indent. Used for cindent, >>, <<, etc.

When zero the tabstop value will be used.

Default: 8

vim.options.signcolumn Link copied!

Type: string

Whether to show the sign column

Default: "yes"
Example: "no"

vim.options.splitbelow Link copied!

Type: boolean

New splits will open below instead of on top

Default: true

vim.options.splitright Link copied!

Type: boolean

New splits will open to the right

Default: true

vim.options.tabstop Link copied!

Type: signed integer

Number of spaces that a <Tab> in the file counts for. Also see the :retab command, and the softtabstop option.

Default: 8

vim.options.termguicolors Link copied!

Type: boolean

Set terminal up for 256 colours

Default: true

vim.options.tm Link copied!

Type: signed integer

Timeout in ms that Neovim will wait for mapped action to complete

Default: 500

vim.options.updatetime Link copied!

Type: signed integer

The number of milliseconds till Cursor Hold event is fired

Default: 300

vim.options.wrap Link copied!

Type: boolean

Enable word wrapping.

Default: true

vim.package Link copied!

Type: package

The neovim package to use for the wrapper. This corresponds to the package that will be wrapped with your plugins and settings.

Warning

You will need to use an unwrapped package for this option to work as intended. Using an already wrapped package here may yield undesirable results.

Default:

vim.pluginOverrides Link copied!

Type: attribute set of package

Attribute set of plugins to override default values

Default: { }
Example:
''
  {
    lazydev-nvim = pkgs.fetchFromGitHub {
      owner = "folke";
      repo = "lazydev.nvim";
      rev = "";
      hash = "";
    };
  }
''

vim.pluginRC Link copied!

Type: (DAG of strings concatenated with "\n") or string

The DAG used to configure plugins. If a string is passed, entryAnywhere is automatically applied.

Default: { }

vim.presence.neocord.enable Link copied!

Type: boolean

Whether to enable neocord plugin for discord rich presence.

Default: false
Example: true

vim.presence.neocord.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of neocord

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.presence.neocord.setupOpts.auto_update Link copied!

Type: boolean

Automatically update the presence

Default: true

vim.presence.neocord.setupOpts.blacklist Link copied!

Type: list of string

List of filetypes to ignore

Default: [ ]
Example: ["Alpha"]

vim.presence.neocord.setupOpts.client_id Link copied!

Type: string

Client ID of the application

Default: "1157438221865717891"

vim.presence.neocord.setupOpts.debounce_timeout Link copied!

Type: signed integer

Number of seconds to debounce events

Default: 10

vim.presence.neocord.setupOpts.editing_text Link copied!

Type: string

Text displayed when editing a file

Default: "Editing %s"

vim.presence.neocord.setupOpts.enable_line_number Link copied!

Type: boolean

Show line number on the RPC item

Default: false

vim.presence.neocord.setupOpts.file_explorer_text Link copied!

Type: string

Text displayed when browsing files

Default: "Browsing %s"

vim.presence.neocord.setupOpts.git_commit_text Link copied!

Type: string

Text displayed when committing changes

Default: "Committing changes"

vim.presence.neocord.setupOpts.line_number_text Link copied!

Type: string

Text displayed when showing line number

Default: "Line %s out of %s"

vim.presence.neocord.setupOpts.log_level Link copied!

Type: null or one of "debug", "info", "warn", "error"

Log level to be used by the plugin

Default: null

vim.presence.neocord.setupOpts.logo_tooltip Link copied!

Type: string

Text displayed when hovering over the Neovim image

Default: "The One True Text Editor"

vim.presence.neocord.setupOpts.main_image Link copied!

Type: one of "language", "logo"

Main image to be displayed

Default: "language"

vim.presence.neocord.setupOpts.plugin_manager_text Link copied!

Type: string

Text displayed when managing plugins

Default: "Managing plugins"

vim.presence.neocord.setupOpts.reading_text Link copied!

Type: string

Text displayed when reading a file

Default: "Reading %s"

vim.presence.neocord.setupOpts.show_time Link copied!

Type: boolean

Show time on the RPC item

Default: true

vim.presence.neocord.setupOpts.terminal_text Link copied!

Type: string

Text displayed when working on the terminal

Default: "Working on the terminal"

vim.presence.neocord.setupOpts.workspace_text Link copied!

Type: string

Text displayed when working on a project

Default: "Working on %s"

vim.preventJunkFiles Link copied!

Type: boolean

Prevent swapfile and backupfile from being created.

false is the default Neovim behaviour. If you wish to create backup and swapfiles, set this option to false.

Default: true
Example: false

vim.projects.project-nvim.enable Link copied!

Type: boolean

Whether to enable project-nvim for project management.

Default: false
Example: true

vim.projects.project-nvim.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of Project.nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.projects.project-nvim.setupOpts.detection_methods Link copied!

Type: list of string

Detection methods to use

Default: [ "lsp" "pattern" ]

vim.projects.project-nvim.setupOpts.exclude_dirs Link copied!

Type: list of string

Directories to exclude from project root search

Default: [ ]

vim.projects.project-nvim.setupOpts.lsp_ignored Link copied!

Type: list of string

LSP servers no ignore by name

Default: [ ]

vim.projects.project-nvim.setupOpts.manual_mode Link copied!

Type: boolean

don't automatically change the root directory so the user has the option to manually do so using :ProjectRoot command

Default: true

vim.projects.project-nvim.setupOpts.patterns Link copied!

Type: list of string

Patterns to use for pattern detection method

Default: [ ".git" "_darcs" ".hg" ".bzr" ".svn" "Makefile" "package.json" "flake.nix" "cargo.toml" ]

vim.projects.project-nvim.setupOpts.scope_chdir Link copied!

Type: one of "global", "tab", "win"

What scope to change the directory

Default: "global"

vim.projects.project-nvim.setupOpts.show_hidden Link copied!

Type: boolean

Show hidden files in telescope picker

Default: false

vim.projects.project-nvim.setupOpts.silent_chdir Link copied!

Type: boolean

Silently change directory when changing project

Default: true

vim.python3Packages Link copied!

Type: list of string

List of python packages to install

Default: [ ]
Example: "[\"pynvim\"]"

vim.repl.conjure.enable Link copied!

Type: boolean

Whether to enable Conjure.

Default: false
Example: true

vim.runner.run-nvim.enable Link copied!

Type: boolean

Whether to enable run.nvim.

Default: false
Example: true

vim.runner.run-nvim.mappings.run Link copied!

Type: null or string

Run cached

Default: "ri"

vim.runner.run-nvim.mappings.runCommand Link copied!

Type: null or string

Run prompt

Default: "rc"

vim.runner.run-nvim.mappings.runOverride Link copied!

Type: null or string

Run and override

Default: "ro"

vim.runner.run-nvim.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of run.nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.searchCase Link copied!

Type: one of "ignore", "smart", "sensitive"

Set the case sensitivity of search

Default: "sensitive"

vim.session.nvim-session-manager.enable Link copied!

Type: boolean

Whether to enable nvim-session-manager: manage sessions like folders in VSCode.

Default: false
Example: true

vim.session.nvim-session-manager.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of which-key

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.session.nvim-session-manager.setupOpts.autoload_mode Link copied!

Type: one of "Disabled", "CurrentDir", "LastSession" or (luaInline)

Define what to do when Neovim is started without arguments.

Takes either one of "Disabled", "CurrentDir", "LastSession in which case the value will be inserted into sm.AutoloadMode.<value>, or an inline Lua value.

Default: "LastSession"

vim.session.nvim-session-manager.setupOpts.autosave_ignore_buftypes Link copied!

Type: list of string

All buffers of these buffer types will be closed before the session is saved

Default: [ ]

vim.session.nvim-session-manager.setupOpts.autosave_ignore_dirs Link copied!

Type: list of string

A list of directories where the session will not be autosaved

Default: [ ]

vim.session.nvim-session-manager.setupOpts.autosave_ignore_filetypes Link copied!

Type: list of string

All buffers of these file types will be closed before the session is saved

Default: [ "gitcommit" ]

vim.session.nvim-session-manager.setupOpts.autosave_ignore_not_normal Link copied!

Type: boolean

Plugin will not save a session when no buffers are opened, or all of them are not writable or listed

Default: true

vim.session.nvim-session-manager.setupOpts.autosave_last_session Link copied!

Type: boolean

Automatically save last session on exit and on session switch

Default: true

vim.session.nvim-session-manager.setupOpts.autosave_only_in_session Link copied!

Type: boolean

Always autosaves session. If true, only autosaves after a session is active

Default: false

vim.session.nvim-session-manager.setupOpts.colon_replacer Link copied!

Type: string

The character to which the colon symbol will be replaced for session files

Default: "++"

vim.session.nvim-session-manager.setupOpts.max_path_length Link copied!

Type: null or signed integer

Shorten the display path if length exceeds this threshold.

Use 0 if don't want to shorten the path at all

Default: 80

vim.session.nvim-session-manager.setupOpts.path_replacer Link copied!

Type: string

The character to which the path separator will be replaced for session files

Default: "__"

vim.session.nvim-session-manager.usePicker Link copied!

Type: boolean

Whether we should use dressing.nvim to build a session picker UI

Default: true

vim.snippets.luasnip.enable Link copied!

Type: boolean

Whether to enable luasnip.

Default: false
Example: true

vim.snippets.luasnip.loaders Link copied!

Type: strings concatenated with "\n"

Lua code used to load snippet providers.

Default: ```lua require('luasnip.loaders.from_vscode').lazy_load() ```
Example:
```lua
require("luasnip.loaders.from_snipmate").lazy_load()
```

vim.snippets.luasnip.providers Link copied!

Type: list of (null or package or one of "blink-cmp", "aerial-nvim", "alpha-nvim", "avante-nvim", "base16", "blink-cmp-spell", "blink-compat", "blink-emoji-nvim", "blink-ripgrep-nvim", "bufdelete-nvim", "catppuccin", "ccc-nvim", "cellular-automaton-nvim", "chatgpt-nvim", "cheatsheet-nvim", "cinnamon-nvim", "cmp-buffer", "cmp-luasnip", "cmp-nvim-lsp", "cmp-path", "cmp-treesitter", "codecompanion-nvim", "codewindow-nvim", "comment-nvim", "conform-nvim", "copilot-cmp", "copilot-lua", "crates-nvim", "csharpls-extended-lsp-nvim", "dashboard-nvim", "diffview-nvim", "direnv-vim", "dracula", "dressing-nvim", "elixir-tools-nvim", "fastaction-nvim", "fidget-nvim", "flash-nvim", "flutter-tools-nvim", "friendly-snippets", "fzf-lua", "gesture-nvim", "git-conflict-nvim", "github", "gitlinker-nvim", "gitsigns-nvim", "glow-nvim", "gruvbox", "hardtime-nvim", "harpoon", "haskell-tools-nvim", "highlight-undo-nvim", "hop-nvim", "hydra-nvim", "icon-picker-nvim", "image-nvim", "img-clip", "indent-blankline-nvim", "lazydev-nvim", "leap-nvim", "leetcode-nvim", "lsp-signature-nvim", "lspkind-nvim", "lspsaga-nvim", "lua-utils-nvim", "lualine-nvim", "luasnip", "lz-n", "lzn-auto-require", "markview-nvim", "mind-nvim", "mini-ai", "mini-align", "mini-animate", "mini-base16", "mini-basics", "mini-bracketed", "mini-bufremove", "mini-clue", "mini-colors", "mini-comment", "mini-completion", "mini-cursorword", "mini-diff", "mini-doc", "mini-extra", "mini-files", "mini-fuzzy", "mini-git", "mini-hipatterns", "mini-hues", "mini-icons", "mini-indentscope", "mini-jump", "mini-jump2d", "mini-map", "mini-misc", "mini-move", "mini-notify", "mini-operators", "mini-pairs", "mini-pick", "mini-sessions", "mini-snippets", "mini-splitjoin", "mini-starter", "mini-statusline", "mini-surround", "mini-tabline", "mini-test", "mini-trailspace", "mini-visits", "minimap-vim", "mkdir-nvim", "modes-nvim", "multicursors-nvim", "neo-tree-nvim", "neocord", "neorg", "neorg-telescope", "neovim-session-manager", "new-file-template-nvim", "nix-develop-nvim", "noice-nvim", "none-ls-nvim", "nord", "nui-nvim", "nvim-autopairs", "nvim-bufferline-lua", "nvim-cmp", "nvim-colorizer-lua", "nvim-cursorline", "nvim-dap", "nvim-dap-go", "nvim-dap-ui", "nvim-docs-view", "nvim-lightbulb", "nvim-lint", "nvim-lspconfig", "nvim-metals", "nvim-navbuddy", "nvim-navic", "nvim-neoclip-lua", "nvim-nio", "nvim-notify", "nvim-scrollbar", "nvim-surround", "nvim-tree-lua", "nvim-treesitter-context", "nvim-treesitter-textobjects", "nvim-ts-autotag", "nvim-ufo", "nvim-web-devicons", "obsidian-nvim", "oil-nvim", "omnisharp-extended-lsp-nvim", "onedark", "orgmode", "otter-nvim", "oxocarbon", "pathlib-nvim", "plenary-nvim", "precognition-nvim", "project-nvim", "promise-async", "rainbow-delimiters-nvim", "registers-nvim", "render-markdown-nvim", "rose-pine", "rtp-nvim", "run-nvim", "rustaceanvim", "smartcolumn-nvim", "snacks-nvim", "solarized", "solarized-osaka", "sqls-nvim", "tabular", "telescope", "tiny-devicons-auto-colors-nvim", "todo-comments-nvim", "toggleterm-nvim", "tokyonight", "trouble", "ts-error-translator-nvim", "typst-preview-nvim", "vim-dirtytalk", "vim-fugitive", "vim-illuminate", "vim-markdown", "vim-repeat", "vim-sleuth", "vim-startify", "which-key-nvim", "yanky-nvim", "nvim-treesitter", "flutter-tools-patched", "vim-repeat")

The snippet provider packages.

Note

These are simply appended to {option} vim.startPlugins.

Default: [ "friendly-snippets" ]
Example: ["vimPlugins.vim-snippets"]

vim.snippets.luasnip.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of LuaSnip

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.snippets.luasnip.setupOpts.enable_autosnippets Link copied!

Type: boolean

Whether to enable autosnippets.

Default: false
Example: true

vim.spellcheck.enable Link copied!

Type: boolean

Whether to enable Neovim's built-in spellchecking.

Default: false
Example: true

vim.spellcheck.extraSpellWords Link copied!

Type: attribute set of list of string

Additional words to be used for spellchecking. The names of each key will be used as the language code for the spell file. For example

"en.utf-8" = [ ... ];

will result in en.utf-8.add.spl being added to Neovim's runtime in the spell directory.

Warning

The attribute keys must be in "<name>.<encoding>" format for Neovim to compile your spellfiles without mangling the resulting file names. Please make sure that you enter the correct value, as nvf does not do any kind of internal checking. Please see {command}:help mkspell for more details.

Example:

# "en" is the name, and "utf-8" is the encoding. For most use cases, utf-8
# will be enough, however, you may change it to any encoding format Neovim
# accepts, e.g., utf-16.
"en.utf-8" = ["nvf" "word_you_want_to_add"];
=> $out/spell/en-utf-8.add.spl

Note that while adding a new language, you will still need to add the name of the language (e.g. "en") to the vim.spellcheck.languages list by name in order to enable spellchecking for the language. By default only "en" is in the list.

Default: { }
Example: {"en.utf-8" = ["nvf" "word_you_want_to_add"];}

vim.spellcheck.ignoredFiletypes Link copied!

Type: list of string

A list of filetypes for which spellchecking will be disabled.

Tip

You may use {command}:echo &filetype in Neovim to find out the filetype for a specific buffer.

Default: [ "toggleterm" ]
Example: ["markdown" "gitcommit"]

vim.spellcheck.languages Link copied!

Type: list of string

A list of languages that should be used for spellchecking.

To add your own language files, you may place your spell directory in either $XDG_CONFIG_HOME/nvf or in a path that is included in the additionalRuntimePaths list provided by nvf.

Default: [ "en" ]
Example: ["en" "de"]

vim.spellcheck.programmingWordlist.enable Link copied!

Type: boolean

Whether to enable vim-dirtytalk, a wordlist for programmers containing common programming terms.

Note

Enabling this option will unconditionally set {option}vim.spellcheck.enable to true as vim-dirtytalk depends on spellchecking having been set up.

.
Default: false
Example: true

vim.startPlugins Link copied!

Type: list of (null or package or one of "blink-cmp", "aerial-nvim", "alpha-nvim", "avante-nvim", "base16", "blink-cmp-spell", "blink-compat", "blink-emoji-nvim", "blink-ripgrep-nvim", "bufdelete-nvim", "catppuccin", "ccc-nvim", "cellular-automaton-nvim", "chatgpt-nvim", "cheatsheet-nvim", "cinnamon-nvim", "cmp-buffer", "cmp-luasnip", "cmp-nvim-lsp", "cmp-path", "cmp-treesitter", "codecompanion-nvim", "codewindow-nvim", "comment-nvim", "conform-nvim", "copilot-cmp", "copilot-lua", "crates-nvim", "csharpls-extended-lsp-nvim", "dashboard-nvim", "diffview-nvim", "direnv-vim", "dracula", "dressing-nvim", "elixir-tools-nvim", "fastaction-nvim", "fidget-nvim", "flash-nvim", "flutter-tools-nvim", "friendly-snippets", "fzf-lua", "gesture-nvim", "git-conflict-nvim", "github", "gitlinker-nvim", "gitsigns-nvim", "glow-nvim", "gruvbox", "hardtime-nvim", "harpoon", "haskell-tools-nvim", "highlight-undo-nvim", "hop-nvim", "hydra-nvim", "icon-picker-nvim", "image-nvim", "img-clip", "indent-blankline-nvim", "lazydev-nvim", "leap-nvim", "leetcode-nvim", "lsp-signature-nvim", "lspkind-nvim", "lspsaga-nvim", "lua-utils-nvim", "lualine-nvim", "luasnip", "lz-n", "lzn-auto-require", "markview-nvim", "mind-nvim", "mini-ai", "mini-align", "mini-animate", "mini-base16", "mini-basics", "mini-bracketed", "mini-bufremove", "mini-clue", "mini-colors", "mini-comment", "mini-completion", "mini-cursorword", "mini-diff", "mini-doc", "mini-extra", "mini-files", "mini-fuzzy", "mini-git", "mini-hipatterns", "mini-hues", "mini-icons", "mini-indentscope", "mini-jump", "mini-jump2d", "mini-map", "mini-misc", "mini-move", "mini-notify", "mini-operators", "mini-pairs", "mini-pick", "mini-sessions", "mini-snippets", "mini-splitjoin", "mini-starter", "mini-statusline", "mini-surround", "mini-tabline", "mini-test", "mini-trailspace", "mini-visits", "minimap-vim", "mkdir-nvim", "modes-nvim", "multicursors-nvim", "neo-tree-nvim", "neocord", "neorg", "neorg-telescope", "neovim-session-manager", "new-file-template-nvim", "nix-develop-nvim", "noice-nvim", "none-ls-nvim", "nord", "nui-nvim", "nvim-autopairs", "nvim-bufferline-lua", "nvim-cmp", "nvim-colorizer-lua", "nvim-cursorline", "nvim-dap", "nvim-dap-go", "nvim-dap-ui", "nvim-docs-view", "nvim-lightbulb", "nvim-lint", "nvim-lspconfig", "nvim-metals", "nvim-navbuddy", "nvim-navic", "nvim-neoclip-lua", "nvim-nio", "nvim-notify", "nvim-scrollbar", "nvim-surround", "nvim-tree-lua", "nvim-treesitter-context", "nvim-treesitter-textobjects", "nvim-ts-autotag", "nvim-ufo", "nvim-web-devicons", "obsidian-nvim", "oil-nvim", "omnisharp-extended-lsp-nvim", "onedark", "orgmode", "otter-nvim", "oxocarbon", "pathlib-nvim", "plenary-nvim", "precognition-nvim", "project-nvim", "promise-async", "rainbow-delimiters-nvim", "registers-nvim", "render-markdown-nvim", "rose-pine", "rtp-nvim", "run-nvim", "rustaceanvim", "smartcolumn-nvim", "snacks-nvim", "solarized", "solarized-osaka", "sqls-nvim", "tabular", "telescope", "tiny-devicons-auto-colors-nvim", "todo-comments-nvim", "toggleterm-nvim", "tokyonight", "trouble", "ts-error-translator-nvim", "typst-preview-nvim", "vim-dirtytalk", "vim-fugitive", "vim-illuminate", "vim-markdown", "vim-repeat", "vim-sleuth", "vim-startify", "which-key-nvim", "yanky-nvim", "nvim-treesitter", "flutter-tools-patched", "vim-repeat")

List of plugins to load on startup. This is used internally to add plugins to Neovim's runtime.

To add additional plugins to your configuration, consider using the vim.extraPlugins option.

Default: [ "plenary-nvim" ]
Example:
''
  [pkgs.vimPlugins.telescope-nvim]
''

vim.statusline.lualine.activeSection.a Link copied!

Type: list of string

active config for: | (A) | B | C X | Y | Z |

Default: [ '' { "mode", icons_enabled = true, separator = { left = '▎', right = '' }, } '' '' { "", draw_empty = true, separator = { left = '', right = '' } } '' ]

vim.statusline.lualine.activeSection.b Link copied!

Type: list of string

active config for: | A | (B) | C X | Y | Z |

Default: [ '' { "filetype", colored = true, icon_only = true, icon = { align = 'left' } } '' '' { "filename", symbols = {modified = ' ', readonly = ' '}, separator = {right = ''} } '' '' { "", draw_empty = true, separator = { left = '', right = '' } } '' ]

vim.statusline.lualine.activeSection.c Link copied!

Type: list of string

active config for: | A | B | (C) X | Y | Z |

Default: [ '' { "diff", colored = false, diff_color = { -- Same color values as the general color option can be used here. added = 'DiffAdd', -- Changes the diff's added color modified = 'DiffChange', -- Changes the diff's modified color removed = 'DiffDelete', -- Changes the diff's removed color you }, symbols = {added = '+', modified = '~', removed = '-'}, -- Changes the diff symbols separator = {right = ''} } '' ]

vim.statusline.lualine.activeSection.x Link copied!

Type: list of string

active config for: | A | B | C (X) | Y | Z |

Default: [ '' { -- Lsp server name function() local buf_ft = vim.bo.filetype local excluded_buf_ft = { toggleterm = true, NvimTree = true, ["neo-tree"] = true, TelescopePrompt = true } if excluded_buf_ft[buf_ft] then return "" end local bufnr = vim.api.nvim_get_current_buf() local clients = vim.lsp.get_clients({ bufnr = bufnr }) if vim.tbl_isempty(clients) then return "No Active LSP" end local active_clients = {} for _, client in ipairs(clients) do table.insert(active_clients, client.name) end return table.concat(active_clients, ", ") end, icon = ' ', separator = {left = ''}, } '' '' { "diagnostics", sources = {'nvim_lsp', 'nvim_diagnostic', 'nvim_diagnostic', 'vim_lsp', 'coc'}, symbols = {error = '󰅙 ', warn = ' ', info = ' ', hint = '󰌵 '}, colored = true, update_in_insert = false, always_visible = false, diagnostics_color = { color_error = { fg = 'red' }, color_warn = { fg = 'yellow' }, color_info = { fg = 'cyan' }, }, } '' ]

vim.statusline.lualine.activeSection.y Link copied!

Type: list of string

active config for: | A | B | C X | (Y) | Z |

Default: [ '' { "", draw_empty = true, separator = { left = '', right = '' } } '' '' { 'searchcount', maxcount = 999, timeout = 120, separator = {left = ''} } '' '' { "branch", icon = ' •', separator = {left = ''} } '' ]

vim.statusline.lualine.activeSection.z Link copied!

Type: list of string

active config for: | A | B | C X | Y | (Z) |

Default: [ '' { "", draw_empty = true, separator = { left = '', right = '' } } '' '' { "progress", separator = {left = ''} } '' '' {"location"} '' '' { "fileformat", color = {fg='black'}, symbols = { unix = '', -- e712 dos = '', -- e70f mac = '', -- e711 } } '' ]

vim.statusline.lualine.alwaysDivideMiddle Link copied!

Type: boolean

Always divide middle section

Default: true

vim.statusline.lualine.componentSeparator.left Link copied!

Type: string

Component separator for left side

Default: ""

vim.statusline.lualine.componentSeparator.right Link copied!

Type: string

Component separator for right side

Default: ""

vim.statusline.lualine.disabledFiletypes Link copied!

Type: list of string

Filetypes to disable lualine on

Default: [ "alpha" ]

vim.statusline.lualine.enable Link copied!

Type: boolean

Whether to enable lualine statusline plugin.

Default: false
Example: true

vim.statusline.lualine.extraActiveSection.a Link copied!

Type: list of string

Extra entries for activeSection.a

Default: [ ]

vim.statusline.lualine.extraActiveSection.b Link copied!

Type: list of string

Extra entries for activeSection.b

Default: [ ]

vim.statusline.lualine.extraActiveSection.c Link copied!

Type: list of string

Extra entries for activeSection.c

Default: [ ]

vim.statusline.lualine.extraActiveSection.x Link copied!

Type: list of string

Extra entries for activeSection.x

Default: [ ]

vim.statusline.lualine.extraActiveSection.y Link copied!

Type: list of string

Extra entries for activeSection.y

Default: [ ]

vim.statusline.lualine.extraActiveSection.z Link copied!

Type: list of string

Extra entries for activeSection.z

Default: [ ]

vim.statusline.lualine.extraInactiveSection.a Link copied!

Type: list of string

Extra entries for inactiveSection.a

Default: [ ]

vim.statusline.lualine.extraInactiveSection.b Link copied!

Type: list of string

Extra entries for inactiveSection.b

Default: [ ]

vim.statusline.lualine.extraInactiveSection.c Link copied!

Type: list of string

Extra entries for inactiveSection.c

Default: [ ]

vim.statusline.lualine.extraInactiveSection.x Link copied!

Type: list of string

Extra entries for inactiveSection.x

Default: [ ]

vim.statusline.lualine.extraInactiveSection.y Link copied!

Type: list of string

Extra entries for inactiveSection.y

Default: [ ]

vim.statusline.lualine.extraInactiveSection.z Link copied!

Type: list of string

Extra entries for inactiveSection.z

Default: [ ]

vim.statusline.lualine.globalStatus Link copied!

Type: boolean

Enable global status for lualine

Default: true

vim.statusline.lualine.icons.enable Link copied!

Type: boolean

Whether to enable icons for lualine.

Default: true
Example: true

vim.statusline.lualine.ignoreFocus Link copied!

Type: list of string

If current filetype is in this list it'll always be drawn as inactive statusline and the last window will be drawn as active statusline.

Default: [ "NvimTree" ]

vim.statusline.lualine.inactiveSection.a Link copied!

Type: list of string

inactive config for: | (A) | B | C X | Y | Z |

Default: [ ]

vim.statusline.lualine.inactiveSection.b Link copied!

Type: list of string

inactive config for: | A | (B) | C X | Y | Z |

Default: [ ]

vim.statusline.lualine.inactiveSection.c Link copied!

Type: list of string

inactive config for: | A | B | (C) X | Y | Z |

Default: [ "'filename'" ]

vim.statusline.lualine.inactiveSection.x Link copied!

Type: list of string

inactive config for: | A | B | C (X) | Y | Z |

Default: [ "'location'" ]

vim.statusline.lualine.inactiveSection.y Link copied!

Type: list of string

inactive config for: | A | B | C X | (Y) | Z |

Default: [ ]

vim.statusline.lualine.inactiveSection.z Link copied!

Type: list of string

inactive config for: | A | B | C X | Y | (Z) |

Default: [ ]

vim.statusline.lualine.refresh.statusline Link copied!

Type: signed integer

Refresh rate for lualine

Default: 1000

vim.statusline.lualine.refresh.tabline Link copied!

Type: signed integer

Refresh rate for tabline

Default: 1000

vim.statusline.lualine.refresh.winbar Link copied!

Type: signed integer

Refresh rate for winbar

Default: 1000

vim.statusline.lualine.sectionSeparator.left Link copied!

Type: string

Section separator for left side

Default: ""

vim.statusline.lualine.sectionSeparator.right Link copied!

Type: string

Section separator for right side

Default: ""

vim.statusline.lualine.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of Lualine

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.statusline.lualine.theme Link copied!

Type: one of "auto", "16color", "ayu_dark", "ayu_light", "ayu_mirage", "ayu", "base16", "codedark", "dracula", "everforest", "github_dark", "github_light", "github_dark_dimmed", "github_dark_default", "github_light_default", "github_dark_high_contrast", "github_light_high_contrast", "github_dark_colorblind", "github_light_colorblind", "github_dark_tritanopia", "github_light_tritanopia", "gruvbox", "gruvbox_dark", "gruvbox_light", "gruvbox-material", "horizon", "iceberg_dark", "iceberg_light", "iceberg", "jellybeans", "material", "modus-vivendi", "molokai", "moonfly", "nightfly", "nord", "OceanicNext", "onedark", "onelight", "palenight", "papercolor_dark", "papercolor_light", "PaperColor", "powerline_dark", "powerline", "pywal", "seoul256", "solarized_dark", "solarized_light", "Tomorrow", "wombat", "onedark"

Theme for lualine

Default: "`config.vim.theme.name` if theme supports lualine else \"auto\""

vim.syntaxHighlighting Link copied!

Type: boolean

Enable syntax highlighting

Default: false

vim.tabline.nvimBufferline.enable Link copied!

Type: boolean

Whether to enable neovim bufferline.

Default: false
Example: true

vim.tabline.nvimBufferline.mappings.closeCurrent Link copied!

Type: null or string

Close buffer

Default: null

vim.tabline.nvimBufferline.mappings.cycleNext Link copied!

Type: null or string

Next buffer

Default: "bn"

vim.tabline.nvimBufferline.mappings.cyclePrevious Link copied!

Type: null or string

Previous buffer

Default: "bp"

vim.tabline.nvimBufferline.mappings.moveNext Link copied!

Type: null or string

Move next buffer

Default: "bmn"

vim.tabline.nvimBufferline.mappings.movePrevious Link copied!

Type: null or string

Move previous buffer

Default: "bmp"

vim.tabline.nvimBufferline.mappings.pick Link copied!

Type: null or string

Pick buffer

Default: "bc"

vim.tabline.nvimBufferline.mappings.sortByDirectory Link copied!

Type: null or string

Sort buffers by directory

Default: "bsd"

vim.tabline.nvimBufferline.mappings.sortByExtension Link copied!

Type: null or string

Sort buffers by extension

Default: "bse"

vim.tabline.nvimBufferline.mappings.sortById Link copied!

Type: null or string

Sort buffers by ID

Default: "bsi"

vim.tabline.nvimBufferline.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of Bufferline-nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.tabline.nvimBufferline.setupOpts.highlights Link copied!

Type: (attribute set) or (luaInline)

Overrides the highlight groups of bufferline.

See :help bufferline-highlights.

Default: { }

vim.tabline.nvimBufferline.setupOpts.options.always_show_bufferline Link copied!

Type: boolean

Whether to always show bufferline

Default: true

vim.tabline.nvimBufferline.setupOpts.options.auto_toggle_bufferline Link copied!

Type: boolean

Whether to auto toggle bufferline

Default: true

vim.tabline.nvimBufferline.setupOpts.options.close_command Link copied!

Type: string or (luaInline)

Command to run when closing a buffer

Default: { _type = "lua-inline"; expr = '' function(bufnum) require("bufdelete").bufdelete(bufnum, false) end ''; }

vim.tabline.nvimBufferline.setupOpts.options.close_icon Link copied!

Type: string

Icon for close button

Default: "  "

vim.tabline.nvimBufferline.setupOpts.options.color_icons Link copied!

Type: boolean

Whether or not to add filetype icon highlights

Default: true

vim.tabline.nvimBufferline.setupOpts.options.custom_filter Link copied!

Type: null or (luaInline)

Custom filter function for filtering out buffers.

Note

This will be called a lot, so you are encouraged to keep it as short and lightweight as possible unless you are fully aware of the performance implications.

Default: null
Example:
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

vim.tabline.nvimBufferline.setupOpts.options.diagnostics Link copied!

Type: one of false, "nvim_lsp", "coc"

Diagnostics provider to be used in buffer LSP indicators

Default: "nvim_lsp"

vim.tabline.nvimBufferline.setupOpts.options.diagnostics_indicator Link copied!

Type: null or (luaInline)

Function to get the diagnostics indicator. The function should return a string to be used as the indicator.

Can be set to nil to keep the buffer name highlight, but delete the highlighting.

Default: { _type = "lua-inline"; expr = '' 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 "  " ) s = s .. n .. sym end return s end ''; }

vim.tabline.nvimBufferline.setupOpts.options.diagnostics_update_in_insert Link copied!

Type: boolean

Whether to update diagnostics while in insert mode.

Setting this to true has performance implications, but they may be negligible depending on your setup. Set it to true if you know what you are doing.

Default: false

vim.tabline.nvimBufferline.setupOpts.options.duplicates_across_groups Link copied!

Type: boolean

Whether to consider duplicate paths in different groups as duplicates

Default: true

vim.tabline.nvimBufferline.setupOpts.options.enforce_regular_tabs Link copied!

Type: boolean

Whether to enforce regular tabs

Default: false

vim.tabline.nvimBufferline.setupOpts.options.get_element_icon Link copied!

Type: null or (luaInline)

The function bufferline uses to get the icon. Recommended to leave as default.

Default: null
Example:
function(element)
  local custom_map = {my_thing_ft: {icon = "my_thing_icon", hl = "DevIconDefault"}}
  return custom_map[element.filetype]
end

vim.tabline.nvimBufferline.setupOpts.options.hover.delay Link copied!

Type: signed integer

Delay for hover, in ms

Default: 200

vim.tabline.nvimBufferline.setupOpts.options.hover.enabled Link copied!

Type: boolean

Whether to enable hover.

Default: true
Example: true

vim.tabline.nvimBufferline.setupOpts.options.hover.reveal Link copied!

Type: list of string

Reveal hover window

Default: [ "close" ]

vim.tabline.nvimBufferline.setupOpts.options.indicator.icon Link copied!

Type: null or string

The indicator icon to use for the current buffer.

Warning

This must be omitted while style is not icon

Default: null

vim.tabline.nvimBufferline.setupOpts.options.indicator.style Link copied!

Type: one of "icon", "underline", "none"

Style for indicator

Default: "underline"

vim.tabline.nvimBufferline.setupOpts.options.left_mouse_command Link copied!

Type: null or string or (luaInline)

Command to run when left clicking a buffer

Default: "buffer %d"

vim.tabline.nvimBufferline.setupOpts.options.max_prefix_length Link copied!

Type: signed integer

Length of the prefix used when a buffer is de-duplicated

Default: 15

vim.tabline.nvimBufferline.setupOpts.options.middle_mouse_command Link copied!

Type: null or string or (luaInline)

Command to run when middle clicking a buffer

Default: null

vim.tabline.nvimBufferline.setupOpts.options.mode Link copied!

Type: one of "tabs", "buffers"

Mode to use for bufferline

Default: "buffers"

vim.tabline.nvimBufferline.setupOpts.options.modified_icon Link copied!

Type: string

Icon for modified buffer

Default: "● "

vim.tabline.nvimBufferline.setupOpts.options.move_wraps_at_ends Link copied!

Type: boolean

Whether or not the move command "wraps" at the first or last position

Default: false

vim.tabline.nvimBufferline.setupOpts.options.name_formatter Link copied!

Type: null or (luaInline)

name_formatter can be used to change the buffer's label in the bufferline.

Note

Some names can/will break the bufferline so use this at your discretion knowing that it has some limitations that will NOT be fixed.

Default: null

vim.tabline.nvimBufferline.setupOpts.options.numbers Link copied!

Type: one of "none", "ordinal", "buffer_id", "both" or (luaInline)

Whether or not to show buffer numbers

Default: { _type = "lua-inline"; expr = '' function(opts) return string.format('%s·%s', opts.raise(opts.id), opts.lower(opts.ordinal)) end ''; }

vim.tabline.nvimBufferline.setupOpts.options.offsets Link copied!

Type: list of (attribute set)

The windows to offset bufferline above, see :help bufferline-offset

Default: [ { filetype = "NvimTree"; highlight = "Directory"; separator = true; text = "File Explorer"; } { filetype = "neo-tree"; highlight = "Directory"; separator = true; text = "File Explorer"; } { filetype = "snacks_layout_box"; highlight = "Directory"; separator = true; text = "File Explorer"; } ]

vim.tabline.nvimBufferline.setupOpts.options.persist_buffer_sort Link copied!

Type: boolean

Whether or not custom sorted buffers should persist

Default: true

vim.tabline.nvimBufferline.setupOpts.options.right_mouse_command Link copied!

Type: null or string or (luaInline)

Command to run when right clicking a buffer

Default: "vertical sbuffer %d"

vim.tabline.nvimBufferline.setupOpts.options.separator_style Link copied!

Type: null or one of "slant", "padded_slant", "slope", "padded_slope", "thick", "thin" or list of string

The type of separator used to separate buffers and tabs.

Either one of the listed types, or a list of 2 characters for either side.

Default: "thin"

vim.tabline.nvimBufferline.setupOpts.options.show_buffer_close_icons Link copied!

Type: boolean

Whether or not to show buffer close icons

Default: true

vim.tabline.nvimBufferline.setupOpts.options.show_buffer_icons Link copied!

Type: boolean

Whether or not to show buffer icons

Default: true

vim.tabline.nvimBufferline.setupOpts.options.show_close_icon Link copied!

Type: boolean

Whether or not to show the close icon

Default: true

vim.tabline.nvimBufferline.setupOpts.options.show_duplicate_prefix Link copied!

Type: boolean

Whether or not to show duplicate buffer prefixes

Default: true

vim.tabline.nvimBufferline.setupOpts.options.show_tab_indicators Link copied!

Type: boolean

Whether or not to show tab indicators

Default: true

vim.tabline.nvimBufferline.setupOpts.options.sort_by Link copied!

Type: one of "insert_after_current", "insert_at_end", "id", "extension", "relative_directory", "directory", "tabs" or (luaInline)

Method to sort buffers by. Must be one of the supported values, or an inline Lua value.

Default: "extension"

vim.tabline.nvimBufferline.setupOpts.options.style_preset Link copied!

Type: one of "default", "minimal", "no_bold", "no_italic"

The base style of bufferline

Default: "default"

vim.tabline.nvimBufferline.setupOpts.options.tab_size Link copied!

Type: signed integer

The size of the tabs in bufferline

Default: 18

vim.tabline.nvimBufferline.setupOpts.options.themable Link copied!

Type: boolean

Whether or not to allow highlight groups to be overridden.

While false, bufferline.nvim sets highlights as default.

Default: true

vim.telescope.enable Link copied!

Type: boolean

Whether to enable telescope.nvim: multi-purpose search and picker utility.

Default: false
Example: true

vim.telescope.extensions Link copied!

Type: list of (submodule)

Individual extension configurations containing name, packages and setup fields to resolve dependencies, handle load_extension calls and add the setup table into the extensions portion of Telescope's setup table.

Default: [ ]
Example:
[
  {
    name = "fzf";
    packages = [pkgs.vimPlugins.telescope-fzf-native-nvim];
    setup = {fzf = {fuzzy = true;};};
  }
]

vim.telescope.extensions.*.name Link copied!

Type: string

Name of the extension, will be used to load it with a require

vim.telescope.extensions.*.packages Link copied!

Type: list of (string or package)

Package or packages providing the Telescope extension to be loaded.

Default: [ ]

vim.telescope.extensions.*.setup Link copied!

Type: attribute set of anything

Named attribute set to be inserted into Telescope's extensions table.

Default: { }
Example:
{
  fzf = {
    fuzzy = true;
  };
}

vim.telescope.mappings.buffers Link copied!

Type: null or string

Buffers [Telescope]

Default: "fb"

vim.telescope.mappings.diagnostics Link copied!

Type: null or string

Diagnostics [Telescope]

Default: "fld"

vim.telescope.mappings.findFiles Link copied!

Type: null or string

Find files [Telescope]

Default: "ff"

vim.telescope.mappings.findProjects Link copied!

Type: null or string

Find projects [Telescope]

Default: "fp"

vim.telescope.mappings.gitBranches Link copied!

Type: null or string

Git branches [Telescope]

Default: "fvb"

vim.telescope.mappings.gitBufferCommits Link copied!

Type: null or string

Git buffer commits [Telescope]

Default: "fvcb"

vim.telescope.mappings.gitCommits Link copied!

Type: null or string

Git commits [Telescope]

Default: "fvcw"

vim.telescope.mappings.gitStash Link copied!

Type: null or string

Git stash [Telescope]

Default: "fvx"

vim.telescope.mappings.gitStatus Link copied!

Type: null or string

Git status [Telescope]

Default: "fvs"

vim.telescope.mappings.helpTags Link copied!

Type: null or string

Help tags [Telescope]

Default: "fh"

vim.telescope.mappings.liveGrep Link copied!

Type: null or string

Live grep [Telescope]

Default: "fg"

vim.telescope.mappings.lspDefinitions Link copied!

Type: null or string

LSP Definitions [Telescope]

Default: "flD"

vim.telescope.mappings.lspDocumentSymbols Link copied!

Type: null or string

LSP Document Symbols [Telescope]

Default: "flsb"

vim.telescope.mappings.lspImplementations Link copied!

Type: null or string

LSP Implementations [Telescope]

Default: "fli"

vim.telescope.mappings.lspReferences Link copied!

Type: null or string

LSP References [Telescope]

Default: "flr"

vim.telescope.mappings.lspTypeDefinitions Link copied!

Type: null or string

LSP Type Definitions [Telescope]

Default: "flt"

vim.telescope.mappings.lspWorkspaceSymbols Link copied!

Type: null or string

LSP Workspace Symbols [Telescope]

Default: "flsw"

vim.telescope.mappings.open Link copied!

Type: null or string

Open [Telescope]

Default: "ft"

vim.telescope.mappings.resume Link copied!

Type: null or string

Resume (previous search) [Telescope]

Default: "fr"

vim.telescope.mappings.treesitter Link copied!

Type: null or string

Treesitter [Telescope]

Default: "fs"

vim.telescope.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of Telescope

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.telescope.setupOpts.defaults.color_devicons Link copied!

Type: boolean

Whether to enable colored devicons.

Default: false
Example: true

vim.telescope.setupOpts.defaults.entry_prefix Link copied!

Type: string

Prefix in front of each result entry. Current selection not included.

Default: " "

vim.telescope.setupOpts.defaults.extensions Link copied!

Type: attribute set of anything

Attribute set containing per-extension settings for Telescope

Default: { }

vim.telescope.setupOpts.defaults.file_ignore_patterns Link copied!

Type: list of string

File patterns to omit from Telescope results

Default: [ "node_modules" "%.git/" "dist/" "build/" "target/" "result/" ]

vim.telescope.setupOpts.defaults.initial_mode Link copied!

Type: one of "insert", "normal"

Determines in which mode telescope starts.

Default: "insert"

vim.telescope.setupOpts.defaults.layout_config Link copied!

Type: submodule

Determines the default configuration values for layout strategies. See telescope.layout for details of the configurations options for each strategy.

Default: { }

vim.telescope.setupOpts.defaults.layout_config.height Link copied!

Type: floating point number

How tall to make Telescope's entire layout

Default: 0.8

vim.telescope.setupOpts.defaults.layout_config.horizontal.preview_width Link copied!

Type: floating point number

Change the width of Telescope's preview window

Default: 0.55

vim.telescope.setupOpts.defaults.layout_config.horizontal.prompt_position Link copied!

Type: one of "top", "bottom"

Where to place prompt window

Default: "top"

vim.telescope.setupOpts.defaults.layout_config.preview_cutoff Link copied!

Type: signed integer

When lines are less than this value, the preview will be disabled

Default: 120

vim.telescope.setupOpts.defaults.layout_config.vertical.mirror Link copied!

Type: boolean

Flip the location of the results/prompt and preview windows

Default: false

vim.telescope.setupOpts.defaults.layout_config.width Link copied!

Type: floating point number

How wide to make Telescope's entire layout

Default: 0.8

vim.telescope.setupOpts.defaults.layout_strategy Link copied!

Type: string

Determines the default layout of Telescope pickers. See :help telescope.layout.

Default: "horizontal"

vim.telescope.setupOpts.defaults.path_display Link copied!

Type: list of (one of "hidden", "tail", "absolute", "smart", "shorten", "truncate")

Determines how file paths are displayed.

Default: [ "absolute" ]

vim.telescope.setupOpts.defaults.pickers.find_command Link copied!

Type: (list of string) or (luaInline)

Command to use for finding files. If using an executable from PATH then you must make sure that the package is available in .

Default: [ "\${pkgs.fd}/bin/fd" ]

vim.telescope.setupOpts.defaults.prompt_prefix Link copied!

Type: string

Shown in front of Telescope's prompt

Default: "  "

vim.telescope.setupOpts.defaults.selection_caret Link copied!

Type: string

Character(s) to show in front of the current selection

Default: " "

vim.telescope.setupOpts.defaults.selection_strategy Link copied!

Type: one of "reset", "follow", "row", "closest", "none"

Determines how the cursor acts after each sort iteration.

Default: "reset"

vim.telescope.setupOpts.defaults.set_env Link copied!

Type: attribute set of string

Set an environment for term_previewer

Default: { COLORTERM = "truecolor"; }

vim.telescope.setupOpts.defaults.sorting_strategy Link copied!

Type: one of "descending", "ascending"

Determines the direction "better" results are sorted towards.

Default: "ascending"

vim.telescope.setupOpts.defaults.vimgrep_arguments Link copied!

Type: list of string

Defines the command that will be used for live_grep and grep_string pickers. Make sure that color is set to never because telescope does not yet interpret color codes.

Default: [ "\${pkgs.ripgrep}/bin/rg" "--color=never" "--no-heading" "--with-filename" "--line-number" "--column" "--smart-case" "--hidden" "--no-ignore" ]

vim.telescope.setupOpts.defaults.winblend Link copied!

Type: signed integer

Pseudo-transparency of keymap hints floating window

Default: 0

vim.telescope.setupOpts.pickers.find_files.find_command Link copied!

Type: (list of string) or (luaInline)

cmd to use for finding files

Default: [ "\${pkgs.fd}/bin/fd" "--type=file" ]

vim.terminal.toggleterm.enable Link copied!

Type: boolean

Whether to enable toggleterm as a replacement to built-in terminal command.

Default: false
Example: true

vim.terminal.toggleterm.lazygit.direction Link copied!

Type: one of "horizontal", "vertical", "tab", "float"

Direction of the lazygit window

Default: "float"

vim.terminal.toggleterm.lazygit.enable Link copied!

Type: boolean

Whether to enable LazyGit integration.

Default: false
Example: true

vim.terminal.toggleterm.lazygit.mappings.open Link copied!

Type: null or string

Open lazygit [toggleterm]

Default: "gg"

vim.terminal.toggleterm.lazygit.package Link copied!

Type: null or package

The package that should be used for lazygit. Setting it to null will attempt to use lazygit from your PATH

Default:

vim.terminal.toggleterm.mappings.open Link copied!

Type: null or string

The keymapping to open toggleterm

Default: ""

vim.terminal.toggleterm.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of ToggleTerm

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.terminal.toggleterm.setupOpts.direction Link copied!

Type: one of "horizontal", "vertical", "tab", "float"

Direction of the terminal

Default: "horizontal"

vim.terminal.toggleterm.setupOpts.enable_winbar Link copied!

Type: boolean

Enable winbar

Default: false

vim.terminal.toggleterm.setupOpts.size Link copied!

Type: (luaInline) or signed integer

Number or lua function which is passed to the current terminal

Default: { _type = "lua-inline"; expr = '' function(term) if term.direction == "horizontal" then return 15 elseif term.direction == "vertical" then return vim.o.columns * 0.4 end end ''; }

vim.terminal.toggleterm.setupOpts.winbar.enabled Link copied!

Type: boolean

Whether to enable winbar in terminal.

Default: true
Example: true

vim.terminal.toggleterm.setupOpts.winbar.name_formatter Link copied!

Type: luaInline

Winbar formatter function.

Default: { _type = "lua-inline"; expr = '' function(term) return term.name end ''; }

vim.theme.base16-colors.base00 Link copied!

Type: RGB color in hex format

The base00 color to use

vim.theme.base16-colors.base01 Link copied!

Type: RGB color in hex format

The base01 color to use

vim.theme.base16-colors.base02 Link copied!

Type: RGB color in hex format

The base02 color to use

vim.theme.base16-colors.base03 Link copied!

Type: RGB color in hex format

The base03 color to use

vim.theme.base16-colors.base04 Link copied!

Type: RGB color in hex format

The base04 color to use

vim.theme.base16-colors.base05 Link copied!

Type: RGB color in hex format

The base05 color to use

vim.theme.base16-colors.base06 Link copied!

Type: RGB color in hex format

The base06 color to use

vim.theme.base16-colors.base07 Link copied!

Type: RGB color in hex format

The base07 color to use

vim.theme.base16-colors.base08 Link copied!

Type: RGB color in hex format

The base08 color to use

vim.theme.base16-colors.base09 Link copied!

Type: RGB color in hex format

The base09 color to use

vim.theme.base16-colors.base0A Link copied!

Type: RGB color in hex format

The base0A color to use

vim.theme.base16-colors.base0B Link copied!

Type: RGB color in hex format

The base0B color to use

vim.theme.base16-colors.base0C Link copied!

Type: RGB color in hex format

The base0C color to use

vim.theme.base16-colors.base0D Link copied!

Type: RGB color in hex format

The base0D color to use

vim.theme.base16-colors.base0E Link copied!

Type: RGB color in hex format

The base0E color to use

vim.theme.base16-colors.base0F Link copied!

Type: RGB color in hex format

The base0F color to use

vim.theme.enable Link copied!

Type: boolean

Enable theming

vim.theme.extraConfig Link copied!

Type: strings concatenated with "\n"

Additional lua configuration to add before setup

vim.theme.name Link copied!

Type: one of "base16", "catppuccin", "dracula", "github", "gruvbox", "mini-base16", "nord", "onedark", "oxocarbon", "rose-pine", "solarized", "solarized-osaka", "tokyonight"

Supported themes can be found in supportedThemes.nix. Setting the theme to "base16" enables base16 theming and requires all of the colors in vim.theme.base16-colors to be set.

vim.theme.style Link copied!

Type: one of "dark", "darker", "cool", "deep", "warm", "warmer"

Specific style for theme if it supports it

vim.theme.transparent Link copied!

Type: boolean

Whether or not transparency should be enabled. Has no effect for themes that do not support transparency

Default: false

vim.treesitter.addDefaultGrammars Link copied!

Type: boolean

Whether to add the default grammars to the list of grammars to install.

This option is only relevant if treesitter has been enabled.

Default: true

vim.treesitter.autotagHtml Link copied!

Type: boolean

Whether to enable autoclose and rename html tag.

Default: false
Example: true

vim.treesitter.context.enable Link copied!

Type: boolean

Whether to enable context of current buffer contents [nvim-treesitter-context] .

Default: false
Example: true

vim.treesitter.context.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of treesitter-context

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.treesitter.context.setupOpts.line_numbers Link copied!

Type: boolean

Whether to display line numbers in current context

Default: true

vim.treesitter.context.setupOpts.max_lines Link copied!

Type: signed integer

How many lines the window should span.

Values >= 0 mean there will be no limit.

Default: 0

vim.treesitter.context.setupOpts.min_window_height Link copied!

Type: signed integer

Minimum editor window height to enable context.

Values >= 0 mean there will be no limit.

Default: 0

vim.treesitter.context.setupOpts.mode Link copied!

Type: one of "cursor", "topline"

Line used to calculate context.

Default: "cursor"

vim.treesitter.context.setupOpts.multiline_threshold Link copied!

Type: signed integer

Maximum number of lines to collapse for a single context line.

Default: 20

vim.treesitter.context.setupOpts.separator Link copied!

Type: null or string

Separator between context and content. This option 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.

Default: "-"

vim.treesitter.context.setupOpts.trim_scope Link copied!

Type: one of "inner", "outer"

Which context lines to discard if is exceeded.

Default: "outer"

vim.treesitter.context.setupOpts.zindex Link copied!

Type: signed integer

The Z-index of the context window.

Default: 20

vim.treesitter.enable Link copied!

Type: boolean

Whether to enable treesitter, also enabled automatically through language options.

Default: false
Example: true

vim.treesitter.fold Link copied!

Type: boolean

Whether to enable fold with treesitter.

Default: false
Example: true

vim.treesitter.grammars Link copied!

Type: list of package

List of treesitter grammars to install. For grammars to be installed properly, you must use grammars from pkgs.vimPlugins.nvim-treesitter.builtGrammars.

For languages already supported by nvf, you may use vim.language..treesitter options, which will automatically add the required grammars to this.

Default: [ ]
Example:
pkgs.vimPlugins.nvim-treesitter.builtGrammars; [
  regex
  kdl
];

vim.treesitter.highlight.additionalVimRegexHighlighting Link copied!

Type: boolean or list of string

Takes either a boolean or a list of languages.

Setting this to true will run :h syntax and tree-sitter at the same time. You may this to true if you depend on 'syntax' being enabled (like for indentation).

Note

Using this option may slow down your editor, and you may see some duplicate highlights.

Default: false

vim.treesitter.highlight.disable Link copied!

Type: (list of string) or (luaInline)

List of treesitter grammars to disable highlighting for.

This option can be either a list, in which case it will be converted to a Lua table containing grammars to disable highlighting for, or a string containing a lua function that will be read as is.

Warning

A comma will be added at the end of your function, so you do not need to add it yourself. Doing so will cause in syntax errors within your Neovim configuration.

Default: [ ]
Example:
```lua
-- Disable slow treesitter highlight for large files
function(lang, buf)
  local max_filesize = 1000 * 1024 -- 1MB
  local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
  if ok and stats and stats.size > max_filesize then
      return true
  end
end
```

vim.treesitter.highlight.enable Link copied!

Type: boolean

Whether to enable highlighting with treesitter.

Default: true
Example: true

vim.treesitter.incrementalSelection.disable Link copied!

Type: (list of string) or (luaInline)

List of treesitter grammars to disable incremental selection for.

This option can be either a list, in which case it will be converted to a Lua table containing grammars to disable indentation for, or a string containing a lua function that will be read as is.

Warning

A comma will be added at the end of your function, so you do not need to add it yourself. Doing so will cause in syntax errors within your Neovim configuration.

Default: [ ]
Example: ["c" "rust" ]

vim.treesitter.incrementalSelection.enable Link copied!

Type: boolean

Whether to enable incremental selection with treesitter.

Default: true
Example: true

vim.treesitter.indent.disable Link copied!

Type: (list of string) or (luaInline)

List of treesitter grammars to disable indentation for.

This option can be either a list, in which case it will be converted to a Lua table containing grammars to disable indentation for, or a string containing a lua function that will be read as is.

Warning

A comma will be added at the end of your function, so you do not need to add it yourself. Doing so will cause in syntax errors within your Neovim configuration.

Default: [ ]
Example: ["c" "rust"]

vim.treesitter.indent.enable Link copied!

Type: boolean

Whether to enable indentation with treesitter.

Default: true
Example: true

vim.treesitter.mappings.incrementalSelection.decrementByNode Link copied!

Type: null or string

Decrement selection by node [treesitter]

Default: "grm"

vim.treesitter.mappings.incrementalSelection.incrementByNode Link copied!

Type: null or string

Increment selection by node [treesitter]

Default: "grn"

vim.treesitter.mappings.incrementalSelection.incrementByScope Link copied!

Type: null or string

Increment selection by scope [treesitter]

Default: "grc"

vim.treesitter.mappings.incrementalSelection.init Link copied!

Type: null or string

Init selection [treesitter]

Default: "gnn"

vim.treesitter.textobjects.enable Link copied!

Type: boolean

Whether to enable Treesitter textobjects.

Default: false
Example: true

vim.treesitter.textobjects.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of treesitter-textobjects

You can pass in any additional options even if they're not listed in the docs

Default: { }
Example:
{
  select = {
    enable = true;
    keymaps = {
      af = "@function.outer";
    };
    lookahead = true;
  };
}

vim.ui.borders.enable Link copied!

Type: boolean

Whether to enable visible borders for most windows.

Default: false
Example: true

vim.ui.borders.globalStyle Link copied!

Type: one of "none", "single", "double", "rounded", "solid", "shadow" or list of (string or list of string)

The global border style to use.

If a list is given, it should have a length of eight or any divisor of eight. The array will specify the eight chars building up the border in a clockwise fashion starting with the top-left corner. You can specify a different highlight group for each character by passing a [char, "YourHighlightGroup"] instead

Default: "rounded"
Example:
[
  "╔"
  "═"
  "╗"
  "║"
  "╝"
  "═"
  "╚"
  "║"
]

vim.ui.borders.plugins.fastaction.enable Link copied!

Type: boolean

Whether to enable borders for the fastaction plugin.

Default: false
Example: true

vim.ui.borders.plugins.fastaction.style Link copied!

Type: one of "none", "single", "double", "rounded", "solid", "shadow" or list of (string or list of string)

The border style to use for the fastaction plugin

Default: "rounded"

vim.ui.borders.plugins.lsp-signature.enable Link copied!

Type: boolean

Whether to enable borders for the lsp-signature plugin.

Default: false
Example: true

vim.ui.borders.plugins.lsp-signature.style Link copied!

Type: one of "none", "single", "double", "rounded", "solid", "shadow" or list of (string or list of string)

The border style to use for the lsp-signature plugin

Default: "rounded"

vim.ui.borders.plugins.lspsaga.enable Link copied!

Type: boolean

Whether to enable borders for the lspsaga plugin.

Default: false
Example: true

vim.ui.borders.plugins.lspsaga.style Link copied!

Type: one of "none", "single", "double", "rounded", "solid", "shadow" or list of (string or list of string)

The border style to use for the lspsaga plugin

Default: "rounded"

vim.ui.borders.plugins.nvim-cmp.enable Link copied!

Type: boolean

Whether to enable borders for the nvim-cmp plugin.

Default: false
Example: true

vim.ui.borders.plugins.nvim-cmp.style Link copied!

Type: one of "none", "single", "double", "rounded", "solid", "shadow" or list of (string or list of string)

The border style to use for the nvim-cmp plugin

Default: "rounded"

vim.ui.borders.plugins.which-key.enable Link copied!

Type: boolean

Whether to enable borders for the which-key plugin.

Default: false
Example: true

vim.ui.borders.plugins.which-key.style Link copied!

Type: one of "none", "single", "double", "rounded", "solid", "shadow" or list of (string or list of string)

The border style to use for the which-key plugin

Default: "rounded"

vim.ui.breadcrumbs.enable Link copied!

Type: boolean

Whether to enable breadcrumbs.

Default: false
Example: true

vim.ui.breadcrumbs.lualine.winbar.alwaysRender Link copied!

Type: boolean

Whether to always display the breadcrumbs component on winbar.

Note

This will pass draw_empty to the nvim_navic winbar component, which causes the component to be drawn even if it’s empty.

Default: true
Example: false

vim.ui.breadcrumbs.lualine.winbar.enable Link copied!

Type: boolean

Whether to automatically configure a winbar component for Lualine on the Winbar section.

Note

This is set to true by default, which means nvim-navic will occupy winbar.lualine_c for the breadcrumbs feature unless this option is set to false.

Default: true
Example: false

vim.ui.breadcrumbs.navbuddy.enable Link copied!

Type: boolean

Whether to enable navbuddy LSP helper UI. Enabling this option automatically loads and enables nvim-navic.

Default: false
Example: true

vim.ui.breadcrumbs.navbuddy.mappings.appendName Link copied!

Type: string

Insert at the end of name.

Default: "a"

vim.ui.breadcrumbs.navbuddy.mappings.appendScope Link copied!

Type: string

Insert at the end of scope.

Default: "A"

vim.ui.breadcrumbs.navbuddy.mappings.children Link copied!

Type: string

Navigate to the child node.

Default: "l"

vim.ui.breadcrumbs.navbuddy.mappings.close Link copied!

Type: string

Close and return the cursor to its original location.

Default: ""

vim.ui.breadcrumbs.navbuddy.mappings.comment Link copied!

Type: string

Comment the node.

Default: "c"

vim.ui.breadcrumbs.navbuddy.mappings.delete Link copied!

Type: string

Delete the node.

Default: "d"

vim.ui.breadcrumbs.navbuddy.mappings.foldCreate Link copied!

Type: string

Create a new fold of the node.

Default: "f"

vim.ui.breadcrumbs.navbuddy.mappings.foldDelete Link copied!

Type: string

Delete the current fold of the node.

Default: "F"

vim.ui.breadcrumbs.navbuddy.mappings.help Link copied!

Type: string

Open the mappings help window.

Default: "g?"

vim.ui.breadcrumbs.navbuddy.mappings.hsplit Link copied!

Type: string

Open the node in a horizontal split.

Default: ""

vim.ui.breadcrumbs.navbuddy.mappings.insertName Link copied!

Type: string

Insert at the start of name.

Default: "i"

vim.ui.breadcrumbs.navbuddy.mappings.insertScope Link copied!

Type: string

Insert at the start of scope.

Default: "I"

vim.ui.breadcrumbs.navbuddy.mappings.moveDown Link copied!

Type: string

Move the node down.

Default: "J"

vim.ui.breadcrumbs.navbuddy.mappings.moveUp Link copied!

Type: string

Move the node up.

Default: "K"

vim.ui.breadcrumbs.navbuddy.mappings.nextSibling Link copied!

Type: string

Navigate to the next sibling node.

Default: "j"

vim.ui.breadcrumbs.navbuddy.mappings.parent Link copied!

Type: string

Navigate to the parent node.

Default: "h"

vim.ui.breadcrumbs.navbuddy.mappings.previousSibling Link copied!

Type: string

Navigate to the previous sibling node.

Default: "k"

vim.ui.breadcrumbs.navbuddy.mappings.rename Link copied!

Type: string

Rename the node.

Default: "r"

vim.ui.breadcrumbs.navbuddy.mappings.root Link copied!

Type: string

Navigate to the root node.

Default: "0"

vim.ui.breadcrumbs.navbuddy.mappings.select Link copied!

Type: string

Goto the node.

Default: ""

vim.ui.breadcrumbs.navbuddy.mappings.telescope Link copied!

Type: string

Start fuzzy finder at the current level.

Default: "t"

vim.ui.breadcrumbs.navbuddy.mappings.togglePreview Link copied!

Type: string

Toggle the preview.

Default: "s"

vim.ui.breadcrumbs.navbuddy.mappings.visualName Link copied!

Type: string

Select the name visually.

Default: "v"

vim.ui.breadcrumbs.navbuddy.mappings.visualScope Link copied!

Type: string

Select the scope visually.

Default: "V"

vim.ui.breadcrumbs.navbuddy.mappings.vsplit Link copied!

Type: string

Open the node in a vertical split.

Default: ""

vim.ui.breadcrumbs.navbuddy.mappings.yankName Link copied!

Type: string

Yank the name to system clipboard.

Default: "y"

vim.ui.breadcrumbs.navbuddy.mappings.yankScope Link copied!

Type: string

Yank the scope to system clipboard.

Default: "Y"

vim.ui.breadcrumbs.navbuddy.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of navbuddy

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.ui.breadcrumbs.navbuddy.setupOpts.lsp.auto_attach Link copied!

Type: boolean

Whether to attach to LSP server manually.

Default: true

vim.ui.breadcrumbs.navbuddy.setupOpts.lsp.preference Link copied!

Type: null or (list of string)

The preference list ranking LSP servers.

Default: null

vim.ui.breadcrumbs.navbuddy.setupOpts.node_markers.enable Link copied!

Type: boolean

Whether to enable node markers.

Default: false
Example: true

vim.ui.breadcrumbs.navbuddy.setupOpts.source_buffer.followNode Link copied!

Type: boolean

Whether to keep the current node in focus in the source buffer.

Default: true

vim.ui.breadcrumbs.navbuddy.setupOpts.source_buffer.highlight Link copied!

Type: boolean

Whether to highlight the currently focused node in the source buffer.

Default: true

vim.ui.breadcrumbs.navbuddy.setupOpts.source_buffer.reorient Link copied!

Type: one of "smart", "top", "mid", "none"

The mode for reorienting the source buffer after moving nodes.

Default: "smart"

vim.ui.breadcrumbs.navbuddy.setupOpts.source_buffer.scrolloff Link copied!

Type: null or signed integer

The scrolloff value in the source buffer when Navbuddy is open.

Default: null

vim.ui.breadcrumbs.navbuddy.setupOpts.useDefaultMappings Link copied!

Type: boolean

Add the default Navbuddy keybindings in addition to the keybinding added by this module.

Default: true

vim.ui.breadcrumbs.navbuddy.setupOpts.window.border Link copied!

Type: one of "none", "single", "double", "rounded", "solid", "shadow" or list of (string or list of string)

The border style to use.

Default: "rounded"

vim.ui.breadcrumbs.navbuddy.setupOpts.window.scrolloff Link copied!

Type: null or signed integer

The scrolloff value within a navbuddy window.

Default: null

vim.ui.breadcrumbs.navbuddy.setupOpts.window.sections.left.border Link copied!

Type: one of "none", "single", "double", "rounded", "solid", "shadow" or list of (string or list of string)

The border style to use for the left section of the Navbuddy UI.

Default: "rounded"

vim.ui.breadcrumbs.navbuddy.setupOpts.window.sections.mid.border Link copied!

Type: one of "none", "single", "double", "rounded", "solid", "shadow" or list of (string or list of string)

The border style to use for the middle section of the Navbuddy UI.

Default: "rounded"

vim.ui.breadcrumbs.navbuddy.setupOpts.window.sections.right.border Link copied!

Type: one of "none", "single", "double", "rounded", "solid", "shadow" or list of (string or list of string)

The border style to use for the right section of the Navbuddy UI.

Default: "rounded"

vim.ui.breadcrumbs.navbuddy.setupOpts.window.sections.right.preview Link copied!

Type: one of "leaf", "always", "never"

The display mode of the preview on the right section.

Default: "leaf"

vim.ui.breadcrumbs.source Link copied!

Type: null or value "nvim-navic" (singular enum)

The source to be used for breadcrumbs component. Null means no breadcrumbs.

Default: "nvim-navic"

vim.ui.colorizer.enable Link copied!

Type: boolean

Whether to enable color highlighting [nvim-colorizer.lua].

Default: false
Example: true

vim.ui.colorizer.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of colorizer

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.ui.colorizer.setupOpts.filetypes Link copied!

Type: attribute set of (submodule)

Filetypes to enable on and their option overrides.

"*" means enable on all filetypes. Filetypes prefixed with "!" are disabled.

Default: { }
Example:
{
  "!vim" = { };
  "*" = { };
  javascript = {
    AARRGGBB = false;
  };
}

vim.ui.colorizer.setupOpts.filetypes.<name>.AARRGGBB Link copied!

Type: null or boolean

Colorize 0xAARRGGBB hex codes

Default: null

vim.ui.colorizer.setupOpts.filetypes.<name>.RGB Link copied!

Type: null or boolean

Colorize #RGB hex codes

Default: null

vim.ui.colorizer.setupOpts.filetypes.<name>.RRGGBB Link copied!

Type: null or boolean

Colorize #RRGGBB hex codes

Default: null

vim.ui.colorizer.setupOpts.filetypes.<name>.RRGGBBAA Link copied!

Type: null or boolean

Colorize #RRGGBBAA hex codes

Default: null

vim.ui.colorizer.setupOpts.filetypes.<name>.always_update Link copied!

Type: null or boolean

Update color values even if buffer is not focused. Example use: cmp_menu, cmp_docs

Default: null

vim.ui.colorizer.setupOpts.filetypes.<name>.css Link copied!

Type: null or boolean

Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB

Default: null

vim.ui.colorizer.setupOpts.filetypes.<name>.css_fn Link copied!

Type: null or boolean

Enable all CSS functions: rgb_fn, hsl_fn

Default: null

vim.ui.colorizer.setupOpts.filetypes.<name>.hsl_fn Link copied!

Type: null or boolean

Colorize CSS hsl() and hsla() functions

Default: null

vim.ui.colorizer.setupOpts.filetypes.<name>.mode Link copied!

Type: null or one of "foreground", "background"

Set the display mode

Default: null

vim.ui.colorizer.setupOpts.filetypes.<name>.names Link copied!

Type: null or boolean

Colorize "Name" codes like Blue

Default: null

vim.ui.colorizer.setupOpts.filetypes.<name>.rgb_fn Link copied!

Type: null or boolean

Colorize CSS rgb() and rgba() functions

Default: null

vim.ui.colorizer.setupOpts.filetypes.<name>.sass Link copied!

Type: null or boolean

Enable sass colors

Default: null

vim.ui.colorizer.setupOpts.filetypes.<name>.tailwind Link copied!

Type: null or boolean

Enable tailwind colors

Default: null

vim.ui.colorizer.setupOpts.filetypes.<name>.virtualtext Link copied!

Type: null or string

String to display as virtualtext

Default: null

vim.ui.colorizer.setupOpts.user_default_options Link copied!

Type: submodule

user_default_options is the second parameter to nvim-colorizer's setup function.

Anything set here is the inverse of the previous setup configuration.

Default: { }

vim.ui.colorizer.setupOpts.user_default_options.AARRGGBB Link copied!

Type: null or boolean

Colorize 0xAARRGGBB hex codes

Default: null

vim.ui.colorizer.setupOpts.user_default_options.RGB Link copied!

Type: null or boolean

Colorize #RGB hex codes

Default: null

vim.ui.colorizer.setupOpts.user_default_options.RRGGBB Link copied!

Type: null or boolean

Colorize #RRGGBB hex codes

Default: null

vim.ui.colorizer.setupOpts.user_default_options.RRGGBBAA Link copied!

Type: null or boolean

Colorize #RRGGBBAA hex codes

Default: null

vim.ui.colorizer.setupOpts.user_default_options.always_update Link copied!

Type: null or boolean

Update color values even if buffer is not focused. Example use: cmp_menu, cmp_docs

Default: null

vim.ui.colorizer.setupOpts.user_default_options.css Link copied!

Type: null or boolean

Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB

Default: null

vim.ui.colorizer.setupOpts.user_default_options.css_fn Link copied!

Type: null or boolean

Enable all CSS functions: rgb_fn, hsl_fn

Default: null

vim.ui.colorizer.setupOpts.user_default_options.hsl_fn Link copied!

Type: null or boolean

Colorize CSS hsl() and hsla() functions

Default: null

vim.ui.colorizer.setupOpts.user_default_options.mode Link copied!

Type: null or one of "foreground", "background"

Set the display mode

Default: null

vim.ui.colorizer.setupOpts.user_default_options.names Link copied!

Type: null or boolean

Colorize "Name" codes like Blue

Default: null

vim.ui.colorizer.setupOpts.user_default_options.rgb_fn Link copied!

Type: null or boolean

Colorize CSS rgb() and rgba() functions

Default: null

vim.ui.colorizer.setupOpts.user_default_options.sass Link copied!

Type: null or boolean

Enable sass colors

Default: null

vim.ui.colorizer.setupOpts.user_default_options.tailwind Link copied!

Type: null or boolean

Enable tailwind colors

Default: null

vim.ui.colorizer.setupOpts.user_default_options.virtualtext Link copied!

Type: null or string

String to display as virtualtext

Default: null

vim.ui.fastaction.enable Link copied!

Type: boolean

Whether to enable overriding vim.ui.select with fastaction.nvim.

Default: false
Example: true

vim.ui.fastaction.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of fastaction

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.ui.illuminate.enable Link copied!

Type: boolean

Whether to enable automatically highlight other uses of the word under the cursor [vim-illuminate] .

Default: false
Example: true

vim.ui.illuminate.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of vim-illuminate

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.ui.illuminate.setupOpts.filetypes_denylist Link copied!

Type: list of string

Filetypes to not illuminate, this overrides filetypes_allowlist

Default: [ "dirvish" "fugitive" "help" "neo-tree" "notify" "NvimTree" "TelescopePrompt" ]

vim.ui.modes-nvim.enable Link copied!

Type: boolean

Whether to enable modes.nvim's prismatic line decorations.

Default: false
Example: true

vim.ui.modes-nvim.setupOpts.colors Link copied!

Type: anything

Option table to pass into the setup function of modes.nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.ui.modes-nvim.setupOpts.colors.copy Link copied!

Type: string

The #RRGGBB color code for the visual mode highlights

Default: "#f5c359"

vim.ui.modes-nvim.setupOpts.colors.delete Link copied!

Type: string

The #RRGGBB color code for the visual mode highlights

Default: "#c75c6a"

vim.ui.modes-nvim.setupOpts.colors.insert Link copied!

Type: string

The #RRGGBB color code for the visual mode highlights

Default: "#78ccc5"

vim.ui.modes-nvim.setupOpts.colors.visual Link copied!

Type: string

The #RRGGBB color code for the visual mode highlights

Default: "#9745be"

vim.ui.modes-nvim.setupOpts.line_opacity.visual Link copied!

Type: floating point number

Set opacity for cursorline and number background

Default: 0.0

vim.ui.modes-nvim.setupOpts.setCursorline Link copied!

Type: boolean

Set a colored cursorline on current line

Default: false

vim.ui.noice.enable Link copied!

Type: boolean

Whether to enable noice.nvim UI modification library.

Default: false
Example: true

vim.ui.noice.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of noice.nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.ui.noice.setupOpts.format.cmdline Link copied!

Type: null or anything

formatting options for the cmdline

Default: { icon = ""; lang = "vim"; pattern = "^:"; }

vim.ui.noice.setupOpts.format.filter Link copied!

Type: null or anything

formatting options for filter

Default: { icon = ""; lang = "bash"; pattern = "^:%s*!"; }

vim.ui.noice.setupOpts.format.help Link copied!

Type: null or anything

formatting options for help

Default: { icon = "󰋖"; pattern = "^:%s*he?l?p?%s+"; }

vim.ui.noice.setupOpts.format.lua Link copied!

Type: null or anything

formatting options for lua

Default: { icon = ""; lang = "lua"; pattern = "^:%s*lua%s+"; }

vim.ui.noice.setupOpts.format.search_down Link copied!

Type: null or anything

formatting options for search_down

Default: { icon = " "; kind = "search"; lang = "regex"; pattern = "^/"; }

vim.ui.noice.setupOpts.format.search_up Link copied!

Type: null or anything

formatting options for search_up

Default: { icon = " "; kind = "search"; lang = "regex"; pattern = "^%?"; }

vim.ui.noice.setupOpts.lsp.override."cmp.entry.get_documentation" Link copied!

Type: boolean

override cmp documentation with Noice

Default: false

vim.ui.noice.setupOpts.lsp.override."vim.lsp.util.convert_input_to_markdown_lines" Link copied!

Type: boolean

override the default lsp markdown formatter with Noice

Default: true

vim.ui.noice.setupOpts.lsp.override."vim.lsp.util.stylize_markdown" Link copied!

Type: boolean

override the lsp markdown formatter with Noice

Default: true

vim.ui.noice.setupOpts.lsp.signature.enabled Link copied!

Type: boolean

Whether to enable signature help.

Default: false
Example: true

vim.ui.noice.setupOpts.presets.command_palette Link copied!

Type: boolean

position the cmdline and popupmenu together

Default: true

vim.ui.noice.setupOpts.presets.inc_rename Link copied!

Type: boolean

enables an input dialog for inc-rename.nvim

Default: false

vim.ui.noice.setupOpts.presets.long_message_to_split Link copied!

Type: boolean

long messages will be sent to a split

Default: true

vim.ui.noice.setupOpts.presets.lsp_doc_border Link copied!

Type: boolean

add a border to hover docs and signature help

Default: false

vim.ui.noice.setupOpts.routes Link copied!

Type: list of (submodule)

How to route messages

Default: "Hide written messages"

vim.ui.noice.setupOpts.routes.*.filter Link copied!

Type: anything

a filter for messages matching this route

vim.ui.noice.setupOpts.routes.*.opts Link copied!

Type: null or anything

options for the view and the route

Default: null

vim.ui.noice.setupOpts.routes.*.view Link copied!

Type: null or string

how this route is viewed

Default: null

vim.ui.nvim-ufo.enable Link copied!

Type: boolean

Whether to enable nvim-ufo.

Default: false
Example: true

vim.ui.nvim-ufo.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of nvim-ufo

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.ui.smartcolumn.enable Link copied!

Type: boolean

Whether to enable line length indicator.

Default: false
Example: true

vim.ui.smartcolumn.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of smartcolumn.nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.ui.smartcolumn.setupOpts.colorcolumn Link copied!

Type: null or string or list of string

The position at which the column will be displayed. Set to null to disable

Default: "120"

vim.ui.smartcolumn.setupOpts.custom_colorcolumn Link copied!

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

The position at which smart column should be displayed for each individual buffer type

Default: { }
Example:
vim.ui.smartcolumn.setupOpts.custom_colorcolumn = {
  nix = "110";
  ruby = "120";
  java = "130";
  go = ["90" "130"];
};

vim.ui.smartcolumn.setupOpts.disabled_filetypes Link copied!

Type: list of string

The filetypes smartcolumn will be disabled for.

Default: [ "help" "text" "markdown" "NvimTree" "alpha" ]

vim.undoFile.enable Link copied!

Type: boolean

Whether to enable undofile for persistent undo behaviour.

Default: false
Example: true

vim.undoFile.path Link copied!

Type: string or (luaInline)

Path to the directory in which undo history will be stored

Default: ```nix mkLuaInline "vim.fn.stdpath('state') .. '/undo'" ```
Example:
```nix
mkLuaInline "os.getenv('XDG_DATA_HOME') .. '/nvf/undo'"
```

vim.utility.ccc.enable Link copied!

Type: boolean

Whether to enable ccc color picker for neovim.

Default: false
Example: true

vim.utility.ccc.mappings.decrease10 Link copied!

Type: null or string

Decrease the value times delta of the slider

Default: ""

vim.utility.ccc.mappings.increase10 Link copied!

Type: null or string

Increase the value times delta of the slider

Default: ""

vim.utility.ccc.mappings.quit Link copied!

Type: null or string

Cancel and close the UI without replace or insert

Default: ""

vim.utility.diffview-nvim.enable Link copied!

Type: boolean

Whether to enable diffview-nvim: cycle through diffs for all modified files for any git rev.

Default: false
Example: true

vim.utility.diffview-nvim.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of Fidget

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.utility.direnv.enable Link copied!

Type: boolean

Whether to enable syncing nvim shell environment with direnv's using direnv.vim.

Default: false
Example: true

vim.utility.icon-picker.enable Link copied!

Type: boolean

Whether to enable nerdfonts icon picker for nvim.

Default: false
Example: true

vim.utility.images.image-nvim.enable Link copied!

Type: boolean

Whether to enable image support in Neovim [image.nvim].

Default: false
Example: true

vim.utility.images.image-nvim.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of image.nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.utility.images.image-nvim.setupOpts.backend Link copied!

Type: one of "kitty", "ueberzug"

The backend to use for rendering images.

  • kitty - best in class, works great and is very snappy
  • ueberzug - backed by ueberzugpp, supports any terminal, but has lower performance
Default: "ueberzug"

vim.utility.images.image-nvim.setupOpts.editorOnlyRenderWhenFocused Link copied!

Type: boolean

Whether to enable only rendering images when the editor is focused.

Default: false
Example: true

vim.utility.images.image-nvim.setupOpts.hijackFilePatterns Link copied!

Type: list of string

File patterns to hijack for image.nvim. This is useful for filetypes that don't have a dedicated integration.

Default: [ "*.png" "*.jpg" "*.jpeg" "*.gif" "*.webp" ]

vim.utility.images.image-nvim.setupOpts.integrations.markdown.clearInInsertMode Link copied!

Type: boolean

Whether to enable clearing of images when entering insert mode.

Default: false
Example: true

vim.utility.images.image-nvim.setupOpts.integrations.markdown.downloadRemoteImages Link copied!

Type: boolean

Whether to enable downloading remote images.

Default: false
Example: true

vim.utility.images.image-nvim.setupOpts.integrations.markdown.enable Link copied!

Type: boolean

Whether to enable image.nvim in markdown files.

Default: true
Example: true

vim.utility.images.image-nvim.setupOpts.integrations.markdown.filetypes Link copied!

Type: list of string

Filetypes to enable image.nvim in. Markdown extensions (i.e. quarto) can go here

Default: [ "markdown" "vimwiki" ]

vim.utility.images.image-nvim.setupOpts.integrations.markdown.onlyRenderAtCursor Link copied!

Type: boolean

Whether to enable only rendering images at cursor.

Default: false
Example: true

vim.utility.images.image-nvim.setupOpts.integrations.maxWidth Link copied!

Type: null or signed integer

The maximum width of images to render. Images larger than this will be scaled down to fit within this width.

Default: null

vim.utility.images.image-nvim.setupOpts.integrations.neorg.clearInInsertMode Link copied!

Type: boolean

Whether to enable clearing of images when entering insert mode.

Default: false
Example: true

vim.utility.images.image-nvim.setupOpts.integrations.neorg.downloadRemoteImages Link copied!

Type: boolean

Whether to enable downloading remote images.

Default: false
Example: true

vim.utility.images.image-nvim.setupOpts.integrations.neorg.enable Link copied!

Type: boolean

Whether to enable image.nvim in Neorg files.

Default: true
Example: true

vim.utility.images.image-nvim.setupOpts.integrations.neorg.filetypes Link copied!

Type: list of string

Filetypes to enable image.nvim in.

Default: [ "neorg" ]

vim.utility.images.image-nvim.setupOpts.integrations.neorg.onlyRenderAtCursor Link copied!

Type: boolean

Whether to enable only rendering images at cursor.

Default: false
Example: true

vim.utility.images.image-nvim.setupOpts.maxHeight Link copied!

Type: null or signed integer

The maximum height of images to render. Images larger than this will be scaled down to fit within this height.

Default: null

vim.utility.images.image-nvim.setupOpts.maxHeightWindowPercentage Link copied!

Type: null or signed integer

The maximum height of images to render as a percentage of the window height. Images larger than this will be scaled down to fit within this height.

Default: 50

vim.utility.images.image-nvim.setupOpts.maxWidthWindowPercentage Link copied!

Type: null or signed integer

The maximum width of images to render as a percentage of the window width. Images larger than this will be scaled down to fit within this width.

Default: null

vim.utility.images.image-nvim.setupOpts.windowOverlapClear.enable Link copied!

Type: boolean

Whether to enable clearing of images when they overlap with the window.

Default: false
Example: true

vim.utility.images.image-nvim.setupOpts.windowOverlapClear.ftIgnore Link copied!

Type: list of string

Filetypes to ignore window overlap clearing in.

Default: [ "cmp_menu" "cmp_docs" "" ]

vim.utility.images.img-clip.enable Link copied!

Type: boolean

Whether to enable img-clip to paste images into any markup language.

Default: false
Example: true

vim.utility.images.img-clip.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of img-clip

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.utility.leetcode-nvim.enable Link copied!

Type: boolean

Whether to enable complementary neovim plugin for leetcode.nvim.

Default: false
Example: true

vim.utility.leetcode-nvim.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of leetcode-nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.utility.leetcode-nvim.setupOpts.arg Link copied!

Type: string

Argument for Neovim

Default: "leetcode.nvim"

vim.utility.leetcode-nvim.setupOpts.cn.enabled Link copied!

Type: boolean

Whether to enable leetcode.cn instead of leetcode.com.

Default: false
Example: true

vim.utility.leetcode-nvim.setupOpts.cn.translate_problems Link copied!

Type: boolean

Whether to enable translation for problem questions.

Default: true
Example: true

vim.utility.leetcode-nvim.setupOpts.cn.translator Link copied!

Type: boolean

Whether to enable translator.

Default: true
Example: true

vim.utility.leetcode-nvim.setupOpts.image_support Link copied!

Type: boolean

Whether to enable question description images using image.nvim (image-nvim must be enabled)..

Default: false
Example: true

vim.utility.leetcode-nvim.setupOpts.lang Link copied!

Type: one of "cpp", "java", "python", "python3", "c", "csharp", "javascript", "typescript", "php", "swift", "kotlin", "dart", "golang", "ruby", "scala", "rust", "racket", "erlang", "elixir", "bash"

Language to start your session with

Default: "python3"

vim.utility.leetcode-nvim.setupOpts.logging Link copied!

Type: boolean

Whether to enable logging for leetcode.nvim status notifications..

Default: true
Example: true

vim.utility.leetcode-nvim.setupOpts.plugins.non_standalone Link copied!

Type: boolean

Whether to enable leetcode.nvim in a non-standalone mode.

Default: false
Example: true

vim.utility.leetcode-nvim.setupOpts.storage.cache Link copied!

Type: luaInline

Cache storage directory

Default: { _type = "lua-inline"; expr = "vim.fn.stdpath(\"cache\") .. \"/leetcode\""; }

vim.utility.leetcode-nvim.setupOpts.storage.home Link copied!

Type: luaInline

Home storage directory

Default: { _type = "lua-inline"; expr = "vim.fn.stdpath(\"data\") .. \"/leetcode\""; }

vim.utility.mkdir.enable Link copied!

Type: boolean

Whether to enable parent directory creation when editing a nested path that does not exist using mkdir.nvim .

Default: false
Example: true

vim.utility.motion.flash-nvim.enable Link copied!

Type: boolean

Whether to enable enhanced code navigation with flash.nvim.

Default: false
Example: true

vim.utility.motion.flash-nvim.mappings.jump Link copied!

Type: null or string

Jump

Default: "s"

vim.utility.motion.flash-nvim.mappings.remote Link copied!

Type: null or string

Remote Flash

Default: "r"

vim.utility.motion.flash-nvim.mappings.toggle Link copied!

Type: null or string

Toggle Flash Search

Default: ""

vim.utility.motion.flash-nvim.mappings.treesitter Link copied!

Type: null or string

Treesitter

Default: "S"

vim.utility.motion.flash-nvim.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of flash-nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.utility.motion.hop.enable Link copied!

Type: boolean

Whether to enable Hop.nvim plugin (easy motion).

Default: false
Example: true

vim.utility.motion.hop.mappings.hop Link copied!

Type: null or string

Jump to occurrences [hop.nvim]

Default: "h"

vim.utility.motion.leap.enable Link copied!

Type: boolean

Whether to enable leap.nvim plugin (easy motion).

Default: false
Example: true

vim.utility.motion.leap.mappings.leapBackwardTill Link copied!

Type: null or string

Leap backward till

Default: "sX"

vim.utility.motion.leap.mappings.leapBackwardTo Link copied!

Type: null or string

Leap backward to

Default: "sS"

vim.utility.motion.leap.mappings.leapForwardTill Link copied!

Type: null or string

Leap forward till

Default: "sx"

vim.utility.motion.leap.mappings.leapForwardTo Link copied!

Type: null or string

Leap forward to

Default: "ss"

vim.utility.motion.leap.mappings.leapFromWindow Link copied!

Type: null or string

Leap from window

Default: "gs"

vim.utility.motion.precognition.enable Link copied!

Type: boolean

Whether to enable assisted motion discovery[precognition.nvim].

Default: false
Example: true

vim.utility.motion.precognition.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of precognition.nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.utility.motion.precognition.setupOpts.disabled_fts Link copied!

Type: list of string

Filetypes that automatically disable 'precognition'

Default: [ "startify" ]
Example: ["startify"]

vim.utility.motion.precognition.setupOpts.gutterHints Link copied!

Type: attribute set of (submodule)

What motions display and at what priority. Only appears in gutters

Default: { }

vim.utility.motion.precognition.setupOpts.gutterHints.<name>.prio Link copied!

Type: signed integer

The priority of the hint

Default: 1
Example: 10

vim.utility.motion.precognition.setupOpts.highlightColor Link copied!

Type: attribute set of string

The highlight for the virtual text

Default: { link = "Comment"; }
Example:
{ link = "Comment"; }
# or
{ foreground = "#0000FF"; background = "#000000"; };

vim.utility.motion.precognition.setupOpts.hints Link copied!

Type: attribute set of (submodule)

What motions display, and at what priority

Default: { }

vim.utility.motion.precognition.setupOpts.hints.<name>.prio Link copied!

Type: signed integer

The priority of the hint

Default: 1
Example: 10

vim.utility.motion.precognition.setupOpts.hints.<name>.text Link copied!

Type: string

The easier-to-read depiction of the motion

vim.utility.motion.precognition.setupOpts.showBlankVirtLine Link copied!

Type: boolean

Whether to show a blank virtual line when no movements are shown

Default: true

vim.utility.motion.precognition.setupOpts.startVisible Link copied!

Type: boolean

Whether to start 'precognition' automatically

Default: true

vim.utility.multicursors.enable Link copied!

Type: boolean

Whether to enable vscode like multiple cursors [multicursor.nvim].

Default: false
Example: true

vim.utility.multicursors.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of multicursors

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.utility.multicursors.setupOpts.DEBUG_MODE Link copied!

Type: boolean

Enable debug mode.

Default: false

vim.utility.multicursors.setupOpts.create_commands Link copied!

Type: boolean

Create Multicursor user commands

Default: true

vim.utility.multicursors.setupOpts.generate_hints Link copied!

Type: submodule

The configuration for generating hints

Default: { config = { column_count = null; max_hint_length = 25; }; extend = true; insert = true; normal = true; }

vim.utility.multicursors.setupOpts.generate_hints.config Link copied!

Type: submodule

The configuration for generating hints for multicursors.nvim

Default: { column_count = null; max_hint_length = 25; }

vim.utility.multicursors.setupOpts.generate_hints.config.column_count Link copied!

Type: null or signed integer

The number of columns to use for the hint window

Default: null

vim.utility.multicursors.setupOpts.generate_hints.config.max_hint_length Link copied!

Type: signed integer

The maximum length of the hint

Default: 25

vim.utility.multicursors.setupOpts.generate_hints.extend Link copied!

Type: boolean

Generate hints for the extend mode

Default: true

vim.utility.multicursors.setupOpts.generate_hints.insert Link copied!

Type: boolean

Generate hints for the insert mode

Default: true

vim.utility.multicursors.setupOpts.generate_hints.normal Link copied!

Type: boolean

Generate hints for the normal mode

Default: true

vim.utility.multicursors.setupOpts.hint_config Link copied!

Type: submodule

The configuration for the hint window

Default: { float_opts = { border = "none"; }; position = "bottom"; }

vim.utility.multicursors.setupOpts.hint_config.float_opts Link copied!

Type: submodule

The options for the floating hint window

vim.utility.multicursors.setupOpts.hint_config.float_opts.border Link copied!

Type: string

The border style for the hint window

Default: "none"

vim.utility.multicursors.setupOpts.hint_config.position Link copied!

Type: string

The position of the hint window

Default: "bottom"

vim.utility.multicursors.setupOpts.mode_keys Link copied!

Type: attribute set of string

The keys to use for each mode

Default: { append = "a"; change = "c"; extend = "e"; insert = "i"; }

vim.utility.multicursors.setupOpts.nowait Link copied!

Type: boolean

Don't wait for the cursor to move before updating the cursor

Default: true

vim.utility.multicursors.setupOpts.updatetime Link copied!

Type: signed integer

The time in milliseconds to wait before updating the cursor in insert mode

Default: 50

vim.utility.new-file-template.enable Link copied!

Type: boolean

new-file-template.nvim: Automatically insert a template on new files in neovim.

Note

For custom templates add a directory containing lua/templates/*.lua to vim.additionalRuntimePaths.

[custom-template-docs]: https://github.com/otavioschwanck/new-file-template.nvim?tab=readme-ov-file#creating-new-templates More documentation on the templates available at [custom-template-docs]
Default: false

vim.utility.new-file-template.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of nvim-file-template.nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.utility.new-file-template.setupOpts.disableAutocmd Link copied!

Type: boolean

Disable the autocmd that creates the template

Default: false

vim.utility.new-file-template.setupOpts.disableFiletype Link copied!

Type: list of string

Disable default templates for specific filetypes

Default: [ ]

vim.utility.new-file-template.setupOpts.disableInsert Link copied!

Type: boolean

Enter insert mode after inserting the template

Default: false

vim.utility.new-file-template.setupOpts.disableSpecific Link copied!

Type: attribute set of list of string

Disable specific regexp for the default templates.

Default: { }
Example: "{ ruby = [\".*\"]; }"

vim.utility.new-file-template.setupOpts.suffixAsFiletype Link copied!

Type: boolean

Use suffix of filename rather than vim.bo.filetype as filetype

Default: false

vim.utility.nix-develop.enable Link copied!

Type: boolean

Whether to enable in-neovim nix develop, nix shell, and more using nix-develop.nvim.

Default: false
Example: true

vim.utility.oil-nvim.enable Link copied!

Type: boolean

Whether to enable Neovim file explorer: edit your filesystem like a buffer [oil-nvim] .

Default: false
Example: true

vim.utility.oil-nvim.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of oil-nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.utility.outline.aerial-nvim.enable Link copied!

Type: boolean

Whether to enable Aerial.nvim.

Default: false
Example: true

vim.utility.outline.aerial-nvim.mappings.toggle Link copied!

Type: null or string

Toggle aerial window

Default: "gO"

vim.utility.outline.aerial-nvim.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of aerial.nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.utility.preview.glow.enable Link copied!

Type: boolean

Whether to enable markdown preview in neovim with glow.

Default: false
Example: true

vim.utility.preview.glow.mappings.openPreview Link copied!

Type: null or string

Open preview

Default: "p"

vim.utility.preview.markdownPreview.alwaysAllowPreview Link copied!

Type: boolean

Allow preview on all filetypes

Default: false

vim.utility.preview.markdownPreview.autoClose Link copied!

Type: boolean

Automatically close the preview window after leaving a Markdown buffer

Default: true

vim.utility.preview.markdownPreview.autoStart Link copied!

Type: boolean

Automatically open the preview window after entering a Markdown buffer

Default: false

vim.utility.preview.markdownPreview.broadcastServer Link copied!

Type: boolean

Allow for outside and network wide connections

Default: false

vim.utility.preview.markdownPreview.enable Link copied!

Type: boolean

Whether to enable Markdown preview in neovim with markdown-preview.nvim.

Default: false
Example: true

vim.utility.preview.markdownPreview.filetypes Link copied!

Type: list of string

Allowed filetypes

Default: [ "markdown" ]

vim.utility.preview.markdownPreview.lazyRefresh Link copied!

Type: boolean

Only update preview when saving or leaving insert mode

Default: false

vim.utility.sleuth.enable Link copied!

Type: boolean

Whether to enable automatically adjusting options such as shiftwidth or expandtab, using vim-sleuth .

Default: false
Example: true

vim.utility.snacks-nvim.enable Link copied!

Type: boolean

Whether to enable collection of QoL plugins for Neovim [snacks-nvim] .

Default: false
Example: true

vim.utility.snacks-nvim.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of snacks-nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.utility.surround.enable Link copied!

Type: boolean

Whether to enable nvim-surround, Neovim plugin to add/change/delete surrounding delimiter pairs with ease.

Note

The default mappings deviate from upstream to avoid conflicts with nvim-leap. You may change those in your configuration if you do not use nvim-leap

Default: false

vim.utility.surround.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of nvim-surround

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.utility.surround.setupOpts.keymaps.change Link copied!

Type: string

keymap for change

Default: "gzr"

vim.utility.surround.setupOpts.keymaps.change_line Link copied!

Type: string

keymap for change_line

Default: "gZR"

vim.utility.surround.setupOpts.keymaps.delete Link copied!

Type: string

keymap for delete

Default: "gzd"

vim.utility.surround.setupOpts.keymaps.insert Link copied!

Type: string

keymap for insert

Default: "z"

vim.utility.surround.setupOpts.keymaps.insert_line Link copied!

Type: string

keymap for insert_line

Default: "Z"

vim.utility.surround.setupOpts.keymaps.normal Link copied!

Type: string

keymap for normal

Default: "gz"

vim.utility.surround.setupOpts.keymaps.normal_cur Link copied!

Type: string

keymap for normal_cur

Default: "gZ"

vim.utility.surround.setupOpts.keymaps.normal_cur_line Link copied!

Type: string

keymap for normal_cur_line

Default: "gZZ"

vim.utility.surround.setupOpts.keymaps.normal_line Link copied!

Type: string

keymap for normal_line

Default: "gzz"

vim.utility.surround.setupOpts.keymaps.visual Link copied!

Type: string

keymap for visual

Default: "gz"

vim.utility.surround.setupOpts.keymaps.visual_line Link copied!

Type: string

keymap for visual_line

Default: "gZ"

vim.utility.surround.useVendoredKeybindings Link copied!

Type: boolean

Use alternative set of keybindings that avoids conflicts with other popular plugins, e.g. nvim-leap

Default: true

vim.utility.vim-wakatime.cli-package Link copied!

Type: null or package

The package that should be used for wakatime-cli. Set as null to use the default path in $XDG_DATA_HOME

Default:
Example: null

vim.utility.vim-wakatime.enable Link copied!

Type: boolean

Whether to enable automatic time tracking and metrics generated from your programming activity [vim-wakatime] .

Default: false
Example: true

vim.utility.yanky-nvim.enable Link copied!

Type: boolean

Whether to enable improved Yank and Put functionalities for Neovim [yanky-nvim] .

Default: false
Example: true

vim.utility.yanky-nvim.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of yanky-nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.utility.yanky-nvim.setupOpts.ring.storage Link copied!

Type: one of "shada", "sqlite", "memory"

storage mode for ring values.

  • shada: this will save pesistantly using Neovim ShaDa feature. This means that history will be persisted between each session of Neovim.
  • memory: each Neovim instance will have his own history and it will be lost between sessions.
  • sqlite: more reliable than shada, requires sqlite.lua as a dependency. nvf will add this dependency to PATH automatically.
Default: "shada"
Example: "sqlite"

vim.utility.yazi-nvim.enable Link copied!

Type: boolean

Whether to enable companion plugin for the yazi terminal file manager [yazi-nvim] .

Default: false
Example: true

vim.utility.yazi-nvim.mappings.openYazi Link copied!

Type: null or string

Open yazi at the current file [yazi.nvim]

Default: "-"

vim.utility.yazi-nvim.mappings.openYaziDir Link copied!

Type: null or string

Open the file manager in nvim's working directory [yazi.nvim]

Default: "cw"

vim.utility.yazi-nvim.mappings.yaziToggle Link copied!

Type: null or string

Resume the last yazi session [yazi.nvim]

Default: ""

vim.utility.yazi-nvim.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of yazi-nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.utility.yazi-nvim.setupOpts.open_for_directories Link copied!

Type: boolean

Whether to open Yazi instead of netrw

Default: false

vim.viAlias Link copied!

Type: boolean

Enable the vi alias for nvim

Default: true

vim.vimAlias Link copied!

Type: boolean

Enable the vim alias for nvim

Default: true

vim.visuals.cellular-automaton.animation.register Link copied!

Type: boolean

Whether to enable registering configured animation(s) automatically.

Default: true
Example: true

vim.visuals.cellular-automaton.animation.setup Link copied!

Type: luaInline

Configuration used to generate an animation to be registered.

The final value for ca_config will be used to register a new animation using require("cellular-automaton").register_animation(ca_config)

Warning

ca_config must eval to a valid Lua table. nvf does not and cannot perform any kind of validation on your Lua code, so bogus values will result in errors when the animation is registered.

Default: { _type = "lua-inline"; expr = '' local ca_config = { fps = 50, name = 'slide', } -- init function is invoked only once at the start -- config.init = function (grid) -- -- end -- update function ca_config.update = function (grid) for i = 1, #grid do local prev = grid[i][#(grid[i])] for j = 1, #(grid[i]) do grid[i][j], prev = prev, grid[i][j] end end return true end ''; }

vim.visuals.cellular-automaton.enable Link copied!

Type: boolean

Whether to enable cellular-automaton to help you cope with stubborn code [cellular-automaton].

Default: false
Example: true

vim.visuals.cellular-automaton.mappings.makeItRain Link copied!

Type: null or string

Make it rain [cellular-automaton]

Default: "fml"

vim.visuals.cinnamon-nvim.enable Link copied!

Type: boolean

Whether to enable smooth scrolling for ANY command [cinnamon-nvim].

Default: false
Example: true

vim.visuals.cinnamon-nvim.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of cinnamon.nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.visuals.cinnamon-nvim.setupOpts.keymaps.basic Link copied!

Type: boolean

Whether to enable basic animation keymaps.

Default: false
Example: true

vim.visuals.cinnamon-nvim.setupOpts.keymaps.extra Link copied!

Type: boolean

Whether to enable extra animation keymaps.

Default: false
Example: true

vim.visuals.cinnamon-nvim.setupOpts.options Link copied!

Type: attribute set

Scroll options

Default: { count_only = false; mode = "cursor"; }

vim.visuals.fidget-nvim.enable Link copied!

Type: boolean

Whether to enable nvim LSP UI element [fidget-nvim].

Default: false
Example: true

vim.visuals.fidget-nvim.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of Fidget

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.visuals.fidget-nvim.setupOpts.integration.nvim-tree.enable Link copied!

Type: boolean

Integrate with nvim-tree/nvim-tree.lua (if enabled)

Default: false

vim.visuals.fidget-nvim.setupOpts.integration.xcodebuild-nvim.enable Link copied!

Type: boolean

Integrate with wojciech-kulik/xcodebuild.nvim (if enabled)

Default: true

vim.visuals.fidget-nvim.setupOpts.logger.float_precision Link copied!

Type: floating point number

Limit the number of decimals displayed for floats

Default: 0.01

vim.visuals.fidget-nvim.setupOpts.logger.level Link copied!

Type: one of "debug", "error", "info", "trace", "warn", "off"

Minimum logging level

Default: "warn"

vim.visuals.fidget-nvim.setupOpts.logger.max_size Link copied!

Type: signed integer

Maximum log file size, in KB

Default: 10000

vim.visuals.fidget-nvim.setupOpts.logger.path Link copied!

Type: luaInline

Where Fidget writes its logs to

Default: { _type = "lua-inline"; expr = '' string.format("%s/fidget.nvim.log", vim.fn.stdpath("cache")) ''; }

vim.visuals.fidget-nvim.setupOpts.notification.configs Link copied!

Type: attribute set of (luaInline)

How to configure notification groups when instantiated

Default: { default = { _type = "lua-inline"; expr = "require('fidget.notification').default_config"; }; }

vim.visuals.fidget-nvim.setupOpts.notification.filter Link copied!

Type: one of "debug", "info", "warn", "error"

Minimum notifications level

Default: "info"

vim.visuals.fidget-nvim.setupOpts.notification.history_size Link copied!

Type: signed integer

Number of removed messages to retain in history

Default: 128

vim.visuals.fidget-nvim.setupOpts.notification.override_vim_notify Link copied!

Type: boolean

Automatically override vim.notify() with Fidget

Default: false

vim.visuals.fidget-nvim.setupOpts.notification.poll_rate Link copied!

Type: signed integer

How frequently to update and render notifications

Default: 10

vim.visuals.fidget-nvim.setupOpts.notification.redirect Link copied!

Type: luaInline

Conditionally redirect notifications to another backend

Default: { _type = "lua-inline"; expr = '' function(msg, level, opts) if opts and opts.on_open then return require("fidget.integration.nvim-notify").delegate(msg, level, opts) end end ''; }

vim.visuals.fidget-nvim.setupOpts.notification.view.group_separator Link copied!

Type: string

Separator between notification groups

Default: "---"

vim.visuals.fidget-nvim.setupOpts.notification.view.group_separator_hl Link copied!

Type: string

Highlight group used for group separator

Default: "Comment"

vim.visuals.fidget-nvim.setupOpts.notification.view.icon_separator Link copied!

Type: string

Separator between group name and icon

Default: " "

vim.visuals.fidget-nvim.setupOpts.notification.view.render_message Link copied!

Type: luaInline

How to render notification messages

Default: { _type = "lua-inline"; expr = '' function(msg, cnt) return cnt == 1 and msg or string.format("(%dx) %s", cnt, msg) end ''; }

vim.visuals.fidget-nvim.setupOpts.notification.view.stack_upwards Link copied!

Type: boolean

Display notification items from bottom to top

Default: true

vim.visuals.fidget-nvim.setupOpts.notification.window.align Link copied!

Type: one of "top", "bottom"

How to align the notification window

Default: "bottom"

vim.visuals.fidget-nvim.setupOpts.notification.window.border Link copied!

Type: one of "none", "single", "double", "rounded", "solid", "shadow" or list of (string or list of string)

Border style of the notification window

Default: "none"

vim.visuals.fidget-nvim.setupOpts.notification.window.max_height Link copied!

Type: signed integer

Maximum height of the notification window

Default: 0

vim.visuals.fidget-nvim.setupOpts.notification.window.max_width Link copied!

Type: signed integer

Maximum width of the notification window

Default: 0

vim.visuals.fidget-nvim.setupOpts.notification.window.normal_hl Link copied!

Type: string

Base highlight group in the notification window

Default: "Comment"

vim.visuals.fidget-nvim.setupOpts.notification.window.relative Link copied!

Type: one of "editor", "win"

What the notification window position is relative to

Default: "editor"

vim.visuals.fidget-nvim.setupOpts.notification.window.winblend Link copied!

Type: signed integer

Background color opacity in the notification window

Default: 100

vim.visuals.fidget-nvim.setupOpts.notification.window.x_padding Link copied!

Type: signed integer

Padding from right edge of window boundary

Default: 1

vim.visuals.fidget-nvim.setupOpts.notification.window.y_padding Link copied!

Type: signed integer

Padding from bottom edge of window boundary

Default: 0

vim.visuals.fidget-nvim.setupOpts.notification.window.zindex Link copied!

Type: signed integer

Stacking priority of the notification window

Default: 45

vim.visuals.fidget-nvim.setupOpts.progress.display.done_icon Link copied!

Type: string

Icon shown when LSP progress tasks are completed

Default: "✓"

vim.visuals.fidget-nvim.setupOpts.progress.display.done_style Link copied!

Type: string

Highlight group for completed LSP tasks

Default: "Constant"

vim.visuals.fidget-nvim.setupOpts.progress.display.done_ttl Link copied!

Type: signed integer

How long a message should persist when complete

Default: 3

vim.visuals.fidget-nvim.setupOpts.progress.display.format_annote Link copied!

Type: luaInline

How to format a progress annotation

Default: { _type = "lua-inline"; expr = '' function(msg) return msg.title end ''; }

vim.visuals.fidget-nvim.setupOpts.progress.display.format_group_name Link copied!

Type: luaInline

How to format a progress notification group's name

Default: { _type = "lua-inline"; expr = '' function(group) return tostring(group) end ''; }

vim.visuals.fidget-nvim.setupOpts.progress.display.format_message Link copied!

Type: luaInline

How to format a progress message

Default: { _type = "lua-inline"; expr = '' require("fidget.progress.display").default_format_message ''; }

vim.visuals.fidget-nvim.setupOpts.progress.display.group_style Link copied!

Type: string

Highlight group for group name (LSP server name)

Default: "Title"

vim.visuals.fidget-nvim.setupOpts.progress.display.icon_style Link copied!

Type: string

Highlight group for group icons

Default: "Question"

vim.visuals.fidget-nvim.setupOpts.progress.display.overrides Link copied!

Type: attribute set of (submodule)

Overrides the default configuration for a notification group defined in .

If any of the fields are null, the value from the default configuration is used.

If default configuration is not defined, the following defaults are used:

   {
       name = "Notifications",
       icon = "❰❰",
       ttl = 5,
       group_style = "Title",
       icon_style = "Special",
       annote_style = "Question",
       debug_style = "Comment",
       info_style = "Question",
       warn_style = "WarningMsg",
       error_style = "ErrorMsg",
       debug_annote = "DEBUG",
       info_annote = "INFO",
       warn_annote = "WARN",
       error_annote = "ERROR",
       update_hook = function(item)
         notification.set_content_key(item)
       end,
   }
Default: { }
Example:
{
  rust_analyzer = {
    name = "Rust Analyzer";
  };
}

vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.annote_separator Link copied!

Type: null or string

Separator between message from annote

Default: " "

vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.annote_style Link copied!

Type: null or string

Default style used to highlight item annotes

Default: "Question"

vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.debug_annote Link copied!

Type: null or string

Default annotation for debug items

Default: null

vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.debug_style Link copied!

Type: null or string

Style used to highlight debug item annotes

Default: null

vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.error_annote Link copied!

Type: null or string

Default annotation for error items

Default: null

vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.error_style Link copied!

Type: null or string

Style used to highlight error item annotes

Default: null

vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.group_style Link copied!

Type: null or string

Style used to highlight group name

Default: "Title"

vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.icon Link copied!

Type: null or string or (luaInline)

Icon of the group, displayed in the notification window. Can be a string or a function that returns a string.

If a function, it is invoked every render cycle with the items list, useful for rendering animations and other dynamic content.

Note

If you’re looking for detailed information into the function signature, you can refer to the fidget API documentation available https://github.com/j-hui/fidget.nvim/blob/1ba38e4cbb24683973e00c2e36f53ae64da38ef5/doc/fidget-api.txt#L70-L77">here

Default: null

vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.icon_on_left Link copied!

Type: null or boolean

If true, icon is rendered on the left instead of right

Default: null

vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.icon_style Link copied!

Type: null or string

Style used to highlight icon, if null, use group_style

Default: null

vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.info_annote Link copied!

Type: null or string

Default annotation for info items

Default: null

vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.info_style Link copied!

Type: null or string

Style used to highlight info item annotes

Default: null

vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.name Link copied!

Type: null or string or (luaInline)

Name of the group, displayed in the notification window. Can be a string or a function that returns a string.

If a function, it is invoked every render cycle with the items list, useful for rendering animations and other dynamic content.

Note

If you’re looking for detailed information into the function signature, you can refer to the fidget API documentation available https://github.com/j-hui/fidget.nvim/blob/1ba38e4cbb24683973e00c2e36f53ae64da38ef5/doc/fidget-api.txt#L70-L77">here

Default: null

vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.priority Link copied!

Type: null or signed integer

Order in which group should be displayed

Default: 50

vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.render_limit Link copied!

Type: null or signed integer

How many notification items to show at once

Default: null

vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.skip_history Link copied!

Type: null or boolean

Whether messages should be preserved in history

Default: null

vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.ttl Link copied!

Type: null or signed integer

How long a notification item should exist

Default: 5

vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.update_hook Link copied!

Type: null or boolean or (luaInline)

Called when an item is updated.

If false, no action is taken. If a function, it is invoked with the item being updated.

Note

If you’re looking for detailed information into the function signature, you can refer to the fidget API documentation available https://github.com/j-hui/fidget.nvim/blob/1ba38e4cbb24683973e00c2e36f53ae64da38ef5/doc/fidget-api.txt#L114">here

Default: false

vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.warn_annote Link copied!

Type: null or string

Default annotation for warn items

Default: null

vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.warn_style Link copied!

Type: null or string

Style used to highlight warn item annotes

Default: null

vim.visuals.fidget-nvim.setupOpts.progress.display.priority Link copied!

Type: signed integer

Priority of the progress notification

Default: 30

vim.visuals.fidget-nvim.setupOpts.progress.display.progress_icon.pattern Link copied!

Type: one of "dots", "dots_negative", "dots_snake", "dots_footsteps", "dots_hop", "line", "pipe", "dots_ellipsis", "dots_scrolling", "star", "flip", "hamburger", "grow_vertical", "grow_horizontal", "noise", "dots_bounce", "triangle", "arc", "circle", "square_corners", "circle_quarters", "circle_halves", "dots_toggle", "box_toggle", "arrow", "zip", "bouncing_bar", "bouncing_ball", "clock", "earth", "moon", "dots_pulse", "meter"

Pattern shown when LSP progress tasks are in progress

Default: "dots"

vim.visuals.fidget-nvim.setupOpts.progress.display.progress_icon.period Link copied!

Type: signed integer

Period of the pattern

Default: 1

vim.visuals.fidget-nvim.setupOpts.progress.display.progress_style Link copied!

Type: string

Highlight group for in-progress LSP tasks

Default: "WarningMsg"

vim.visuals.fidget-nvim.setupOpts.progress.display.progress_ttl Link copied!

Type: signed integer

How long a message should persist when in progress

Default: 99999

vim.visuals.fidget-nvim.setupOpts.progress.display.render_limit Link copied!

Type: signed integer

Maximum number of messages to render

Default: 16

vim.visuals.fidget-nvim.setupOpts.progress.display.skip_history Link copied!

Type: boolean

Skip adding messages to history

Default: true

vim.visuals.fidget-nvim.setupOpts.progress.ignore Link copied!

Type: list of string

Ignore LSP servers by name

Default: [ ]

vim.visuals.fidget-nvim.setupOpts.progress.ignore_done_already Link copied!

Type: boolean

Ignore new tasks that are already done

Default: false

vim.visuals.fidget-nvim.setupOpts.progress.ignore_empty_message Link copied!

Type: boolean

Ignore new tasks with empty messages

Default: false

vim.visuals.fidget-nvim.setupOpts.progress.lsp.log_handler Link copied!

Type: boolean

Log $ /progress handler invocations

Default: false

vim.visuals.fidget-nvim.setupOpts.progress.lsp.progress_ringbuf_size Link copied!

Type: signed integer

Nvim's LSP client ring buffer size

Default: 100

vim.visuals.fidget-nvim.setupOpts.progress.notification_group Link copied!

Type: luaInline

How to get a progress message's notification group key

Default: { _type = "lua-inline"; expr = '' function(msg) return msg.lsp_client.name end ''; }

vim.visuals.fidget-nvim.setupOpts.progress.poll_rate Link copied!

Type: signed integer

How frequently to poll for LSP progress messages

Default: 0

vim.visuals.fidget-nvim.setupOpts.progress.suppress_on_insert Link copied!

Type: boolean

Suppress new messages when in insert mode

Default: false

vim.visuals.highlight-undo.enable Link copied!

Type: boolean

Whether to enable highlight undo [highlight-undo].

Default: false
Example: true

vim.visuals.highlight-undo.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of highlight-undo

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.visuals.highlight-undo.setupOpts.duration Link copied!

Type: signed integer

Duration of the highlight

Default: 500

vim.visuals.indent-blankline.enable Link copied!

Type: boolean

Whether to enable indentation guides [indent-blankline].

Default: false
Example: true

vim.visuals.indent-blankline.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of indent-blankline

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.visuals.indent-blankline.setupOpts.debounce Link copied!

Type: signed integer

Debounce time in milliseconds

Default: 200

vim.visuals.indent-blankline.setupOpts.indent.char Link copied!

Type: string or list of string

Character(s) for indentation guide

Default: "│"

vim.visuals.indent-blankline.setupOpts.indent.highlight Link copied!

Type: null or string or list of string

The highlight group(s) applied to the indentation guide.

See :help ibl.config.indent.highlight.

Default: null

vim.visuals.indent-blankline.setupOpts.indent.priority Link copied!

Type: signed integer

Virtual text priority for the indentation guide

Default: 1

vim.visuals.indent-blankline.setupOpts.indent.repeat_linebreak Link copied!

Type: boolean

Repeat indentation guides on wrapped lines

Default: true

vim.visuals.indent-blankline.setupOpts.indent.smart_indent_cap Link copied!

Type: boolean

Caps the number of indentation levels based on surrounding code

Default: true

vim.visuals.indent-blankline.setupOpts.indent.tab_char Link copied!

Type: null or string or list of string

Character(s) for tab indentation guide.

See :help ibl.config.indent.tab_char.

Default: null

vim.visuals.indent-blankline.setupOpts.scope.char Link copied!

Type: string or list of string

The character(s) for the scope indentation guide

Default: config.vim.visuals.indent-blankline.setupOpts.indent.char

vim.visuals.indent-blankline.setupOpts.scope.enabled Link copied!

Type: boolean

Highlight current scope from treesitter

Default: config.vim.treesitter.enable

vim.visuals.indent-blankline.setupOpts.scope.exclude.language Link copied!

Type: list of string

The list of treesitter languages to disable scope for.

* can be used as a wildcard for every language/node type.

Default: [ ]

vim.visuals.indent-blankline.setupOpts.scope.exclude.node_type Link copied!

Type: attribute set of list of string

Nodes to ignore in scope checking, per language.

* can be used as a wildcard for every language.

Default: { "*" = [ "source_file" "program" ]; lua = [ "chunk" ]; python = [ "module" ]; }

vim.visuals.indent-blankline.setupOpts.scope.highlight Link copied!

Type: null or string or list of string

The highlight group(s) applied to the scope.

See :help ibl.config.scope.highlight`.

Default: null

vim.visuals.indent-blankline.setupOpts.scope.include.node_type Link copied!

Type: attribute set of list of string

Additional nodes to be used for scope checking, per language

Default: { }

vim.visuals.indent-blankline.setupOpts.scope.injected_languages Link copied!

Type: boolean

Check for injected languages (treesitter)

Default: config.vim.treesitter.enable

vim.visuals.indent-blankline.setupOpts.scope.priority Link copied!

Type: signed integer

Virtual text priority for the scope

Default: 1024

vim.visuals.indent-blankline.setupOpts.scope.show_end Link copied!

Type: boolean

Show an underline on the last line of the scope

Default: false

vim.visuals.indent-blankline.setupOpts.scope.show_exact_scope Link copied!

Type: boolean

Show the scope underline at the exact start of the scope, even if that's to the right of the indentation guide

Default: false

vim.visuals.indent-blankline.setupOpts.scope.show_start Link copied!

Type: boolean

Show an underline on the first line of the scope

Default: false

vim.visuals.indent-blankline.setupOpts.viewport_buffer.max Link copied!

Type: signed integer

Number of lines above and below of what is currently visible in the window

Default: 500

vim.visuals.indent-blankline.setupOpts.viewport_buffer.min Link copied!

Type: signed integer

Number of lines above and below of what is currently visible in the window

Default: 30

vim.visuals.indent-blankline.setupOpts.whitespace.highlight Link copied!

Type: null or string or list of string

The highlight group(s) applied to whitespace.

See :help ibl.config.whitespace.highlight.

Default: null

vim.visuals.indent-blankline.setupOpts.whitespace.remove_blankline_trail Link copied!

Type: boolean

Remove trailing whitespace on blanklines

Default: true

vim.visuals.nvim-cursorline.enable Link copied!

Type: boolean

Whether to enable cursor word and line highlighting [nvim-cursorline].

Default: false
Example: true

vim.visuals.nvim-cursorline.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of nvim-cursorline

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.visuals.nvim-cursorline.setupOpts.cursorline.enable Link copied!

Type: boolean

Whether to enable cursor line highlighting.

Default: false
Example: true

vim.visuals.nvim-cursorline.setupOpts.cursorline.number Link copied!

Type: boolean

If true, vim.wo.cursorlineopt will be set to "number" when the trigger conditions are met.

Default: false

vim.visuals.nvim-cursorline.setupOpts.cursorline.timeout Link copied!

Type: signed integer

Cursorline timeout

Default: 1000

vim.visuals.nvim-cursorline.setupOpts.cursorword.enable Link copied!

Type: boolean

Whether to enable cursor word highlighting.

Default: false
Example: true

vim.visuals.nvim-cursorline.setupOpts.cursorword.hl.underline Link copied!

Type: boolean

Whether to underline matching cursorword

Default: true

vim.visuals.nvim-cursorline.setupOpts.cursorword.min_length Link copied!

Type: signed integer

The min_length option defines the minimum number of characters a word must have to be highlighted as a "cursor word." Any word shorter than this value will be ignored and not highlighted.

Default: 3

vim.visuals.nvim-cursorline.setupOpts.cursorword.timeout Link copied!

Type: signed integer

Cursorword timeout

Default: 1000

vim.visuals.nvim-scrollbar.enable Link copied!

Type: boolean

Whether to enable extensible Neovim Scrollbar [nvim-scrollbar].

Default: false
Example: true

vim.visuals.nvim-scrollbar.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of scrollbar-nvim

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.visuals.nvim-scrollbar.setupOpts.excluded_filetypes Link copied!

Type: list of string

Filetypes to hide the scrollbar on

Default: [ "prompt" "TelescopePrompt" "noice" "NvimTree" "neo-tree" "alpha" "notify" "Navbuddy" "fastaction_popup" ]

vim.visuals.nvim-web-devicons.enable Link copied!

Type: boolean

Whether to enable Neovim dev icons [nvim-web-devicons].

Default: false
Example: true

vim.visuals.nvim-web-devicons.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of nvim-web-devicons

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.visuals.nvim-web-devicons.setupOpts.color_icons Link copied!

Type: boolean

Whether to enable different highlight colors per icon.

Default: true
Example: true

vim.visuals.nvim-web-devicons.setupOpts.override Link copied!

Type: attribute set of (attribute set)

Your personal icon overrides.

You can specify color or cterm_color instead of specifying both of them. DevIcon will be appended to name

Default: { }
Example:
{
  zsh = {
    name = "Zsh";
    icon = "";
    color = "#428850";
    cterm_color = "65";
  };
}

vim.visuals.nvim-web-devicons.setupOpts.variant Link copied!

Type: null or one of "light", "dark"

Set the light or dark variant manually, instead of relying on background

Default: null

vim.visuals.rainbow-delimiters.enable Link copied!

Type: boolean

Whether to enable rainbow-delimiters.

Default: false
Example: true

vim.visuals.rainbow-delimiters.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of rainbow-delimiters

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.visuals.tiny-devicons-auto-colors.enable Link copied!

Type: boolean

Whether to enable alternative nvim-web-devicons icon colors [tiny-devicons-auto-colors].

Default: false
Example: true

vim.visuals.tiny-devicons-auto-colors.setupOpts Link copied!

Type: anything

Option table to pass into the setup function of tiny-devicons-auto-colors

You can pass in any additional options even if they're not listed in the docs

Default: { }

vim.visuals.tiny-devicons-auto-colors.setupOpts.factors.cache.enabled Link copied!

Type: boolean

Whether to enable caching of icon colors. This will greatly improve performance.

Default: true
Example: true

vim.visuals.tiny-devicons-auto-colors.setupOpts.factors.cache.path Link copied!

Type: luaInline

Path to the cache file

Default: { _type = "lua-inline"; expr = "vim.fn.stdpath(\"cache\") .. \"/tiny-devicons-auto-colors-cache.json\""; }

vim.withNodeJs Link copied!

Type: boolean

Whether to enable NodeJs support in the Neovim wrapper .

Default: false
Example: true

vim.withPython3 Link copied!

Type: boolean

Whether to enable Python3 support in the Neovim wrapper .

Default: false
Example: true

vim.withRuby Link copied!

Type: boolean

Whether to enable Ruby support in the Neovim wrapper. .

Default: true
Example: true