Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (defun my-indent-ifdef ()
- (let ((extra-indent 0)
- (ifdef "^[ \t]*#if\\(def\\)?\\b")
- (endif "^[ \t]*#endif\\b"))
- (save-excursion
- (beginning-of-line)
- (if (not (bobp))
- (progn
- (c-backward-comments)
- (if (/= (line-number-at-pos) 1)
- (progn
- (beginning-of-line)
- (if (looking-at ifdef)
- (setq extra-indent tab-width)
- (if (looking-at endif)
- (setq extra-indent (- extra-indent tab-width)))))))))
- (save-excursion
- (beginning-of-line)
- (if (looking-at endif)
- (setq extra-indent (- extra-indent tab-width))))
- (if (/= extra-indent 0)
- (let ((new-indent (+ (current-indentation) extra-indent)))
- (if (>= new-indent 0)
- (if (eq (current-column) (current-indentation))
- (indent-line-to new-indent)
- (save-excursion
- (indent-line-to new-indent))))))))
- (add-hook 'c-mode-common-hook
- (lambda () (add-hook 'c-special-indent-hook 'my-indent-ifdef)))
Advertisement
Add Comment
Please, Sign In to add comment