forked from aniani/vim
patch 8.2.4305: tex filetype detection fails
Problem: Tex filetype detection fails. Solution: Check value to be positive. (closes #9704)
This commit is contained in:
7
runtime/autoload/dist/ft.vim
vendored
7
runtime/autoload/dist/ft.vim
vendored
@@ -3,7 +3,7 @@ vim9script
|
|||||||
# Vim functions for file type detection
|
# Vim functions for file type detection
|
||||||
#
|
#
|
||||||
# Maintainer: Bram Moolenaar <Bram@vim.org>
|
# Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
# Last Change: 2022 Feb 04
|
# Last Change: 2022 Feb 05
|
||||||
|
|
||||||
# These functions are moved here from runtime/filetype.vim to make startup
|
# These functions are moved here from runtime/filetype.vim to make startup
|
||||||
# faster.
|
# faster.
|
||||||
@@ -722,7 +722,7 @@ export def FTperl(): number
|
|||||||
endif
|
endif
|
||||||
var save_cursor = getpos('.')
|
var save_cursor = getpos('.')
|
||||||
call cursor(1, 1)
|
call cursor(1, 1)
|
||||||
var has_use = search('^use\s\s*\k', 'c', 30)
|
var has_use = search('^use\s\s*\k', 'c', 30) > 0
|
||||||
call setpos('.', save_cursor)
|
call setpos('.', save_cursor)
|
||||||
if has_use
|
if has_use
|
||||||
setf perl
|
setf perl
|
||||||
@@ -755,7 +755,8 @@ export def FTtex()
|
|||||||
var save_cursor = getpos('.')
|
var save_cursor = getpos('.')
|
||||||
call cursor(1, 1)
|
call cursor(1, 1)
|
||||||
var firstNC = search('^\s*[^[:space:]%]', 'c', 1000)
|
var firstNC = search('^\s*[^[:space:]%]', 'c', 1000)
|
||||||
if firstNC # Check the next thousand lines for a LaTeX or ConTeXt keyword.
|
if firstNC > 0
|
||||||
|
# Check the next thousand lines for a LaTeX or ConTeXt keyword.
|
||||||
var lpat = 'documentclass\>\|usepackage\>\|begin{\|newcommand\>\|renewcommand\>'
|
var lpat = 'documentclass\>\|usepackage\>\|begin{\|newcommand\>\|renewcommand\>'
|
||||||
var cpat = 'start\a\+\|setup\a\+\|usemodule\|enablemode\|enableregime\|setvariables\|useencoding\|usesymbols\|stelle\a\+\|verwende\a\+\|stel\a\+\|gebruik\a\+\|usa\a\+\|imposta\a\+\|regle\a\+\|utilisemodule\>'
|
var cpat = 'start\a\+\|setup\a\+\|usemodule\|enablemode\|enableregime\|setvariables\|useencoding\|usesymbols\|stelle\a\+\|verwende\a\+\|stel\a\+\|gebruik\a\+\|usa\a\+\|imposta\a\+\|regle\a\+\|utilisemodule\>'
|
||||||
var kwline = search('^\s*\\\%(' .. lpat .. '\)\|^\s*\\\(' .. cpat .. '\)',
|
var kwline = search('^\s*\\\%(' .. lpat .. '\)\|^\s*\\\(' .. cpat .. '\)',
|
||||||
|
@@ -1306,4 +1306,23 @@ func Test_frm_file()
|
|||||||
filetype off
|
filetype off
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func Test_tex_file()
|
||||||
|
filetype on
|
||||||
|
|
||||||
|
" only tests one case, should do more
|
||||||
|
let lines =<< trim END
|
||||||
|
% This is a sentence.
|
||||||
|
|
||||||
|
This is a sentence.
|
||||||
|
END
|
||||||
|
call writefile(lines, "Xfile.tex")
|
||||||
|
split Xfile.tex
|
||||||
|
call assert_equal('plaintex', &filetype)
|
||||||
|
bwipe
|
||||||
|
|
||||||
|
call delete('Xfile.tex')
|
||||||
|
filetype off
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
|
||||||
" vim: shiftwidth=2 sts=2 expandtab
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
@@ -746,6 +746,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
4305,
|
||||||
/**/
|
/**/
|
||||||
4304,
|
4304,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user