From 61ee833a504ae73bc6b3e2527a81582263f02afd Mon Sep 17 00:00:00 2001 From: "Wu, Zhenyu" Date: Tue, 9 Apr 2024 22:09:30 +0200 Subject: patch 9.1.0289: filetype: some TeX files are not recognized 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 Signed-off-by: Christian Brabandt --- runtime/autoload/dist/ft.vim | 8 +++++++- runtime/filetype.vim | 21 ++++++++++++++++++--- 2 files changed, 25 insertions(+), 4 deletions(-) (limited to 'runtime') 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 -- cgit v1.2.3