This repository was archived by the owner on May 24, 2019. It is now read-only.
This repository was archived by the owner on May 24, 2019. It is now read-only.
Unified table output #14
Open
Description
Hi,
currently every function printing information handles the output format on its own.
That the format cannot be changed easily e.g. in case '\t' is not available (see discussion in #13) and is not unified.
IMHO a central function for handling output in different formats (e.g. table, JSON) would improve the output of all functions to look unified.
The central output functions could handle the delimiter.
A first idea is to add function to pring table based output which gets a dictionary like this:
header:
- col1
- col2
- col3
values:
-
- c1val1
- c2val1
- c3val1
-
- c1val2
- c2val2
- c3val2
With this information the table output function can generate a header and print the values.
As all values to be printed are known at this stage the output can even be vertically aligned.
- What do you think about this idea?
Regards,
Andreas
Metadata
Metadata
Assignees
Labels
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
root360-AndreasUlm commentedon Apr 25, 2019
I'm currently implementing the unified output. (https://github.com/root360-AndreasUlm/tea/tree/unified_output_function)
At the moment I'm testing the implementation with all available subcommands.
@lunny When I'm done I'll create PRs for the new functions and every subcommand or should I just create one PR with all changes?
lunny commentedon Apr 25, 2019
I'm OK. Since the PR title will be unified table output.
noerw commentedon Apr 25, 2019
IMO, there ideally should be at least one format that is:
That would cover the 3 most common use cases of CLI apps (automation, quick skimming of data, fast access to full data)
root360-AndreasUlm commentedon Apr 28, 2019
@noerw thanks for the use-cases, I'll implement some of those
implemented unified Output (go-gitea#14)
root360-AndreasUlm commentedon Apr 28, 2019
@lunny finished initial implementation
Out of the cases @noerw mentioned the following are implemented: