Antonio Scandurra
e70b728758
Verify Anchor::buffer_id
before resolving it or comparing it
...
This commit also verifies some properties about anchor resolution in the
multibuffer randomized test.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-11 16:40:12 +01:00
Max Brunsfeld
f933d54469
When selections lose their excerpts, move them to the next primary diagnostic
2022-01-07 14:53:33 -08:00
Max Brunsfeld
ea263822fa
Finish implementing ProjectDiagnostics::open_excerpts
...
* Build workspace item views with a reference to the workspace
* Add randomized test for MultiBuffer::excerpted_buffers and fix a small bug
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-07 09:59:27 -08:00
Antonio Scandurra
3cab32d201
WIP: Add keybinding to open buffers under cursors
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-07 16:12:50 +01:00
Antonio Scandurra
67f672d0cc
Clear selections on other excerpted buffers when setting active selections
2022-01-07 10:19:28 +01:00
Nathan Sobo
2dbee1d914
Send diagnostic summaries to guests when they join the project
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-01-06 12:12:09 -07:00
Max Brunsfeld
7340e83059
WIP - MultiBuffer::refresh_anchors
2022-01-05 21:12:49 -08:00
Max Brunsfeld
fee7657fd7
Merge branch 'main' into polish-project-diagnostics
2022-01-05 20:38:20 -08:00
Max Brunsfeld
e5faaeb2f2
Fix Global::gt
and rename it to changed_since
...
A false negative return value of `gt` was preventing guests' multibuffers from
syncing correctly.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-05 17:36:12 -08:00
Max Brunsfeld
85a13fa477
Fix panic when resolving anchors after an excerpt id has been recycled
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-05 11:28:49 -08:00
Antonio Scandurra
b2f0c78924
Merge branch 'main' into polish-project-diagnostics
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-01-04 18:35:28 +01:00
Antonio Scandurra
508b9dc024
Rip out "diagnostic providers"
2022-01-04 16:32:17 +01:00
Antonio Scandurra
05a6137549
Capture a new buffer snapshot for excerpts whose selections got updated
2022-01-04 12:22:51 +01:00
Max Brunsfeld
accf90e843
Add MultiBufferSnapshot::range_contains_excerpt_boundary
...
Use this method to disable move_line_down across excerpt boundaries.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-27 17:08:31 -08:00
Antonio Scandurra
393009a05c
Implement Buffer::diagnostic_group
2021-12-24 12:08:55 +01:00
Antonio Scandurra
da460edb8b
Remove BufferState when the last buffer's excerpt is removed
2021-12-23 09:59:39 +01:00
Max Brunsfeld
c47340000d
Fix remove_excerpts when removing the last N excerpts, N > 1
...
Also, generalize the randomized test to remove multiple excerpts at a time
2021-12-22 21:02:20 -08:00
Max Brunsfeld
435d405d10
Implement MultiBuffer::insert_excerpt_after
2021-12-22 17:59:44 -08:00
Max Brunsfeld
06d2cdc20d
Remove unused multi_buffer::FromAnchor trait
2021-12-22 13:27:43 -08:00
Max Brunsfeld
e31205c95e
Revert "Implement MultiBuffer::remove_excerpts
by inserting tombstones"
...
This reverts commit 275b7e8d4f
.
2021-12-22 10:18:33 -08:00
Antonio Scandurra
275b7e8d4f
Implement MultiBuffer::remove_excerpts
by inserting tombstones
...
This will make it easier to use anchors in the presence of deletes.
2021-12-22 17:57:36 +01:00
Max Brunsfeld
a888620e5f
Implement MultiBuffer::remove_excerpts
...
We'll need this for updating project diagnostics
2021-12-21 15:25:57 -08:00
Max Brunsfeld
a93f5e5fb4
Avoid repeated subscriptions + clones when adding another excerpt for same buffer
2021-12-21 14:28:23 -08:00
Max Brunsfeld
8492c6e7ac
Fix maintenance of MultiBuffer's buffer states
2021-12-21 13:07:43 -08:00
Max Brunsfeld
13ecd16685
Index max buffer row on MultiBuffer
2021-12-21 12:36:46 -08:00
Max Brunsfeld
60f7169008
Remove header heights from multibuffer randomized test
2021-12-21 10:24:01 -08:00
Antonio Scandurra
eec1748dc7
Render excerpt headers using DisplayMap::insert_blocks
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-12-21 18:32:27 +01:00
Antonio Scandurra
8534a9cc41
Don't insert headers in MultiBuffer
...
This lays the groundwork to insert headers in the block map instead.
2021-12-21 16:38:18 +01:00
Antonio Scandurra
f0fe346e15
Gracefully degrade diagnostics_in_range
, diagnostic_group
and file
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-17 16:37:12 +01:00
Antonio Scandurra
6685d5aa7d
Implement MultiBuffer::save
...
This is still not integrated with `workspace::ItemView`.
2021-12-17 16:11:18 +01:00
Antonio Scandurra
7d2b74a93b
Implement MultiBuffer::{is_dirty,has_conflict}
2021-12-17 15:33:09 +01:00
Antonio Scandurra
5f819b6edc
Implement MultiBuffer::enclosing_bracket_ranges
2021-12-17 15:05:05 +01:00
Antonio Scandurra
c9cbc2fe1e
Implement MultiBuffer::range_for_syntax_ancestor
2021-12-17 14:57:42 +01:00
Antonio Scandurra
a2ee38f37b
Make MultiBuffer::is_parsing
a test-only method
2021-12-17 14:57:24 +01:00
Max Brunsfeld
ae147a379d
Don't terminate on an empty input chunk in ExcerptChunks
2021-12-16 16:05:28 -08:00
Max Brunsfeld
6444fcd442
Integrate MultiBuffer::buffer_rows into the display map
2021-12-16 13:53:32 -08:00
Max Brunsfeld
db33e4935a
Implement MultiBuffer::buffer_rows
2021-12-16 12:17:47 -08:00
Max Brunsfeld
dcd05ef96b
Resolve Anchor::min and ::max to valid positions
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-12-16 10:25:09 -08:00
Antonio Scandurra
ec39c9d335
Allow specifying MAX_EXCERPTS
via an env variable in random tests
2021-12-16 12:28:54 +01:00
Max Brunsfeld
e8570b5c26
Allow multibuffer to clip to the ends of excerpts, before trailing newlines
2021-12-15 17:04:57 -08:00
Max Brunsfeld
f8ef605cbd
Update all MultiBuffer unit tests, removing expected trailing newline
2021-12-15 17:04:57 -08:00
Max Brunsfeld
2930ea8fb0
Fix handling of excerpts surrounded by edits in MultiBuffer::edit
2021-12-15 12:12:39 -08:00
Max Brunsfeld
4bea16eb31
Ensure muiltibuffer anchors are contained within their excerpt ranges
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-12-15 10:52:27 -08:00
Antonio Scandurra
4ab307f0a1
Re-enable multi-byte random character generation
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-15 17:51:11 +01:00
Antonio Scandurra
5118f27a90
Overhaul MultiBuffer::chunks
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-15 17:22:04 +01:00
Antonio Scandurra
bcdb4ffd88
Allow edits at the end of MultiBuffer
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-15 16:45:01 +01:00
Antonio Scandurra
7bbaa1d930
Don't insert a newline after the last excerpt of a MultiBuffer
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-15 16:39:09 +01:00
Antonio Scandurra
ae0fa75abe
Start testing the integration of display layers with MultiBuffer
s
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-15 16:05:26 +01:00
Antonio Scandurra
59121a238a
Forward notifications from Buffer
in MultiBuffer
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-15 15:07:42 +01:00
Nathan Sobo
437145afbe
Remove assertion and don't consume 0 bytes
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-12-15 06:52:37 -07:00