summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKnoP-01 <knosowski@graeffrobotics.de>2022-04-16 21:14:04 +0100
committerBram Moolenaar <Bram@vim.org>2022-04-16 21:14:04 +0100
commit93c7a45e86934a92ec513b437fe9b8cc343c53e3 (patch)
treecd28cac256b8b83f39d7bc778048df0fe98775cf
parent047a7019b293918343998ccbdfabd48c771f5eef (diff)
patch 8.2.4766: KRL files using "deffct" not recognizedv8.2.4766
Problem: KRL files using "deffct" not recognized. Solution: Adjust the pattern used for matching. (Patrick Meiser-Knosowski, closes #10200)
-rw-r--r--runtime/autoload/dist/ft.vim7
-rw-r--r--src/testdir/test_filetype.vim14
-rw-r--r--src/version.c2
3 files changed, 15 insertions, 8 deletions
diff --git a/runtime/autoload/dist/ft.vim b/runtime/autoload/dist/ft.vim
index 4c2d20ae71..05a92bc224 100644
--- a/runtime/autoload/dist/ft.vim
+++ b/runtime/autoload/dist/ft.vim
@@ -989,20 +989,23 @@ export def FTtf()
setf tf
enddef
+var ft_krl_header = '\&\w+'
# Determine if a *.src file is Kuka Robot Language
export def FTsrc()
+ var ft_krl_def_or_deffct = '%(global\s+)?def%(fct)?>'
if exists("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
endif
enddef
# Determine if a *.dat file is Kuka Robot Language
export def FTdat()
+ var ft_krl_defdat = 'defdat>'
if exists("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
endif
enddef
diff --git a/src/testdir/test_filetype.vim b/src/testdir/test_filetype.vim
index a94002e086..1bc94b539f 100644
--- a/src/testdir/test_filetype.vim
+++ b/src/testdir/test_filetype.vim
@@ -768,7 +768,7 @@ func Test_filetype_indent_off()
endfunc
"""""""""""""""""""""""""""""""""""""""""""""""""
-" Tests for specific extentions and filetypes.
+" Tests for specific extensions and filetypes.
" Keep sorted.
"""""""""""""""""""""""""""""""""""""""""""""""""
@@ -1562,11 +1562,13 @@ func Test_src_file()
bwipe!
call delete('srcfile.Src')
- " KRL global def with embedded spaces, file starts with empty line(s).
- call writefile(['', 'global def srcfile()'], 'srcfile.SRC')
- split srcfile.SRC
- call assert_equal('krl', &filetype)
- bwipe!
+ " KRL global deffct with embedded spaces, file starts with empty line(s).
+ for text in ['global def srcfile()', 'global deffct srcfile()']
+ call writefile(['', text], 'srcfile.SRC')
+ split srcfile.SRC
+ call assert_equal('krl', &filetype, text)
+ bwipe!
+ endfor
" User may overrule file inspection
let g:filetype_src = 'src'
diff --git a/src/version.c b/src/version.c
index d4410d05ca..c3aad487b3 100644
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 4766,
+/**/
4765,
/**/
4764,