diff options
Diffstat (limited to 'lua/cmake/autocmds.lua')
-rw-r--r-- | lua/cmake/autocmds.lua | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/lua/cmake/autocmds.lua b/lua/cmake/autocmds.lua new file mode 100644 index 0000000..e665182 --- /dev/null +++ b/lua/cmake/autocmds.lua @@ -0,0 +1,29 @@ +local config = require("cmake.config") +local actions = require("cmake.actions") +local constants = require("cmake.constants") + +local autocmds = {} + +function autocmds.setuo() + local cmake_nvim_augroup = vim.api.nvim_create_augroup("CMake", {}) + vim.api.nvim_create_autocmd({ "BufWritePost" }, { + group = cmake_nvim_augroup, + pattern = constants.variants_yaml_filename, + callback = function(args) + require("cmake.project").setup() + end, + desc = "Setup project after saving variants", + }) + if config.generate_after_save then + vim.api.nvim_create_autocmd({ "BufWritePost" }, { + group = cmake_nvim_augroup, + pattern = constants.cmakelists, + callback = function(args) + actions.generate() + end, + desc = "Generate project after saving CMakeLists.txt", + }) + end +end + +return autocmds |