; Delete trailing whitespaces on save (add-hook 'write-file-hooks 'delete-trailing-whitespace) ;; Mode to collapse code block (add-hook 'c-mode-common-hook (lambda () (hs-minor-mode 1))) (add-hook 'lisp-mode-hooks (lambda () (hs-minor-mode 1))) (add-hook 'java-mode-hooks (lambda () (hs-minor-mode 1))) (add-hook 'python-mode-hooks (lambda () (hs-minor-mode 1))) ; Auto insert C/C++ header guard (add-hook 'find-file-hooks (lambda () (when (and (memq major-mode '(c-mode c++-mode)) (equal (point-min) (point-max)) (string-match ".*\\.hh?" (buffer-file-name))) (insert-header-guard) (goto-line 3) (insert "\n")))) (add-hook 'find-file-hooks (lambda () (when (and (memq major-mode '(c-mode c++-mode)) (equal (point-min) (point-max)) (string-match ".*\\.cc?" (buffer-file-name))) (insert-header-inclusion)))) (add-hook 'sh-mode-hook (lambda () (insert-shebang-if-empty "/bin/sh"))) (add-hook 'ruby-mode-hook (lambda () (insert-shebang-if-empty "/usr/bin/ruby")))