hoersten-c-style.el
changeset 4 0fda818a8b6a
parent 1 ede059431d20
child 5 59b1838be594
equal deleted inserted replaced
3:47d5df23c502 4:0fda818a8b6a
     1 ;; ~/.emacs.d/hoersten-c-style.el - Luke Hoersten - v1.0
     1 ;; ~/.emacs.d/hoersten-c-style.el
       
     2 ;; Luke Hoersten <[email protected]>
     2 
     3 
     3 ;; hoersten c++-style
     4 ;; hoersten c++-style
     4 (c-add-style "hoersten"
     5 (c-add-style "hoersten"
     5              '(;; indentation
     6              '(;; indentation
     6                (indent-tabs-mode . t)
     7                (indent-tabs-mode . t)
    24                 (case-label        . +)
    25                 (case-label        . +)
    25                 (innamespace       . 0)
    26                 (innamespace       . 0)
    26                 (cpp-macro         . -))))
    27                 (cpp-macro         . -))))
    27 
    28 
    28 ;; c-like language settings (c, c++, java, etc.)
    29 ;; c-like language settings (c, c++, java, etc.)
       
    30 (require 'doxymacs)
    29 (setq-default c-hungry-delete-key t)                             ; enable hungry delete
    31 (setq-default c-hungry-delete-key t)                             ; enable hungry delete
    30 (setq-default c-default-style "hoersten")                        ; load c-style
    32 (setq-default c-default-style "hoersten")                        ; load c-style
    31 (add-hook 'c-mode-common-hook
    33 (add-hook 'c-mode-common-hook
    32           (lambda()
    34           (lambda ()
    33             ;; indentation
    35             ;; indentation
    34             (setq tab-width 3)
    36             (setq tab-width 3)
    35             (setq c-basic-offset 3)
    37             (setq c-basic-offset 3)
    36             (setq indent-tabs-mode t)
    38             (setq indent-tabs-mode t)
       
    39             (setq standard-indent 3)
    37 
    40 
    38             (c-toggle-auto-newline t)                            ; auto newline
    41             (c-toggle-auto-newline t)                            ; auto newline
    39             (auto-fill-mode t)                                   ; word wrap
    42             (c-subword-mode t)
       
    43             (doxymacs-mode t)
       
    44             (doxymacs-font-lock)
    40 
    45 
    41             ;; custom keys
    46             ;; custom keys
    42             (local-set-key (kbd "C-c f")   'ff-find-other-file)  ; toggle header/source file
    47             (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)
    48             (local-set-key (kbd "C-c C-c") 'comment-or-uncomment-region)
    44 
    49 
    45             ;; code folding
    50             ;; code folding
    46             (local-set-key (kbd "C-c v") 'hs-toggle-hiding)
    51             (local-set-key (kbd "C-c v") 'hs-toggle-hiding)
    47             (local-set-key (kbd "<f1>")  'hs-hide-all)
    52             (local-set-key (kbd "<f1>")  'hs-hide-all)
    48             (local-set-key (kbd "<f2>")  'hs-show-all)
    53             (local-set-key (kbd "<f2>")  'hs-show-all)
    49             (hs-minor-mode t)                                    ; enable hide-show mode
    54             (hs-minor-mode t)                                    ; enable hide-show mode
    50             (hs-hide-all)                                        ; hide all blocks by default
    55             ))
    51 
    56 
    52             ;; highlight todos
    57 (provide 'hoersten-c-style)
    53             (font-lock-add-keywords
       
    54              nil
       
    55              '(("\\([@]\\(TODO\\|todo\\|warning\\|note\\)\\)" 1 font-lock-warning-face t)))))