From 718512f0982d558b2ae4adb2e7450ff5eb656d2f Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sun, 6 Aug 2023 16:26:40 +0200 Subject: [PATCH] plugins/neo-tree: adapt to latest upstream changes --- plugins/filetrees/neo-tree.nix | 29 ++++++++++++------- .../plugins/filetrees/neo-tree.nix | 11 +++++-- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/plugins/filetrees/neo-tree.nix b/plugins/filetrees/neo-tree.nix index 29d5ab14..93048b75 100644 --- a/plugins/filetrees/neo-tree.nix +++ b/plugins/filetrees/neo-tree.nix @@ -16,6 +16,11 @@ in { (basePluginPath ++ ["sourceSelector" "tabLabels"]) "Use `plugins.neo-tree.sourceSelector.sources` to achieve the same functionnality." ) + ( + mkRemovedOptionModule + (basePluginPath ++ ["closeFloatsOnEscapeKey"]) + "This option has been removed from upstream." + ) ]; options.plugins.neo-tree = let listOfRendererComponents = with types; listOf (either str attrs); @@ -32,6 +37,17 @@ in { helpers.mkCompositeOption "Window options" { mappings = mkMappingsOption defaults; }; + + mkFollowCurrentFileOption = default: { + enabled = helpers.defaultNullOpts.mkBool default '' + This will find and focus the file in the active buffer every time the current file is + changed while the tree is open. + ''; + + leaveDirsOpen = helpers.defaultNullOpts.mkBool false '' + `false` closes auto expanded dirs, such as with `:Neotree reveal`. + ''; + }; in helpers.extraOptionsOptions // { @@ -65,8 +81,6 @@ in { helpers.defaultNullOpts.mkBool false "Close Neo-tree if it is the last window left in the tab"; - closeFloatsOnEscapeKey = helpers.defaultNullOpts.mkBool true ""; - defaultSource = helpers.defaultNullOpts.mkStr "filesystem" ""; enableDiagnostics = helpers.defaultNullOpts.mkBool true ""; @@ -840,10 +854,7 @@ in { helpers.defaultNullOpts.mkInt 50 "max number of search results when using filters"; - followCurrentFile = helpers.defaultNullOpts.mkBool false '' - This will find and focus the file in the active buffer every time the current file is - changed while the tree is open. - ''; + followCurrentFile = mkFollowCurrentFileOption false; hijackNetrwBehavior = helpers.defaultNullOpts.mkEnumFirstDefault @@ -865,10 +876,7 @@ in { buffers = helpers.mkCompositeOption "Buffers options" { bindToCwd = helpers.defaultNullOpts.mkBool true "Bind to current working directory."; - followCurrentFile = helpers.defaultNullOpts.mkBool true '' - This will find and focus the file in the active buffer every time the current file is - changed while the tree is open. - ''; + followCurrentFile = mkFollowCurrentFileOption true; groupEmptyDirs = helpers.defaultNullOpts.mkBool true @@ -1032,7 +1040,6 @@ in { add_blank_line_at_top = cfg.addBlankLineAtTop; auto_clean_after_session_restore = cfg.autoCleanAfterSessionRestore; close_if_last_window = cfg.closeIfLastWindow; - close_floats_on_escape_key = cfg.closeFloatsOnEscapeKey; default_source = cfg.defaultSource; enable_diagnostics = cfg.enableDiagnostics; enable_git_status = cfg.enableGitStatus; diff --git a/tests/test-sources/plugins/filetrees/neo-tree.nix b/tests/test-sources/plugins/filetrees/neo-tree.nix index 858ed87e..6adc8193 100644 --- a/tests/test-sources/plugins/filetrees/neo-tree.nix +++ b/tests/test-sources/plugins/filetrees/neo-tree.nix @@ -14,7 +14,6 @@ addBlankLineAtTop = false; autoCleanAfterSessionRestore = false; closeIfLastWindow = false; - closeFloatsOnEscapeKey = true; defaultSource = "filesystem"; enableDiagnostics = true; enableGitStatus = true; @@ -360,13 +359,19 @@ }; groupEmptyDirs = false; searchLimit = 50; - followCurrentFile = false; + followCurrentFile = { + enabled = false; + leaveDirsOpen = false; + }; hijackNetrwBehavior = "open_default"; useLibuvFileWatcher = false; }; buffers = { bindToCwd = true; - followCurrentFile = true; + followCurrentFile = { + enabled = true; + leaveDirsOpen = false; + }; groupEmptyDirs = true; window = { mappings = {