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