From c09735594a26a1749b775847c958e98f566fbac5 Mon Sep 17 00:00:00 2001 From: Iordanis Petkakis <12776461+dpetka2001@users.noreply.github.com> Date: Fri, 8 Nov 2024 14:43:11 +0200 Subject: [PATCH] fix(project.nvim): correctly delete projects (#4314) ## Description Unfortunately, the upstream Github repo hasn't been active for over a year. This overwrites the `history.delete_project` function to correctly be able to delete projects. Because of `ipairs` being used, when you delete the first key from the table the `for` loop iteration will just stop, since there will be a gap between the available indices. > will iterate over the pairs (`1,t[1]`), (`2,t[2]`), ..., up to the first integer key absent from the table. There's also a [PR](https://github.com/ahmedkhalf/project.nvim/pull/106/files) for this upstream, but like I mentioned the Github repo hasn't been active for over a year. Feel free to disregard, since this is obviously something that should be rather fixed upstream under normal circumstances. I just created this PR, since it's such a basic functionality with little change in LazyVim's codebase, that I thought it might be acceptable. ## Related Issue(s) No, rather a discussion #4310 ## Screenshots ## Checklist - [x] I've read the [CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md) guidelines. --- lua/lazyvim/plugins/extras/util/project.lua | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lua/lazyvim/plugins/extras/util/project.lua b/lua/lazyvim/plugins/extras/util/project.lua index 77705f37..5d399125 100644 --- a/lua/lazyvim/plugins/extras/util/project.lua +++ b/lua/lazyvim/plugins/extras/util/project.lua @@ -91,6 +91,15 @@ return { event = "VeryLazy", config = function(_, opts) require("project_nvim").setup(opts) + local history = require("project_nvim.utils.history") + history.delete_project = function(project) + for k, v in pairs(history.recent_projects) do + if v == project.value then + history.recent_projects[k] = nil + return + end + end + end LazyVim.on_load("telescope.nvim", function() require("telescope").load_extension("projects") end)