CodingStyle

Cristian Ionescu-Idbohrn cristian.ionescu-idbohrn at axis.com
Mon Mar 3 06:41:00 PST 2014


Emacs has the ability to learn coding styles.
Given a properly formated file, one can issue the command:

	M-x c-set-style
	Which C/l indentation style? linux

Than command:

	M-x c-guess-buffer-no-install

To find out what the guessed style is, use the command:

	M-x c-guess-view

This will dump an elisp-script-fragment into a buffer, something like:

(c-add-style "STYLE NAME HERE"
	     '("linux"
	       (c-basic-offset . 8)	; Guessed value
	       (c-offsets-alist
		(block-close . 0)	; Guessed value
		(brace-list-close . 0)	; Guessed value
		(brace-list-entry . 0)	; Guessed value
		(brace-list-intro . +)	; Guessed value
		(class-close . 0)	; Guessed value
		(cpp-define-intro . +)	; Guessed value
		(defun-block-intro . +)	; Guessed value
		(defun-close . 0)	; Guessed value
		(defun-open . 0)	; Guessed value
		(else-clause . 0)	; Guessed value
		(extern-lang-close . 0)	; Guessed value
		(inclass . +)		; Guessed value
		(inextern-lang . 0)	; Guessed value
		(statement . 0)		    ; Guessed value
		(statement-block-intro . +) ; Guessed value
		(statement-cont . +)	; Guessed value
		(substatement . +)	; Guessed value
		(topmost-intro . 0)	; Guessed value
		(access-label . -)
		(annotation-top-cont . 0)
		(annotation-var-cont . +)
		(arglist-close . c-lineup-close-paren)
		(arglist-cont c-lineup-gcc-asm-reg 0)
		(arglist-cont-nonempty . c-lineup-arglist)
		(arglist-intro . +)
                ...)))

Replace the "STYLE NAME HERE" with something like "linux-tabs-only".
Add that elisp-scriptfragment to your ~/.emacs and whenever you want
to use that style, do:

	M-x c-set-style
	Which C/l indentation style? linux-tabs-only

Dirk,

Could you please point out a few files that could be used as
templates?


Cheers,

-- 
Cristian


More information about the subsurface mailing list