Skip to content

Commit 83e331d

Browse files
committed
feat(qf): parse the emergency stop signal
refer: #3086
1 parent b4eb436 commit 83e331d

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

Diff for: autoload/vimtex/qf/latexlog.vim

+5
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ function! s:qf.set_errorformat() abort dict "{{{1
3333
setlocal errorformat+=%-P**\"%f\"
3434

3535
" Match errors
36+
setlocal errorformat+=%+E!\ Emergency\ stop.
3637
setlocal errorformat+=%E!\ LaTeX\ %trror:\ %m
3738
setlocal errorformat+=%E!pdfTeX\ error:\ %m
3839
setlocal errorformat+=%E%f:%l:\ \ ==>\ %m
@@ -134,6 +135,10 @@ function! s:qf.fix_paths(log) abort dict " {{{1
134135
let l:qf.text = substitute(l:qf.text, '\s*on input line \d\+.$', '', '')
135136
endif
136137

138+
if l:qf.text ==# '! Emergency stop.'
139+
let l:qf.text = 'Emergency stop (fatal error)!'
140+
endif
141+
137142
" Handle missing buffer/filename: Fallback to the main file (this is always
138143
" correct in single-file projects and is thus a good fallback).
139144
if l:qf.bufnr == 0

Diff for: test/test-quickfix/test-latexlog.vim

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ endtry
1313

1414
let s:expected_list = [
1515
\ {'lnum': 0, 'type': 'E', 'text': "Runaway argument?\n{\\sqrt {{1}} \\end {equation} \\par \\end {document} \nFile ended while scanning use of \\frac ."},
16+
\ {'lnum': 0, 'type': 'E', 'text': "Emergency stop (fatal error)!"},
1617
\ {'lnum': 0, 'type': 'E', 'text': 'Runaway argument?'},
1718
\ {'lnum': 16, 'type': 'E', 'text': 'Paragraph ended before \date was complete.'},
1819
\ {'lnum': 11, 'type': 'E', 'text': "Undefined control sequence.\n\\cdashline"},

0 commit comments

Comments
 (0)