Browse Source

C styling

master
Raphael Roberts 5 years ago
parent
commit
d1a39d480a
  1. 11
      custom.el
  2. 34
      elpa/google-c-style-20180130.1736/google-c-style-autoloads.el
  3. 2
      elpa/google-c-style-20180130.1736/google-c-style-pkg.el
  4. 153
      elpa/google-c-style-20180130.1736/google-c-style.el
  5. 4
      settings.org

11
custom.el

@ -121,7 +121,8 @@
("shell" . sh)
("bash" . sh)))
'(package-selected-packages
'(jinja2-mode
'(google-c-style
jinja2-mode
masm-mode
nginx-mode
disable-mouse
@ -190,7 +191,13 @@
'(python-check-command "flake8")
'(reb-re-syntax 'string)
'(safe-local-variable-values
'((before-save-hook
'((format-all-formatters
("C" clang-format))
(eval
c-set-offset
'innamespace
0)
(before-save-hook
elpy-yapf-fix-code)
(project-venv)))
'(scroll-bar-mode nil)

34
elpa/google-c-style-20180130.1736/google-c-style-autoloads.el

@ -0,0 +1,34 @@
;;; google-c-style-autoloads.el --- automatically extracted autoloads
;;
;;; Code:
(add-to-list 'load-path (directory-file-name
(or (file-name-directory #$) (car load-path))))
;;;### (autoloads nil "google-c-style" "google-c-style.el" (0 0 0
;;;;;; 0))
;;; Generated autoloads from google-c-style.el
(defconst google-c-style `((c-recognize-knr-p) (c-enable-xemacs-performance-kludge-p . t) (c-basic-offset . 2) (indent-tabs-mode) (c-comment-only-line-offset . 0) (c-hanging-braces-alist (defun-open after) (defun-close before after) (class-open after) (class-close before after) (inexpr-class-open after) (inexpr-class-close before) (namespace-open after) (inline-open after) (inline-close before after) (block-open after) (block-close . c-snug-do-while) (extern-lang-open after) (extern-lang-close after) (statement-case-open after) (substatement-open after)) (c-hanging-colons-alist (case-label) (label after) (access-label after) (member-init-intro before) (inher-intro)) (c-hanging-semi&comma-criteria c-semi&comma-no-newlines-for-oneline-inliners c-semi&comma-inside-parenlist c-semi&comma-no-newlines-before-nonblanks) (c-indent-comments-syntactically-p . t) (comment-column . 40) (c-indent-comment-alist (other space . 2)) (c-cleanup-list brace-else-brace brace-elseif-brace brace-catch-brace empty-defun-braces defun-close-semi list-close-comma scope-operator) (c-offsets-alist (arglist-intro google-c-lineup-expression-plus-4) (func-decl-cont . ++) (member-init-intro . ++) (inher-intro . ++) (comment-intro . 0) (arglist-close . c-lineup-arglist) (topmost-intro . 0) (block-open . 0) (inline-open . 0) (substatement-open . 0) (statement-cont ,(when (fboundp 'c-no-indent-after-java-annotations) 'c-no-indent-after-java-annotations) ,(when (fboundp 'c-lineup-assignments) 'c-lineup-assignments) ++) (label . /) (case-label . +) (statement-case-open . +) (statement-case-intro . +) (access-label . /) (innamespace . 0))) "\
Google C/C++ Programming Style.")
(autoload 'google-set-c-style "google-c-style" "\
Set the current buffer's c-style to Google C/C++ Programming
Style. Meant to be added to `c-mode-common-hook'." t nil)
(autoload 'google-make-newline-indent "google-c-style" "\
Sets up preferred newline behavior. Not set by default. Meant
to be added to `c-mode-common-hook'." t nil)
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "google-c-style" '("google-c-lineup-expression-plus-4")))
;;;***
;; Local Variables:
;; version-control: never
;; no-byte-compile: t
;; no-update-autoloads: t
;; coding: utf-8
;; End:
;;; google-c-style-autoloads.el ends here

2
elpa/google-c-style-20180130.1736/google-c-style-pkg.el

@ -0,0 +1,2 @@
;;; Generated package description from google-c-style.el -*- no-byte-compile: t -*-
(define-package "google-c-style" "20180130.1736" "Google's C/C++ style for c-mode" 'nil :commit "9c8784ded344f6a35d1e1550385002f613a0c788" :keywords '("c" "tools"))

153
elpa/google-c-style-20180130.1736/google-c-style.el

@ -0,0 +1,153 @@
;;; google-c-style.el --- Google's C/C++ style for c-mode
;; Keywords: c, tools
;; Package-Version: 20180130.1736
;; Package-Commit: 9c8784ded344f6a35d1e1550385002f613a0c788
;; google-c-style.el is Copyright (C) 2008 Google Inc. All Rights Reserved.
;;
;; It is free software; you can redistribute it and/or modify it under the
;; terms of either:
;;
;; a) the GNU General Public License as published by the Free Software
;; Foundation; either version 1, or (at your option) any later version, or
;;
;; b) the "Artistic License".
;;; Commentary:
;; Provides the google C/C++ coding style. You may wish to add
;; `google-set-c-style' to your `c-mode-common-hook' after requiring this
;; file. For example:
;;
;; (add-hook 'c-mode-common-hook 'google-set-c-style)
;;
;; If you want the RETURN key to go to the next line and space over
;; to the right place, add this to your .emacs right after the load-file:
;;
;; (add-hook 'c-mode-common-hook 'google-make-newline-indent)
;;; Code:
;; For some reason 1) c-backward-syntactic-ws is a macro and 2) under Emacs 22
;; bytecode cannot call (unexpanded) macros at run time:
(eval-when-compile (require 'cc-defs))
;; Wrapper function needed for Emacs 21 and XEmacs (Emacs 22 offers the more
;; elegant solution of composing a list of lineup functions or quantities with
;; operators such as "add")
(defun google-c-lineup-expression-plus-4 (langelem)
"Indents to the beginning of the current C expression plus 4 spaces.
This implements title \"Function Declarations and Definitions\"
of the Google C++ Style Guide for the case where the previous
line ends with an open parenthese.
\"Current C expression\", as per the Google Style Guide and as
clarified by subsequent discussions, means the whole expression
regardless of the number of nested parentheses, but excluding
non-expression material such as \"if(\" and \"for(\" control
structures.
Suitable for inclusion in `c-offsets-alist'."
(save-excursion
(back-to-indentation)
;; Go to beginning of *previous* line:
(c-backward-syntactic-ws)
(back-to-indentation)
(cond
;; We are making a reasonable assumption that if there is a control
;; structure to indent past, it has to be at the beginning of the line.
((looking-at "\\(\\(if\\|for\\|while\\)\\s *(\\)")
(goto-char (match-end 1)))
;; For constructor initializer lists, the reference point for line-up is
;; the token after the initial colon.
((looking-at ":\\s *")
(goto-char (match-end 0))))
(vector (+ 4 (current-column)))))
;;;###autoload
(defconst google-c-style
`((c-recognize-knr-p . nil)
(c-enable-xemacs-performance-kludge-p . t) ; speed up indentation in XEmacs
(c-basic-offset . 2)
(indent-tabs-mode . nil)
(c-comment-only-line-offset . 0)
(c-hanging-braces-alist . ((defun-open after)
(defun-close before after)
(class-open after)
(class-close before after)
(inexpr-class-open after)
(inexpr-class-close before)
(namespace-open after)
(inline-open after)
(inline-close before after)
(block-open after)
(block-close . c-snug-do-while)
(extern-lang-open after)
(extern-lang-close after)
(statement-case-open after)
(substatement-open after)))
(c-hanging-colons-alist . ((case-label)
(label after)
(access-label after)
(member-init-intro before)
(inher-intro)))
(c-hanging-semi&comma-criteria
. (c-semi&comma-no-newlines-for-oneline-inliners
c-semi&comma-inside-parenlist
c-semi&comma-no-newlines-before-nonblanks))
(c-indent-comments-syntactically-p . t)
(comment-column . 40)
(c-indent-comment-alist . ((other . (space . 2))))
(c-cleanup-list . (brace-else-brace
brace-elseif-brace
brace-catch-brace
empty-defun-braces
defun-close-semi
list-close-comma
scope-operator))
(c-offsets-alist . ((arglist-intro google-c-lineup-expression-plus-4)
(func-decl-cont . ++)
(member-init-intro . ++)
(inher-intro . ++)
(comment-intro . 0)
(arglist-close . c-lineup-arglist)
(topmost-intro . 0)
(block-open . 0)
(inline-open . 0)
(substatement-open . 0)
(statement-cont
.
(,(when (fboundp 'c-no-indent-after-java-annotations)
'c-no-indent-after-java-annotations)
,(when (fboundp 'c-lineup-assignments)
'c-lineup-assignments)
++))
(label . /)
(case-label . +)
(statement-case-open . +)
(statement-case-intro . +) ; case w/o {
(access-label . /)
(innamespace . 0))))
"Google C/C++ Programming Style.")
;;;###autoload
(defun google-set-c-style ()
"Set the current buffer's c-style to Google C/C++ Programming
Style. Meant to be added to `c-mode-common-hook'."
(interactive)
(make-local-variable 'c-tab-always-indent)
(setq c-tab-always-indent t)
(c-add-style "Google" google-c-style t))
;;;###autoload
(defun google-make-newline-indent ()
"Sets up preferred newline behavior. Not set by default. Meant
to be added to `c-mode-common-hook'."
(interactive)
(define-key c-mode-base-map "\C-m" 'newline-and-indent)
(define-key c-mode-base-map [ret] 'newline-and-indent))
(provide 'google-c-style)
;;; google-c-style.el ends here

4
settings.org

@ -282,7 +282,9 @@ This handy function is a customized ripoff of custom-save-all
(use-package cc-mode :hook (c-mode . (lambda ()
(company-mode)
(format-all-mode)
(format-all-ensure-formatter))))
(format-all-ensure-formatter)
(require 'google-c-style)
(google-set-c-style))))
#+end_src
** Docker
*** Docker

Loading…
Cancel
Save