| 1 | vim.api.nvim_create_autocmd('TextYankPost', { |
| 2 | desc = 'Highlight when yanking (copying) text', |
| 3 | group = vim.api.nvim_create_augroup('kickstart-highlight-yank', { clear = true }), |
| 4 | callback = function() |
| 5 | vim.highlight.on_yank() |
| 6 | end, |
| 7 | }) |
| 8 | |
| 9 | vim.api.nvim_create_autocmd("FileType", { |
| 10 | callback = function(ev) |
| 11 | local lang = vim.treesitter.language.get_lang(ev.match) or ev.match |
| 12 | if vim.treesitter.language.add(lang) then |
| 13 | vim.treesitter.start(ev.buf, lang) |
| 14 | end |
| 15 | end |
| 16 | }) |
| 17 | |
| 18 | -- Reload files automatically if edited externally |
| 19 | vim.api.nvim_create_autocmd({ "FocusGained", "BufEnter", "CursorHold", "CursorHoldI" }, { |
| 20 | pattern = "*", |
| 21 | callback = function() |
| 22 | if vim.fn.mode() ~= "c" then |
| 23 | vim.cmd("checktime") |
| 24 | end |
| 25 | end, |
| 26 | }) |
| 27 | |
| 28 | vim.api.nvim_create_autocmd("VimEnter", { |
| 29 | callback = function() |
| 30 | if vim.fn.argv(0) == "" then |
| 31 | vim.schedule(function() |
| 32 | require("mini.pick").builtin.files() |
| 33 | end) |
| 34 | end |
| 35 | end, |
| 36 | }) |
| 37 | |
| 38 | vim.api.nvim_create_autocmd("FileType", { |
| 39 | pattern = { "markdown", "mdx", "text" }, |
| 40 | callback = function() |
| 41 | vim.opt_local.wrap = true |
| 42 | vim.opt_local.linebreak = true -- Break at word boundaries |
| 43 | vim.opt_local.spell = true |
| 44 | end, |
| 45 | }) |