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, }, }, }