Antonio Scandurra
3dc1435ddc
Implement MultiBuffer::{is_dirty,has_conflict}
2021-12-17 15:33:09 +01:00
Antonio Scandurra
a35d60ee91
Implement MultiBuffer::enclosing_bracket_ranges
2021-12-17 15:05:05 +01:00
Antonio Scandurra
f280e8c6f1
Implement MultiBuffer::range_for_syntax_ancestor
2021-12-17 14:57:42 +01:00
Antonio Scandurra
647a5cb5d3
Make MultiBuffer::is_parsing a test-only method
2021-12-17 14:57:24 +01:00
Antonio Scandurra
21a4e89e98
Display filename on the first excerpt's header for a group
2021-12-17 13:49:21 +01:00
Antonio Scandurra
3f71306ec1
Enhance diagnostic unit test and correctly display primary diagnostic
...
That is, if the diagnostic has more than one line we will display the
first line in the header and all the other message lines at the error
location.
2021-12-17 12:16:09 +01:00
Max Brunsfeld
3fe4adf041
WIP - Improve project diagnostic context rendering
2021-12-16 18:34:29 -08:00
Max Brunsfeld
a7b89e4e51
Correctly incorporate editor settings into diagnostic header rendering
2021-12-16 16:36:33 -08:00
Max Brunsfeld
72f9b28337
Don't terminate on an empty input chunk in ExcerptChunks
2021-12-16 16:05:28 -08:00
Max Brunsfeld
012719e41e
Autoscroll after inserting blocks
2021-12-16 14:20:01 -08:00
Max Brunsfeld
1892193c59
Transfer focus from ProjectDiagnostics view to its editor
2021-12-16 14:14:22 -08:00
Max Brunsfeld
2c2313311a
Integrate MultiBuffer::buffer_rows into the display map
2021-12-16 13:53:32 -08:00
Max Brunsfeld
ed32b7d257
Implement MultiBuffer::buffer_rows
2021-12-16 12:17:47 -08:00
Max Brunsfeld
1a8345564e
Suppress unused field warnings
2021-12-16 11:17:06 -08:00
Max Brunsfeld
e46727016c
Fix up/down movement across excerpt headers
...
Implement these movements in terms of clipping, instead of with explicit loops
2021-12-16 11:16:48 -08:00
Max Brunsfeld and Antonio Scandurra
f1aef7e4b5
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
Max Brunsfeld and Antonio Scandurra
b02988e6cc
Always panic if invalid point is passed to {prev,next}_row_boundary
...
Co-Authored-By: Antonio Scandurra <antonio@zed.dev >
2021-12-16 10:23:45 -08:00
Antonio Scandurra
1ebe71d886
Account for folds when inserting/removing block decorations
2021-12-16 16:44:15 +01:00
Antonio Scandurra
ac3f4b6bf3
Test blocks in display map randomized tests
...
This highlighted some errors in the implementation.
2021-12-16 16:15:14 +01:00
Antonio Scandurra
197a17995c
Re-enable creating multiple blocks at once in BlockMap tests
2021-12-16 12:41:48 +01:00
Antonio Scandurra
d536a02654
Fix movement tests in DisplayMap
2021-12-16 12:36:27 +01:00
Antonio Scandurra
116d076398
Ensure BlockMap::clip_point always yield a valid buffer location
2021-12-16 12:29:37 +01:00
Antonio Scandurra
5f2ebe12eb
Allow specifying MAX_EXCERPTS via an env variable in random tests
2021-12-16 12:28:54 +01:00
Max Brunsfeld and Nathan Sobo
e1882b7836
Fix prev_row_boundary when a wrap follows a fold
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-12-15 18:30:09 -08:00
Max Brunsfeld and Nathan Sobo
8fb3ffc3eb
Always clip buffer points when clipping display points
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-12-15 17:58:24 -08:00
Max Brunsfeld
74d85039e9
Guard against inverted ranges when building edits in unfold
...
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.
2021-12-15 17:29:15 -08:00
Max Brunsfeld
072467bcf0
Allow multibuffer to clip to the ends of excerpts, before trailing newlines
2021-12-15 17:04:57 -08:00
Max Brunsfeld
b30e6097ba
Update all MultiBuffer unit tests, removing expected trailing newline
2021-12-15 17:04:57 -08:00
Max Brunsfeld
f6a61d9f10
🎨 point_to_display_point & display_point_to_point
2021-12-15 15:45:02 -08:00
Max Brunsfeld
7eda545563
Clip buffer points in DisplayMap::{prev,next}_row_boundary
2021-12-15 15:41:38 -08:00
Max Brunsfeld
9590cab2c8
Fix handling of excerpts surrounded by edits in MultiBuffer::edit
2021-12-15 12:12:39 -08:00
2fdf3937b3
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
822b9fbf64
Create multiple excerpts in random BlockMap test
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-12-15 10:21:11 -08:00
309a3e57b2
Create MultiBuffers with more than one fragment in more randomized tests
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-12-15 18:38:37 +01:00
4fa620e9db
Remove disk diagnostics that were invalidated by a buffer edit
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-12-15 18:29:01 +01:00
Antonio Scandurra and Nathan Sobo
bf0166bc90
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 and Nathan Sobo
d2e930695a
Overhaul MultiBuffer::chunks
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-12-15 17:22:04 +01:00
Antonio Scandurra and Nathan Sobo
c20eecb3ea
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 and Nathan Sobo
92fa15ebd1
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 and Nathan Sobo
f12e983c3e
Start testing the integration of display layers with MultiBuffers
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-12-15 16:05:26 +01:00
Antonio Scandurra and Nathan Sobo
c4f874c128
Forward notifications from Buffer in MultiBuffer
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-12-15 15:07:42 +01:00
Nathan Sobo and Antonio Scandurra
7991cbf31b
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
Nathan Sobo and Antonio Scandurra
c3c8a6e8e4
Implement MultiBuffer::bytes_in_range
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-12-15 06:49:10 -07:00
Antonio Scandurra
3e1dbef5d1
WIP
2021-12-15 13:20:11 +01:00
Antonio Scandurra
5b3482b177
Implement MultiBuffer::reversed_chars_at
2021-12-15 10:06:45 +01:00
Antonio Scandurra
afa969b05c
Fix panic on creation of a left-biased anchor at the end of MultiBuffer
2021-12-15 10:06:43 +01:00
Antonio Scandurra
576ed7a317
Fix compile error in server integration tests
2021-12-15 08:48:50 +01:00
Nathan Sobo and Max Brunsfeld
33ac740f31
Group diagnostics by primary
...
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 >
2021-12-14 18:26:42 -07:00
Nathan Sobo and Max Brunsfeld
89d1d22afb
Render basic diagnostic messages in project diagnostics view
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-12-14 17:00:57 -07:00
Nathan Sobo and Max Brunsfeld
855592babc
Implement MultiBufferSnapshot::excerpt_headers_in_range
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-12-14 16:24:48 -07:00