#=============================================================================== # @file README # @author Nicolas Richart # @date Thu Aug 5 10:01:52 2010 # # @section LICENSE # # # #=============================================================================== Coding conventions ------------------ - Class : capitalized, no separator → MyClass - Method : 1st word lower case, the other capitalized, no separator → myMethod() - Variables : lower case, separator _, more than 3 letters except for loop counters → my_variable - File names : lower case, separator , extension .hh .cc, same name as the class → my_class.hh - Inline function : outside the class definition in headers in a file called filename_inline_impl.hh and included in the header file - Documentation comment : Doxygen Help tools for emacs -------------------- - to have doxygen comments you can use the doxymacs-mode to add in the .emacs * to auto load the mode in c/c++ files (require 'doxymacs) (add-hook 'c++-mode-hook 'doxymacs-mode) (add-hook 'c-mode-hook 'doxymacs-mode) * in the (custom-set-variables) add this lines to generate the files headers (C-c d i) '(doxymacs-doxygen-style "JavaDoc") '(doxymacs-file-comment-template (quote ("/**" > n " * " (doxymacs-doxygen-command-char) "file " (if (buffer-file-name) (file-name-nondirectory (buffer-file-name)) "") > n " * " (doxymacs-doxygen-command-char) "author " (user-full-name) (doxymacs-user-mail-address) > n " * " (doxymacs-doxygen-command-char) "date " (current-time-string) > n " *" > n " * " (doxymacs-doxygen-command-char) "brief " (p "Brief description of this file: ") > n " *" > n " * " (doxymacs-doxygen-command-char) "section LICENSE" > n " *" > n " * Copyright (©) 2010-2011 EPFL (Ecole Polytechnique Fédérale de Lausanne)" > n " * Laboratory (LSMS - Laboratoire de Simulation en Mécanique des Solides)" > n " *" > n " * Akantu is free software: you can redistribute it and/or modify it under the" > n " * terms of the GNU Lesser General Public License as published by the Free" > n " * Software Foundation, either version 3 of the License, or (at your option) any" > n " * later version." > n " *" > n " * Akantu is distributed in the hope that it will be useful, but WITHOUT ANY" > n " * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR" > n " * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more" > n " * details." > n " *" > n " * You should have received a copy of the GNU Lesser General Public License" > n " * along with Akantu. If not, see ." > n " *" > n " */" > n > n "/* -------------------------------------------------------------------------- */" > n))) - for the snippet code you can use yasnippet some specific snippet files for akantu can be found in the *snippet/* directory (require 'yasnippet) (yas/initialize) (yas/load-directory "~/.emacs.d/yasnippet/snippets") (add-hook 'c++-mode-hook 'yas/minor-mode-on) (add-hook 'c-mode-hook 'yas/minor-mode-on) You need to copy the snippets for Akantu dev into the appropriate directory. depending on your version of yasnippet the snippet directories are not arranged in the same way c++-mode snippet akantu (opening and closing akantu namespace) inout (debug in/out for functions) class (class declaration) cc-mode snippet (common to c and c++) once (define protection for .hh files) for (for loop) To know your orgnisation type have a look into /usr/share/emacs/site-lisp/yasnippet/snippets/ Then copy the the file provided in the doc directory either by: cp -r /usr/share/emacs/site-lisp/yasnippet ~/.emacs.d/yasnippet cp $AKANTU_DIR/doc/coding_convention/snippet/akantu ~/.emacs.d/yasnippet/snippets/text-mode/cc-mode/c++-mode/ cp $AKANTU_DIR/doc/coding_convention/snippet/inout ~/.emacs.d/yasnippet/snippets/text-mode/cc-mode/c++-mode/ cp $AKANTU_DIR/doc/coding_convention/snippet/class ~/.emacs.d/yasnippet/snippets/text-mode/cc-mode/c++-mode/ cp $AKANTU_DIR/doc/coding_convention/snippet/once ~/.emacs.d/yasnippet/snippets/text-mode/cc-mode/ cp $AKANTU_DIR/doc/coding_convention/snippet/for ~/.emacs.d/yasnippet/snippets/text-mode/cc-mode/ either by (TODO nico)