Git Product home page Git Product logo

clj-progress's People

Contributors

apeckham avatar lbeschastny avatar naut68 avatar nethopper avatar wilkerlucio avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

clj-progress's Issues

indeterminable progress

One feature that I think would be nice to have is an indeterminable progress bar. The need for that comes in situations that you don't know the progress total (for example, progressing an HTTP download without content-length provided).

For those cases I imagine a bar that could have a simple animation for indeterminable (for example, three = signs floating in cycle around the bar), like this:

[                ] Downloading 1/?
[=               ] Downloading 2/?
[==              ] Downloading 3/?
[===             ] Downloading 4/?
[ ===            ] Downloading 5/?
[  ===           ] Downloading 6/?
[   ===          ] Downloading 7/? 
...
[             ===] Downloading 32/? 
[=             ==] Downloading 33/? 
[==             =] Downloading 34/? 
[===             ] Downloading 35/? 

I actually spend a little time trying to implement something liked but I got a little lost on the bar and let it go. But I think would be a great feature to have. Even without a full implementation, would be nice to able to support nil or 0 in some way as the progress total.

Support for non-tty clients

Right now clj-progress have no support for non-tty clients (e.g. piping console output to .txt file).

But I have no idea how to combine it with customizable progress bar feature without breaking existing API.

Obviously, clj-progress should automatically detect tty and non-tty terminals and decide which version of progress bar to show.

It's not a difficult thing, unless we want to support non-tty progress bar customization.

I can see several possible solutions:

  • to use some sane default non-tty progress bar, leaving existing API as it is, and to provide a bunch of new functions and macros to customize non-tty bar;
  • to use one pattern for both tty and non-tty progress-bars (but how?);
  • to melt new API for non-tty progress bar customization into existing one (but how?).

So, any ideas?

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.