less of a rewrite, more of a restructure
This commit is contained in:
44
lua/config/autocmd.lua
Normal file
44
lua/config/autocmd.lua
Normal file
@@ -0,0 +1,44 @@
|
||||
-- Autocommand to check git status
|
||||
vim.api.nvim_create_autocmd("VimEnter", {
|
||||
callback = function()
|
||||
-- Verify if the current directory is a git repo
|
||||
local is_git = os.execute("git rev-parse --is-inside-work-tree > /dev/null 2>&1")
|
||||
if is_git ~= 0 then
|
||||
return
|
||||
end
|
||||
|
||||
-- Perform an async fetch to avoid startup lag
|
||||
vim.fn.jobstart("git fetch", {
|
||||
on_exit = function()
|
||||
-- Get the number of commits the remote is ahead of local HEAD
|
||||
local count = vim.fn.system("git rev-list --count HEAD..@{u} 2>/dev/null"):gsub("%s+", "")
|
||||
|
||||
if count ~= "" and tonumber(count) > 0 then
|
||||
vim.schedule(function()
|
||||
vim.notify(
|
||||
" " .. count .. " new commit(s) available on remote.",
|
||||
vim.log.levels.INFO,
|
||||
{ title = "Git Status", icon = "" }
|
||||
)
|
||||
end)
|
||||
end
|
||||
end,
|
||||
})
|
||||
end,
|
||||
})
|
||||
|
||||
local cursorline_group = vim.api.nvim_create_augroup("CursorLineControl", { clear = true })
|
||||
|
||||
vim.api.nvim_create_autocmd({ "WinEnter", "BufEnter" }, {
|
||||
group = cursorline_group,
|
||||
callback = function()
|
||||
vim.opt_local.cursorline = true
|
||||
end,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd({ "WinLeave" }, {
|
||||
group = cursorline_group,
|
||||
callback = function()
|
||||
vim.opt_local.cursorline = false
|
||||
end,
|
||||
})
|
||||
29
lua/config/binds.lua
Normal file
29
lua/config/binds.lua
Normal file
@@ -0,0 +1,29 @@
|
||||
-- Keymap function
|
||||
function Keymap(mode, key, binding)
|
||||
vim.keymap.set(mode, key, binding, { noremap = true, silent = true })
|
||||
end
|
||||
|
||||
Keymap("n", "q:", ":") -- remove nonsense command
|
||||
Keymap("n", "<leader>bd", function() -- delete buffer
|
||||
vim.cmd("bd")
|
||||
vim.cmd("echo 'Buffer deleted'")
|
||||
end)
|
||||
|
||||
for bind = "i", "a", "A" do -- proper indenting function
|
||||
Keymap("n", bind, function()
|
||||
if vim.fn.getline("."):match("^%s*$") then
|
||||
return [["_cc]]
|
||||
else
|
||||
return bind
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
Keymap("i", "<C-BS>", "<C-W>") -- C-Backscpace for whole words
|
||||
|
||||
-- Open Lazygit
|
||||
Keymap("n", "<leader>l", function()
|
||||
Snacks.lazygit.open()
|
||||
end)
|
||||
|
||||
Keymap("n", "<leader>d", "<cmd>lua vim.diagnostic.open_float()<CR>") -- Diagnostics for Linter
|
||||
@@ -19,16 +19,17 @@ vim.opt.rtp:prepend(lazypath)
|
||||
-- loading lazy.nvim so that mappings are correct.
|
||||
-- This is also a good place to setup other settings (vim.opt)
|
||||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = ","
|
||||
|
||||
-- Setup lazy.nvim
|
||||
require("lazy").setup({
|
||||
spec = {
|
||||
-- import your plugins
|
||||
{ import = "plugins.utils" },
|
||||
{ import = "plugins" },
|
||||
{ import = "plugins.completion" },
|
||||
{ import = "plugins.ui" },
|
||||
{ import = "plugins.functional" },
|
||||
{ import = "plugins.functional.neorg" },
|
||||
{ import = "plugins.editing" },
|
||||
{ import = "plugins.completion" },
|
||||
},
|
||||
-- Configure any other settings here. See the documentation for more details.
|
||||
-- colorscheme that will be used when installing plugins.
|
||||
|
||||
Reference in New Issue
Block a user