summaryrefslogtreecommitdiff
path: root/.config/nvim/lua/overseer/template/custom/cmake_test.lua
diff options
context:
space:
mode:
authorKyren223 <ulmliad223@gmail.com>2024-08-05 16:26:54 +0300
committerKyren223 <ulmliad223@gmail.com>2024-08-05 16:26:54 +0300
commit6abe2a79f71401003134d967327d4ee526ed12ae (patch)
tree6e6f824d7c622e706bd59a13d8dfe6fbe0c4b7a5 /.config/nvim/lua/overseer/template/custom/cmake_test.lua
parentd296700cb3a8fa7909e38b8bfcb15ddf1b811e25 (diff)
feat(nvim): setup overseer for C with cmake
Diffstat (limited to '.config/nvim/lua/overseer/template/custom/cmake_test.lua')
-rw-r--r--.config/nvim/lua/overseer/template/custom/cmake_test.lua28
1 files changed, 28 insertions, 0 deletions
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,
+ },
+}