diff options
Diffstat (limited to 'runtime/autoload/dist/ft.vim')
-rw-r--r-- | runtime/autoload/dist/ft.vim | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/runtime/autoload/dist/ft.vim b/runtime/autoload/dist/ft.vim index e48575c807..5db68d3cb4 100644 --- a/runtime/autoload/dist/ft.vim +++ b/runtime/autoload/dist/ft.vim @@ -348,7 +348,7 @@ export def FTidl() setf idl enddef -# Distinguish between "default" and Cproto prototype file. */ +# Distinguish between "default", Prolog and Cproto prototype file. export def ProtoCheck(default: string) # 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 @@ -358,7 +358,14 @@ export def ProtoCheck(default: string) if getline(2) =~ '.;$' setf cpp else - exe 'setf ' .. default + # recognize Prolog by specific text in the first non-empty line + # require a blank after the '%' because Perl uses "%list" and "%translate" + var l = getline(nextnonblank(1)) + if l =~ '\<prolog\>' || l =~ '^\s*\(%\+\(\s\|$\)\|/\*\)' || l =~ ':-' + setf prolog + else + exe 'setf ' .. default + endif endif enddef |