return { "tpope/vim-fugitive", dependencies = { "tpope/vim-rhubarb", }, keys = { { "gx", [[G]], { desc = "Toggle [G]it status window" } }, { "gs", [[Git]], { desc = "Toggle [G]it [S]tatus window" } }, { "gfd", [[Gdiffsplit]], { desc = "[G]it [D]iff current file against index with [F]ugitive" }, }, { "gc", [[Git commit]], { desc = "[G]it [C]ommit" } }, { "gb", [[Git blame -C]], { desc = "[G]it [B]lame" } }, { "gp", [[Git push]], { desc = "[G]it [P]ush" } }, { "gf", [[Git push --force]], { desc = "[G]it [F]orce push" } }, { "gu", [[Git pull]], { desc = "[G]it p[U]ll" } }, { "gh", [[Git diff --cached]], { desc = "[G]it diff current staged changes" }, }, { "go", "GBrowse", { desc = "[B]rowse [G]it URL for fugitive object under cursor" }, }, { "go", ":'<,'>GBrowse", mode = "v", { desc = "[B]rowse [G]it URL for selected lines", silent = true }, }, }, }