1 ;; ~/.emacs.d/hoersten-c-style.el - Luke Hoersten - v1.0 |
1 ;; ~/.emacs.d/hoersten-c-style.el - Luke Hoersten - v1.0 |
2 |
2 |
3 ;; hoersten c++-style |
3 ;; hoersten c++-style |
4 (c-add-style "hoersten" |
4 (c-add-style "hoersten" |
5 '(;; indentation |
5 '(;; indentation |
6 (indent-tabs-mode . t) |
6 (indent-tabs-mode . t) |
7 (tab-width . 3) |
7 (tab-width . 3) |
8 (c-basic-offset . 3) |
8 (c-basic-offset . 3) |
9 |
9 |
10 ;; brace cleanups |
10 ;; brace cleanups |
11 (c-cleanup-list |
11 (c-cleanup-list |
12 brace-else-brace |
12 brace-else-brace |
13 brace-elseif-brace |
13 brace-elseif-brace |
14 brace-catch-brace |
14 brace-catch-brace |
15 empty-defun-braces |
15 empty-defun-braces |
16 defun-close-semi |
16 defun-close-semi |
17 list-close-comma |
17 list-close-comma |
18 scope-operator) |
18 scope-operator) |
19 |
19 |
20 ;; syntactic symbols |
20 ;; syntactic symbols |
21 (c-offsets-alist |
21 (c-offsets-alist |
22 (substatement-open . 0) |
22 (substatement-open . 0) |
23 (inline-open . 0) |
23 (inline-open . 0) |
24 (case-label . +) |
24 (case-label . +) |
25 (innamespace . 0) |
25 (innamespace . 0) |
26 (cpp-macro . -)))) |
26 (cpp-macro . -)))) |
27 |
27 |
28 ;; c-like language settings (c, c++, java, etc.) |
28 ;; c-like language settings (c, c++, java, etc.) |
29 (setq-default c-hungry-delete-key t) ; enable hungry delete |
29 (setq-default c-hungry-delete-key t) ; enable hungry delete |
30 (setq-default c-default-style "hoersten") ; load c-style |
30 (setq-default c-default-style "hoersten") ; load c-style |
31 (add-hook 'c-mode-common-hook |
31 (add-hook 'c-mode-common-hook |
32 (lambda() |
32 (lambda() |
33 (c-toggle-auto-newline t) ; auto newline |
33 ;; indentation |
34 (auto-fill-mode t) ; word wrap |
34 (setq tab-width 3) |
|
35 (setq c-basic-offset 3) |
|
36 (setq indent-tabs-mode t) |
35 |
37 |
36 ;; custom keys |
38 (c-toggle-auto-newline t) ; auto newline |
37 (local-set-key (kbd "C-c f") 'ff-find-other-file) ; toggle header/source file |
39 (auto-fill-mode t) ; word wrap |
38 (local-set-key (kbd "C-c C-c") 'comment-or-uncomment-region) |
|
39 |
40 |
40 ;; code folding |
41 ;; custom keys |
41 (local-set-key (kbd "C-c v") 'hs-toggle-hiding) |
42 (local-set-key (kbd "C-c f") 'ff-find-other-file) ; toggle header/source file |
42 (local-set-key (kbd "<f1>") 'hs-hide-all) |
43 (local-set-key (kbd "C-c C-c") 'comment-or-uncomment-region) |
43 (local-set-key (kbd "<f2>") 'hs-show-all) |
|
44 (hs-minor-mode t) ; enable hide-show mode |
|
45 (hs-hide-all) ; hide all blocks by default |
|
46 |
44 |
47 ;; highlight todos |
45 ;; code folding |
48 (font-lock-add-keywords |
46 (local-set-key (kbd "C-c v") 'hs-toggle-hiding) |
49 nil |
47 (local-set-key (kbd "<f1>") 'hs-hide-all) |
50 '(("\\([@]\\(TODO\\|todo\\|warning\\)\\)" 1 font-lock-warning-face t))))) |
48 (local-set-key (kbd "<f2>") 'hs-show-all) |
|
49 (hs-minor-mode t) ; enable hide-show mode |
|
50 (hs-hide-all) ; hide all blocks by default |
|
51 |
|
52 ;; highlight todos |
|
53 (font-lock-add-keywords |
|
54 nil |
|
55 '(("\\([@]\\(TODO\\|todo\\|warning\\|note\\)\\)" 1 font-lock-warning-face t))))) |