5f8e406c18
Fill out ExcerptList API
...
This restores the improvements that we had made on the `project-diagnostics-generic` branch.
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-12-08 10:04:22 -08:00
Max Brunsfeld
6a44a7448e
Consolidate Edit types in editor crate
2021-12-08 09:33:55 -08:00
Max Brunsfeld
fa379885f1
Give more specific names to all snapshot and text iterator types
2021-12-08 09:24:00 -08:00
Nathan Sobo
811696670a
Start on a new FragmentList
...
Here I'm exploring a new approach to the project-wide diagnostics view that can exactly mirror the contents of cargo check. The `FragmentList` composes an arbitrary list of fragments from other buffers and presents them as if they were a single buffer.
2021-12-04 06:57:56 -07:00
Nathan Sobo and Max Brunsfeld
5ae46709b0
Fix alignment of blocks adjacent to other blocks
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-12-01 17:58:44 -07:00
Nathan Sobo and Max Brunsfeld
ee693a8d2b
Get all tests passing with new blocks API
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-12-01 17:52:34 -07:00
Nathan Sobo and Max Brunsfeld
512a10b037
Use new BlockMap API to render diagnostics
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-12-01 17:22:40 -07:00
Max Brunsfeld and Nathan Sobo
0c714210ff
Start work on generalizing the BlockMap to allow arbitrary elements
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-12-01 15:25:55 -08:00
Antonio Scandurra and Nathan Sobo
3b536f153f
Introduce text::Buffer::subscribe
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-12-01 15:55:05 +01:00
Antonio Scandurra
47c467dafc
Bump FoldMap's version in FoldMap::sync (and not in DisplayMap)
2021-12-01 12:05:02 +01:00
Max Brunsfeld and Nathan Sobo
faba276fdc
WIP - maintain foldmap with Buffer::edits_since
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-30 17:23:02 -08:00
Max Brunsfeld
924e1578ea
Use &Snapshot directly instead of impl Into<Content<'a>>
...
The text::Buffer and its snapshot already used the same representation
for their content, so we can just make Buffer deref to a Snapshot.
2021-11-30 13:32:11 -08:00
Nathan Sobo and Max Brunsfeld
d3f28166cb
Rename buffer crate to text and name its entrypoint after the crate
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-11-30 12:26:12 -07:00
Nathan Sobo and Antonio Scandurra
0ed488d93b
Avoid building up pending edits when soft wrapping is disabled
...
This was causing us to get slower over time as we stacked up hundreds of thousands of pending edits whenever soft wrap was disabled.
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-11-30 08:28:29 -07:00
Antonio Scandurra
6f5ca6064b
Use anchor_after in randomized tests to match BlockMap
2021-11-19 18:04:31 +01:00
Antonio Scandurra and Nathan Sobo
8e74cc178e
Invalidate active diagnostics when they are removed
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-19 16:15:22 +01:00
Antonio Scandurra and Nathan Sobo
61d8848b31
Make BlockMap::sync private
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-19 15:44:19 +01:00
Antonio Scandurra
dfbfa86548
WIP
2021-11-19 15:31:33 +01:00
Antonio Scandurra and Nathan Sobo
2664dad2bc
Allow styling of invalid diagnostics
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-19 14:35:00 +01:00
Max Brunsfeld
8d1a4a6a24
Start work on allowing blocks to be styled
2021-11-18 18:16:35 -08:00
Max Brunsfeld
6aa346dec8
Fix switched input + output rows in BlockSnapshot::buffer_rows
2021-11-18 12:41:58 -08:00
bef09696f6
Align block text with the anchor's column
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-18 12:17:22 -08:00
Antonio Scandurra and Nathan Sobo
1a8b23e118
Color diagnostic messages based on their severity
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-18 17:47:10 +01:00
Antonio Scandurra and Nathan Sobo
0a6293bcda
Support highlighting in blocks
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-18 14:08:21 +01:00
Antonio Scandurra and Nathan Sobo
0f1eb3dd2e
Skip block lines when moving up and down
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-18 13:45:06 +01:00
Antonio Scandurra
856768a43c
Remove aggressive logging from WrapMap update code paths
2021-11-18 11:13:40 +01:00
Antonio Scandurra
08e0444ee4
Use char count instead of byte count to determine longest row
2021-11-18 11:01:12 +01:00
Antonio Scandurra
b80887dabe
Don't insert blocks within multi-byte characters in randomized test
2021-11-18 10:54:25 +01:00
Antonio Scandurra
572e571927
Test longest row only when tabs are not present or the tab size is 1
...
This is because the longest row calculation is best-effort at the moment,
since this information is not indexed in the `TabMap`.
2021-11-18 10:54:22 +01:00
Antonio Scandurra
5a9dea5299
Ensure TabMap works correctly when there are folds
2021-11-18 10:37:04 +01:00
Antonio Scandurra
84d257470a
Fix empty range edge case in FoldMap
2021-11-18 10:33:31 +01:00
Antonio Scandurra
4967a8d5ef
Trim expanded tabs if they overshoot the provided range
2021-11-18 09:52:42 +01:00
Antonio Scandurra
b10c82c015
Stop at range.end when computing text summary for range in TabMap
2021-11-18 09:52:05 +01:00
Nathan Sobo and Max Brunsfeld
213aa36e1c
WIP: Track down bugs with longest_row on wrap map
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-11-17 19:45:56 -07:00
Nathan Sobo and Max Brunsfeld
c5956a0363
Start at the end of the last transform when catching up to edits during wrapping
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-11-17 19:44:17 -07:00
Max Brunsfeld
8230dd9a3b
WIP - BlockSnapshot::longest_row
2021-11-17 16:00:52 -08:00
Max Brunsfeld and Nathan Sobo
707ffe8ff3
Implement BlockSnapshot::line_len, use it in DisplayMap
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-17 14:56:05 -08:00
Max Brunsfeld and Nathan Sobo
00b5cc472e
Fix BlockSnapshot::chunks when starting in a block
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-17 14:54:47 -08:00
Max Brunsfeld and Nathan Sobo
1c3bf90a8a
Reimplement BlockSnapshot::{clip_point,to_block_point,max_point}
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-17 12:54:14 -08:00
e60500dd7c
Re-enable soft-wrapping in randomized tests
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-11-17 19:46:43 +01:00
88d0c04444
Implement BlockSnapshot::buffer_rows
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-11-17 19:45:06 +01:00
198f6694b7
Use options to represent soft-wrapped buffer rows
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-11-17 19:30:40 +01:00
d9283efbe6
Make BlockMap 1d
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-11-17 19:26:57 +01:00
Nathan Sobo and Max Brunsfeld
52a4c15c14
Eliminate non-highlighted chunks APIs
...
Now we only have a single code path for chunks across all layers, but highlighting is optional and controlled by a flag.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-11-16 16:51:38 -08:00
Nathan Sobo
7dd9b9539e
WIP
2021-11-16 13:19:04 -07:00
Nathan Sobo and Max Brunsfeld
092689ed56
WIP
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-11-16 13:10:06 -07:00
880b3f087f
Insert empty isomorphic transforms on empty lines
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-11-16 12:14:00 -07:00
d25ec39a23
Rework BufferRows iterator to pass the randomized tests
...
...without booleans.
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-11-16 18:18:47 +01:00
Antonio Scandurra
712616d167
Start on a randomized test for BlockMap::buffer_rows
2021-11-16 15:35:35 +01:00
Max Brunsfeld and Nathan Sobo
1cc7615d06
Implement basic version of BlockMap::buffer_rows
...
Passed 1 simple test
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-15 17:41:13 -08:00