mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04: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:
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
|
# recognize Prolog by specific text in the first non-empty line
|
||||||
# require a blank after the '%' because Perl uses "%list" and "%translate"
|
# require a blank after the '%' because Perl uses "%list" and "%translate"
|
||||||
var lnum = getline(nextnonblank(1))
|
var lnum = getline(nextnonblank(1))
|
||||||
if lnum =~ '\<prolog\>' || lnum =~ '^\s*\(%\+\(\s\|$\)\|/\*\)' || lnum =~ ':-'
|
if lnum =~ '\<prolog\>' || lnum =~ '(^\s*(:-\|%\|\/\*))\|.\s*$'
|
||||||
setf prolog
|
setf prolog
|
||||||
else
|
else
|
||||||
exe 'setf ' .. default
|
exe 'setf ' .. default
|
||||||
|
@ -2576,4 +2576,31 @@ func Test_uci_file()
|
|||||||
filetype off
|
filetype off
|
||||||
endfunc
|
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
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
@ -704,6 +704,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
558,
|
||||||
/**/
|
/**/
|
||||||
557,
|
557,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user