aboutsummaryrefslogtreecommitdiff
path: root/runtime/filetype.lua
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/filetype.lua')
-rw-r--r--runtime/filetype.lua13
1 files changed, 8 insertions, 5 deletions
diff --git a/runtime/filetype.lua b/runtime/filetype.lua
index 9f5b5fd0dc..f772785d21 100644
--- a/runtime/filetype.lua
+++ b/runtime/filetype.lua
@@ -1,12 +1,11 @@
--- Skip if legacy filetype is enabled or filetype detection is disabled
-if vim.g.do_legacy_filetype or vim.g.did_load_filetypes then
+if vim.g.did_load_filetypes then
return
end
vim.g.did_load_filetypes = 1
vim.api.nvim_create_augroup('filetypedetect', { clear = false })
-vim.api.nvim_create_autocmd({ 'BufRead', 'BufNewFile' }, {
+vim.api.nvim_create_autocmd({ 'BufRead', 'BufNewFile', 'StdinReadPost' }, {
group = 'filetypedetect',
callback = function(args)
local ft, on_detect = vim.filetype.match({ filename = args.match, buf = args.buf })
@@ -14,10 +13,14 @@ vim.api.nvim_create_autocmd({ 'BufRead', 'BufNewFile' }, {
-- Generic configuration file used as fallback
ft = require('vim.filetype.detect').conf(args.file, args.buf)
if ft then
- vim.api.nvim_cmd({ cmd = 'setf', args = { 'FALLBACK', ft } }, {})
+ vim.api.nvim_buf_call(args.buf, function()
+ vim.api.nvim_cmd({ cmd = 'setf', args = { 'FALLBACK', ft } }, {})
+ end)
end
else
- vim.api.nvim_buf_set_option(args.buf, 'filetype', ft)
+ vim.api.nvim_buf_call(args.buf, function()
+ vim.api.nvim_cmd({ cmd = 'setf', args = { ft } }, {})
+ end)
if on_detect then
on_detect(args.buf)
end