mirror of
https://github.com/vim/vim.git
synced 2025-12-23 12:15:17 +01:00
Problem: gcc.vim interprets "make: *** [Makefile" in the error message
"make: *** [Makefile:2: all] Error 1" as a valid filename.
Solution: Add pattern to extract the filename correctly. Note that this
doesn't remove the dangling "]" from the output ("all]").
closes: #18956
Signed-off-by: yilisharcs <yilisharcs@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
47 lines
1.5 KiB
VimL
47 lines
1.5 KiB
VimL
" Vim compiler file
|
|
" Compiler: GNU C Compiler
|
|
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
|
" Last Change: 2010 Oct 14
|
|
" changed pattern for entering/leaving directories
|
|
" by Daniel Hahler, 2019 Jul 12
|
|
" added line suggested by Anton Lindqvist 2016 Mar 31
|
|
" 2024 Apr 03 by The Vim Project (removed :CompilerSet definition)
|
|
" 2025 Dec 17 by The Vim Project (correctly parse: 'make: *** [Makefile:2: all] Error 1')
|
|
|
|
if exists("current_compiler")
|
|
finish
|
|
endif
|
|
let current_compiler = "gcc"
|
|
|
|
let s:cpo_save = &cpo
|
|
set cpo&vim
|
|
|
|
CompilerSet errorformat=
|
|
\make:\ ***\ [%f:%l:\ %m,
|
|
\%*[^\"]\"%f\"%*\\D%l:%c:\ %m,
|
|
\%*[^\"]\"%f\"%*\\D%l:\ %m,
|
|
\\"%f\"%*\\D%l:%c:\ %m,
|
|
\\"%f\"%*\\D%l:\ %m,
|
|
\%-G%f:%l:\ %trror:\ (Each\ undeclared\ identifier\ is\ reported\ only\ once,
|
|
\%-G%f:%l:\ %trror:\ for\ each\ function\ it\ appears\ in.),
|
|
\%f:%l:%c:\ %trror:\ %m,
|
|
\%f:%l:%c:\ %tarning:\ %m,
|
|
\%f:%l:%c:\ %m,
|
|
\%f:%l:\ %trror:\ %m,
|
|
\%f:%l:\ %tarning:\ %m,
|
|
\%f:%l:\ %m,
|
|
\%f:\\(%*[^\\)]\\):\ %m,
|
|
\\"%f\"\\,\ line\ %l%*\\D%c%*[^\ ]\ %m,
|
|
\%D%*\\a[%*\\d]:\ Entering\ directory\ %*[`']%f',
|
|
\%X%*\\a[%*\\d]:\ Leaving\ directory\ %*[`']%f',
|
|
\%D%*\\a:\ Entering\ directory\ %*[`']%f',
|
|
\%X%*\\a:\ Leaving\ directory\ %*[`']%f',
|
|
\%DMaking\ %*\\a\ in\ %f
|
|
|
|
if exists('g:compiler_gcc_ignore_unmatched_lines')
|
|
CompilerSet errorformat+=%-G%.%#
|
|
endif
|
|
|
|
let &cpo = s:cpo_save
|
|
unlet s:cpo_save
|