After executing :CMakeBuild , errors from clang/gcc are not parsed inside of quickfix list. How to add errorformat correctly for the :CMakeBuild or specifically for quickfix executor?
Screenshot with unparsed error for clang:
from current :set errorformat? :
errorformat=%*[^"]"%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]: Lea
ving directory %*[`']%f',%D%*\a: Entering directory %*[`']%f',%X%*\a: Leaving directory %*[`']%f',%DMaking %*\a in %f
it seems to be error format for CMake, though for :CMakeBuild it should be set like in /usr/share/vim/vim91/compiler/gcc.vim or at least appended:
" Vim compiler file
" Compiler: GNU C Compiler
" Previous Maintainer: Nikolai Weibull <[email protected]>
" 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)
if exists("current_compiler")
finish
endif
let current_compiler = "gcc"
let s:cpo_save = &cpo
set cpo&vim
CompilerSet errorformat=
\%*[^\"]\"%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
The proposed solution in
|
## Fix errors in quickfix list (Windows/msvc) |
seems to be like "setting errorformat globally". Seems like a too broad
set, isn't it?
After executing
:CMakeBuild, errors from clang/gcc are not parsed inside of quickfix list. How to adderrorformatcorrectly for the:CMakeBuildor specifically for quickfix executor?Screenshot with unparsed error for clang:
from current
:set errorformat?:it seems to be error format for CMake, though for
:CMakeBuildit should be set like in/usr/share/vim/vim91/compiler/gcc.vimor at least appended:The proposed solution in
cmake-tools.nvim/docs/howto.md
Line 477 in 1724421
set, isn't it?