aboutsummaryrefslogtreecommitdiffstats
path: root/tools
AgeCommit message (Collapse)AuthorFilesLines
2022-01-28Make tools read stdin by defaultDavid Robillard3-6/+13
2022-01-28Replace serdi with more fine-grained toolsDavid Robillard7-528/+1168
Especially with the new functionality, the complexity of the command-line interface alone was really becoming unmanageable. The serdi implementation also had the highest cyclomatic complexity of the entire codebase by a huge margin. So, take a page from the Unix philosophy and split serdi into several more finely-honed tools that can be freely composed. Though there is still unfortunately quite a bit of option overlap between them due to the common details of reading RDF, I think the resulting tools are a lot easier to understand, both from a user and a developer perspective.
2022-01-28Make blank node prefixing automaticDavid Robillard1-36/+2
Though potentially useful, I don't think the complexity cost of the old interface (both to the implementation and to the user) is worth it. A special tool to transform blank node labels (for example with regular expressions) would be a better approach to this if it's ever needed in the future.
2022-01-28Split SERD_READ_VERBATIM into two more precise flagsDavid Robillard1-1/+2
Although the "verbatim" idea is nice and simple, more fine-grained control is necessary since these features (relative URI preservation and blank node label clash avoidance) are useful in different situations.
2022-01-28Add a reader flag to disable generated blank label avoidanceDavid Robillard1-0/+1
2022-01-28Factor out serd_choose_input_syntax()David Robillard3-13/+38
2022-01-28Add a close function to SerdByteSinkDavid Robillard2-2/+3
This simplifies everything by replacing special cases with a more general close function. A type is no longer stored in the structure, so the other constructors are now essentially syntactic sugar for the universal serd_byte_sink_new_function().
2022-01-28Collapse input and output options into a single flagDavid Robillard3-22/+95
2022-01-28Simplify command line usage printingDavid Robillard1-24/+27
2022-01-28Remove redundant check for command line argument countDavid Robillard1-4/+1
2022-01-28Move serdi to tools subdirectoryDavid Robillard4-0/+715
This separates the command-line tool code from the library implementation.