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
f7cba4cec4
Make Suggestion fields public
2023-03-21 16:51:33 +01:00
Antonio Scandurra
9c8732a355
Integrate SuggestionMap into the rest of DisplayMap
2023-03-21 16:39:02 +01:00
Antonio Scandurra
d1978a719b
Add a version field to SuggestionSnapshot
2023-03-21 12:47:04 +01:00
Antonio Scandurra
3d165f705f
Extract a SuggestionMap::randomly_mutate method
2023-03-21 11:51:06 +01:00
Antonio Scandurra
35830a0271
Implement SuggestionSnapshot::to_{fold,suggestion}_point
2023-03-21 11:39:29 +01:00
Antonio Scandurra
d448a5cb5c
Implement SuggestionSnapshot::to_point
2023-03-21 11:28:36 +01:00
Antonio Scandurra
f829ce5641
Implement SuggestionSnapshot::to_offset
2023-03-21 11:28:33 +01:00
Antonio Scandurra
c0e124a55a
Implement SuggestionSnapshot::text_summary_for_range
2023-03-21 11:28:30 +01:00
Antonio Scandurra
52a156aebe
Implement SuggestionSnapshot::clip_point
2023-03-21 11:28:27 +01:00
Antonio Scandurra
ccb6196224
Implement SuggestionSnapshot::buffer_rows
2023-03-21 11:28:23 +01:00
Antonio Scandurra
1a9dbfa86a
Add unit test to verify basic properties of the SuggestionMap
2023-03-21 08:29:33 +01:00
Antonio Scandurra and Max Brunsfeld
3edf83cb99
Implement SuggestionSnapshot::line_len
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2023-03-20 19:45:39 +01:00
Antonio Scandurra and Max Brunsfeld
f44549eb29
Enhance randomized test to verify SuggestionMap::{chunks,sync}
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2023-03-20 19:29:22 +01:00
Antonio Scandurra
4d6726ef39
WIP: Flesh out more of the suggestions randomized test
2023-03-20 18:06:24 +01:00
Antonio Scandurra
9970e5f60c
Start on randomized test and add SuggestionMapSnapshot::chunks
2023-03-20 15:56:15 +01:00
Antonio Scandurra
fb48854e5a
Simplify signature of SuggestionMap::replace
2023-03-20 14:00:14 +01:00
Antonio Scandurra
83051f1e86
Add SuggestionMap::replace
2023-03-20 13:50:14 +01:00
Antonio Scandurra
94a9e28e35
Start on SuggestionMap
2023-03-20 13:22:14 +01:00
Mikayla Maki
5356ec4730
Merge pull request #2287 from zed-industries/fix-fold-range-finding
...
Fix code folds with wraps
2023-03-17 17:18:56 -07:00
Mikayla Maki and Max
eba119b914
Fix fold tests with new representation
...
Switch UI code from using display rows to using buffer rows
Make folds only show up on lines with line layouts
co-authored-by: Max <max@zed.dev >
2023-03-17 16:00:22 -07:00
Antonio Scandurra
4d915f4530
Don't make fonts::Features Copy
2023-03-17 13:54:56 +01:00
Antonio Scandurra
b2c733baab
WIP: Allow specifying font features in the editor
...
This just lays the foundation for threading through a `fonts::Features`
struct, but it's not used yet.
2023-03-17 09:51:36 +01:00
Mikayla Maki and max
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
Mikayla Maki and Max
606d683f29
Add interactable fold markers
...
Change fold handlers to be driven by the fold map
Switch to a mouse region based implementation for click regions
Co-authored-by: Max <max@zed.dev >
2023-03-03 12:26:36 -08:00
Mikayla Maki
6cf62a5b02
Update tests to use new fold indicator
2023-02-28 17:17:29 -08:00
Mikayla Maki
c397fd9a71
Added click regions and cursor styles
2023-02-28 16:34:28 -08:00
Max Brunsfeld
f71145bb32
Add a layer of indirection between excerpt ids and locators
2022-11-28 14:18:49 -08:00
Julia
2149c17a0a
Merge pull request #1768 from zed-industries/git-gutter-meets-code-folding
...
Git gutter meets code folding (and word wrap fixes)
2022-10-17 14:51:47 -04:00
Julia
9c47325c25
Use correct range to get diff hunks in the presence of wrapped lines
2022-10-13 13:52:44 -04: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
Julia
b18dd8fcff
Fully qualify outside git-related code when a diff is a git diff
2022-09-29 13:16:02 -04:00
Julia and Max Brunsfeld
883d5b7a08
Update git gutter status after debounced delay
...
Co-authored-by: Max Brunsfeld <max@zed.com >
2022-09-29 13:16:02 -04:00
ForLoveOfCats and Mikayla
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
Max Brunsfeld and Mikayla Maki
fa5af4383d
Introduce AutoindentMode parameter to Buffer::edit
...
This controls whether or not we preserve the relative indentation
of inserted text blocks.
Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com >
2022-07-28 14:03:31 -07:00
Antonio Scandurra
32662b6b92
Start indexing UTF-16 offsets
...
This is needed because cocoa will report ranges as UTF-16 indices.
2022-07-21 09:40:48 +02:00
Keith Simmons
755636d10e
Use NonZeroU32 to ensure settings tabsize cannot be zero
2022-06-23 12:55:38 -07:00
Antonio Scandurra
6f7a893ec9
Determine Buffer::is_dirty based on the rope's fingerprint
2022-06-17 12:38:25 +02:00
Antonio Scandurra
c31a233aad
Introduce a new fingerprint field to TextSummary
...
This is calculated in `Rope` and uses the `bromberg_sl2` homomorphic
hash function to determine the fingerprint of a single chunk and
compose each chunk fingerprint into a single fingerprint for the entire
rope that is equivalent to hashing all the rope's bytes at once.
2022-06-17 12:12:37 +02:00
Antonio Scandurra
666ea61dbc
Introduce a new BlockStyle field for blocks
...
This new field allows blocks to specify how they want to be laid out:
- If `Fixed` they can take up all the width they want and they will impact
the scroll width of the editor. This is useful for diagnostic messages and
allows scrolling the editor further to the right to visualize the entire message.
- If `Flex` they can extend all the way to the scroll width without impacting it
any further. This is useful for the rename editor that we insert as a block
decoration when hitting `F2`.
- If `Sticky`, they will be as wide as the editor element and won't participate
in the horizontal scrolling of the editor. This is useful for headers in general,
where we want e.g. the filename and the jump button to always be visible
independently of how much the user has scrolled to the right.
2022-06-10 13:47:40 +02:00
Keith Simmons
1da1853a76
Hide hover when font changes, and handle case where delay was preventing hover with large symbol range
2022-06-09 17:03:44 -07:00
Antonio Scandurra
712d47d94f
Render a "Jump to Buffer" icon on all excerpt headers
2022-06-08 15:31:29 +02:00
Antonio Scandurra
eda569d6b2
Snapshot file instead of path when creating a buffer snapshot
2022-06-08 14:29:14 +02:00