# For files ending in *.m4, distinguish:
# – *.html.m4 files
+# - *fvwm2rc*.m4 files
# – files in the Autoconf M4 dialect
# – files in POSIX M4
export def FTm4()
var fname = expand('%:t')
var path = expand('%:p:h')
- # Case 0: canonical Autoconf file
- if fname ==# 'aclocal.m4'
- setf config
+ if fname =~# 'html\.m4$'
+ setf htmlm4
return
endif
- # Case 1: html.m4
- if fname =~# 'html\.m4$'
- setf htmlm4
+ if fname =~# 'fvwm2rc'
+ setf fvwm2m4
+ return
+ endif
+
+ # Canonical Autoconf file
+ if fname ==# 'aclocal.m4'
+ setf config
return
endif
- # Case 2: repo heuristic (nearby configure.ac)
+ # Repo heuristic for Autoconf M4 (nearby configure.ac)
if filereadable(path .. '/../configure.ac') || filereadable(path .. '/configure.ac')
setf config
return
endif
- # Case 3: content heuristic (scan first ~200 lines)
+ # Content heuristic for Autoconf M4 (scan first ~200 lines)
# Signals:
# - Autoconf macro prefixes: AC_/AM_/AS_/AU_/AT_
var n = 1
n += 1
endwhile
- # Case 4: default to POSIX M4
+ # Default to POSIX M4
setf m4
enddef
" Vim support file to detect file types
"
" Maintainer: The Vim Project <https://github.com/vim/vim>
-" Last Change: 2025 Aug 26
+" Last Change: 2025 Aug 29
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
" Listen very carefully, I will say this only once
au BufNewFile,BufRead *.lss setf lss
" M4
-au BufNewFile,BufRead *.m4 call dist#ft#FTm4()
+au BufNewFile,BufRead *.m4 call dist#ft#FTm4()
au BufNewFile,BufRead .m4_history setf m4
au BufNewFile,BufRead *fvwmrc*,*fvwm95*.hook
\ let b:fvwm_version = 1 | call s:StarSetf('fvwm')
au BufNewFile,BufRead *fvwm2rc*
- \ if expand("<afile>:e") == "m4"
- \| call s:StarSetf('fvwm2m4')
- \|else
- \| let b:fvwm_version = 2 | call s:StarSetf('fvwm')
- \|endif
+ \ let b:fvwm_version = 2 | call s:StarSetf('fvwm')
" Gedcom
au BufNewFile,BufRead */tmp/lltmp* call s:StarSetf('gedcom')
fstab: ['fstab', 'mtab'],
func: ['file.fc'],
fusion: ['file.fusion'],
- fvwm: ['/.fvwm/file', 'any/.fvwm/file'],
+ fvwm: ['/.fvwm/file', 'any/.fvwm/file', '.fvwmrc', 'foo.fvwmrc', 'fvwmrc.foo', '.fvwm2rc', 'foo.fvwm2rc', 'fvwm2rc.foo', 'foo.fvwm95.hook', 'fvwm95.foo.hook'],
+ fvwm2m4: ['.fvwm2rc.m4', 'foo.fvwm2rc.m4', 'fvwm2rc.foo.m4'],
gdb: ['.gdbinit', 'gdbinit', '.cuda-gdbinit', 'cuda-gdbinit', 'file.gdb', '.config/gdbearlyinit', '.gdbearlyinit'],
gdmo: ['file.mo', 'file.gdmo'],
gdresource: ['file.tscn', 'file.tres'],
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1713,
/**/
1712,
/**/