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