Adds git support for optolith
This commit is contained in:
parent
2ea0877394
commit
576eba8e4e
5 changed files with 82 additions and 47 deletions
|
|
@ -1,3 +1,5 @@
|
|||
local git = require("functions.git")
|
||||
|
||||
-- Autocmds are automatically loaded on the VeryLazy event
|
||||
-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
|
||||
-- Add any additional autocmds here
|
||||
|
|
@ -5,59 +7,18 @@
|
|||
vim.api.nvim_create_autocmd("BufWritePost", {
|
||||
pattern = { "*.md" },
|
||||
callback = function(args)
|
||||
local function get_file_name(file)
|
||||
local file_name = file:match("[^/]*.md$")
|
||||
return file_name:sub(0, #file_name - 3):gsub(" ", "_")
|
||||
end
|
||||
|
||||
local commitMessage = get_file_name(args.file) .. "-" .. os.date("%m_%B_%Y")
|
||||
|
||||
os.execute('git add "' .. args.file .. '"')
|
||||
local commitCommand = 'git commit -m "' .. commitMessage .. '" &> /dev/null'
|
||||
local commitResult = os.execute(commitCommand)
|
||||
|
||||
print("Commiting... " .. commitMessage)
|
||||
if commitResult == 256 then
|
||||
print("Nothing to commit")
|
||||
return
|
||||
elseif commitResult == 0 then
|
||||
print("Commit complete")
|
||||
else
|
||||
print("Unknown Error " .. commitResult)
|
||||
print(commitCommand)
|
||||
return
|
||||
end
|
||||
git.commitFile(args.file)
|
||||
end,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd("VimLeavePre", {
|
||||
callback = function()
|
||||
print("Pushing changes...")
|
||||
-- Push twice, in case the credentials expired. Ugly hack, but it works
|
||||
local pushSuccess = os.execute("git push &> /dev/null")
|
||||
if pushSuccess > 0 then
|
||||
os.execute("git push &> /dev/null")
|
||||
end
|
||||
|
||||
print("Done")
|
||||
git.push()
|
||||
end,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd("VimEnter", {
|
||||
callback = function()
|
||||
vim.defer_fn(function()
|
||||
local command = "git pull --rebase --quiet --no-edit &> /dev/null"
|
||||
local pullSuccess = os.execute(command)
|
||||
if pullSuccess == 256 then
|
||||
vim.notify("Conflicts found. Please resolve and continue rebase", "error", {
|
||||
title = "Updating...",
|
||||
})
|
||||
return
|
||||
end
|
||||
|
||||
vim.notify("Pull success", "info", {
|
||||
title = "Updating...",
|
||||
})
|
||||
end, 100)
|
||||
git.pull()
|
||||
end,
|
||||
})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue