diff --git a/lua/lazygit.lua b/lua/lazygit.lua index b5f4f83..5f94602 100644 --- a/lua/lazygit.lua +++ b/lua/lazygit.lua @@ -5,6 +5,10 @@ local fn = vim.fn -- store all git repositories visited in this session local lazygit_visited_git_repos = {} local function append_git_repo_path(repo_path) + if repo_path == nil or not fn.isdirectory(repo_path) then + return + end + for _, path in ipairs(lazygit_visited_git_repos) do if path == repo_path then return @@ -180,7 +184,9 @@ local function lazygit(path) path = project_root_dir() end else - cmd = cmd .. ' -p ' .. path + if fn.isdirectory(path) then + cmd = cmd .. ' -p ' .. path + end end exec_lazygit_command(cmd) diff --git a/lua/telescope/_extensions/lazygit_telescope.lua b/lua/telescope/_extensions/lazygit_telescope.lua index 6ccfb0e..76887b3 100644 --- a/lua/telescope/_extensions/lazygit_telescope.lua +++ b/lua/telescope/_extensions/lazygit_telescope.lua @@ -9,9 +9,10 @@ local lazygit = require("lazygit") local function open_lazygit(prompt_buf) local entry = action_state.get_selected_entry() local cmd = [[lua require"lazygit".lazygit('%s')]] - local path = entry.value - cmd = cmd:format(path:gsub("%s", "")) + cmd = cmd:format(entry.value:gsub("%s", "")) vim.api.nvim_command(cmd) + vim.cmd('stopinsert') + vim.cmd([[execute "normal i"]]) vim.api.nvim_buf_set_keymap(0, 't', '', '', {noremap = true, silent = true}) end @@ -30,7 +31,7 @@ local lazygit_repos = function(opts) local repos = {} for _, v in pairs(lazygit.lazygit_visited_git_repos) do local index = #repos + 1 - -- retrieve the git repo name + -- retrieve git repo name local entry = { idx = index,