Nathan Sobo and Max Brunsfeld
df5b181ad8
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
Nathan Sobo and Antonio Scandurra
80e5915179
Allow disk-based diagnostic progress begin/end events to interleave
...
When multiple saves occur, we can have multiple start events followed by multiple end events. We don't want to update our project diagnostics view until all pending progress is finished.
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2022-01-06 09:32:08 -07:00
Antonio Scandurra and Nathan Sobo
a56b3c7fb9
Polish rendering of inline errors
...
- Don't soft-wrap
- Render multiple lines
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-01-06 16:17:53 +01:00
Antonio Scandurra
3ec22e7581
Wire up refresh_anchors in Editor::refresh_selections and call it
2022-01-06 15:32:37 +01:00
Max Brunsfeld
f2273252b1
WIP - MultiBuffer::refresh_anchors
2022-01-05 21:12:49 -08:00
Max Brunsfeld
4535c2e99d
Merge branch 'main' into polish-project-diagnostics
2022-01-05 20:38:20 -08:00
Max Brunsfeld and Nathan Sobo
75170a078f
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 and Nathan Sobo
2879a402ca
Don't scroll editors away from the top of their buffer when content changes
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-01-05 12:31:00 -08:00
Max Brunsfeld and Nathan Sobo
75ac4f8925
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
386b1d4719
Remove invalid excerpts as opposed to styling them differently
2022-01-05 18:21:17 +01:00
Antonio Scandurra and Max Brunsfeld
7525741533
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
dd5ba61ab6
Rip out "diagnostic providers"
2022-01-04 16:32:17 +01:00
Antonio Scandurra
c7cdff2c38
Clip right when moving to next word in case we land on a block line
2022-01-04 15:17:37 +01:00
Antonio Scandurra
665f681f3b
Position selections correctly when duplicating lines in a multi-buffer
2022-01-04 15:17:37 +01:00
Antonio Scandurra
5ebd9e625a
Position cursors correctly in Editor::delete_line in a multi-buffer
2022-01-04 15:17:37 +01:00
Antonio Scandurra
9e9eb32e5d
Capture a new buffer snapshot for excerpts whose selections got updated
2022-01-04 12:22:51 +01:00
Max Brunsfeld
4dc7129144
Remove worktree-specific methods from language::File trait
...
Use downcasting instead for accessing worktree-specific state of the Files.
This will allow us to introduce a WorktreeId type and use that everywhere
for identifying worktrees. It also just removes some unnecessary coupling
between the language crate and the worktree.
2022-01-04 11:28:44 +01:00
Nathan Sobo
2819bb6ca5
Create blocks with anchors to allow a bias to be specified
...
This allows us to respect the bias on anchors we use to create excerpt headers so that they always remain above any content inserted at the start of an excerpt.
2021-12-30 01:03:19 -08:00
Nathan Sobo
5694296526
Use anchors for line movement edits to support multi-buffers
...
Because multi-buffers can contain the same content multiple times, we need to use anchors to track our desired insertion and removal locations when moving lines. This is because deleting a line in order to move it might end up deleting *multiple* lines.
2021-12-29 23:47:03 -08:00
Max Brunsfeld
624739b228
Update editor element to use new {next,prev}_line_boundary methods
...
Since these methods take buffer points instead of display points, this adjusts
the logic for retrieving the visible selections, so that they are initially returned
in terms of buffer points.
2021-12-28 13:47:09 -08:00
Nathan Sobo
c6f22af22c
WIP: Start moving toward a simpler interface for detecting prev/next line boundaries
2021-12-27 22:11:05 -08:00
Nathan Sobo
45e29917c3
wip
2021-12-27 21:14:23 -08:00
Max Brunsfeld
24f71e4b94
Add a unit test showing panic in move_line_down
2021-12-27 20:58:01 -08:00
Max Brunsfeld and Nathan Sobo
9838df770f
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
Nathan Sobo
8c538e6617
WIP: Allow lines to be moved down across excerpts
...
This is still a bit weird because we can't remove the last line of an excerpt but we still move it into another buffer. There also seem to be issues with undo.
2021-12-27 15:46:19 -08:00
Nathan Sobo
b6c652510b
Simplify prev/next_row_boundary methods
...
We added clipping of points against the buffer when excerpt headers were in the buffer, but now that they're just blocks, I think we can avoid the potential to panic in these methods by going back to not clipping.
2021-12-27 15:46:19 -08:00
Max Brunsfeld and Nathan Sobo
58d16afd9d
Fix Editor::newest_selection
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-12-27 15:42:37 -08:00
Max Brunsfeld and Nathan Sobo
8712146959
Store selections with a right start bias so that autoindent moves them
...
Previously, cursors at column 0 had to be explicitly moved when those lines
were autoindented. This behavior was lost when we moved selections from
the buffer to the editor. Now, with the right bias, we get this behavior automatically.
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-12-27 15:33:57 -08:00
Nathan Sobo and Aaron Hillegass
4783797471
Don't merge keymap contexts from containing elements
...
Co-Authored-By: Aaron Hillegass <charmedliferaft@gmail.com >
2021-12-24 16:44:35 -07:00
Antonio Scandurra
ae276700d6
Implement Buffer::diagnostic_group
2021-12-24 12:08:55 +01:00
fdf93932dc
WIP: Use cargo check for on-disk diagnostics
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-12-23 18:35:50 +01:00
Antonio Scandurra and Nathan Sobo
6bb9757b1f
Only preserve excerpts for invalid diagnostics if they contain cursors
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-12-23 16:33:50 +01:00
Antonio Scandurra
db9f25d6ad
Use a different invalidation strategy for project-wide diagnostics
2021-12-23 15:41:43 +01:00
Antonio Scandurra
85d495aa33
Remove BufferState when the last buffer's excerpt is removed
2021-12-23 09:59:39 +01:00
Max Brunsfeld
401791cc75
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
8c37f7c519
Implement MultiBuffer::insert_excerpt_after
2021-12-22 17:59:44 -08:00
Max Brunsfeld
a5b4c339cf
Add Editor::remove_blocks
2021-12-22 17:30:14 -08:00
Max Brunsfeld
4be5dcff9e
Remove unused multi_buffer::FromAnchor trait
2021-12-22 13:27:43 -08:00
Max Brunsfeld
1491cc23d3
Revert "Implement MultiBuffer::remove_excerpts by inserting tombstones"
...
This reverts commit d1b15cd060 .
2021-12-22 10:18:33 -08:00
Antonio Scandurra
d1b15cd060
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
7790112f4b
Implement MultiBuffer::remove_excerpts
...
We'll need this for updating project diagnostics
2021-12-21 15:25:57 -08:00
Max Brunsfeld
11a46e978b
Avoid repeated subscriptions + clones when adding another excerpt for same buffer
2021-12-21 14:28:23 -08:00
Max Brunsfeld
a61bb80ccd
Fix maintenance of MultiBuffer's buffer states
2021-12-21 13:07:43 -08:00
Max Brunsfeld
5884a78267
Index max buffer row on MultiBuffer
2021-12-21 12:36:46 -08:00
Max Brunsfeld
3bf003a6cc
Remove header heights from multibuffer randomized test
2021-12-21 10:24:01 -08:00
Antonio Scandurra and Max Brunsfeld
c122723122
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
b4a4c15e86
WIP: Insert blocks in BlockMap for MultiBuffer headers
2021-12-21 17:38:03 +01:00
Antonio Scandurra
4521b576c8
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
Max Brunsfeld and Nathan Sobo
a8488fee91
Merge branch 'main' into share-project
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-12-20 11:42:59 -08:00
Nathan Sobo
0fdc955732
Insert a time heading when creating a journal entry
2021-12-18 10:38:54 -07:00