Files
lazyfox/lua/config/autocmds.lua
2025-09-30 10:47:01 +03:00

62 lines
2.1 KiB
Lua

-- 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
-- with `vim.api.nvim_create_autocmd`
--
-- Or remove existing autocmds by their group name (which is prefixed with `lazyvim_` for the defaults)
-- e.g. vim.api.nvim_del_augroup_by_name("lazyvim_wrap_spell")
-- Автокоманды для Markdown файлов
vim.api.nvim_create_augroup("MarkdownSettings", { clear = true })
vim.api.nvim_create_autocmd("FileType", {
group = "MarkdownSettings",
pattern = "markdown",
callback = function()
-- Настройка переноса строк
vim.opt_local.wrap = true
vim.opt_local.linebreak = true
vim.opt_local.showbreak = ""
-- Настройка отступов
vim.opt_local.tabstop = 2
vim.opt_local.shiftwidth = 2
vim.opt_local.softtabstop = 2
vim.opt_local.expandtab = true
-- Включение проверки орфографии
vim.opt_local.spell = false
vim.opt_local.spelllang = "en,ru"
-- Скрытие разметки
vim.opt_local.conceallevel = 2
-- Автоматическое сохранение при переключении буферов
vim.opt_local.autowrite = true
end,
})
-- Автоматическое обновление времени модификации
vim.api.nvim_create_autocmd("BufWritePre", {
group = "MarkdownSettings",
pattern = "*.md",
callback = function()
local lines = vim.api.nvim_buf_get_lines(0, 0, 10, false)
for i, line in ipairs(lines) do
if line:match("^modified:") then
local new_line = "modified: " .. os.date("%Y-%m-%d %H:%M:%S")
vim.api.nvim_buf_set_lines(0, i - 1, i, false, { new_line })
break
end
end
end,
})
-- Отключить все диагностики для markdown файлов
vim.api.nvim_create_autocmd("FileType", {
pattern = "markdown",
callback = function()
vim.diagnostic.enable(false)
end,
})