patch 8.2.4701: Kuka Robot Language files not recognized

Problem:    Kuka Robot Language files not recognized.
Solution:   Recognize *.src and *.dat files. (Patrick Meiser-Knosowski,
            closes #10096)
This commit is contained in:
Bram Moolenaar
2022-04-06 18:57:39 +01:00
parent c947b9ae41
commit 3ad2090316
4 changed files with 73 additions and 0 deletions

View File

@ -896,6 +896,23 @@ export def FTtf()
setf tf
enddef
# Determine if a *.src file is Kuka Robot Language
export def FTsrc()
if exists("g:filetype_src")
exe "setf " .. g:filetype_src
elseif getline(nextnonblank(1)) =~? '^\s*\%(&\w\+\|\%(global\s\+\)\?def\>\)'
setf krl
endif
enddef
# Determine if a *.dat file is Kuka Robot Language
export def FTdat()
if exists("g:filetype_dat")
exe "setf " .. g:filetype_dat
elseif getline(nextnonblank(1)) =~? '^\s*\%(&\w\+\|defdat\>\)'
setf krl
endif
enddef
# Uncomment this line to check for compilation errors early
# defcompile

View File

@ -951,6 +951,11 @@ au BufNewFile,BufRead *.jl setf julia
" Kixtart
au BufNewFile,BufRead *.kix setf kix
" Kuka Robot Language
au BufNewFile,BufRead *.src\c call dist#ft#FTsrc()
au BufNewFile,BufRead *.dat\c call dist#ft#FTdat()
au BufNewFile,BufRead *.sub\c setf krl
" Kimwitu[++]
au BufNewFile,BufRead *.k setf kwt

View File

@ -290,6 +290,7 @@ let s:filename_checks = {
\ 'kivy': ['file.kv'],
\ 'kix': ['file.kix'],
\ 'kotlin': ['file.kt', 'file.ktm', 'file.kts'],
\ 'krl': ['file.sub', 'file.Sub', 'file.SUB'],
\ 'kscript': ['file.ks'],
\ 'kwt': ['file.k'],
\ 'lace': ['file.ace', 'file.ACE'],
@ -869,6 +870,30 @@ func Test_d_file()
call delete('Xfile.d')
endfunc
func Test_dat_file()
filetype on
call writefile(['&ACCESS'], 'datfile.dat')
split datfile.dat
call assert_equal('krl', &filetype)
bwipe!
call delete('datfile.dat')
call writefile([' DEFDAT datfile'], 'datfile.Dat')
split datfile.Dat
call assert_equal('krl', &filetype)
bwipe!
call delete('datfile.Dat')
call writefile(['', 'defdat datfile'], 'datfile.DAT')
split datfile.DAT
call assert_equal('krl', &filetype)
bwipe!
call delete('datfile.DAT')
filetype off
endfunc
func Test_dep3patch_file()
filetype on
@ -1311,6 +1336,30 @@ func Test_pp_file()
filetype off
endfunc
func Test_src_file()
filetype on
call writefile(['&ACCESS'], 'srcfile.src')
split srcfile.src
call assert_equal('krl', &filetype)
bwipe!
call delete('srcfile.src')
call writefile([' DEF srcfile()'], 'srcfile.Src')
split srcfile.Src
call assert_equal('krl', &filetype)
bwipe!
call delete('srcfile.Src')
call writefile(['', 'global def srcfile()'], 'srcfile.SRC')
split srcfile.SRC
call assert_equal('krl', &filetype)
bwipe!
call delete('srcfile.SRC')
filetype off
endfunc
func Test_tex_file()
filetype on

View File

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