45 lines
1.5 KiB
Lua
45 lines
1.5 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
|
||
|
|
||
|
-- Open help window in a vertical split to the right.
|
||
|
vim.api.nvim_create_autocmd("BufWinEnter", {
|
||
|
group = vim.api.nvim_create_augroup("help_window_right", {}),
|
||
|
pattern = { "*.txt" },
|
||
|
callback = function()
|
||
|
if vim.o.filetype == "help" then
|
||
|
vim.cmd.wincmd("L")
|
||
|
end
|
||
|
end,
|
||
|
})
|
||
|
|
||
|
-- Define an autocmd group for the blade workaround
|
||
|
local augroup = vim.api.nvim_create_augroup("lsp_blade_workaround", { clear = true })
|
||
|
|
||
|
-- Autocommand to temporarily change 'blade' filetype to 'php' when opening for LSP server activation
|
||
|
vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, {
|
||
|
group = augroup,
|
||
|
pattern = "*.blade.php",
|
||
|
callback = function()
|
||
|
vim.bo.filetype = "php"
|
||
|
end,
|
||
|
})
|
||
|
|
||
|
-- Additional autocommand to switch back to 'blade' after LSP has attached
|
||
|
vim.api.nvim_create_autocmd("LspAttach", {
|
||
|
pattern = "*.blade.php",
|
||
|
callback = function(args)
|
||
|
vim.schedule(function()
|
||
|
-- Check if the attached client is 'intelephense'
|
||
|
for _, client in ipairs(vim.lsp.get_active_clients()) do
|
||
|
if client.name == "intelephense" and client.attached_buffers[args.buf] then
|
||
|
vim.api.nvim_buf_set_option(args.buf, "filetype", "blade")
|
||
|
-- update treesitter parser to blade
|
||
|
vim.api.nvim_buf_set_option(args.buf, "syntax", "blade")
|
||
|
break
|
||
|
end
|
||
|
end
|
||
|
end)
|
||
|
end,
|
||
|
})
|