patch 9.1.0866: filetype: LLVM IR files are not recognized

Problem:  filetype: LLVM IR files are not recognized
Solution: detect '*.ll' files either as lifelines or llvm filetype
          (Wu, Zhenyu)

closes: #15824

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Wu, Zhenyu
2024-11-14 22:55:36 +01:00
committed by Christian Brabandt
parent 0684800c85
commit bc32bbddcf
5 changed files with 41 additions and 1 deletions

View File

@ -169,6 +169,14 @@ export def FTcls()
endif
enddef
export def FTll()
if getline(1) =~ ';\|\<source_filename\>\|\<target\>'
setf llvm
else
setf lifelines
endif
enddef
export def FTlpc()
if exists("g:lpc_syntax_for_c")
var lnum = 1

View File

@ -1351,7 +1351,7 @@ au BufNewFile,BufRead */etc/sensors.conf,*/etc/sensors3.conf setf sensors
au BufNewFile,BufRead lftp.conf,.lftprc,*lftp/rc setf lftp
" Lifelines (or Lex for C++!)
au BufNewFile,BufRead *.ll setf lifelines
au BufNewFile,BufRead *.ll call dist#ft#FTll()
" Lilo: Linux loader
au BufNewFile,BufRead lilo.conf setf lilo

12
runtime/ftplugin/llvm.vim Normal file
View File

@ -0,0 +1,12 @@
" Vim filetype plugin file
" Language: LLVM IR
" Last Change: 2024 Oct 22
" Maintainer: Wu, Zhenyu <wuzhenyu@ustc.edu>
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
setl comments=:;
setl commentstring=;\ %s
let b:undo_ftplugin = "setl commentstring< comments<"

View File

@ -2446,6 +2446,24 @@ func Test_inc_file()
filetype off
endfunc
func Test_ll_file()
filetype on
" LLVM IR
call writefile(['target triple = "nvptx64-nvidia-cuda"'], 'Xfile.ll', 'D')
split Xfile.ll
call assert_equal('llvm', &filetype)
bwipe!
" lifelines
call writefile(['proc main() {}'], 'Xfile.ll', 'D')
split Xfile.ll
call assert_equal('lifelines', &filetype)
bwipe!
filetype off
endfunc
func Test_lsl_file()
filetype on

View File

@ -704,6 +704,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
866,
/**/
865,
/**/