feat(09-01): add work-cli home-manager module
- enable option, jira/vault sub-enables - all config options matching config.py schema - generates ~/.config/work/config.toml via home.file - wires bash completion via programs.bash.initExtra - package installed from inputs.work-cli.packages
This commit is contained in:
44
dots/.config/nvim/lua/mr.lua
Normal file
44
dots/.config/nvim/lua/mr.lua
Normal file
@@ -0,0 +1,44 @@
|
||||
local M = {}
|
||||
|
||||
local function merge_base()
|
||||
return vim.fn.system("git merge-base origin/main HEAD"):gsub("%s+", "")
|
||||
end
|
||||
|
||||
function M.files()
|
||||
local base = merge_base()
|
||||
require("fzf-lua").fzf_exec("git diff --name-only " .. base .. "...HEAD", {
|
||||
prompt = "MR files> ",
|
||||
actions = {
|
||||
["default"] = function(selected)
|
||||
vim.cmd("edit " .. selected[1])
|
||||
require("gitsigns").diffthis(base)
|
||||
end,
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
function M.commits()
|
||||
local base = merge_base()
|
||||
require("fzf-lua").fzf_exec("git log --oneline " .. base .. "..HEAD", {
|
||||
prompt = "MR commits> ",
|
||||
actions = {
|
||||
["default"] = function(selected)
|
||||
local sha = selected[1]:match("^(%S+)")
|
||||
require("fzf-lua").fzf_exec("git diff --name-only " .. sha .. "~1.." .. sha, {
|
||||
prompt = sha:sub(1, 7) .. " files> ",
|
||||
actions = {
|
||||
["default"] = function(files)
|
||||
vim.cmd("edit " .. files[1])
|
||||
require("gitsigns").diffthis(sha .. "~1")
|
||||
end,
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
vim.api.nvim_create_user_command("MRFiles", M.files, {})
|
||||
vim.api.nvim_create_user_command("MRCommits", M.commits, {})
|
||||
|
||||
return M
|
||||
Reference in New Issue
Block a user