From e08f48635f2444fecfc2e9806216aa5f3688f0db Mon Sep 17 00:00:00 2001 From: talha Date: Sun, 26 Jul 2026 22:41:19 +0500 Subject: Added neomake --- after/ftplugin/c.lua | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'after/ftplugin/c.lua') diff --git a/after/ftplugin/c.lua b/after/ftplugin/c.lua index f3bcf24..5585ff7 100644 --- a/after/ftplugin/c.lua +++ b/after/ftplugin/c.lua @@ -1 +1,54 @@ vim.opt.cinoptions = 'l1(0' + +local cmake_errorformat = table.concat({ + -- CMake internal error patterns + "CMake Error at %f:%l (%m):", + "CMake Error at %f:%l:%m", + "CMake Error in %f:%m", + "CMake Warning at %f:%l (%m):", + + -- GCC / Clang (file:line:col: type: message) + "%f:%l:%c: %trror: %m", + "%f:%l:%c: %twarning: %m", + "%f:%l:%c: %tnote: %m", + "%f:%l:%c: %m", + "%f:%l: %trror: %m", + "%f:%l: %twarning: %m", + "%f:%l: %m", + + -- MSVC (file(line): error/warning: message) + "%f(%l): %trror %m", + "%f(%l): %twarning %m", + "%f(%l,%c): %trror %m", + "%f(%l,%c): %twarning %m", + + -- GNU Make directory tracking (resolves relative file paths correctly in quickfix) + "%D%*\\a[%*\\d]: Entering directory `%f'", + "%X%*\\a[%*\\d]: Leaving directory `%f'", + "%D%*\\a: Entering directory `%f'", + "%X%*\\a: Leaving directory `%f'", + + -- Ignore unmatched compiler continuation/garbage lines + "%-G%f:%l: %m", + "%-G%s" +}, ',') + +local build_options = { + cmake_build = { + exe = "cmake", + args = { "--build", "build" }, + errorformat = cmake_errorformat, + }, + bash_build = { + exe = "./build.sh", + args = {}, + errorformat = cmake_errorformat, + } +} + +vim.keymap.set("n", "", function() + vim.fn["neomake#Make"](0, { build_options.cmake_build }) +end) +vim.keymap.set("n", "", function() + vim.fn["neomake#Make"](0, { build_options.bash_build }) +end) -- cgit v1.2.3