diff --git a/runtime/autoload/dist/ft.vim b/runtime/autoload/dist/ft.vim index bb2bc2c1c5..4d39689cc0 100644 --- a/runtime/autoload/dist/ft.vim +++ b/runtime/autoload/dist/ft.vim @@ -3,7 +3,7 @@ vim9script # Vim functions for file type detection # # Maintainer: The Vim Project -# Last Change: 2025 Aug 26 +# Last Change: 2025 Sep 04 # Former Maintainer: Bram Moolenaar # These functions are moved here from runtime/filetype.vim to make startup @@ -828,26 +828,32 @@ export def FTinc() if exists("g:filetype_inc") exe "setf " .. g:filetype_inc else - var lines = getline(1) .. getline(2) .. getline(3) - if lines =~? "perlscript" - setf aspperl - elseif lines =~ "<%" - setf aspvbs - elseif lines =~ "' || lines =~# '[A-Z][A-Za-z0-9_:${}]*\s\+\%(??\|[?:+]\)\?= ' - setf bitbake - else - FTasmsyntax() - if exists("b:asmsyntax") - exe "setf " .. fnameescape(b:asmsyntax) - else - setf pov + for lnum in range(1, min([line("$"), 20])) + var line = getline(lnum) + if line =~? "perlscript" + setf aspperl + return + elseif line =~ "<%" + setf aspvbs + return + elseif line =~ "' || line =~# '[A-Z][A-Za-z0-9_:${}/]*\s\+\%(??\|[?:+.]\)\?=.\? ' + setf bitbake + return endif + endfor + FTasmsyntax() + if exists("b:asmsyntax") + exe "setf " .. fnameescape(b:asmsyntax) + else + setf pov endif endif enddef diff --git a/src/testdir/test_filetype.vim b/src/testdir/test_filetype.vim index ee0eaa0950..d91d1bafe0 100644 --- a/src/testdir/test_filetype.vim +++ b/src/testdir/test_filetype.vim @@ -2694,6 +2694,21 @@ func Test_inc_file() call assert_equal('bitbake', &filetype) bwipe! + call writefile(['PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"'], 'Xfile.inc') + split Xfile.inc + call assert_equal('bitbake', &filetype) + bwipe! + + call writefile(['MACHINEOVERRIDES =. "qemuall:"'], 'Xfile.inc') + split Xfile.inc + call assert_equal('bitbake', &filetype) + bwipe! + + call writefile(['BBPATH .= ":${LAYERDIR}"'], 'Xfile.inc') + split Xfile.inc + call assert_equal('bitbake', &filetype) + bwipe! + " asm call writefile(['asmsyntax=foo'], 'Xfile.inc') split Xfile.inc diff --git a/src/version.c b/src/version.c index c2381542b9..b28f72e8bb 100644 --- a/src/version.c +++ b/src/version.c @@ -724,6 +724,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1732, /**/ 1731, /**/