aboutsummaryrefslogtreecommitdiff
path: root/runtime/filetype.lua
diff options
context:
space:
mode:
authorGregory Anders <8965202+gpanders@users.noreply.github.com>2022-01-04 07:28:29 -0700
committerGitHub <noreply@github.com>2022-01-04 07:28:29 -0700
commit3fd454bd4a6ceb1989d15cf2d3d5e11d7a253b2d (patch)
tree1718a362cf49adabd478fe16a6e35335681d8611 /runtime/filetype.lua
parentcc62f3d6cb639abffb1b0b6ce47a481bc67003d2 (diff)
downloadrneovim-3fd454bd4a6ceb1989d15cf2d3d5e11d7a253b2d.tar.gz
rneovim-3fd454bd4a6ceb1989d15cf2d3d5e11d7a253b2d.tar.bz2
rneovim-3fd454bd4a6ceb1989d15cf2d3d5e11d7a253b2d.zip
feat: filetype.lua (#16600)
Adds a new vim.filetype module that provides support for filetype detection in Lua.
Diffstat (limited to 'runtime/filetype.lua')
-rw-r--r--runtime/filetype.lua22
1 files changed, 22 insertions, 0 deletions
diff --git a/runtime/filetype.lua b/runtime/filetype.lua
new file mode 100644
index 0000000000..3177705b65
--- /dev/null
+++ b/runtime/filetype.lua
@@ -0,0 +1,22 @@
+if vim.g.did_load_filetypes and vim.g.did_load_filetypes ~= 0 then
+ return
+end
+
+-- For now, make this opt-in with a global variable
+if vim.g.do_filetype_lua ~= 1 then
+ return
+end
+
+vim.cmd [[
+augroup filetypedetect
+au BufRead,BufNewFile * call v:lua.vim.filetype.match(str2nr(expand('<abuf>')))
+
+" These *must* be sourced after the autocommand above is created
+runtime! ftdetect/*.vim
+runtime! ftdetect/*.lua
+
+" Set a marker so that the ftdetect scripts are not sourced a second time by filetype.vim
+let g:did_load_ftdetect = 1
+
+augroup END
+]]