summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWu, Zhenyu <wuzhenyu@ustc.edu>2024-04-09 22:09:30 +0200
committerChristian Brabandt <cb@256bit.org>2024-04-09 22:09:30 +0200
commit61ee833a504ae73bc6b3e2527a81582263f02afd (patch)
tree82aa919567a6739c2720bfd810f42e819f9ec1ff
parent72a156b4edfdf1502d421370cf38281c258e3c4a (diff)
patch 9.1.0289: filetype: some TeX files are not recognizedv9.1.0289
Problem: filetype: some TeX files are not recognized Solution: Add more patterns for TeX files and inspect a few more files for being TeX files (Wu, Zhenyu) closes: #14456 Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu> Signed-off-by: Christian Brabandt <cb@256bit.org>
-rw-r--r--runtime/autoload/dist/ft.vim8
-rw-r--r--runtime/filetype.vim21
-rw-r--r--src/testdir/test_filetype.vim2
-rw-r--r--src/version.c2
4 files changed, 28 insertions, 5 deletions
diff --git a/runtime/autoload/dist/ft.vim b/runtime/autoload/dist/ft.vim
index 14628308ee..05f1611b22 100644
--- a/runtime/autoload/dist/ft.vim
+++ b/runtime/autoload/dist/ft.vim
@@ -10,7 +10,9 @@ vim9script
# faster.
export def Check_inp()
- if getline(1) =~ '^\*'
+ if getline(1) =~ '%%'
+ setf tex
+ elseif getline(1) =~ '^\*'
setf abaqus
else
var n = 1
@@ -280,6 +282,10 @@ export def DtraceCheck()
enddef
export def FTdef()
+ # LaTeX def files are usually generated by docstrip, which will output '%%' in first line
+ if getline(1) =~ '%%'
+ setf tex
+ endif
if get(g:, "filetype_def", "") == "modula2" || IsModula2()
SetFiletypeModula2()
return
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index 911ca1ee3a..51630d20e2 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -305,8 +305,9 @@ au BufNewFile,BufRead *.csdl setf csdl
" Cabal
au BufNewFile,BufRead *.cabal setf cabal
-" Cdrdao TOC
-au BufNewFile,BufRead *.toc setf cdrtoc
+" Cdrdao TOC or LaTeX \tableofcontents files
+au BufNewFile,BufRead *.toc
+ \ if getline(1) =~# '\\contentsline' |setf tex|else|setf cdrtoc|endif
" Cdrdao config
au BufNewFile,BufRead */etc/cdrdao.conf,*/etc/defaults/cdrdao,*/etc/default/cdrdao,.cdrdao setf cdrdaoconf
@@ -1258,7 +1259,11 @@ au BufNewFile,BufRead */etc/login.defs setf logindefs
au BufNewFile,BufRead *.lgt setf logtalk
" LOTOS
-au BufNewFile,BufRead *.lot,*.lotos setf lotos
+au BufNewFile,BufRead *.lotos setf lotos
+
+" LOTOS or LaTeX \listoftables files
+au BufNewFile,BufRead *.lot
+ \ if getline(1) =~# '\\contentsline' |setf tex|else|setf lotos|endif
" Lout (also: *.lt)
au BufNewFile,BufRead *.lou,*.lout setf lout
@@ -2313,6 +2318,16 @@ au BufRead,BufNewFile *.tfvars setf terraform-vars
au BufNewFile,BufRead *.latex,*.sty,*.dtx,*.ltx,*.bbl setf tex
au BufNewFile,BufRead *.tex call dist#ft#FTtex()
+" LaTeX packages use LaTeX as their configuration, such as:
+" ~/.texlive/texmf-config/tex/latex/hyperref/hyperref.cfg
+" ~/.texlive/texmf-config/tex/latex/docstrip/docstrip.cfg
+au BufNewFile,BufRead */tex/latex/**.cfg setf tex
+
+" LaTeX packages will generate some medium LaTeX files during compiling
+" They should be ignored by .gitignore https://github.com/github/gitignore/blob/main/TeX.gitignore
+" Sometime we need to view its content for debugging
+au BufNewFile,BufRead *.{pgf,nlo,nls,out,thm,eps_tex,pygtex,pygstyle,clo,aux,brf,ind,lof,loe,nav,vrb,ins,tikz,bbx,cbx,beamer} setf tex
+
" ConTeXt
au BufNewFile,BufRead *.mkii,*.mkiv,*.mkvi,*.mkxl,*.mklx setf context
diff --git a/src/testdir/test_filetype.vim b/src/testdir/test_filetype.vim
index 19c8a2afe7..8417eaee84 100644
--- a/src/testdir/test_filetype.vim
+++ b/src/testdir/test_filetype.vim
@@ -735,7 +735,7 @@ def s:GetFilenameChecks(): dict<list<string>>
teraterm: ['file.ttl'],
terminfo: ['file.ti'],
'terraform-vars': ['file.tfvars'],
- tex: ['file.latex', 'file.sty', 'file.dtx', 'file.ltx', 'file.bbl'],
+ tex: ['file.latex', 'file.sty', 'file.dtx', 'file.ltx', 'file.bbl', 'any/.texlive/texmf-config/tex/latex/file/file.cfg', 'file.pgf', 'file.nlo', 'file.nls', 'file.out', 'file.thm', 'file.eps_tex', 'file.pygtex', 'file.pygstyle', 'file.clo', 'file.aux', 'file.brf', 'file.ind', 'file.lof', 'file.loe', 'file.nav', 'file.vrb', 'file.ins', 'file.tikz', 'file.bbx', 'file.cbx', 'file.beamer'],
texinfo: ['file.texinfo', 'file.texi', 'file.txi'],
texmf: ['texmf.cnf'],
text: ['file.text', 'file.txt', 'README', 'LICENSE', 'COPYING', 'AUTHORS', '/usr/share/doc/bash-completion/AUTHORS', '/etc/apt/apt.conf.d/README', '/etc/Muttrc.d/README'],
diff --git a/src/version.c b/src/version.c
index 44f9923674..f1c52c5ae7 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 289,
+/**/
288,
/**/
287,