-
Notifications
You must be signed in to change notification settings - Fork 272
Changelog
cseickel edited this page Aug 26, 2023
·
59 revisions
This page will summarize the changes between versions, starting with 2.0.
This is the latest major version. It contains the following Breaking Changes since 2.x:
- Default icons now point to Nerd Fonts v3 symbols
- The original user commands have been removed:
NeoTreeCloseNeoTreeFloatNeoTreeFocusNeoTreeShowNeoTreeRevealNeoTreeRevealInSplitNeoTreeShowInSplitNeoTreeFloatToggleNeoTreeFocusToggleNeoTreeShowToggleNeoTreeRevealToggleNeoTreeRevealInSplitToggleNeoTreeShowInSplitToggleNeoTreePasteConfigNeoTreeSetLogLevelNeoTreeLogs- Please use the newer
Neotreecommand instead
- Removed
close_floats_on_escape_keyoption, replaced withwindow.mappingsmapped to the"cancel"command
NOTE: Starting with version 2.44, I will be using automatically generated release notes and will no longer be maintaining this page separately. Please go to the Releases page to see the changelog going forward.
- Hide diagnostics and git_status when a directory is expanded (#573)
- Fix nvim-window-picker buftype rules in readme (#570)
- Choose correct split direction when Neo-tree is only window, fixes #576 (#577)
- Use pcall correctly to fix 325 error, fixes #567
- Handle 325 error when using window picker, fixes #567
- Clickable filesystem source winbar component closes neo-tree immediately #565
- Plain match "%" in command line completion
- Add
Preview.is_active()function for use in custom events and commands
- Fix path issue on Windows when browsing drive roots
- Allow git commands to be used from all sources
- Add
never_show_by_patternoption - Ignore null-ls temp files in file watcher events
- Fail gracefully when preview toggle attempted when position=current
- Fix for "preview window freezes when opening new folder"
- Fix regression on git status staged markers
- Improve documentation for mappings
- Set default mapping for preview mode
- Add
use_floatoption for preview mode - Do not notify log level when it is set
- Add diagnostic component config options to override symbols and highlights
- Add
"drop"and"tab_drop"commands
- Do not show staged icon when git status is unknown
- Fix pluralization in "hidden items" hints
- Set a better default for NC popup titlebar style
- Soft release of "preview" mode commands, not yet complete or mapped by default.
- Use
pcallwhen closing window that might have been closed already, fixesfloat togglecommands - Fire
"neo-tree-buffer-leave"when switching to a different neo-tree window
- Add path support to
hide_by_pattern - Add
right_paddingoption to name component - Consider signcol and linenr when right aligning symbols
- Add documentation for source selector
- Specify git commands as lists instead of strings, fixes windows quoting problems
- Add Neo-tree window before/after open/close events
- Restore focus to the last visited window when a focused Neo-tree window is closed
- Only allow
deleteon files and directories
- Allow setting
right_paddingon container in global config - Make floating windows resize on VimResize event
- Add
always_showoption infilesystem.filtered_itemsconfig
- Fix multiple memory leaks
- Do not check git ignored if not filtering them and git status is not enabled
- add
prev_source/next_sourcecommands mapped to</> - new option
add_blank_line_at_top
- execute all git commands without shell
- handle directories with only hidden items
- remove a memory leak from fs_scan, there are still more leaks to find
- Optional source selector tabs for winbar or statusline
- Support indent markers for messages (hidden items)
- Do not hide root node of lazy loaded folder
- Ensure dialogs are within editor on gui clients
- Enable opening at top and bottom positions
- Add
retain_hidden_root_indentoption
- Remove extra space on right related to #408
- Remove indent from root node if it is hidden
- Support default configs from external sources
- Add support for external sources
- Fix for setting
use_got_status_colors = falsein global config - Fix incorrect window_picker tag in README
- Add
hide_root_nodeoption -
Auto refresh on git status / branch changes! Requires
use_libuv_file_watcher = true - Make
*_with_window_pickercommands also invoke event handlers - Disable
signcolumnin Neo-tree window by default
- Use
++nestedin WinEnter autocmd so thatclose_if_last_windowraisesVimLeaveevent - Display git ignored items properly
- Fix double wide symbol clipping in some terminals
- Add options to change what cwd is bound to, see
:h neo-tree-cwd - Add
expand_all_nodescommand, not mapped by default - Add
fuzzy_finder_directorycommand, mapped toD - Add
hide_root_nodeoption
- Use terminal title as name in buffers list
- Support multiple filetypes per ext in nesting
- Force disable colorcolumn in neo-tree windows
- Handle
revealflag in buffer and git status sources
- Fix version check for WinSeparator highlight
- Show hidden count by default
- Don't use
WinSeparatorhighlight group on Neovim version < 7.0 - Normalize user mappings at global level
- Support absolute and relative paths in
copyandmovecommands - Add config option for custom sorting
- Support mapping in input prompts
- Don't try to close the last window when *toggle commands are issued
- Refactor event queue backing array into linked list
- Remove extra messge on rename
- Make
focus_nodeopen folders to show node if needed, which fixes thenext_get_modifiedcommand -
use_default_mappings = falsenow only affects mappings instead of all window options
- Optimize git status processing for large repos
- Respect git's
status:showUntrackedFiles = nooption - Use
vim.notifyfor log messages - Add
[g]gmappings to jump to next/previous git modified file - Add
NeoTreeGitStagedandNeoTreeGitUnstagedhighlight groups - Force showing hidden file if it is the target of a "reveal" action
- Ensure
buflistedis set when opening files - Prevent
Neotree currentwindows from hijacking a Neotree sidebar - Allow backticks in git status commit messages
- add
enable_refresh_on_writeoption to disable auto refresh
- Fix "invalid buffer id" error introduced in the prior release
- Refactored git status async code, it's possible the execution time can be altered by the change
- Respond to Fugitive's "FugitiveChanged" autocmd to refresh git status as you issue Fugitive commands
- Open with window picker commands will now toggle directories like the normal open command
- Add "NeoTreeWinSeparator" highlight
- Show terminals in "buffers" source
- Add
group_empty_dirsoption, default to true for "buffers" and false for "filesystem" - Improve efficiency of modified file markers [+]
- Cancel long running git status update when vim closes
- Respect
bind_to_cwd = falseduring refreshes - Reduce unnecessary background refreshes with more precise event handling
- Added options to display the number of hidden items in folders
- If the root folder has nothing but hidden items, that message will be displayed regardless of what that setting is
- Adding a node ending with
/once again creates a directory as it should (recent regression) - Correctly handle
hijack_netrw_behavior = "disabled"
- Added help menu, shown with
?by default - Added ability to pass config to commands in mappings
- Added
config.show_pathoption toaddandadd_directorycommands, which can be one of:- "none", the default value
- "absolute", shows full path of the folder you are adding a node to
- "relative", shows the path relative to Neo-tree's current root
- Update file names of open buffers when a file or directory is renamed in the tree
- Auto focus newly created nodes
- Support visual selection for
delete,cut_to_clipboard, andcopy_to_clipboardcommands
- Support splitting a neo-tree window opened in "current" position, this now creates a new tree instead of letting the buffer be shown in two places.
- Add commands to open splits with window picker
- Prevent duplicate [No Name] buffers on netrw hijack
- Add
enable_character_fadeoption tocontainercomponent - Add support for hidden files on Windows
- Make
nowaitthe default setting for the all mappings except for<space> - Allow clearing default mappings with
use_default_mappings = false
- Skip git warnings when parsing status
- Reset faded highlights on color scheme change
- Fix many path related issues on Windows, including:
- git ignored
- navigate up command
- nested file issues
- diagnostic icons for folders
- Fix refresh after adding file with open nested files
- Add
NeoTreeSignColumnhighlight group - Add
hide_by_patternoption tofilesystem.filtered_items
- fix performance issues with check git ignored code
- fix error with delete directory action on Windows
- Fix possessive "its" on the README
- Use native recursive delete for directories (
rm -Rf) - Optimize resize timer to lower cpu usage
- Add
mapping_optionsconfig to setmap-argumentslikenowait - Add built-in "open_with_window_picker" command
- Make
async_directory_scanoption take three way choice: "always", "never", or "auto"
- Fix git status logic to show conflicts correctly
- Various tweaks and optimizations to improve speed
- Including reworked async filesystem scan
- and opening sync from user commands to get the fastest response time
- and reserving async loading for background refreshes
- Refactor async directory scan to make it parallel
- Add an option to scan synchronously (which is usually faster):
filesystem = { async_directory_scan = false } - Support changing the git base for git status using
Neotree <gitref>orNeotree git_base=<gitref> - Add
NeoTreeEndOfBufferhighlight group
- Handle git ignored logic correctly for files that are both ignored and dotfiles
- Add
resize_timer_intervalconfig option
- Add highlight groups:
- NeoTreeStatusLine: StatusLine override in Neo-tree window.
- NeoTreeStatusLineNC: StatusLineNC override in Neo-tree window.
- NeoTreeVertSplit: VertSplit override in Neo-tree window.
- Update README Quickstart to move
filesystemonly mappings out of the global mapping config - Fix the
navigate_upandset_rootcommands on thebufferssource
- Add container component, which allows right aligning components and character fading for overflow
- Add "open_tab" command
- Add "modified" component to show which files have unsaved changes
- Handle git-ignore properly for dot (hidden) files
- Added
sort_case_insensitiveoption - Support variable
last_indent_markerwidth - Add new events for setting local options:
"neo_tree_buffer_enter""neo_tree_buffer_leave""neo_tree_popup_buffer_enter""neo_tree_popup_buffer_leave"
- Suppress non-critical errors when opening file (e.g. E325)
- Add ++nested to DirChanged event
- Ignore git errors when checking ignored outside of a repo
- Fix reveal_force_cwd when there is no change needed
- Fix global mapped commands missing from buffers, remove mappings that don't apply to git_status
- Fix "toggle_node" command to lazy load directories if needed
- Stop swallowing global mappings starting with default mapped keys with "nowait" option
- Respect
enable_git_statusoption - Handle
dirargument correctly in user command
- Handle changing cwd correctly during reveal
- Fix typos in README
- Fix errors in help file related to copy/paste commands
- Add
"toggle_node"command, mapped to space. This toggles both nested files and directories - The
"open"command no longer expands nested files, it just opens them. - Never hide nested files, since they are already hidden by being nested
- Add
"add_directory"command, mapped toAby default
- Changed Diagnostic sign lookup and highlights from old style "
LspDiagnosticsWarning" to the new style "DiagnosticWarn" - Changed default
copy_to_clipboard_copymapping fromctoy
- All
NeoTree*commands have been deprecated, switch to the newNeotreecommand - The
filesystem.filtersoption has been deprecated, please usefilesystem.filtered_itemsinstead.- The
show_hiddenoption has been deprecated, please usehide_dotfilesinstead. - The
respect_gitignoreoption has been deprecated, please usehide_gitignoredinstead.
- The
- The position previously known as
"split"has been renamed to"current"- The
filesystem.hijack_netrw_behavior="open_split"option has been renamed to"open_current". - The
window.position="split"options has been changed towindow.position="current" -
:NeoTreeShowInSplitbecomes:Neotree show current
- The
- All lua methods in the
neo-treemodule for opening the tree have been deprecated, use the:Neotreecommand orneo-tree.command.execute()instead. -
neo-tree.utils.table_copyhas been deprecated, usevim.deepcopyinstead -
neo-tree.utils.table_mergehas been deprecated, usevim.tbl_deep_extend("force", base_table, override_table)instead - Other methods may have been deprecated, please check the source for the method(s) you are using.
- Added file nesting feature, allows to group related files such as a
.tswith it's compiled.js - Added new
:Neotreecommand which supersedes all of the prior commands with a single flexible cli style interface - Added new git_status icons
- Allow
windowoptions, including mappings, to be defined at globally at the root level of the config - Allow
renderersto be defined globally at the root level of the config. -
filesystem.find_argscan now be defined as a mapping of cmd = { args, to, pass }, to ensure the right format is used for the command available on your current system. The old style of a simple array is also acceptable. - Improved
filesystem.filtered_itemsconfig to clarify the options.- Added
hide_by_nameandnever_showoptions tofiltered_items - Added ability to toggle visibility of "filtered" items but show them in a different highlight group (grey by default)
- Added
-
NeoTreeDirectoryNameandNeoTreeDirectoryIconhighlight groups now link toDirectoryby default -
"fuzzy_finder"search will now auto select the first file in the search results.