mirror of
https://github.com/dcarrillo/dotfiles.git
synced 2025-03-15 07:45:24 +00:00
94 lines
2.2 KiB
Lua
94 lines
2.2 KiB
Lua
-- Highlight Yanked Text
|
|
vim.api.nvim_create_autocmd("TextYankPost", {
|
|
callback = function()
|
|
(vim.hl or vim.highlight).on_yank()
|
|
end,
|
|
})
|
|
|
|
-- resize splits if window got resized
|
|
vim.api.nvim_create_autocmd("VimResized", {
|
|
callback = function()
|
|
local current_tab = vim.fn.tabpagenr()
|
|
vim.cmd("tabdo wincmd =")
|
|
vim.cmd("tabnext " .. current_tab)
|
|
end,
|
|
})
|
|
|
|
-- Set expandtab=true in several file types
|
|
vim.api.nvim_create_autocmd("FileType", {
|
|
pattern = { "go", "makefile", "lua" },
|
|
callback = function()
|
|
vim.opt_local.expandtab = false
|
|
end,
|
|
})
|
|
|
|
-- Use 'q' to quit from common plugins
|
|
vim.api.nvim_create_autocmd("FileType", {
|
|
pattern = {
|
|
"PlenaryTestPopup",
|
|
"checkhealth",
|
|
"dbout",
|
|
"gitsigns-blame",
|
|
"grug-far",
|
|
"help",
|
|
"lspinfo",
|
|
"neotest-output",
|
|
"neotest-output-panel",
|
|
"neotest-summary",
|
|
"notify",
|
|
"qf",
|
|
},
|
|
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,
|
|
})
|
|
|
|
-- Ensure terraform files use hcl LSP
|
|
vim.api.nvim_create_autocmd({ "BufNewFile", "BufRead" }, {
|
|
pattern = { "*.tf" },
|
|
callback = function()
|
|
vim.cmd([[
|
|
set filetype=hcl
|
|
]])
|
|
end,
|
|
})
|
|
|
|
-- Set hcl and helm indentation to 2
|
|
vim.api.nvim_create_autocmd("FileType", {
|
|
pattern = { "hcl", "helm" },
|
|
command = "setlocal shiftwidth=2 tabstop=2",
|
|
})
|
|
|
|
-- Disable some plugins on very large files
|
|
vim.api.nvim_create_autocmd({ "BufEnter" }, {
|
|
pattern = { "*" },
|
|
callback = function(args)
|
|
local highlighter = require("vim.treesitter.highlighter")
|
|
local ts_was_active = highlighter.active[args.buf]
|
|
local file_size = vim.fn.getfsize(args.file)
|
|
if file_size > 1024 * 1024 then
|
|
vim.cmd("TSBufDisable highlight")
|
|
vim.cmd("syntax off")
|
|
vim.cmd("syntax clear")
|
|
vim.cmd("IlluminatePauseBuf")
|
|
vim.cmd("NoMatchParen")
|
|
vim.cmd("UfoDisable")
|
|
vim.cmd("IBLDisable")
|
|
vim.cmd("LspStop")
|
|
if ts_was_active then
|
|
vim.notify("File larger than 1MB; syntax highlighting and heavy CPU use plugins are turned off.")
|
|
end
|
|
end
|
|
end,
|
|
})
|