Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New architecture #10

Open
jpikl opened this issue Feb 9, 2022 · 0 comments
Open

New architecture #10

jpikl opened this issue Feb 9, 2022 · 0 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@jpikl
Copy link
Owner

jpikl commented Feb 9, 2022

Instead of a single executable rew with all of the filtering functionality, let's split the project into more smaller cli tools, where every tool does one separate thing.

  • Previous filters will be implemented as separate rew subcommands. For example:
    • t filter becomes rew trim [-s|--start] [-e|--end] subcommand.
    • r filter becomes rew replace <what> [replacement] subcommand.
    • c filter becomes rew seq subcommand.
    • C filter becomes rew parent | rew count where parent subcommand prints parent directory and count subcommand print number of occurrences of input lines.
  • Pipeline composition will be done using rew x subcommand:
    • Former usage: rew 'img_{C}.{e|l|r:e}'
    • New usage: rew 'img_{seq}.{ext | lower | replace e}'
  • rew will run {a | b | ...c} pipelines in separate threads
  • Every pipeline will consume/produce lines.
  • Every subcommand will support -0, --null flag to process NUL separated lines.
  • There will be REW_NULL environment variable to enable -0, --null behavior globally.
  • Former cli options for custom input/output line separator will be implemented as a separate subcommands split and join.
  • Alternative output modes (diff/json lines) will not be supported anymore.
  • Auxiliary mvb/cpb tools will be dropped in favor of generation of executable shell code.
@jpikl jpikl self-assigned this Feb 9, 2022
@jpikl jpikl added this to the 0.4.0 milestone Jul 6, 2023
@jpikl jpikl added the enhancement New feature or request label Jul 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

1 participant