From 9cbd404440b978e435e5fc6c44cb9817ea324a4d Mon Sep 17 00:00:00 2001 From: Yigit Sever Date: Mon, 16 Dec 2024 09:55:01 +0100 Subject: nvim: move autocmds to correct file --- .config/nvim/after/plugin/autocmds.lua | 145 --------------------------------- .config/nvim/lua/helpers/autocmds.lua | 145 +++++++++++++++++++++++++++++++++ 2 files changed, 145 insertions(+), 145 deletions(-) delete mode 100644 .config/nvim/after/plugin/autocmds.lua (limited to '.config/nvim') diff --git a/.config/nvim/after/plugin/autocmds.lua b/.config/nvim/after/plugin/autocmds.lua deleted file mode 100644 index 3356a49..0000000 --- a/.config/nvim/after/plugin/autocmds.lua +++ /dev/null @@ -1,145 +0,0 @@ --- https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua - -local function augroup(name) - return vim.api.nvim_create_augroup("lazyvim_" .. name, { clear = true }) -end - --- Set typst filetype -vim.api.nvim_create_autocmd( - { - "BufNewFile", - "BufRead", - }, - { - pattern = "*.typ", - callback = function() - local buf = vim.api.nvim_get_current_buf() - vim.api.nvim_set_option_value("filetype", "typst", { buf = buf }) - vim.api.nvim_set_option_value("shiftwidth", 2, { buf = buf }) - end - } -) - --- Set PKGBUILD filetype -vim.api.nvim_create_autocmd( - { - "BufNewFile", - "BufRead", - }, - { - pattern = "PKGBUILD", - callback = function() - local buf = vim.api.nvim_get_current_buf() - vim.api.nvim_set_option_value("filetype", "PKGBUILD", { buf = buf }) - end - } -) - --- Set buku-edit filetype -vim.api.nvim_create_autocmd( - { - "BufNewFile", - "BufRead", - }, - { - pattern = "buku-edit-*", - callback = function() - local buf = vim.api.nvim_get_current_buf() - vim.api.nvim_set_option_value("filetype", "buku", { buf = buf }) - end - } -) - --- Set mail filetype -vim.api.nvim_create_autocmd( - { - "BufNewFile", - "BufRead", - }, - { - pattern = "/tmp/neomutt*", - callback = function() - local buf = vim.api.nvim_get_current_buf() - vim.api.nvim_set_option_value("autoindent", false, { buf = buf }) - vim.api.nvim_set_option_value("filetype", "mail", { buf = buf }) - vim.api.nvim_set_option_value("wrapmargin", 0, { buf = buf }) - vim.api.nvim_set_option_value("textwidth", 80, { buf = buf }) - end - } -) - --- Resize splits if window got resized -vim.api.nvim_create_autocmd({ "VimResized" }, { - group = augroup("resize_splits"), - callback = function() - local current_tab = vim.fn.tabpagenr() - vim.cmd("tabdo wincmd =") - vim.cmd("tabnext " .. current_tab) - end, -}) - --- go to last loc when opening a buffer -vim.api.nvim_create_autocmd("BufReadPost", { - group = augroup("last_loc"), - callback = function(event) - local exclude = { "gitcommit" } - local buf = event.buf - if vim.tbl_contains(exclude, vim.bo[buf].filetype) or vim.b[buf].lazyvim_last_loc then - return - end - vim.b[buf].lazyvim_last_loc = true - local mark = vim.api.nvim_buf_get_mark(buf, '"') - local lcount = vim.api.nvim_buf_line_count(buf) - if mark[1] > 0 and mark[1] <= lcount then - pcall(vim.api.nvim_win_set_cursor, 0, mark) - end - end, -}) - --- close some filetypes with -vim.api.nvim_create_autocmd("FileType", { - group = augroup("close_with_q"), - pattern = { - "PlenaryTestPopup", - "checkhealth", - "dbout", - "gitsigns-blame", - "grug-far", - "help", - "lspinfo", - "neotest-output", - "neotest-output-panel", - "neotest-summary", - "notify", - "qf", - "snacks_win", - "spectre_panel", - "startuptime", - "tsplayground", - }, - callback = function(event) - vim.bo[event.buf].buflisted = false - vim.schedule(function() - vim.keymap.set("n", "q", function() - vim.cmd("close") - pcall(vim.api.nvim_buf_delete, event.buf, { force = true }) - end, { - buffer = event.buf, - silent = true, - desc = "Quit buffer", - }) - end) - end, -}) - --- Auto create dir when saving a file, in case some intermediate directory does not exist -vim.api.nvim_create_autocmd({ "BufWritePre" }, { - group = augroup("auto_create_dir"), - callback = function(event) - if event.match:match("^%w%w+:[\\/][\\/]") then - return - end - local file = vim.uv.fs_realpath(event.match) or event.match - vim.fn.mkdir(vim.fn.fnamemodify(file, ":p:h"), "p") - end, -}) diff --git a/.config/nvim/lua/helpers/autocmds.lua b/.config/nvim/lua/helpers/autocmds.lua index 11f4480..bf2c325 100644 --- a/.config/nvim/lua/helpers/autocmds.lua +++ b/.config/nvim/lua/helpers/autocmds.lua @@ -29,3 +29,148 @@ vim.api.nvim_create_autocmd("VimResized", { }, command = "wincmd =", }) + +-- https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua +-- Set typst filetype +vim.api.nvim_create_autocmd( + { + "BufNewFile", + "BufRead", + }, + { + group = augroup("typst"), + pattern = "*.typ", + callback = function() + local buf = vim.api.nvim_get_current_buf() + vim.api.nvim_set_option_value("filetype", "typst", { buf = buf }) + vim.api.nvim_set_option_value("shiftwidth", 2, { buf = buf }) + end + } +) + +-- Set PKGBUILD filetype +vim.api.nvim_create_autocmd( + { + "BufNewFile", + "BufRead", + }, + { + group = augroup("pkgbuild"), + pattern = "PKGBUILD", + callback = function() + local buf = vim.api.nvim_get_current_buf() + vim.api.nvim_set_option_value("filetype", "PKGBUILD", { buf = buf }) + end + } +) + +-- Set buku-edit filetype +vim.api.nvim_create_autocmd( + { + "BufNewFile", + "BufRead", + }, + { + group = augroup("buku-edit"), + pattern = "buku-edit-*", + callback = function() + local buf = vim.api.nvim_get_current_buf() + vim.api.nvim_set_option_value("filetype", "buku", { buf = buf }) + end + } +) + +-- Set mail filetype +vim.api.nvim_create_autocmd( + { + "BufNewFile", + "BufRead", + }, + { + group = augroup("mail"), + pattern = "/tmp/neomutt*", + callback = function() + local buf = vim.api.nvim_get_current_buf() + vim.api.nvim_set_option_value("autoindent", false, { buf = buf }) + vim.api.nvim_set_option_value("filetype", "mail", { buf = buf }) + vim.api.nvim_set_option_value("wrapmargin", 0, { buf = buf }) + vim.api.nvim_set_option_value("textwidth", 80, { buf = buf }) + end + } +) + +-- Resize splits if window got resized +vim.api.nvim_create_autocmd({ "VimResized" }, { + group = augroup("resize_splits"), + callback = function() + local current_tab = vim.fn.tabpagenr() + vim.cmd("tabdo wincmd =") + vim.cmd("tabnext " .. current_tab) + end, +}) + +-- go to last loc when opening a buffer +vim.api.nvim_create_autocmd("BufReadPost", { + group = augroup("last_loc"), + callback = function(event) + local exclude = { "gitcommit" } + local buf = event.buf + if vim.tbl_contains(exclude, vim.bo[buf].filetype) or vim.b[buf].lazyvim_last_loc then + return + end + vim.b[buf].lazyvim_last_loc = true + local mark = vim.api.nvim_buf_get_mark(buf, '"') + local lcount = vim.api.nvim_buf_line_count(buf) + if mark[1] > 0 and mark[1] <= lcount then + pcall(vim.api.nvim_win_set_cursor, 0, mark) + end + end, +}) + +-- close some filetypes with +vim.api.nvim_create_autocmd("FileType", { + group = augroup("close_with_q"), + pattern = { + "PlenaryTestPopup", + "checkhealth", + "dbout", + "gitsigns-blame", + "grug-far", + "help", + "lspinfo", + "neotest-output", + "neotest-output-panel", + "neotest-summary", + "notify", + "qf", + "snacks_win", + "spectre_panel", + "startuptime", + "tsplayground", + }, + callback = function(event) + vim.bo[event.buf].buflisted = false + vim.schedule(function() + vim.keymap.set("n", "q", function() + vim.cmd("close") + pcall(vim.api.nvim_buf_delete, event.buf, { force = true }) + end, { + buffer = event.buf, + silent = true, + desc = "Quit buffer", + }) + end) + end, +}) + +-- Auto create dir when saving a file, in case some intermediate directory does not exist +vim.api.nvim_create_autocmd({ "BufWritePre" }, { + group = augroup("auto_create_dir"), + callback = function(event) + if event.match:match("^%w%w+:[\\/][\\/]") then + return + end + local file = vim.uv.fs_realpath(event.match) or event.match + vim.fn.mkdir(vim.fn.fnamemodify(file, ":p:h"), "p") + end, +}) -- cgit v1.2.3-70-g09d2