aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua
diff options
context:
space:
mode:
authorChristian Clason <c.clason@uni-graz.at>2022-08-09 10:43:28 +0200
committerGitHub <noreply@github.com>2022-08-09 10:43:28 +0200
commita5e846b9969b1dfbd7e92f437f3ac7905039b84f (patch)
tree04ea16853179df83e33bbc36a1d96168925d2bc2 /runtime/lua
parente6680ea7c3912d38f2ef967e053be741624633ad (diff)
downloadrneovim-a5e846b9969b1dfbd7e92f437f3ac7905039b84f.tar.gz
rneovim-a5e846b9969b1dfbd7e92f437f3ac7905039b84f.tar.bz2
rneovim-a5e846b9969b1dfbd7e92f437f3ac7905039b84f.zip
vim-patch:partial: 48c3f4e0bff7 (#19684)
vim-patch:partial:48c3f4e0bff7 Update runtime files https://github.com/vim/vim/commit/48c3f4e0bff7efd289a7001b68c777b6f89a7057 partially skip `options.txt` (needs 9.0.0138)
Diffstat (limited to 'runtime/lua')
-rw-r--r--runtime/lua/vim/filetype/detect.lua15
1 files changed, 13 insertions, 2 deletions
diff --git a/runtime/lua/vim/filetype/detect.lua b/runtime/lua/vim/filetype/detect.lua
index 14f076717f..2be9dcff88 100644
--- a/runtime/lua/vim/filetype/detect.lua
+++ b/runtime/lua/vim/filetype/detect.lua
@@ -930,7 +930,7 @@ function M.progress_pascal(bufnr)
return 'progress'
end
--- Distinguish between "default" and Cproto prototype file.
+-- Distinguish between "default", Prolog and Cproto prototype file.
function M.proto(bufnr, default)
-- 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
@@ -940,7 +940,18 @@ function M.proto(bufnr, default)
if getlines(bufnr, 2):find('.;$') then
return 'cpp'
else
- return default
+ -- Recognize Prolog by specific text in the first non-empty line;
+ -- require a blank after the '%' because Perl uses "%list" and "%translate"
+ local line = nextnonblank(bufnr, 1)
+ if
+ line and line:find(':%-')
+ or matchregex(line, [[\c\<prolog\>]])
+ or findany(line, { '^%s*%%+%s', '^%s*%%+$', '^%s*/%*' })
+ then
+ return 'prolog'
+ else
+ return default
+ end
end
end