rvesse / airline

Java annotation-based framework for parsing Git like command line structures with deep extensibility
https://rvesse.github.io/airline/
Apache License 2.0
128 stars 20 forks source link

Support separating Advanced help into resources #52

Closed rvesse closed 3 years ago

rvesse commented 8 years ago

Currently all advanced help content such as discussion, examples, exit codes etc must be specified directly in annotations on the classes to which they apply. For more complex help this can make editing and reviewing it difficult. Therefore it will be nice if there were variants of the various annotations that instead specified the location of the help content as a path to a resource.

In order to do this we would need to provide support for parsing resources in different ways depending on the intended help format. At a minimum:

Most of this is fairly trivial or can be done by leveraging existing libraries e.g. Apache Commons CSV

As for processing the annotations the help factories simply need to recognise the new variants and invoke the appropriate parser as necessary

rvesse commented 3 years ago

Almost done, just need to document @ExternalExitCodes