Commit log

ae147a3 Don't terminate on an empty input chunk in `ExcerptChunks`

Max Brunsfeld created

31eeffa Autoscroll after inserting blocks

Max Brunsfeld created

9cd4e5b Transfer focus from ProjectDiagnostics view to its editor

Max Brunsfeld created

6444fcd Integrate MultiBuffer::buffer_rows into the display map

Max Brunsfeld created

db33e49 Implement MultiBuffer::buffer_rows

Max Brunsfeld created

a293e9c Suppress unused field warnings

Max Brunsfeld created

38df091 Fix up/down movement across excerpt headers

Click to expand commit body
Implement these movements in terms of clipping, instead of with explicit loops

Max Brunsfeld created

dcd05ef Resolve Anchor::min and ::max to valid positions

Click to expand commit body
Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Max Brunsfeld and Antonio Scandurra created

80f3173 Always panic if invalid point is passed to {prev,next}_row_boundary

Click to expand commit body
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>

Max Brunsfeld and Antonio Scandurra created

0fc2db6 Account for folds when inserting/removing block decorations

Antonio Scandurra created

7660159 Test blocks in display map randomized tests

Click to expand commit body
This highlighted some errors in the implementation.

Antonio Scandurra created

de679ca Re-enable creating multiple blocks at once in `BlockMap` tests

Antonio Scandurra created

abf96e6 Fix movement tests in `DisplayMap`

Antonio Scandurra created

64e2f6d Ensure `BlockMap::clip_point` always yield a valid buffer location

Antonio Scandurra created

ec39c9d Allow specifying `MAX_EXCERPTS` via an env variable in random tests

Antonio Scandurra created

3e2f684 Fix prev_row_boundary when a wrap follows a fold

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld and Nathan Sobo created

4c22774 Always clip buffer points when clipping display points

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld and Nathan Sobo created

f898dc6 Guard against inverted ranges when building edits in unfold

Click to expand commit body
The multibuffer lets you refer to offsets inside of headers,
so it's possible to create a fold that appears non-empty,
but which spans zero characters in the underlying buffers.

Fold ranges are biased inward: the start is biased right, and
the end is biased left.

Because of these two things, it's possible to create a fold
that becomes "inverted" when you insert text at that position.

Max Brunsfeld created

e8570b5 Allow multibuffer to clip to the ends of excerpts, before trailing newlines

Max Brunsfeld created

f8ef605 Update all MultiBuffer unit tests, removing expected trailing newline

Max Brunsfeld created

f4115dd :art: point_to_display_point & display_point_to_point

Max Brunsfeld created

368b444 Clip buffer points in DisplayMap::{prev,next}_row_boundary

Max Brunsfeld created

2930ea8 Fix handling of excerpts surrounded by edits in MultiBuffer::edit

Max Brunsfeld created

4bea16e Ensure muiltibuffer anchors are contained within their excerpt ranges

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Max Brunsfeld , Nathan Sobo , and Antonio Scandurra created

cec0c59 Create multiple excerpts in random BlockMap test

Click to expand commit body
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld , Antonio Scandurra , and Nathan Sobo created

80abd84 Create MultiBuffers with more than one fragment in more randomized tests

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>

Antonio Scandurra , Nathan Sobo , and Max Brunsfeld created

1bdaeda Remove disk diagnostics that were invalidated by a buffer edit

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>

Antonio Scandurra , Nathan Sobo , and Max Brunsfeld created

4ab307f Re-enable multi-byte random character generation

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

5118f27 Overhaul `MultiBuffer::chunks`

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

bcdb4ff Allow edits at the end of `MultiBuffer`

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

7bbaa1d Don't insert a newline after the last excerpt of a `MultiBuffer`

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

ae0fa75 Start testing the integration of display layers with `MultiBuffer`s

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

59121a2 Forward notifications from `Buffer` in `MultiBuffer`

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

437145a Remove assertion and don't consume 0 bytes

Click to expand commit body
Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Nathan Sobo and Antonio Scandurra created

fbba417 Implement MultiBuffer::bytes_in_range

Click to expand commit body
Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Nathan Sobo and Antonio Scandurra created

95137ec WIP

Antonio Scandurra created

e23965e Implement `MultiBuffer::reversed_chars_at`

Antonio Scandurra created

9cbb680 Fix panic on creation of a left-biased anchor at the end of MultiBuffer

Antonio Scandurra created

7bcce23 Fix compile error in server integration tests

Antonio Scandurra created

6c5b27a Group diagnostics by primary

Click to expand commit body
Render primary message above the excerpt and supporting messages as block decorations with a `Below` disposition. This is still super rough.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>

Nathan Sobo and Max Brunsfeld created

e1a2897 Render basic diagnostic messages in project diagnostics view

Click to expand commit body
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>

Nathan Sobo and Max Brunsfeld created

ad05c0c Implement MultiBufferSnapshot::excerpt_headers_in_range

Click to expand commit body
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>

Nathan Sobo and Max Brunsfeld created

60e2c6b Fix multibuffer anchors before the ends of excerpts

Max Brunsfeld created

06e2411 Fix assertions in test for selection restoration after undo/redo

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld and Nathan Sobo created

e38c181 Update selections on text insertion using anchors

Click to expand commit body
The delta-based approach doesn't work for multi-excerpt buffers.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld and Nathan Sobo created

4ed96bb Fix assertion in multibuffer history test

Click to expand commit body
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld , Antonio Scandurra , and Nathan Sobo created

bf9daf1 Allow left-biased anchors at the beginnings of excerpts

Click to expand commit body
Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Max Brunsfeld and Antonio Scandurra created

358a6ff Implement `MultiBufferSnapshot::contains_str_at`

Antonio Scandurra created

08e9f3e Maintain a different undo/redo stack in `MultiBuffer`

Click to expand commit body
This only applies to singleton mode.

Antonio Scandurra created

523cbe7 Return the transaction id after grouping in `end_transaction_at`

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created