@@ -46,6 +46,7 @@ CONTENTS *nvim-tree*
4646 7. Mappings | nvim-tree-mappings |
4747 7.1 Mappings: Default | nvim-tree-mappings-default |
4848 8. Highlight | nvim-tree-highlight |
49+ 8.1 Highlight Overhaul | nvim-tree-highlight-overhaul |
4950 9. Events | nvim-tree-events |
5051 10. Prompts | nvim-tree-prompts |
5152 11. OS Specific Restrictions | nvim-tree-os-specific |
@@ -113,7 +114,7 @@ Setup the plugin in your `init.lua` >
113114 vim.g.loaded_netrw = 1
114115 vim.g.loaded_netrwPlugin = 1
115116
116- -- set termguicolors to enable highlight groups
117+ -- optionally enable 24-bit colour
117118 vim.opt.termguicolors = true
118119
119120 -- empty setup using defaults
@@ -387,8 +388,8 @@ Following is the default configuration. See |nvim-tree-opts| for details.
387388 indent_width = 2,
388389 special_files = { "Cargo.toml", "Makefile", "README.md", "readme.md" },
389390 symlink_destination = true,
390- highlight_git = false ,
391- highlight_diagnostics = false ,
391+ highlight_git = "none" ,
392+ highlight_diagnostics = "none" ,
392393 highlight_opened_files = "none",
393394 highlight_modified = "none",
394395 highlight_bookmarks = "none",
@@ -789,8 +790,8 @@ Use nvim-tree in a floating window.
789790==============================================================================
790791 5.3 OPTS: RENDERER *nvim-tree-opts-renderer*
791792
792- Highlight precedence:
793- clipboard > diagnostics > bookmarked > modified > opened > git
793+ Highlight precedence, additive :
794+ git < opened < modified < bookmarked < diagnostics < copied < cut
794795
795796*nvim-tree.renderer.add_trailing*
796797Appends a trailing slash to folder names.
@@ -832,14 +833,16 @@ Whether to show the destination of the symlink.
832833 Type: `boolean ` , Default: `true`
833834
834835*nvim-tree.renderer.highlight_git*
835- Enable highlight for git attributes using `NvimTreeGit* ` highlight groups.
836+ Enable highlight for git attributes using `NvimTreeGit* HL ` highlight groups.
836837Requires | nvim-tree.git.enable |
837- Type: `boolean ` , Default: `false`
838+ Value can be `" none" ` , `" icon" ` , `" name" ` or `" all" ` .
839+ Type: `string ` , Default: `" none" `
838840
839841*nvim-tree.renderer.highlight_diagnostics*
840- Enable highlight for diagnostics using `LspDiagnosticsError * Text ` highlight groups.
842+ Enable highlight for diagnostics using `NvimTreeDiagnostic * HL ` highlight groups.
841843Requires | nvim-tree.diagnostics.enable |
842- Type: `boolean ` , Default: `false`
844+ Value can be `" none" ` , `" icon" ` , `" name" ` or `" all" ` .
845+ Type: `string ` , Default: `" none" `
843846
844847*nvim-tree.renderer.highlight_opened_files*
845848Highlight icons and/or names for | bufloaded() | files using the
@@ -892,8 +895,8 @@ Configuration options for tree indent markers.
892895*nvim-tree.renderer.icons*
893896Configuration options for icons.
894897
895- Icon sign column precedence:
896- diagnostics > modified > git > bookmarked
898+ Icon order and sign column precedence:
899+ git < modified < bookmarked < diagnostics
897900
898901 *nvim-tree.renderer.icons.web_devicons*
899902 Configure optional plugin `" nvim-tree/nvim-web-devicons" `
@@ -907,7 +910,7 @@ Icon sign column precedence:
907910 Type: `boolean ` , Default: `true`
908911
909912 *nvim-tree.renderer.icons.web_devicons.file.color*
910- Use icon colors for files.
913+ Use icon colors for files. Overrides highlight groups.
911914 Type: `boolean ` , Default: `true`
912915
913916 *nvim-tree.renderer.icons.web_devicons.folder*
@@ -919,7 +922,7 @@ Icon sign column precedence:
919922 Type: `boolean ` , Default: `false`
920923
921924 *nvim-tree.renderer.icons.web_devicons.folder.color*
922- Use icon colors for folders.
925+ Use icon colors for folders. Overrides highlight groups.
923926 Type: `boolean ` , Default: `true`
924927
925928 *nvim-tree.renderer.icons.git_placement*
@@ -2237,42 +2240,13 @@ groups.
22372240Example | :highlight | >
22382241 :hi NvimTreeSymlink guifg=blue gui=bold,underline
22392242<
2240- You should have 'termguicolors' enabled, otherwise, colors will not be
2241- applied.
2243+ It is recommended to enable 'termguicolors' for the more pleasant 24-bit colours.
22422244
22432245To view the active highlight groups run `:so $VIMRUNTIME/syntax/hitest.vim`
22442246as per | :highlight |
22452247
2246- Default linked group follows name.
2248+ Default linked group or definition follows name.
22472249
2248- File Text: >
2249- NvimTreeSymlink
2250- NvimTreeExecFile
2251- NvimTreeOpenedFile
2252- NvimTreeModifiedFile
2253- NvimTreeSpecialFile
2254- NvimTreeImageFile
2255- <
2256- Folder Text: >
2257- NvimTreeFolderName Directory
2258- NvimTreeEmptyFolderName Directory
2259- NvimTreeOpenedFolderName Directory
2260- NvimTreeSymlinkFolderName Directory
2261- NvimTreeRootFolder
2262- <
2263- Icon: >
2264- NvimTreeFileIcon
2265- NvimTreeOpenedFileIcon NvimTreeOpenedFile
2266- NvimTreeSymlinkIcon
2267- NvimTreeFolderIcon
2268- NvimTreeOpenedFolderIcon NvimTreeFolderIcon
2269- NvimTreeClosedFolderIcon NvimTreeFolderIcon
2270- NvimTreeFolderArrowClosed NvimTreeIndentMarker
2271- NvimTreeFolderArrowOpen NvimTreeIndentMarker
2272- <
2273- Indent: >
2274- NvimTreeIndentMarker
2275- <
22762250Standard: >
22772251 NvimTreeNormal Normal
22782252 NvimTreeNormalFloat NormalFloat
@@ -2291,67 +2265,163 @@ Standard: >
22912265 NvimTreeStatusLine StatusLine
22922266 NvimTreeStatusLineNC StatusLineNC
22932267<
2268+ File Text: >
2269+ NvimTreeExecFile Constant
2270+ NvimTreeImageFile PreProc
2271+ NvimTreeOpenedFile Constant
2272+ NvimTreeSpecialFile PreProc
2273+ NvimTreeSymlink Statement
2274+ <
2275+ Folder Text: >
2276+ NvimTreeRootFolder PreProc
2277+ NvimTreeFolderName Directory
2278+ NvimTreeEmptyFolderName Directory
2279+ NvimTreeOpenedFolderName Directory
2280+ NvimTreeSymlinkFolderName Directory
2281+ <
2282+ File Icons: >
2283+ NvimTreeFileIcon NvimTreeNormal
2284+ NvimTreeSymlinkIcon NvimTreeNormal
2285+ NvimTreeOpenedFileIcon NvimTreeOpenedFile
2286+ <
2287+ Folder Icons: >
2288+ NvimTreeFolderIcon guifg=#8094b4 ctermfg=Blue
2289+ NvimTreeOpenedFolderIcon NvimTreeFolderIcon
2290+ NvimTreeClosedFolderIcon NvimTreeFolderIcon
2291+ NvimTreeFolderArrowClosed NvimTreeIndentMarker
2292+ NvimTreeFolderArrowOpen NvimTreeIndentMarker
2293+ <
2294+ Indent: >
2295+ NvimTreeIndentMarker NvimTreeFileIcon
2296+ <
2297+ Picker: >
2298+ NvimTreeWindowPicker guifg=#ededed guibg=#4493c8 gui=bold ctermfg=White ctermbg=Cyan
2299+ <
2300+ Live Filter: >
2301+ NvimTreeLiveFilterPrefix PreProc
2302+ NvimTreeLiveFilterValue ModeMsg
2303+ <
22942304Clipboard: >
22952305 NvimTreeCopiedHL SpellRare
22962306 NvimTreeCutHL SpellBad
22972307<
2298- Bookmark Icon: >
2299- NvimTreeBookmark
2300- <
2301- Bookmark Highlight: >
2308+ Bookmarks: >
2309+ NvimTreeBookmarkIcon Constant
23022310 NvimTreeBookmarkHL SpellLocal
23032311<
2304- Picker: >
2305- NvimTreeWindowPicker
2312+ Modified: >
2313+ NvimTreeModifiedIcon Constant
2314+ NvimTreeModifiedFileHL NvimTreeModifiedIcon
2315+ NvimTreeModifiedFolderHL NvimTreeModifiedIcon
23062316<
2307- Live Filter: >
2308- NvimTreeLiveFilterPrefix
2309- NvimTreeLiveFilterValue
2317+ Opened: >
2318+ NvimTreeOpenedHL Constant
23102319<
23112320Git Icon: >
2312- NvimTreeGitDirty
2313- NvimTreeGitStaged
2314- NvimTreeGitMerge
2315- NvimTreeGitRenamed
2316- NvimTreeGitNew
2317- NvimTreeGitDeleted
2318- NvimTreeGitIgnored Comment
2321+ NvimTreeGitDeletedIcon Statement
2322+ NvimTreeGitDirtyIcon Statement
2323+ NvimTreeGitIgnoredIcon Comment
2324+ NvimTreeGitMergeIcon Constant
2325+ NvimTreeGitNewIcon PreProc
2326+ NvimTreeGitRenamedIcon PreProc
2327+ NvimTreeGitStagedIcon Constant
23192328<
2320- Git File Text : >
2321- NvimTreeFileDirty NvimTreeGitDirty
2322- NvimTreeFileStaged NvimTreeGitStaged
2323- NvimTreeFileMerge NvimTreeGitMerge
2324- NvimTreeFileRenamed NvimTreeGitRenamed
2325- NvimTreeFileNew NvimTreeGitNew
2326- NvimTreeFileDeleted NvimTreeGitDeleted
2327- NvimTreeFileIgnored NvimTreeGitIgnored
2329+ Git File File Highlight : >
2330+ NvimTreeGitFileDeletedHL NvimTreeGitDeletedIcon
2331+ NvimTreeGitFileDirtyHL NvimTreeGitDirtyIcon
2332+ NvimTreeGitFileIgnoredHL NvimTreeGitIgnoredIcon
2333+ NvimTreeGitFileMergeHL NvimTreeGitMergeIcon
2334+ NvimTreeGitFileNewHL NvimTreeGitNewIcon
2335+ NvimTreeGitFileRenamedHL NvimTreeGitRenamedIcon
2336+ NvimTreeGitFileStagedHL NvimTreeGitStagedIcon
23282337<
2329- Git Folder Text : >
2330- NvimTreeFolderDirty NvimTreeFileDirty
2331- NvimTreeFolderStaged NvimTreeFileStaged
2332- NvimTreeFolderMerge NvimTreeFileMerge
2333- NvimTreeFolderRenamed NvimTreeFileRenamed
2334- NvimTreeFolderNew NvimTreeFileNew
2335- NvimTreeFolderDeleted NvimTreeFileDeleted
2336- NvimTreeFolderIgnored NvimTreeFileIgnored
2338+ Git Folder Folder Highlight : >
2339+ NvimTreeGitFolderDeletedHL NvimTreeGitFileDeletedHL
2340+ NvimTreeGitFolderDirtyHL NvimTreeGitFileDirtyHL
2341+ NvimTreeGitFolderIgnoredHL NvimTreeGitFileIgnoredHL
2342+ NvimTreeGitFolderMergeHL NvimTreeGitFileMergeHL
2343+ NvimTreeGitFolderNewHL NvimTreeGitFileNewHL
2344+ NvimTreeGitFolderRenamedHL NvimTreeGitFileRenamedHL
2345+ NvimTreeGitFolderStagedHL NvimTreeGitFileStagedHL
23372346<
23382347Diagnostics Icon: >
2339- NvimTreeLspDiagnosticsError DiagnosticError
2340- NvimTreeLspDiagnosticsWarning DiagnosticWarn
2341- NvimTreeLspDiagnosticsInformation DiagnosticInfo
2342- NvimTreeLspDiagnosticsHint DiagnosticHint
2348+ NvimTreeDiagnosticErrorIcon DiagnosticError
2349+ NvimTreeDiagnosticWarnIcon DiagnosticWarn
2350+ NvimTreeDiagnosticInfoIcon DiagnosticInfo
2351+ NvimTreeDiagnosticHintIcon DiagnosticHint
2352+ <
2353+ Diagnostics File Highlight: >
2354+ NvimTreeDiagnosticErrorFileHL DiagnosticUnderlineError
2355+ NvimTreeDiagnosticWarnFileHL DiagnosticUnderlineWarn
2356+ NvimTreeDiagnosticInfoFileHL DiagnosticUnderlineInfo
2357+ NvimTreeDiagnosticHintFileHL DiagnosticUnderlineHint
23432358<
2344- Diagnostics File Text : >
2345- NvimTreeLspDiagnosticsErrorText NvimTreeLspDiagnosticsError
2346- NvimTreeLspDiagnosticsWarningText NvimTreeLspDiagnosticsWarning
2347- NvimTreeLspDiagnosticsInfoText NvimTreeLspDiagnosticsInformation
2348- NvimTreeLspDiagnosticsHintText NvimTreeLspDiagnosticsHint
2359+ Diagnostics Folder Highlight : >
2360+ NvimTreeDiagnosticErrorFolderHL NvimTreeDiagnosticErrorFileHL
2361+ NvimTreeDiagnosticWarnFolderHL NvimTreeDiagnosticWarnFileHL
2362+ NvimTreeDiagnosticInfoFolderHL NvimTreeDiagnosticInfoFileHL
2363+ NvimTreeDiagnosticHintFolderHL NvimTreeDiagnosticHintFileHL
23492364<
2350- Diagnostics Folder Text: >
2351- NvimTreeLspDiagnosticsErrorFolderText NvimTreeLspDiagnosticsErrorText
2352- NvimTreeLspDiagnosticsWarningFolderText NvimTreeLspDiagnosticsWarningText
2353- NvimTreeLspDiagnosticsInfoFolderText NvimTreeLspDiagnosticsInfoText
2354- NvimTreeLspDiagnosticsHintFolderText NvimTreeLspDiagnosticsHintText
2365+ ==============================================================================
2366+ 8.1 HIGHLIGHT OVERHAUL *nvim-tree-highlight-overhaul*
2367+
2368+ 2024-01-20: significant highlighting changes, some breaking:
2369+
2370+ - Full cterm support.
2371+ - Standard vim highlight groups such | DiagnosticUnderlineError | are now the
2372+ defaults.
2373+ - Highlight groups named consistently.
2374+ - All `highlight_xxx` e.g. | nvim-tree.renderer.highlight_git | are granular,
2375+ allowing `" none" ` , `" icon" ` , `" name" ` or `" all" `
2376+ - `highlight_xxx` has highlight groups for both File and Folder
2377+ - `highlight_xxx` is additive instead of overwriting. See
2378+ | nvim-tree-opts-renderer | for precedence.
2379+
2380+ Legacy highlight group are still obeyed when they are defined and the current
2381+ highlight group is not, hard linking as follows: >
2382+
2383+ NvimTreeModifiedIcon NvimTreeModifiedFile
2384+ NvimTreeOpenedHL NvimTreeOpenedFile
2385+ NvimTreeBookmarkIcon NvimTreeBookmark
2386+
2387+ NvimTreeGitDeletedIcon NvimTreeGitDeleted
2388+ NvimTreeGitDirtyIcon NvimTreeGitDirty
2389+ NvimTreeGitIgnoredIcon NvimTreeGitIgnored
2390+ NvimTreeGitMergeIcon NvimTreeGitMerge
2391+ NvimTreeGitNewIcon NvimTreeGitNew
2392+ NvimTreeGitRenamedIcon NvimTreeGitRenamed
2393+ NvimTreeGitStagedIcon NvimTreeGitStaged
2394+
2395+ NvimTreeGitFileDeletedHL NvimTreeFileDeleted
2396+ NvimTreeGitFileDirtyHL NvimTreeFileDirty
2397+ NvimTreeGitFileIgnoredHL NvimTreeFileIgnored
2398+ NvimTreeGitFileMergeHL NvimTreeFileMerge
2399+ NvimTreeGitFileNewHL NvimTreeFileNew
2400+ NvimTreeGitFileRenamedHL NvimTreeFileRenamed
2401+ NvimTreeGitFileStagedHL NvimTreeFileStaged
2402+
2403+ NvimTreeGitFolderDeletedHL NvimTreeFolderDeleted
2404+ NvimTreeGitFolderDirtyHL NvimTreeFolderDirty
2405+ NvimTreeGitFolderIgnoredHL NvimTreeFolderIgnored
2406+ NvimTreeGitFolderMergeHL NvimTreeFolderMerge
2407+ NvimTreeGitFolderNewHL NvimTreeFolderNew
2408+ NvimTreeGitFolderRenamedHL NvimTreeFolderRenamed
2409+ NvimTreeGitFolderStagedHL NvimTreeFolderStaged
2410+
2411+ NvimTreeLspDiagnosticsError NvimTreeDiagnosticErrorIcon
2412+ NvimTreeLspDiagnosticsWarning NvimTreeDiagnosticWarnIcon
2413+ NvimTreeLspDiagnosticsInformation NvimTreeDiagnosticInfoIcon
2414+ NvimTreeLspDiagnosticsHint NvimTreeDiagnosticHintIcon
2415+
2416+ NvimTreeLspDiagnosticsErrorText NvimTreeDiagnosticErrorFileHL
2417+ NvimTreeLspDiagnosticsWarningText NvimTreeDiagnosticWarnFileHL
2418+ NvimTreeLspDiagnosticsInformationText NvimTreeDiagnosticInfoFileHL
2419+ NvimTreeLspDiagnosticsHintText NvimTreeDiagnosticHintFileHL
2420+
2421+ NvimTreeLspDiagnosticsErrorFolderText NvimTreeDiagnosticErrorFolderHL
2422+ NvimTreeLspDiagnosticsWarningFolderText NvimTreeDiagnosticWarnFolderHL
2423+ NvimTreeLspDiagnosticsInformationFolderText NvimTreeDiagnosticInfoFolderHL
2424+ NvimTreeLspDiagnosticsHintFolderText NvimTreeDiagnosticHintFolderHL
23552425<
23562426==============================================================================
23572427 9. EVENTS *nvim-tree-events*
0 commit comments