mirror of
				https://github.com/libssh2/libssh2.git
				synced 2025-10-31 23:30:25 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			EmacsLisp
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			EmacsLisp
		
	
	
	
	
	
| ;;;; Emacs Lisp help for writing libssh2 code. ;;;;
 | |
| ;;;; $Id: libssh2-style.el,v 1.1 2008/12/20 12:36:50 bagder Exp $
 | |
| 
 | |
| ;;; The libssh2 hacker's C conventions.
 | |
| ;;; See the sample.emacs file on how this file can be made to take
 | |
| ;;; effect automatically when editing libssh2 source files.
 | |
| 
 | |
| (defconst libssh2-c-style
 | |
|   '((c-basic-offset . 4)
 | |
|     (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)
 | |
| 			))
 | |
|     )
 | |
|   "Libssh2 C Programming Style")
 | |
| 
 | |
| (defun libssh2-code-cleanup ()
 | |
|   "tabify and delete trailing whitespace"
 | |
|   (interactive)
 | |
|   (untabify (point-min) (point-max))
 | |
|   (delete-trailing-whitespace)
 | |
| )
 | |
| 
 | |
| ;; Customizations for all of c-mode, c++-mode, and objc-mode
 | |
| (defun libssh2-c-mode-common-hook ()
 | |
|   "Libssh2 C mode hook"
 | |
|   ;; add libssh2 style and set it for the current buffer
 | |
|   (c-add-style "libssh2" libssh2-c-style t)
 | |
|   (setq tab-width 8
 | |
| 	indent-tabs-mode nil		; Use spaces, not tabs.
 | |
| 	comment-column 40
 | |
| 	c-font-lock-extra-types (append '("libssh2_int64_t" "LIBSSH2_USERAUTH_KBDINT_PROMPT" "LIBSSH2_SESSION" "LIBSSH2_CHANNEL" "ssize_t" "size_t" "uint32_t" "LIBSSH2_LISTENER" "LIBSSH2_POLLFD"))
 | |
| 	)
 | |
|   ;; 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" 'libssh2-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 'libssh2-c-mode-common-hook)
 |