mirror of
https://github.com/vim/vim
synced 2025-07-16 01:01:58 +00:00
patch 9.1.0558: filetype: prolog detection can be improved
Problem: filetype: prolog detection can be improved Solution: Improved the Prolog file detection regex and added tests for all cases. (igna_martinoli) fixes: #10835 closes: #15206 Signed-off-by: igna_martinoli <ignamartinoli@protonmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
893eeeb445
commit
50dc83cf92
2
runtime/autoload/dist/ft.vim
vendored
2
runtime/autoload/dist/ft.vim
vendored
@ -465,7 +465,7 @@ export def ProtoCheck(default: string)
|
||||
# recognize Prolog by specific text in the first non-empty line
|
||||
# require a blank after the '%' because Perl uses "%list" and "%translate"
|
||||
var lnum = getline(nextnonblank(1))
|
||||
if lnum =~ '\<prolog\>' || lnum =~ '^\s*\(%\+\(\s\|$\)\|/\*\)' || lnum =~ ':-'
|
||||
if lnum =~ '\<prolog\>' || lnum =~ '(^\s*(:-\|%\|\/\*))\|.\s*$'
|
||||
setf prolog
|
||||
else
|
||||
exe 'setf ' .. default
|
||||
|
@ -2576,4 +2576,31 @@ func Test_uci_file()
|
||||
filetype off
|
||||
endfunc
|
||||
|
||||
func Test_pro_file()
|
||||
filetype on
|
||||
|
||||
"Prolog
|
||||
call writefile([':-module(test/1,'], 'Xfile.pro', 'D')
|
||||
split Xfile.pro
|
||||
call assert_equal('prolog', &filetype)
|
||||
bwipe!
|
||||
|
||||
call writefile(['% comment'], 'Xfile.pro', 'D')
|
||||
split Xfile.pro
|
||||
call assert_equal('prolog', &filetype)
|
||||
bwipe!
|
||||
|
||||
call writefile(['/* multiline comment'], 'Xfile.pro', 'D')
|
||||
split Xfile.pro
|
||||
call assert_equal('prolog', &filetype)
|
||||
bwipe!
|
||||
|
||||
call writefile(['rule(test, 1.7).'], 'Xfile.pro', 'D')
|
||||
split Xfile.pro
|
||||
call assert_equal('prolog', &filetype)
|
||||
bwipe!
|
||||
|
||||
filetype off
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
@ -704,6 +704,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
558,
|
||||
/**/
|
||||
557,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user