- likewise, there is a space following keywords such as if and while
- every binary operator should have space on either side.
-* No trailing whitespace. Please enable the standard pre-commit hook
- in git (or an equivalent hook).
+* No trailing whitespace. Please enable the standard pre-commit hook in git
+ (or an equivalent hook). The standard pre-commit hook is enabled by simply
+ renaming file '.git/hooks/pre-commit.sample' to '.git/hooks/pre-commit' .
* The name in a function prototype should start at the beginning of a line.
struct has a tag, it should be the same as the typedef name, minus
the trailing _t.
+CLI conventions
+---------------
+
+* Any changes to the JSON output format of search or show need an
+ accompanying change to devel/schemata.
+
libnotmuch conventions
----------------------------------
* Code which needs to be accessed from both the CLI and from
libnotmuch should be factored out into libutil (under util/).
+
+* Deprecated functions should be marked with the NOTMUCH_DEPRECATED
+ macro which generates run time warnings with gcc and clang. In order
+ not to confuse doxygen this should go at the beginning of the
+ declaration like:
+
+ NOTMUCH_DEPRECATED(major,minor) notmuch_status_t notmuch_dwim(void *arg);
+
+ The @deprecated doxygen command can be used to generate markup in
+ the API docs.