Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
e768036
Initial plan
Copilot May 17, 2026
ab69a9d
Implement streaming document file I/O
Copilot May 17, 2026
66d06c4
Polish streaming file I/O formatting
Copilot May 17, 2026
34ebc95
Address streaming IO review style
Copilot May 17, 2026
6c019d5
Annotate streaming IO nullable parameters
Copilot May 17, 2026
2de855a
Make streaming progress test deterministic
Copilot May 17, 2026
089387a
Use spinner view for ted load status
Copilot May 17, 2026
2c45f47
Merge branch 'copilot/resolve-open-003-large-file-support' of https:/…
tig May 17, 2026
513f630
code cleanup and removed unneeded loading status shortctu
tig May 17, 2026
34c4e53
Fix ted streaming spinner progress
Copilot May 17, 2026
f17fbcc
Address spinner progress review cleanup
Copilot May 17, 2026
161e645
Document streaming status throttle helpers
Copilot May 17, 2026
44d144f
Merge develop and fix ted load ownership
Copilot May 17, 2026
3e844b8
Merge develop into streaming file IO
Copilot May 17, 2026
2cf3aa9
Merge branch 'develop' into copilot/resolve-open-003-large-file-support
tig May 17, 2026
10bcbc5
Address validation review nits
Copilot May 17, 2026
14bda1b
Fix non-hosted ted progress updates
Copilot May 17, 2026
0bc32d2
Merge branch 'copilot/resolve-open-003-large-file-support' of https:/…
tig May 17, 2026
d4648ae
Document inline progress helper
Copilot May 17, 2026
6918a3c
Fix ted loading status lifecycle
Copilot May 17, 2026
958fb23
Address status validation feedback
Copilot May 17, 2026
03e4ad7
Clarify streaming status completion
Copilot May 17, 2026
be7658f
Merge branch 'copilot/resolve-open-003-large-file-support' of https:/…
tig May 17, 2026
5c4f661
Relax streaming progress perf budget
Copilot May 17, 2026
a505dc6
fix(#158): true progressive streaming load + hermetic ted settings tests
tig May 17, 2026
8db536c
Merge remote-tracking branch 'origin/develop' into copilot/resolve-op…
tig May 17, 2026
ca30da8
perf(#158): virtualize horizontal max-width — VS Code-class large-fil…
tig May 17, 2026
f7c0f07
Merge branch 'develop' into copilot/resolve-open-003-large-file-support
tig May 17, 2026
2d8a369
Merge remote-tracking branch 'origin/copilot/resolve-open-003-large-f…
tig May 17, 2026
cf73e98
Merge branch 'develop' into copilot/resolve-open-003-large-file-support
tig May 17, 2026
cc08f27
Address file operation CR feedback
Copilot May 17, 2026
6ebc1b7
Apply test formatting fixes
Copilot May 17, 2026
183b858
Address validation review nits
Copilot May 17, 2026
4123f12
Document legacy hook adapters
Copilot May 17, 2026
5483f7d
Fix Windows save cancellation test
Copilot May 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions examples/ted/InlineProgress.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
namespace Ted;

/// <summary>
/// Reports progress synchronously for non-hosted app scenarios where <see cref="Progress{T}" />
/// would queue callbacks to the thread pool instead of an application UI thread.
/// </summary>
internal sealed class InlineProgress<T> : IProgress<T>
{
private readonly Action<T> _handler;

public InlineProgress (Action<T> handler)
{
_handler = handler ?? throw new ArgumentNullException (nameof (handler));
}

public void Report (T value)
{
_handler (value);
}
}
6 changes: 4 additions & 2 deletions examples/ted/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,15 @@

if (!string.IsNullOrWhiteSpace (requestedPath))
{
// Defer onto the app loop so the window renders first, then the file streams in progressively
// instead of blocking the UI until the whole file is read.
if (File.Exists (requestedPath))
{
ted.SetDocument (File.ReadAllText (requestedPath), requestedPath);
app.Invoke (() => ted.BeginOpenFile (requestedPath));
}
else
{
ted.OpenMissingFile (requestedPath);
app.Invoke (() => ted.OpenMissingFile (requestedPath));
}
}

Expand Down
Loading
Loading