Mercurial > vim
changeset 34840:928f698878ea v9.1.0289
patch 9.1.0289: filetype: some TeX files are not recognized
Commit: https://github.com/vim/vim/commit/61ee833a504ae73bc6b3e2527a81582263f02afd
Author: Wu, Zhenyu <wuzhenyu@ustc.edu>
Date: Tue Apr 9 22:09:30 2024 +0200
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 <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 09 Apr 2024 22:15:04 +0200 |
parents | 0a374b6f92fb |
children | 8916290113b6 |
files | runtime/autoload/dist/ft.vim runtime/filetype.vim src/testdir/test_filetype.vim src/version.c |
diffstat | 4 files changed, 28 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- 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
--- 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 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 te 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
--- a/src/testdir/test_filetype.vim +++ b/src/testdir/test_filetype.vim @@ -735,7 +735,7 @@ def s:GetFilenameChecks(): dict<list<str 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'],