Progressbar tag support v2 pr#2025
Merged
patriksvensson merged 11 commits intospectreconsole:mainfrom Feb 25, 2026
Merged
Conversation
Makes user extending easier with per task data
…for progress task speed calculations Also allow setting samples=0 to prevent collection
…ping for tasks as well. Minor refinements
minor documentation updates
7db8bf8 to
38e0302
Compare
Contributor
Author
|
force pushed for additional remerge after cc29195 |
patriksvensson
requested changes
Feb 23, 2026
Contributor
patriksvensson
left a comment
There was a problem hiding this comment.
Some minor stuff. Also need you to fix the formatting warnings emitted in ProgressTests.
Contributor
|
@mitchcapper I resolved the issues for you |
patriksvensson
approved these changes
Feb 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
V2 of #1902
This time with tests and documentation:) Note I haven't tested my additional sample code that I put up for the former version. If any of the features I talk about in there are of interest I can do a separate PR for them.
fixes #1900
fixes #1901
fixes #1854
fixes #1472
fixes #1899
Please upvote 👍 this pull request if you are interested in it.
Sorry!
Yes I know this is exactly not how you want PR to be done, you ask for approval first. I coded most of these things for my own use (with a few ideas taken from Issues) so feel free to cherrypick any useful commits but if none of it makes it in thats ok:) I tried to keep one feature per commit.
Closes #1900 (but by me)
Closes #1901 (but my by)
Better perf control over sampling including the ability to disable it
Uses Microsofts unofficial CircularBuffer for samples and caching for greater efficiency.
Closes #1854 (while also adding the ability to disable it if not needed).
Closes #1472 by always returning our last cached speed unless their is a progress change or if we are stopped:)
Closes #1899 (but by me)
The core change of adding a Tag object allows for some fun new features to be done fairly easily. The sample code below (not part of the PR as I don't think it needs to be in the official repo) adds:
Child / Nested tasks - One of the requested features Nested progress #1419 now this sample code doesn't implicitly have children effect their parents progress but adding such a feature wouldn't be hard. It does add a DescriptionWithParentChildColumn that handles the rendering of subtasks decently elegantly. Nested Status() and Progress() #1340 as well asks for it.
CurrentItemColumn - This allows you to show the current item progress is being made on. It also supports only refreshing this only every TimeSpan interval (not dependent on UI refresh rate). If you are iterating thousands of items you don't want to update the display with each item, however once a second you might want to show the current item:)
TaskbarProgressColumn - When you set a task as "UseForTaskbarProgress" it will emit the proper ANSI codes for conemu progress:) Picked up by Windows Terminal, WezTerm, etc. https://conemu.github.io/en/AnsiEscapeCodes.html#ConEmu_specific_OSC Shows not only in the terminal but also taskbar. An alternate implementation of Add Support to Terminal progress indicator to the the spectre console progress widget #1402 .
Shout out to @vic10us and their sexy FancyProgress Bar that first attracted me to Spectre
Sample code:
https://gist.github.com/mitchcapper/d30fca9184a1e9d196ae9ac48edc05ff

Unrelated to this PR but the sample code also adds: