diff options
Diffstat (limited to 'lisp/cpp.el')
-rw-r--r-- | lisp/cpp.el | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/lisp/cpp.el b/lisp/cpp.el index 5bb04a8..eb7660e 100644 --- a/lisp/cpp.el +++ b/lisp/cpp.el @@ -13,15 +13,22 @@ (c-set-offset 'arglist-intro '+) (c-set-offset 'arglist-cont-non-empty '+) (c-set-offset 'argslist-close '+) + (c-set-offset 'statement-cont 0) ) (add-hook 'c-mode-common-hook 'setup-c) -(defun create-cpp-class() - "Create a cpp class." - (interactive "Enter the name of the class: ") +(defun mk/cpp/generate-compile-commands-cmake() + "Regenerates a compile_commands.json database" + (interactive) + (shell-command (format "cd %s && cmake -S . -B build -D CMAKE_EXPORT_COMPILE_COMMANDS=1" (projectile-project-root))) ) +(defun maybe-regenerate-compile-commands() + (if (string= (buffer-file-name) "CMakeLists.txt") + (mk/cpp/generate-compile-commands-cmake))) + +(add-hook 'after-save-hook 'maybe-regenerate-compile-commands) (provide 'cpp) ;;; cpp.el ends here |