forked from aniani/vim
patch 8.2.4766: KRL files using "deffct" not recognized
Problem: KRL files using "deffct" not recognized. Solution: Adjust the pattern used for matching. (Patrick Meiser-Knosowski, closes #10200)
This commit is contained in:
7
runtime/autoload/dist/ft.vim
vendored
7
runtime/autoload/dist/ft.vim
vendored
@@ -989,20 +989,23 @@ export def FTtf()
|
|||||||
setf tf
|
setf tf
|
||||||
enddef
|
enddef
|
||||||
|
|
||||||
|
var ft_krl_header = '\&\w+'
|
||||||
# Determine if a *.src file is Kuka Robot Language
|
# Determine if a *.src file is Kuka Robot Language
|
||||||
export def FTsrc()
|
export def FTsrc()
|
||||||
|
var 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*%(' .. ft_krl_header .. '|' .. ft_krl_def_or_deffct .. ')'
|
||||||
setf krl
|
setf krl
|
||||||
endif
|
endif
|
||||||
enddef
|
enddef
|
||||||
|
|
||||||
# Determine if a *.dat file is Kuka Robot Language
|
# Determine if a *.dat file is Kuka Robot Language
|
||||||
export def FTdat()
|
export def FTdat()
|
||||||
|
var 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*%(' .. ft_krl_header .. '|' .. ft_krl_defdat .. ')'
|
||||||
setf krl
|
setf krl
|
||||||
endif
|
endif
|
||||||
enddef
|
enddef
|
||||||
|
@@ -768,7 +768,7 @@ func Test_filetype_indent_off()
|
|||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""
|
"""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
" Tests for specific extentions and filetypes.
|
" Tests for specific extensions and filetypes.
|
||||||
" Keep sorted.
|
" Keep sorted.
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""
|
"""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
@@ -1562,11 +1562,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'
|
||||||
|
@@ -746,6 +746,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 */
|
||||||
|
/**/
|
||||||
|
4766,
|
||||||
/**/
|
/**/
|
||||||
4765,
|
4765,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user