Skip to content

Commit 7de662d

Browse files
committed
fix(ft): only trigger filetypepluing and filetypeindent for ft handler. Fixes #228
1 parent db043da commit 7de662d

File tree

2 files changed

+20
-9
lines changed

2 files changed

+20
-9
lines changed

lua/lazy/core/handler/event.lua

+4-9
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ M.trigger_events = {
1111
BufRead = { "BufReadPre", "BufRead" },
1212
BufReadPost = { "BufReadPre", "BufRead", "BufReadPost" },
1313
}
14-
M.trigger_always = { "FileType" }
1514
M.group = vim.api.nvim_create_augroup("lazy_handler_event", { clear = true })
1615

1716
---@param value string
@@ -32,12 +31,8 @@ function M:_add(value)
3231
local groups = M.get_augroups(event, pattern)
3332
-- load the plugins
3433
Loader.load(self.active[value], { [self.type] = value })
35-
if vim.tbl_contains(M.trigger_always, event) then
36-
vim.cmd("do " .. event)
37-
else
38-
-- check if any plugin created an event handler for this event and fire the group
39-
M.trigger(event, pattern, groups)
40-
end
34+
-- check if any plugin created an event handler for this event and fire the group
35+
self:trigger(event, pattern, groups)
4136
Util.track()
4237
end,
4338
})
@@ -66,7 +61,7 @@ end
6661
---@param event string|string[]
6762
---@param pattern? string
6863
---@param groups table<string,true>
69-
function M.trigger(event, pattern, groups)
64+
function M:trigger(event, pattern, groups)
7065
local events = M.trigger_events[event] or { event }
7166
---@cast events string[]
7267
for _, e in ipairs(events) do
@@ -77,7 +72,7 @@ function M.trigger(event, pattern, groups)
7772
"# Firing Events",
7873
" - **group:** `" .. autocmd.group_name .. "`",
7974
" - **event:** " .. autocmd.event,
80-
pattern and "- **pattern:** ",
75+
pattern and (" - **pattern:** " .. pattern),
8176
})
8277
end
8378
Util.try(function()

lua/lazy/core/handler/ft.lua

+16
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
local Event = require("lazy.core.handler.event")
2+
local Util = require("lazy.core.util")
23
local Loader = require("lazy.core.loader")
34

45
---@class LazyFiletypeHandler:LazyEventHandler
@@ -18,4 +19,19 @@ function M:add(plugin)
1819
end
1920
end
2021

22+
---@param pattern? string
23+
function M:trigger(_, pattern, _)
24+
for _, group in ipairs({ "filetypeplugin", "filetypeindent" }) do
25+
Util.try(function()
26+
Util.info({
27+
"# Firing Events",
28+
" - **group:** `" .. group .. "`",
29+
" - **event:** FileType",
30+
pattern and (" - **pattern:** " .. pattern),
31+
})
32+
vim.api.nvim_exec_autocmds("FileType", { group = group, modeline = false, pattern = pattern })
33+
end)
34+
end
35+
end
36+
2137
return M

0 commit comments

Comments
 (0)