Git Product home page Git Product logo

barrel's People

Contributors

aydwi avatar

Watchers

 avatar  avatar

barrel's Issues

Add custom command classes to generate processed output

Instead of dumping a std::string of stream output to the client, Barrel can do some processing based on the exact brew command it executed and return, for example a neat std::unordered_map or other various (applicable) types.

This feature is not finalized because:

  1. It violates the "one job" philosophy.
  2. It comes with a subjective choice of C++ types and might force advanced clients to do ugly casting, which defeats the entire idea of doing it in the first place.
  3. It cannot be fool-proof or comprehensive. brew does dynamic things with certain commands which cannot all be encapsulated before execution (at least with any reasonable effort).

    Example

But it could still be useful for people who want a baked cake instead of the ingredients.

This feature will not be a part of the inital release, but will remain open for further thought till a decision is made.

Add the ability to capture live, non-blocking stdout and stderr for executed commands

Barrel can retrieve the stdout/stderr dump for a brew command after it has finished executing, but it should also have the ability to retrieve/poll the output of a command as it is executing.

There are some use cases where this feature can be extremely useful:

  1. Many brew commands can take a long time to execute, so live output can help keep track of what's going on.

  2. One might not always want to store a large output buffer.

  3. It would be nice to have a GUI tool using Barrel be able to display the output of a command as it executes, instead of dumping at once after several seconds. Cakebrew, the most popular Homebrew GUI is unable to do this at the moment.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.