summaryrefslogtreecommitdiffstats
path: root/runtime/autoload
diff options
context:
space:
mode:
authorDoug Kearns <dougkearns@gmail.com>2023-08-27 18:44:09 +0200
committerChristian Brabandt <cb@256bit.org>2023-08-27 18:44:09 +0200
commitf97f6bbf56408c0c97b4ddbe81fba858d7455b0d (patch)
tree72fed51001ecacbb46f6a7b7b2e49bff401402ee /runtime/autoload
parent5c018bee0e1e272774584cfb1577327fbb67254a (diff)
patch 9.0.1797: Vimball/Visual Basic filetype detection conflictv9.0.1797
Problem: Vimball/Visual Basic filetype detection conflict Solution: runtime(vb): Improve Vimball and Visual Basic detection logic Only run Vimball Archiver's BufEnter autocommand on Vimball archives. Fixes #2694. closes: #12899 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Doug Kearns <dougkearns@gmail.com>
Diffstat (limited to 'runtime/autoload')
-rw-r--r--runtime/autoload/dist/ft.vim23
1 files changed, 19 insertions, 4 deletions
diff --git a/runtime/autoload/dist/ft.vim b/runtime/autoload/dist/ft.vim
index bc2125754a..6c15c29b53 100644
--- a/runtime/autoload/dist/ft.vim
+++ b/runtime/autoload/dist/ft.vim
@@ -62,7 +62,7 @@ export def FTasmsyntax()
endif
enddef
-var ft_visual_basic_content = '\cVB_Name\|Begin VB\.\(Form\|MDIForm\|UserControl\)'
+var ft_visual_basic_content = '\c^\s*\%(Attribute\s\+VB_Name\|Begin\s\+\%(VB\.\|{\%(\x\+-\)\+\x\+}\)\)'
# See FTfrm() for Visual Basic form file detection
export def FTbas()
@@ -146,11 +146,13 @@ export def FTcls()
return
endif
- if getline(1) =~ '^\v%(\%|\\)'
+ var line1 = getline(1)
+
+ if line1 =~ '^\v%(\%|\\)'
setf tex
- elseif getline(1)[0] == '#' && getline(1) =~ 'rexx'
+ elseif line1[0] == '#' && line1 =~ 'rexx'
setf rexx
- elseif getline(1) == 'VERSION 1.0 CLASS'
+ elseif line1 == 'VERSION 1.0 CLASS'
setf vb
else
setf st
@@ -324,6 +326,11 @@ export def FTfrm()
return
endif
+ if getline(1) == "VERSION 5.00"
+ setf vb
+ return
+ endif
+
var lines = getline(1, min([line("$"), 5]))
if match(lines, ft_visual_basic_content) > -1
@@ -1197,5 +1204,13 @@ export def FTv()
setf v
enddef
+export def FTvba()
+ if getline(1) =~ '^["#] Vimball Archiver'
+ setf vim
+ else
+ setf vb
+ endif
+enddef
+
# Uncomment this line to check for compilation errors early
# defcompile