From 65ed47dbd41b0719d9b16c93086ae8becd6d81cc Mon Sep 17 00:00:00 2001 From: Thomas Smallwood Date: Sat, 22 Nov 2025 22:06:26 +0100 Subject: [PATCH] explorer on the right --- lazy-lock.json | 35 +++++++++++++++++++++++++++ lazyvim.json | 10 ++++++++ lua/plugins/snacks.lua | 55 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 100 insertions(+) create mode 100644 lazy-lock.json create mode 100644 lazyvim.json create mode 100644 lua/plugins/snacks.lua diff --git a/lazy-lock.json b/lazy-lock.json new file mode 100644 index 0000000..b0ddee7 --- /dev/null +++ b/lazy-lock.json @@ -0,0 +1,35 @@ +{ + "LazyVim": { "branch": "main", "commit": "28db03f958d58dfff3c647ce28fdc1cb88ac158d" }, + "blink.cmp": { "branch": "main", "commit": "b19413d214068f316c78978b08264ed1c41830ec" }, + "bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" }, + "catppuccin": { "branch": "main", "commit": "da33755d00e09bff2473978910168ff9ea5dc453" }, + "conform.nvim": { "branch": "master", "commit": "afce105eb47b0869dfafdac90d82f02ef2419d61" }, + "flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" }, + "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, + "gitsigns.nvim": { "branch": "main", "commit": "cdafc320f03f2572c40ab93a4eecb733d4016d07" }, + "grug-far.nvim": { "branch": "main", "commit": "b58b2d65863f4ebad88b10a1ddd519e5380466e0" }, + "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" }, + "lazydev.nvim": { "branch": "main", "commit": "5231c62aa83c2f8dc8e7ba957aa77098cda1257d" }, + "lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "7d527c76c43f46294de9c19d39c5a86317809b4b" }, + "mason.nvim": { "branch": "main", "commit": "57e5a8addb8c71fb063ee4acda466c7cf6ad2800" }, + "mini.ai": { "branch": "main", "commit": "bfb26d9072670c3aaefab0f53024b2f3729c8083" }, + "mini.icons": { "branch": "main", "commit": "ff2e4f1d29f659cc2bad0f9256f2f6195c6b2428" }, + "mini.pairs": { "branch": "main", "commit": "b316e68f2d242d5bd010deaab645daa27ed86297" }, + "neo-tree.nvim": { "branch": "main", "commit": "a981ef287503c668434bffa78071d5b9ff92c12f" }, + "noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" }, + "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, + "nvim-lint": { "branch": "master", "commit": "d1118791070d090777398792a73032a0ca5c79ff" }, + "nvim-lspconfig": { "branch": "master", "commit": "a2a277114dbb93e98f04b5087a9b832918b7da15" }, + "nvim-treesitter": { "branch": "main", "commit": "bb83a676128d95c865e40ba71376d883bdadec14" }, + "nvim-treesitter-textobjects": { "branch": "main", "commit": "227165aaeb07b567fb9c066f224816aa8f3ce63f" }, + "nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" }, + "persistence.nvim": { "branch": "main", "commit": "b20b2a7887bd39c1a356980b45e03250f3dce49c" }, + "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, + "snacks.nvim": { "branch": "main", "commit": "fe7cfe9800a182274d0f868a74b7263b8c0c020b" }, + "todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" }, + "tokyonight.nvim": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" }, + "trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" }, + "ts-comments.nvim": { "branch": "main", "commit": "123a9fb12e7229342f807ec9e6de478b1102b041" }, + "which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" } +} diff --git a/lazyvim.json b/lazyvim.json new file mode 100644 index 0000000..d8bcaf6 --- /dev/null +++ b/lazyvim.json @@ -0,0 +1,10 @@ +{ + "extras": [ + + ], + "install_version": 8, + "news": { + "NEWS.md": "11866" + }, + "version": 8 +} \ No newline at end of file diff --git a/lua/plugins/snacks.lua b/lua/plugins/snacks.lua new file mode 100644 index 0000000..3cc8ddb --- /dev/null +++ b/lua/plugins/snacks.lua @@ -0,0 +1,55 @@ +return { + -- Import the snacks explorer extra + { import = "lazyvim.plugins.extras.editor.snacks_explorer" }, + + -- Configure snacks.nvim + { + "folke/snacks.nvim", + keys = { + { + "\\", + function() + Snacks.explorer() + end, + desc = "Toggle Snacks Explorer (Picker)", + }, + { "e", false }, + }, + opts = { + scroll = { + enabled = false, -- Disable scrolling animations + }, + picker = { + sources = { + explorer = { + hidden = false, -- Show hidden files by default + layout = { preset = "right" }, -- Position on the right + ignored = false, + git_status = true, -- Show git status + diagnostics = true, -- Show diagnostics + follow_file = true, -- Follow current file + win = { + list = { + keys = { + ["P"] = "toggle_preview", -- Custom key + ["L"] = function() + -- Get current line and try to extract file path + local line = vim.api.nvim_get_current_line() + local filepath = line:match("%s*(.-)%s*$") -- trim whitespace + + if filepath and vim.fn.filereadable(filepath) == 1 then + local explorer_win = vim.api.nvim_get_current_win() + vim.cmd("wincmd p") + vim.cmd("edit " .. vim.fn.fnameescape(filepath)) + vim.api.nvim_set_current_win(explorer_win) + end + end, + }, + }, + }, + }, + }, + }, + }, + }, +}