|
@ -7,13 +7,10 @@ return { |
|
|
vim.opt.diffopt = vim.opt.diffopt + "vertical" |
|
|
vim.opt.diffopt = vim.opt.diffopt + "vertical" |
|
|
vim.opt.display = vim.opt.display + "lastline" |
|
|
vim.opt.display = vim.opt.display + "lastline" |
|
|
|
|
|
|
|
|
vim.api.nvim_set_keymap("n", "<leader>gl", ":GBrowse<CR>", { noremap = true }) |
|
|
|
|
|
vim.cmd([[ let g:fugitive_gitlab_domains = {"ssh://code.codium.com.au": "https://code.codium.com.au"} ]]) |
|
|
|
|
|
|
|
|
|
|
|
local function gitBlame(lines) |
|
|
local function gitBlame(lines) |
|
|
local current_file = vim.fn.expand('%:p') |
|
|
local current_file = vim.fn.expand('%:p') |
|
|
local range = lines[1] .. "," .. lines[2] |
|
|
local range = lines[1] .. "," .. lines[2] |
|
|
local cmd = string.format("git -C %s blame -L %s %s | awk '{print $1}'", vim.fn.shellescape(vim.fn.fnamemodify(current_file, ':h')), range, vim.fn.fnamemodify(current_file, ':t')) |
|
|
|
|
|
|
|
|
local cmd = string.format("git -C %s blame -C -C -C -L %s %s | awk '{print $1}'", vim.fn.shellescape(vim.fn.fnamemodify(current_file, ':h')), range, vim.fn.fnamemodify(current_file, ':t')) |
|
|
|
|
|
|
|
|
local handle = io.popen(cmd) |
|
|
local handle = io.popen(cmd) |
|
|
local result = handle:read("*a") |
|
|
local result = handle:read("*a") |
|
@ -22,7 +19,7 @@ return { |
|
|
return result |
|
|
return result |
|
|
end |
|
|
end |
|
|
|
|
|
|
|
|
vim.keymap.set('n', '<leader>gc', function () |
|
|
|
|
|
|
|
|
vim.keymap.set('n', '<leader>gC', function () |
|
|
vim.cmd(string.format('Git show %s', gitBlame({vim.fn.line('.'), vim.fn.line('.')}))) |
|
|
vim.cmd(string.format('Git show %s', gitBlame({vim.fn.line('.'), vim.fn.line('.')}))) |
|
|
end) |
|
|
end) |
|
|
|
|
|
|
|
@ -34,6 +31,22 @@ return { |
|
|
vim.keymap.set('n', '<leader>ga', '<cmd>Git add .<CR>', options) |
|
|
vim.keymap.set('n', '<leader>ga', '<cmd>Git add .<CR>', options) |
|
|
vim.keymap.set('n', '<leader>gA', '<cmd>Git add<CR>', options) |
|
|
vim.keymap.set('n', '<leader>gA', '<cmd>Git add<CR>', options) |
|
|
vim.keymap.set('n', '<leader>gc', '<cmd>Git commit<CR>', options) |
|
|
vim.keymap.set('n', '<leader>gc', '<cmd>Git commit<CR>', options) |
|
|
vim.keymap.set('n', '<leader>gC', '<cmd>Git commit -a<CR>', options) |
|
|
|
|
|
|
|
|
-- vim.keymap.set('n', '<leader>gC', '<cmd>Git commit -a<CR>', options) |
|
|
|
|
|
|
|
|
|
|
|
vim.keymap.set('v', '<leader>gl', function () |
|
|
|
|
|
local startPos = vim.fn.getpos("'<") |
|
|
|
|
|
local endPos = vim.fn.getpos("'>") |
|
|
|
|
|
|
|
|
|
|
|
local startLine = startPos[2] |
|
|
|
|
|
local endLine = endPos[2] |
|
|
|
|
|
|
|
|
|
|
|
if (startLine == 0 or endLine == 0) |
|
|
|
|
|
then |
|
|
|
|
|
vim.notify('Error getting start or end line', vim.log.levels.ERROR) |
|
|
|
|
|
return |
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
vim.cmd(string.format('Git log -L %d,%d:%s', startLine, endLine, vim.fn.expand("%:."))) |
|
|
|
|
|
end, options); |
|
|
end, |
|
|
end, |
|
|
} |
|
|
} |