vim-patch:8.2.4766: KRL files using "deffct" not recognized (#18137)

Problem:    KRL files using "deffct" not recognized.
Solution:   Adjust the pattern used for matching. (Patrick Meiser-Knosowski,
            closes vim/vim#10200)
93c7a45e86
This commit is contained in:
Christian Clason 2022-04-17 10:15:41 +02:00 committed by GitHub
parent ae325e6274
commit 670ecfc0cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 8 deletions

View File

@ -992,20 +992,23 @@ func dist#ft#FTtf()
setf tf setf tf
endfunc endfunc
let s:ft_krl_header = '\&\w+'
" Determine if a *.src file is Kuka Robot Language " Determine if a *.src file is Kuka Robot Language
func dist#ft#FTsrc() func dist#ft#FTsrc()
let ft_krl_def_or_deffct = '%(global\s+)?def%(fct)?>'
if exists("g:filetype_src") if exists("g:filetype_src")
exe "setf " .. g:filetype_src exe "setf " .. g:filetype_src
elseif getline(nextnonblank(1)) =~? '^\s*\%(&\w\+\|\%(global\s\+\)\?def\>\)' elseif getline(nextnonblank(1)) =~? '\v^\s*%(' .. s:ft_krl_header .. '|' .. ft_krl_def_or_deffct .. ')'
setf krl setf krl
endif endif
endfunc endfunc
" Determine if a *.dat file is Kuka Robot Language " Determine if a *.dat file is Kuka Robot Language
func dist#ft#FTdat() func dist#ft#FTdat()
let ft_krl_defdat = 'defdat>'
if exists("g:filetype_dat") if exists("g:filetype_dat")
exe "setf " .. g:filetype_dat exe "setf " .. g:filetype_dat
elseif getline(nextnonblank(1)) =~? '^\s*\%(&\w\+\|defdat\>\)' elseif getline(nextnonblank(1)) =~? '\v^\s*%(' .. s:ft_krl_header .. '|' .. ft_krl_defdat .. ')'
setf krl setf krl
endif endif
endfunc endfunc

View File

@ -743,7 +743,7 @@ func Test_setfiletype_completion()
endfunc endfunc
""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""""""""""""""""""""""""""""
" Tests for specific extentions and filetypes. " Tests for specific extensions and filetypes.
" Keep sorted. " Keep sorted.
""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""""""""""""""""""""""""""""
@ -1535,11 +1535,13 @@ func Test_src_file()
bwipe! bwipe!
call delete('srcfile.Src') call delete('srcfile.Src')
" KRL global def with embedded spaces, file starts with empty line(s). " KRL global deffct with embedded spaces, file starts with empty line(s).
call writefile(['', 'global def srcfile()'], 'srcfile.SRC') for text in ['global def srcfile()', 'global deffct srcfile()']
split srcfile.SRC call writefile(['', text], 'srcfile.SRC')
call assert_equal('krl', &filetype) split srcfile.SRC
bwipe! call assert_equal('krl', &filetype, text)
bwipe!
endfor
" User may overrule file inspection " User may overrule file inspection
let g:filetype_src = 'src' let g:filetype_src = 'src'