plugins.nvim-tree.enable

Whether to enable nvim-tree.

Type: boolean

Default: false

Example: true

Declared by:

plugins.nvim-tree.package

The nvim-tree package to use.

Type: package

Default: pkgs.vimPlugins.nvim-tree-lua

Declared by:

plugins.nvim-tree.autoClose

Automatically close

Type: boolean

Default: false

Declared by:

plugins.nvim-tree.autoReloadOnWrite

Reloads the explorer every time a buffer is written to.

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.disableNetrw

Disable netrw

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.extraOptions

These attributes will be added to the table parameter for the setup function. Typically, it can override NixVim’s default settings.

Type: attribute set of anything

Default: { }

Declared by:

plugins.nvim-tree.gitPackage

The git package to use.

Type: null or package

Default: pkgs.git

Declared by:

plugins.nvim-tree.hijackCursor

Keeps the cursor on the first letter of the filename when moving in the tree.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.hijackNetrw

Hijack netrw

Type: null or boolean or raw lua code

Default: null

Plugin default: true

Declared by:

plugins.nvim-tree.hijackUnnamedBufferWhenOpening

Opens in place of the unnamed buffer if it’s empty.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.ignoreBufferOnSetup

Will ignore the buffer, when deciding to open the tree on setup.

Type: boolean

Default: false

Declared by:

plugins.nvim-tree.ignoreFtOnSetup

List of filetypes that will prevent open_on_setup to open. You can use this option if you don’t want the tree to open in some scenarios (eg using vim startify).

Type: list of string

Default: [ ]

Declared by:

plugins.nvim-tree.onAttach

Function ran when creating the nvim-tree buffer. This can be used to attach keybindings to the tree buffer. When onAttach is “default”, it will use the older mapping strategy, otherwise it will use the newer one.

Example: { __raw = '' function(bufnr) local api = require(“nvim-tree.api”) vim.keymap.set(“n”, “<C-P>”, function() local node = api.tree.get_node_under_cursor() print(node.absolute_path) end, { buffer = bufnr, noremap = true, silent = true, nowait = true, desc = “print the node’s absolute path” }) end ''; }

Type: null or value “default” (singular enum) or raw lua code

Default: null

Plugin default: "default"

Declared by:

plugins.nvim-tree.openOnSetup

Will automatically open the tree when running setup if startup buffer is a directory, is empty or is unnamed. nvim-tree window will be focused.

Type: boolean

Default: false

Declared by:

plugins.nvim-tree.openOnSetupFile

Will automatically open the tree when running setup if startup buffer is a file. File window will be focused. File will be found if updateFocusedFile is enabled.

Type: boolean

Default: false

Declared by:

plugins.nvim-tree.preferStartupRoot

Prefer startup root directory when updating root directory of the tree. Only relevant when updateFocusedFile.updateRoot is true

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.reloadOnBufenter

Automatically reloads the tree on BufEnter nvim-tree.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.respectBufCwd

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

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.rootDirs

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

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

Default: null

Plugin default: [ ]

Declared by:

plugins.nvim-tree.selectPrompts

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

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by:

plugins.nvim-tree.sortBy

Changes how files within the same directory are sorted. Can be one of name, case_sensitive, modification_time, extension or a function. Type: string | function(nodes), Default: "name"

Function is passed a table of nodes to be sorted, each node containing:

  • absolute_path: string
  • executable: boolean
  • extension: string
  • link_to: string
  • name: string
  • type: "directory" | "file" | "link"

Example: sort by name length: sortBy = { __raw = '' local sort_by = function(nodes) table.sort(nodes, function(a, b) return #a.name < #b.name end) end ''; };

Type: null or one of “name”, “case_sensitive”, “modification_time”, “extension” or raw lua code

Default: null

Plugin default: "name"

Declared by:

plugins.nvim-tree.syncRootWithCwd

Changes the tree root directory on DirChanged and refreshes the tree.

Type: null or boolean or raw lua code

Default: null

Plugin default: false

Declared by: