hoersten-c-style.el
changeset 15 7b7afa6e09a6
parent 13 7dc464c4e2d3
child 18 ec0bcf569e0f
equal deleted inserted replaced
14:4fc155f601d6 15:7b7afa6e09a6
     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)