### Node Types This section defines how to deal with different kinds of nodes (files, directories, symlinks etc.) based on their properties. One node can fall into multiple categories. For example, a node can have the _extension_ `md`, and also be a _file_. In that case, the properties from the more specific category i.e. _extension_ will be used. This can be configured using the `xplr.config.node_types` Lua API. #### xplr.config.node_types.directory.style The style for the directory nodes Type: [Style](https://xplr.dev/en/style) #### xplr.config.node_types.directory.meta.icon Metadata for the directory nodes. You can set as many metadata as you want. Type: nullable string Example: ```lua xplr.config.node_types.directory.meta.foo = "foo" xplr.config.node_types.directory.meta.bar = "bar" ``` #### xplr.config.node_types.file.style The style for the file nodes. Type: [Style](https://xplr.dev/en/style) #### xplr.config.node_types.file.meta.icon Metadata for the file nodes. You can set as many metadata as you want. Type: nullable string Example: ```lua xplr.config.node_types.file.meta.foo = "foo" xplr.config.node_types.file.meta.bar = "bar" ``` #### xplr.config.node_types.symlink.style The style for the symlink nodes. Type: [Style](https://xplr.dev/en/style) #### xplr.config.node_types.symlink.meta.icon Metadata for the symlink nodes. You can set as many metadata as you want. Type: nullable string Example: ```lua xplr.config.node_types.symlink.meta.foo = "foo" xplr.config.node_types.symlink.meta.bar = "bar" ``` #### xplr.config.node_types.mime_essence Metadata and style based on mime types. It is possible to use the wildcard `*` to match all mime sub types. It will be overwritten by the more specific sub types that are defined. Type: mapping of the following key-value pairs: - key: string - value: - key: string - value: [Node Type](https://xplr.dev/en/node-type) Example: ```lua xplr.config.node_types.mime_essence = { application = { -- application/* ["*"] = { meta = { icon = "a" } }, -- application/pdf pdf = { meta = { icon = "" }, style = { fg = "Blue" } }, -- application/zip zip = { meta = { icon = ""} }, }, } ``` #### xplr.config.node_types.extension Metadata and style based on extension. Type: mapping of the following key-value pairs: - key: string - value: [Node Type](https://xplr.dev/en/node-type) Example: ```lua xplr.config.node_types.extension.md = { meta = { icon = "" }, style = { fg = "Blue" } } xplr.config.node_types.extension.rs = { meta = { icon = "🦀" } } ``` #### xplr.config.node_types.special Metadata and style based on special file names. Type: mapping of the following key-value pairs: - key: string - value: [Node Type](https://xplr.dev/en/node-type) Example: ```lua xplr.config.node_types.special["Cargo.toml"] = { meta = { icon = "" } } xplr.config.node_types.special["Downloads"] = { meta = { icon = "" }, style = { fg = "Blue" } } ```