aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/filetype
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/lua/vim/filetype')
-rw-r--r--runtime/lua/vim/filetype/detect.lua14
1 files changed, 8 insertions, 6 deletions
diff --git a/runtime/lua/vim/filetype/detect.lua b/runtime/lua/vim/filetype/detect.lua
index 05b4ffc223..ba86d8de5a 100644
--- a/runtime/lua/vim/filetype/detect.lua
+++ b/runtime/lua/vim/filetype/detect.lua
@@ -1141,12 +1141,14 @@ end
--- Distinguish between "default", Prolog and Cproto prototype file.
--- @type vim.filetype.mapfn
function M.proto(_, bufnr)
- -- Cproto files have a comment in the first line and a function prototype in
- -- the second line, it always ends in ";". Indent files may also have
- -- comments, thus we can't match comments to see the difference.
- -- IDL files can have a single ';' in the second line, require at least one
- -- character before the ';'.
- if getline(bufnr, 2):find('.;$') then
+ if getline(bufnr, 2):find('/%* Generated automatically %*/') then
+ return 'c'
+ elseif getline(bufnr, 2):find('.;$') then
+ -- Cproto files have a comment in the first line and a function prototype in
+ -- the second line, it always ends in ";". Indent files may also have
+ -- comments, thus we can't match comments to see the difference.
+ -- IDL files can have a single ';' in the second line, require at least one
+ -- character before the ';'.
return 'cpp'
end
-- Recognize Prolog by specific text in the first non-empty line;