From 89a5ae514007bd6b7dd8dc95ba9dc63133cbfa4b Mon Sep 17 00:00:00 2001
From: Patrick Auernig <patrick.auernig@mykolab.com>
Date: Fri, 25 Aug 2023 15:38:17 +0200
Subject: [PATCH] Add escape keymap to close nvim-tree

---
 lua/valeth/packer/nvim-tree.lua | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/lua/valeth/packer/nvim-tree.lua b/lua/valeth/packer/nvim-tree.lua
index 2e1858d..58bc32c 100644
--- a/lua/valeth/packer/nvim-tree.lua
+++ b/lua/valeth/packer/nvim-tree.lua
@@ -3,10 +3,27 @@ local nvim_tree_api = require("nvim-tree.api")
 
 vim.keymap.set("n", "<Leader>ft", nvim_tree_api.tree.open)
 
+local function kmap_opts(bufnr, desc)
+    return {
+        desc = "nvim-tree: " .. desc,
+        buffer = bufnr,
+        noremap = true,
+        silent = true,
+        nowait = true
+    }
+end
+
+local function on_attach(bufnr)
+    nvim_tree_api.config.mappings.default_on_attach(bufnr)
+
+    vim.keymap.set("n", "<ESC>", nvim_tree_api.tree.close, kmap_opts(bufnr, "Close"))
+end
+
 nvim_tree.setup({
     view = {
         float = {
             enable = true
         }
-    }
+    },
+    on_attach = on_attach,
 })