mirror of
https://github.com/vim/vim
synced 2025-07-16 01:01:58 +00:00
patch 9.1.1466: filetype: not all lex files are recognized
Problem: filetype: not all lex files are recognized Solution: detect *.ll as lex, llvm or lifelines filetype, depending on the content (Eisuke Kawashima) closes: #17560 Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
acd04b2fd7
commit
48295111e5
15
runtime/autoload/dist/ft.vim
vendored
15
runtime/autoload/dist/ft.vim
vendored
@ -3,7 +3,7 @@ vim9script
|
|||||||
# Vim functions for file type detection
|
# Vim functions for file type detection
|
||||||
#
|
#
|
||||||
# Maintainer: The Vim Project <https://github.com/vim/vim>
|
# Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||||
# Last Change: 2025 Apr 21
|
# Last Change: 2025 Jun 17
|
||||||
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
|
|
||||||
# These functions are moved here from runtime/filetype.vim to make startup
|
# These functions are moved here from runtime/filetype.vim to make startup
|
||||||
@ -184,9 +184,18 @@ enddef
|
|||||||
export def FTll()
|
export def FTll()
|
||||||
if getline(1) =~ ';\|\<source_filename\>\|\<target\>'
|
if getline(1) =~ ';\|\<source_filename\>\|\<target\>'
|
||||||
setf llvm
|
setf llvm
|
||||||
else
|
return
|
||||||
setf lifelines
|
|
||||||
endif
|
endif
|
||||||
|
var n = 1
|
||||||
|
while n < 100 && n <= line("$")
|
||||||
|
var line = getline(n)
|
||||||
|
if line =~ '^\s*%'
|
||||||
|
setf lex
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
n += 1
|
||||||
|
endwhile
|
||||||
|
setf lifelines
|
||||||
enddef
|
enddef
|
||||||
|
|
||||||
export def FTlpc()
|
export def FTlpc()
|
||||||
|
@ -1420,7 +1420,7 @@ au BufNewFile,BufRead */etc/sensors.conf,*/etc/sensors3.conf setf sensors
|
|||||||
" LFTP
|
" LFTP
|
||||||
au BufNewFile,BufRead lftp.conf,.lftprc,*lftp/rc setf lftp
|
au BufNewFile,BufRead lftp.conf,.lftprc,*lftp/rc setf lftp
|
||||||
|
|
||||||
" Lifelines (or Lex for C++!)
|
" Lifelines, LLVM, or Lex for C++
|
||||||
au BufNewFile,BufRead *.ll call dist#ft#FTll()
|
au BufNewFile,BufRead *.ll call dist#ft#FTll()
|
||||||
|
|
||||||
" Lilo: Linux loader
|
" Lilo: Linux loader
|
||||||
|
@ -2634,6 +2634,12 @@ func Test_ll_file()
|
|||||||
call assert_equal('llvm', &filetype)
|
call assert_equal('llvm', &filetype)
|
||||||
bwipe!
|
bwipe!
|
||||||
|
|
||||||
|
" lex (C++)
|
||||||
|
call writefile(['%{', '#include <iostream>', '%}'], 'Xfile.ll', 'D')
|
||||||
|
split Xfile.ll
|
||||||
|
call assert_equal('lex', &filetype)
|
||||||
|
bwipe!
|
||||||
|
|
||||||
" lifelines
|
" lifelines
|
||||||
call writefile(['proc main() {}'], 'Xfile.ll', 'D')
|
call writefile(['proc main() {}'], 'Xfile.ll', 'D')
|
||||||
split Xfile.ll
|
split Xfile.ll
|
||||||
|
@ -709,6 +709,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 */
|
||||||
|
/**/
|
||||||
|
1466,
|
||||||
/**/
|
/**/
|
||||||
1465,
|
1465,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user