mirror of
https://github.com/hazemKrimi/config-minimal.nvim.git
synced 2026-05-02 02:30:28 +00:00
60 lines
1.3 KiB
Lua
60 lines
1.3 KiB
Lua
local augroup = vim.api.nvim_create_augroup("UserConfig", {})
|
|
|
|
-- Highlight yanked text
|
|
|
|
vim.api.nvim_create_autocmd("TextYankPost", {
|
|
group = augroup,
|
|
callback = function()
|
|
vim.highlight.on_yank()
|
|
end,
|
|
})
|
|
|
|
-- Return to last edit position when opening files
|
|
|
|
vim.api.nvim_create_autocmd("BufReadPost", {
|
|
group = augroup,
|
|
callback = function()
|
|
local mark = vim.api.nvim_buf_get_mark(0, '"')
|
|
local lcount = vim.api.nvim_buf_line_count(0)
|
|
local line = mark[1]
|
|
local ft = vim.bo.filetype
|
|
if line > 0 and line <= lcount
|
|
and vim.fn.index({ "commit", "gitrebase", "xxd" }, ft) == -1
|
|
and not vim.o.diff then
|
|
pcall(vim.api.nvim_win_set_cursor, 0, mark)
|
|
end
|
|
end,
|
|
})
|
|
|
|
-- Auto-close terminal when process exits
|
|
|
|
vim.api.nvim_create_autocmd("TermClose", {
|
|
group = augroup,
|
|
callback = function()
|
|
if vim.v.event.status == 0 then
|
|
vim.api.nvim_buf_delete(0, {})
|
|
end
|
|
end,
|
|
})
|
|
|
|
-- Auto-resize splits when window is resized
|
|
|
|
vim.api.nvim_create_autocmd("VimResized", {
|
|
group = augroup,
|
|
callback = function()
|
|
vim.cmd("tabdo wincmd =")
|
|
end,
|
|
})
|
|
|
|
-- Create directories when saving files
|
|
|
|
vim.api.nvim_create_autocmd("BufWritePre", {
|
|
group = augroup,
|
|
callback = function()
|
|
local dir = vim.fn.expand('<afile>:p:h')
|
|
if vim.fn.isdirectory(dir) == 0 then
|
|
vim.fn.mkdir(dir, 'p')
|
|
end
|
|
end,
|
|
})
|