summaryrefslogtreecommitdiff
path: root/curl-style.el
diff options
context:
space:
mode:
Diffstat (limited to 'curl-style.el')
-rw-r--r--curl-style.el50
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)