aboutsummaryrefslogtreecommitdiffhomepage
path: root/devel
Commit message (Collapse)AuthorAge
* show: indicate length, encoding of omitted body contentGravatar Peter Wang2012-12-17
| | | | | | | | | | | If a leaf part's body content is omitted, return the encoded length and transfer encoding in --format=json output. This information may be used by the consumer, e.g. to decide whether to download a large attachment over a slow link. Returning the _encoded_ content length is more efficient than returning the _decoded_ content length. Returning the transfer encoding allows the consumer to estimate the decoded content length.
* cli: Framework for structured output versioningGravatar Austin Clements2012-12-16
| | | | | | | | | | | | | | | | | | | | | Currently there is a period of pain whenever we make backward-incompatible changes to the structured output format, which discourages not only backward-incompatible improvements to the format, but also backwards-compatible additions that may not be "perfect". In the end, these problems limit experimentation and innovation. This series of patches introduces a way for CLI callers to request a specific format version on the command line and to determine if the CLI does not supported the requested version (and perhaps present a useful diagnostic to the user). Since the caller requests a format version, it's also possible for the CLI to support multiple incompatible versions simultaneously, unlike the alternate approach of including version information in the output. This patch lays the groundwork by introducing a versioning convention, standard exit codes, and a utility function to check the requested version and produce standardized diagnostic messages and exit statuses.
* Use the S-Expression structured printer in notmuch-show, notmuch-reply and ↵Gravatar Peter Feigl2012-12-08
| | | | | | | notmuch-search. This patch uses the new S-Expression printer in the notmuch CLI (show, search and reply). You can now use --format=sexp for any of them.
* Rename the -json printer functions in notmuch-reply and notmuch-show to ↵Gravatar Peter Feigl2012-12-08
| | | | | | | | | generic -sprinter functions. All the structured output functions in notmuch-reply and notmuch-show are renamed to a generic name (as they do not contain any json-specific code anyway). This patch is a preparation to actually using the new S-Expression sprinter in notmuch-reply and notmuch-show.
* devel: Document schemata in STYLEGravatar Austin Clements2012-11-08
|
* devel: Add Reply-to to the schemataGravatar Austin Clements2012-11-08
| | | | The code got out of sync with the documentation in 7d3c06dc.
* uncrustify.cfg: added 3 new types for uncrustify to knowGravatar Tomi Ollila2012-11-07
| | | | | | | Added FILE, notmuch_show_params_t and sprinter_t to be types when uncrustifying sources. This affect spacing when uncrustify is deciding for type declaration instead of binary multiplication operation.
* devel: add release-checks.shGravatar Tomi Ollila2012-09-05
| | | | | | | | | | | | | | | | | | | | | | Currently Makefile.local contains some machine executable release checking functionality. This is unnecessarily complex way to do it: Multiline script functionality is hard to embed -- from Makefile point of view there is just one line split using backslashes and every line ends with ';'. It is hard to maintain such "script" when it gets longer. The embedded script does not fail as robust as separate script; set -eu could be added to get same level of robustness -- but the provided Bourne Again Shell (bash) script exceeds this with 'set -o pipefail', making the script to fail when any of the commands in pipeline fails (and not just the last one). Checking for release is done very seldom compared to all other use; The whole Makefile.local gets simpler and easier to grasp when most release checking targets are removed. When release checking is done, the steps are executed sequentially; nothing is allowed to be skipped due to some satisfied dependency.
* schemata: update for --body=true|false optionGravatar Mark Walters2012-07-24
| | | | | | Previously body: was a compulsory field in a message. The new --body=false option causes notmuch show to omit this field so update schemata to reflect this.
* Add missing "tags" field to search schemaGravatar Austin Clements2012-07-09
| | | | | This field is output by search, but it didn't make it into the documentation.
* Minor correction to devel/schemataGravatar Mark Walters2012-06-30
| | | | | | In id:"87sjdm12d1.fsf@awakening.csail.mit.edu" Austin pointed out that devel/schemata needs a slight correction with the new --entire-thread=false option. This is that correction.
* Update devel/schemata for --entire-thread=falseGravatar Mark Walters2012-06-29
| | | | Also remove the Json --entire-thread item from devel/TODO.
* uncrustify.cfg: comments and more typesGravatar Tomi Ollila2012-06-03
| | | | | | | | | Changes to devel/uncrustify.cfg: * Updated header comment to state this is config file for *notmuch*. * Added comment about the reason of 'type' keyword used. * Added some more custom types woth 'type' keyword. * Have (every) multiline comment lines start with '*'.
* Sync schemata with current code structureGravatar Austin Clements2012-04-15
| | | | | The schema itself hasn't changed, but many of the references to functions in notmuch-show.c were out of date.
* schemata: Add documentation for JSON reply format.Gravatar Adam Wolfe Gordon2012-03-19
|
* TODO: Add replying to multiple messagesGravatar Adam Wolfe Gordon2012-03-19
|
* Document the JSON schemata used by show and searchGravatar Austin Clements2012-02-27
|
* STYLE: Initial draft of coding style documentGravatar David Bremner2012-02-12
| | | | | | This was edited by (at least) Austin, Tomi, and myself. Amended with Austin's proposed wording for indentation.
* uncrustify.cfg: label indent, some known types, not, # and ##Gravatar Tomi Ollila2012-01-25
| | | | | | | | | | | | | | | | | Adjusted some uncrustify variables to get closer to prevailing style: * Label indent (for goto) relative to current indentation. * Registered GMimeObject and mime_node_t being as types. * Space after ! (not) operator. * No space after 'stringify' (#) preprosessor token. * No spacing change around ## (option not versatile enough). There are at least 3 cases where attention needs to be paid: * If there is newline between function name and open paren in function call, the paren (and args) are indented too far right. * #define HOUR (60 *MINUTE) -- i.e. no space after star (*). * void (*foo)(args) -- i.e no space between (name) and (args).
* uncrustify.cfg: initial support for notmuch coding styleGravatar David Bremner2012-01-21
| | | | | | | | | | | | | | | | | | | | | Uncrustify is a free (as in GPL2+) tool that indents and beautifies C/C++ code. It is similar to GNU indent in functionality although probably more configurable (in fairness, indent has better documentation). Uncrustify does not have the indent mis-feature of needing to have every typedef'ed type defined in the configuration (even standard types like size_t). This configuration starts with the linux-kernel style from the uncrustify config, disables aggressive re-indenting of structs, and fine tunes the handling 'else' and braces. In an ideal situation, running uncrustify on notmuch code would be NOP; currently this is not true for all files because 1) the configuration is not perfect 2) the coding style of notmuch is not completely consistent; in particular the treatment of braces after e.g. for (_) is not consistent. Some fine tuning by Tomi Olilla.
* Start devel directory for developer tools and documentation.Gravatar David Bremner2012-01-17
We had a lot of back and forth about the name of this directory, but nothing very conclusive. In the end, I just chose "devel" just to move on.