Skip to content

A-Streams: Use streams where loops only filter, map or join - #2

Merged
trigg770 merged 3 commits into
masterfrom
branch-A-Streams
Sep 10, 2026
Merged

trigg770 merged 3 commits into
masterfrom
branch-A-Streams

Conversation

@trigg770

@trigg770 trigg770 commented Sep 10, 2026

Copy link
Copy Markdown
Owner

Increment: A-Streams

  • TaskList#find, CommandType#fromKeyword, CommandType#listKeywords and Storage#save now use streams.
  • Loops that do more than filter, map or join stay as loops, e.g. Storage#load, which also counts skipped lines.

🤖 Generated with Claude Code

trigg770 and others added 3 commits September 10, 2026 19:54
Four loops walk a collection only to keep some of its elements, turn
each element into something else, or join the results into a string:
finding tasks by keyword, looking up a command by its keyword, listing
every keyword, and turning tasks into save lines. Each hides that
simple intent behind an accumulator or an index that the reader has to
trace.

Let's write these four as streams, which name the operation directly
(filter, findFirst, map, joining) and leave no accumulator to follow.

Loops where a stream would not read more simply stay as they are:
Storage.load also counts the lines it skips, decodeSaveField looks one
character ahead, Ui.showNumbered needs each task's position, and
Task.toSaveLine appends other fields around its loop.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
master now has A-CodeQuality, which makes Task's description private
and has TaskList.find read it through getDescription(). This branch
rewrote the same loop as a stream that still reads the field directly,
so the two changes conflict.

Let's keep this branch's stream and have it call getDescription(), so
the search stays a stream and the field stays private.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@trigg770
trigg770 merged commit cbd4462 into master Sep 10, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant