From 6abe2a79f71401003134d967327d4ee526ed12ae Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Mon, 5 Aug 2024 16:26:54 +0300 Subject: feat(nvim): setup overseer for C with cmake --- .../lua/overseer/template/custom/cmake_test.lua | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .config/nvim/lua/overseer/template/custom/cmake_test.lua (limited to '.config/nvim/lua/overseer/template/custom/cmake_test.lua') diff --git a/.config/nvim/lua/overseer/template/custom/cmake_test.lua b/.config/nvim/lua/overseer/template/custom/cmake_test.lua new file mode 100644 index 0000000..7591cc9 --- /dev/null +++ b/.config/nvim/lua/overseer/template/custom/cmake_test.lua @@ -0,0 +1,28 @@ +local overseer = require('overseer') +local root_pattern = require('lspconfig/util').root_pattern('CMakePresets.json', 'CTestConfig.cmake', 'build', 'cmake') +return { + name = 'Test Cmake Project', + builder = function(_) + local filename = vim.fn.expand('%:p') + local root_dir = root_pattern(filename) + + return { + name = 'Cmake Tests', + cmd = 'ctest --output-on-failure', + cwd = root_dir .. '/build', + } + end, + tags = { overseer.TAG.TEST }, + priority = 42, + condition = { + callback = function() + local filename = vim.fn.expand('%:p') + local root_dir = root_pattern(filename) + if not root_dir then + return false, 'Unable to detect root directory of cmake project' + end + + return true + end, + }, +} -- cgit v1.3.1