diff options
Diffstat (limited to 'curl-style.el')
-rw-r--r-- | curl-style.el | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/curl-style.el b/curl-style.el new file mode 100644 index 000000000..83cf8cc31 --- /dev/null +++ b/curl-style.el @@ -0,0 +1,50 @@ +;;;; Emacs Lisp help for writing curl code. ;;;; + +;;; The curl hacker's C conventions. +;;; See the sample.emacs file on how this file can be made to take +;;; effect automatically when editing curl source files. + +(defconst curl-c-style + '((c-basic-offset . 2) + (c-comment-only-line-offset . 0) + (c-hanging-braces-alist . ((substatement-open before after))) + (c-offsets-alist . ((topmost-intro . 0) + (topmost-intro-cont . 0) + (substatement . +) + (substatement-open . 0) + (statement-case-intro . +) + (statement-case-open . 0) + (case-label . 0) + )) + ) + "Curl C Programming Style") + +(defun curl-code-cleanup () + "no docs" + (interactive) + (untabify (point-min) (point-max)) + (delete-trailing-whitespace) +) + +;; Customizations for all of c-mode, c++-mode, and objc-mode +(defun curl-c-mode-common-hook () + "Curl C mode hook" + ;; add curl style and set it for the current buffer + (c-add-style "curl" curl-c-style t) + (setq tab-width 8 + indent-tabs-mode nil ; Use spaces. Not tabs. + comment-column 40 + c-font-lock-extra-types (append '("bool" "CURL" "CURLcode" "ssize_t" "size_t" "curl_socklen_t" "fd_set" "time_t" "curl_off_t" "curl_socket_t" "in_addr_t" "CURLSHcode" "CURLMcode" "Curl_addrinfo")) + ) + ;; keybindings for C, C++, and Objective-C. We can put these in + ;; c-mode-base-map because of inheritance ... + (define-key c-mode-base-map "\M-q" 'c-fill-paragraph) + (define-key c-mode-base-map "\M-m" 'curl-code-cleanup) + (setq c-recognize-knr-p nil) + ;;; (add-hook 'write-file-hooks 'delete-trailing-whitespace t) + (setq show-trailing-whitespace t) + ) + +;; Set this is in your .emacs if you want to use the c-mode-hook as +;; defined here right out of the box. +; (add-hook 'c-mode-common-hook 'curl-c-mode-common-hook) |