1 ;; ~/.emacs.d/hoersten-c-style.el |
1 ;; ~/.emacs.d/hoersten-c-style.el |
2 ;; Luke Hoersten <[email protected]> |
2 ;; Luke Hoersten <[email protected]> |
3 |
3 |
4 ;; hoersten c++-style |
4 ;; hoersten c++-style |
5 (c-add-style "hoersten" |
5 (c-add-style |
6 '(;; indentation |
6 "hoersten" |
7 (indent-tabs-mode . t) |
7 '(;; indentation |
8 (tab-width . 3) |
8 (indent-tabs-mode . t) |
9 (c-basic-offset . 3) |
9 (tab-width . 3) |
|
10 (c-basic-offset . 3) |
10 |
11 |
11 ;; brace cleanups |
12 ;; brace cleanups |
12 (c-cleanup-list |
13 (c-cleanup-list |
13 brace-else-brace |
14 brace-else-brace |
14 brace-elseif-brace |
15 brace-elseif-brace |
15 brace-catch-brace |
16 brace-catch-brace |
16 empty-defun-braces |
17 empty-defun-braces |
17 defun-close-semi |
18 defun-close-semi |
18 list-close-comma |
19 list-close-comma |
19 scope-operator) |
20 scope-operator) |
20 |
21 |
21 ;; syntactic symbols |
22 ;; syntactic symbols |
22 (c-offsets-alist |
23 (c-offsets-alist |
23 (substatement-open . 0) |
24 (substatement-open . 0) |
24 (inline-open . 0) |
25 (inline-open . 0) |
25 (case-label . +) |
26 (case-label . +) |
26 (innamespace . 0) |
27 (innamespace . 0) |
27 (arglist-cont-nonempty . +) |
28 (arglist-cont-nonempty . +) |
28 (cpp-macro . -)))) |
29 (cpp-macro . -)))) |
29 |
30 |
30 ;; c-like language settings (c, c++, java, etc.) |
31 ;; c-like language settings (c, c++, java, etc.) |
31 ;;(require 'doxymacs) |
32 ;;(require 'doxymacs) |
32 (setq-default c-hungry-delete-key t) ; enable hungry delete |
33 (setq-default c-hungry-delete-key t) ; enable hungry delete |
33 (setq-default c-default-style "hoersten") ; load c-style |
34 (setq-default c-default-style "hoersten") ; load c-style |
34 (add-hook 'c-mode-common-hook |
35 (add-hook |
35 (lambda () |
36 'c-mode-common-hook |
36 ;; indentation |
37 (lambda () |
37 (setq tab-width 3) |
38 ;; indentation |
38 (setq c-basic-offset 3) |
39 (setq |
39 (setq indent-tabs-mode t) |
40 tab-width 3 |
40 (setq standard-indent 3) |
41 c-basic-offset 3 |
41 (setq whitespace-line-column 120) |
42 indent-tabs-mode t |
|
43 standard-indent 3 |
|
44 whitespace-line-column 120) |
42 |
45 |
43 (c-toggle-auto-newline t) ; auto newline |
46 (c-toggle-auto-newline t) ; auto newline |
44 (c-subword-mode t) |
47 (c-subword-mode t) |
45 ;;(doxymacs-mode t) |
48 ;;(doxymacs-mode t) |
46 ;;(doxymacs-font-lock) |
49 ;;(doxymacs-font-lock) |
47 |
50 |
48 ;; custom keys |
51 ;; custom keys |
49 (local-set-key (kbd "C-c f") 'ff-find-other-file) ; toggle header/source file |
52 (local-set-key (kbd "C-c f") 'ff-find-other-file) ; toggle header/source file |
50 (local-set-key (kbd "C-c C-c") 'comment-or-uncomment-region) |
53 (local-set-key (kbd "C-c C-c") 'comment-or-uncomment-region) |
51 |
54 |
52 ;; code folding |
55 ;; code folding |
53 (local-set-key (kbd "C-c v") 'hs-toggle-hiding) |
56 (local-set-key (kbd "C-c v") 'hs-toggle-hiding) |
54 (local-set-key (kbd "<f1>") 'hs-hide-all) |
57 (local-set-key (kbd "<f1>") 'hs-hide-all) |
55 (local-set-key (kbd "<f2>") 'hs-show-all) |
58 (local-set-key (kbd "<f2>") 'hs-show-all) |
56 (hs-minor-mode t) ; enable hide-show mode |
59 (hs-minor-mode t) ; enable hide-show mode |
57 |
60 |
58 ;; gdb settings |
61 ;; gdb settings |
59 (setq gdb-many-windows t) ; gdb many windows |
62 (setq |
60 (setq gdb-use-separate-io-buffer t) ; gdb stdio output |
63 gdb-many-windows t ; gdb many windows |
61 (setq gud-tooltip-mode t) ; mouse hover variables |
64 gdb-use-separate-io-buffer t ; gdb stdio output |
62 (local-set-key (kbd "C-c g") 'gdb) ; gdb |
65 setq gud-tooltip-mode t) ; mouse hover variables |
|
66 (local-set-key (kbd "C-c g") 'gdb) ; gdb |
63 |
67 |
64 ;; auto-close bracing |
68 ;; auto-close bracing |
65 (dolist (key '("(" "[")) (define-key (current-local-map) key 'insert-pair)) |
69 (dolist (key '("(" "[")) (define-key (current-local-map) key 'insert-pair)) |
66 )) |
70 )) |
67 |
71 |
68 (add-to-list 'auto-mode-alist '("\\.ipp$" . c++-mode)) |
72 (add-to-list 'auto-mode-alist '("\\.ipp$" . c++-mode)) |
69 (add-to-list 'auto-mode-alist '("\\.inl$" . c++-mode)) |
73 (add-to-list 'auto-mode-alist '("\\.inl$" . c++-mode)) |
70 |
74 |
71 (provide 'hoersten-c-style) |
75 (provide 'hoersten-c-style) |