Kirill Bulatov
49c00fd571
Generate InlayIds in InlayMap, prepare InlayCache for refactoring
2023-06-29 22:25:49 +03:00
Kirill Bulatov
10765d69f4
Move inlay map to be the first one
...
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-06-29 22:25:49 +03:00
Kirill Bulatov
d2fef07782
Remove the SuggestionMap
...
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-06-29 22:25:49 +03:00
Kirill Bulatov
568a67c4d7
Implement more InlaySnapshot methods
...
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-06-29 22:25:49 +03:00
Kirill Bulatov
7397b8028c
Simplify inlay hint version handling
2023-06-29 22:25:48 +03:00
Kirill Bulatov
b5233b3ad5
Rename the new map
2023-06-29 22:25:48 +03:00
Kirill Bulatov
4c3c0eb796
Draft the hint render data flow
2023-06-29 22:25:48 +03:00
Kirill Bulatov
2ead3de7de
Add basic infrastructure for inlay hints map
2023-06-29 22:25:48 +03:00
Max Brunsfeld
4f8607039c
Add is_tab field to chunks
...
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2023-05-08 19:36:51 +03:00
Nathan Sobo
8136d8a8a6
Fix formatting
2023-04-06 15:54:44 -06:00
Nathan Sobo
de9bf6dfbd
Merge MutableAppContext into AppContext
...
There may have been a good reason for the difference at some point, or I was
still learning Rust. But now it's just &mut AppContext vs &AppContext.
2023-04-06 15:49:03 -06:00
Mikayla Maki
81411b9114
Merge branch 'main' into copilot
2023-03-30 16:57:18 -07:00
Antonio Scandurra
af4c4c7cf0
Speed up tab searching in TabMap::sync
by looking for \t
only
...
Instead of looking for `\n` as a stopping condition, we cap the range
we pass to `SuggestionSnapshot::chunks` to stop on the next line. This
makes character searching faster, because looking for a single character
uses `memchr`. Also, this avoids an extra conditional in a tight loop such
as the chunk scanning one contained in `TabMap::sync`.
2023-03-30 10:03:13 +02:00
Antonio Scandurra
79346b0706
Use +
instead of |
to break out of tab expansion in TabMap::sync
2023-03-30 09:49:07 +02:00
Mikayla Maki
ae3b3ea458
Merge branch 'main' into copilot
2023-03-29 16:57:38 -07:00
Max Brunsfeld
0c07a373a8
🎨
2023-03-29 14:43:01 -07:00
Antonio Scandurra
49447128a9
Make edits smaller when tab expansion changes on a line
2023-03-29 21:40:37 +02:00
Antonio Scandurra
b86f8188d1
Expand edit to end of the line when old/new row exceeds max expansion
2023-03-29 16:49:21 +02:00
Antonio Scandurra
719d0f0abf
Rename skip_leading_tab
to inside_leading_tab
2023-03-29 14:53:28 +02:00
Antonio Scandurra
813f722925
Increment input_column
correctly when inside the leading tab
2023-03-29 14:52:50 +02:00
Max Brunsfeld
5c1f82ae3d
Don't use TabMap::expand_tabs in line_indent_for_buffer_row
2023-03-28 17:37:57 -07:00
Max Brunsfeld
08e93e9321
Only expand tabs up until a limited column
2023-03-28 16:40:04 -07:00
Max Brunsfeld
c23feeab3a
🎨 Make expand_tabs and collapse_tabs instance methods on TabSnapshot
2023-03-28 14:10:43 -07:00
Antonio Scandurra
6715e5247c
Rework SuggestionMap
to take highlight style when retrieving chunks
2023-03-28 09:42:01 -07:00
Antonio Scandurra
9c8732a355
Integrate SuggestionMap
into the rest of DisplayMap
2023-03-21 16:39:02 +01:00
Mikayla Maki
75bea91245
Convert code folding to be in terms of buffer points instead of display points
...
Co-authored-by: max <max@zed.dev>
2023-03-14 16:48:03 -07:00
Max Brunsfeld
6cdf4e98fc
Re-export basic text types from text and language crates
...
Also avoid production dependencies on fs and rope in collab
2022-10-12 15:48:19 -07:00
Mikayla Maki
0beb97547e
Finished refactoring out fs and rope
2022-10-11 15:25:54 -07:00
ForLoveOfCats
8ba2f77148
One big cleanup pass of clippy lints
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-10 16:51:01 -07:00
Antonio Scandurra
3174b08082
Update old snapshot when only the tab size changes
2022-08-03 12:23:02 +02:00
Antonio Scandurra
1e94eb74f4
Don't ignore new tab snapshot in WrapMap
if only tab size changed
2022-08-03 12:16:46 +02:00
Antonio Scandurra
d1f155337f
Recompute layers above tab map entirely when tab size changes
...
Previously, we wouldn't generate any `TabEdit` when the tab size
changed, causing coordinate spaces in `WrapMap` and `BlockMap` to
become outdated.
This commit generates a synthetic edit that covers the entire `TabMap`
to ensure layers above are synchronized.
2022-08-03 11:06:17 +02:00
Keith Simmons
755636d10e
Use NonZeroU32 to ensure settings tabsize cannot be zero
2022-06-23 12:55:38 -07:00
Antonio Scandurra
91d4c835ad
Introduce TabMap::line_len
2022-04-14 12:55:33 +02:00
Keith Simmons
1812480cbb
Tab size is pulled properly from settings instead of hardcoded
2022-04-06 10:23:37 -07:00
Nathan Sobo
951fd1ab36
Merge branch 'main' into select-on-rename
2022-03-11 15:30:07 -07:00
Nathan Sobo
e6b1fea117
WIP
2022-03-10 11:32:14 -07:00
Nathan Sobo
49e38e6e00
Eliminate ToFoldPoint trait
...
Just make it a method on FoldMap
2022-03-09 20:49:18 -07:00
Antonio Scandurra
ab26a175a4
Opt into language-aware features when getting buffer chunks
...
We use chunks a lot to transform points and sync the various display maps,
and always querying tree-sitter or the LSP diagnostics in those cases is
unnecessarily expensive.
2022-02-03 11:21:30 +01:00
Max Brunsfeld
88adddb324
Remove theme parameters from buffer/display map's chunks methods
...
Change Chunks to contain highlight ids instead of actual highlight
styles. Retrieve the actual highlight style from the theme in the
editor element layer.
This is to set us up to perform syntax highlighting in other code
paths where the theme is not available.
2022-02-02 16:33:04 -08:00
Antonio Scandurra
ec39c9d335
Allow specifying MAX_EXCERPTS
via an env variable in random tests
2021-12-16 12:28:54 +01:00
Antonio Scandurra
5118f27a90
Overhaul MultiBuffer::chunks
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-15 17:22:04 +01:00
Nathan Sobo
c8b43e3078
Move multi_buffer to editor crate
2021-12-10 17:37:53 -07:00
Antonio Scandurra
7524974f19
Get everything compiling again
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-10 17:15:16 +01:00
Nathan Sobo
87d16c271e
Get Editor compiling with MultiBuffer as its buffer
...
There's a bunch of unimplemented methods in MultiBuffer, but everything compiles.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-12-08 19:23:04 -07: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
Antonio Scandurra
47c467dafc
Bump FoldMap's version in FoldMap::sync
(and not in DisplayMap
)
2021-12-01 12:05:02 +01:00
Max Brunsfeld
faba276fdc
WIP - maintain foldmap with Buffer::edits_since
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-30 17:23:02 -08:00
Nathan Sobo
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