Antonio Scandurra
03619dfa55
Rename Drawable::boxed to into_element and make containers generic
...
Multi-element are now generic over any drawable child, which can be converted
into an element.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-04-21 12:43:19 -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
Antonio Scandurra
6e821eea4b
Prevent tab
from accepting a copilot suggestion when it isn't visible
2023-04-05 10:31:11 +02:00
Antonio Scandurra
ec5309b543
Make autocompletion and copilot mutually exclusive
2023-04-03 14:15:21 +02:00
Mikayla Maki
ae3b3ea458
Merge branch 'main' into copilot
2023-03-29 16:57:38 -07: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
ba3913df8c
Expose a DisplayMap::replace_suggestion
method
2023-03-21 16:41:54 +01:00
Antonio Scandurra
9c8732a355
Integrate SuggestionMap
into the rest of DisplayMap
2023-03-21 16:39:02 +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
5a3d5dff42
Make folds tab aware
2023-03-17 17:14:40 -07:00
Mikayla Maki
c39b4ac229
Fix boundary condition in buffer_line_len when at the end of a file
...
co-authored-by: max <max@zed.dev>
2023-03-17 16:56:44 -07:00
Mikayla Maki
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
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
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
3dd5b3f426
Attempted to initialize code-fold indicators, does not work
2023-03-02 19:42:59 -08:00
Mikayla Maki
6cf62a5b02
Update tests to use new fold indicator
2023-02-28 17:17:29 -08:00
Mikayla Maki
f8401394f5
Removed DisplayRow abstraction
2023-02-28 17:12:48 -08:00
Mikayla Maki
e0f553c0f5
WIp
2023-02-28 16:34:28 -08:00
Mikayla Maki
89b93d4f6f
Added fold changes on gutter hover
2023-02-28 16:34:28 -08:00
Mikayla Maki
2036fc48b5
moved code action indicator to the left
2023-02-28 16:34:28 -08:00
Mikayla Maki
cb3e873a67
Fixed autoscroll timing
2023-02-28 16:34:28 -08:00
Mikayla Maki
da78abd99f
Added DisplayRow abstraction to make folding code more readable
2023-02-28 16:34:28 -08:00
Mikayla Maki
637e8ada42
Fix bugs in code folding
2023-02-28 16:34:28 -08:00
Mikayla Maki
e3061066c9
Add code folding indicators into the gutter.
2023-02-28 16:34:28 -08:00
Kay Simmons
3d53336916
More vim fixes and move some more things out of app.rs
2023-02-13 13:50:37 -08: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
41590ef64b
Merge branch 'main' into test-branch
2022-10-11 19:55:32 -07:00
Mikayla Maki
0beb97547e
Finished refactoring out fs and rope
2022-10-11 15:25:54 -07:00
K Simmons
b82db3a254
Adds word and sentence text objects along with a new vim testing system which uses cached neovim data to verify our test accuracy
2022-10-08 21:51:49 -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
Max Brunsfeld
26fdaeb92b
Use new marked ranges format whenever we don't need overlapping ranges
2022-08-04 10:23:03 -07:00
Max Brunsfeld
8e6fb76681
Use new marked_ranges format in more editor tests
2022-08-03 20:04:47 -07:00
Antonio Scandurra
385d214b47
Enhance DisplayMap
randomized test to change tab size
...
This removes the need for a unit test.
2022-08-03 12:01:26 +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
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
97ce3998ec
Position IME input according to where the selection is rendered
2022-07-21 17:35:40 +02:00
Max Brunsfeld
f985515141
Start work on new text input handling in Editor
2022-07-20 16:45:27 -07:00
Max Brunsfeld
ec8a493700
Move all default settings from source code into the JSON file
2022-07-12 11:35:19 -07:00
Keith Simmons
92ab107fc9
working jump to definition with tests
2022-06-24 15:09:31 -07:00
Max Brunsfeld
c91451a1b2
Merge pull request #1234 from zed-industries/fix-editor-cloning
...
Clone fold and selection state correctly when splitting an editor
2022-06-23 13:27:40 -07:00
Max Brunsfeld
fb2a7787a1
Clone fold and selection state correctly when splitting an editor
2022-06-23 13:15:50 -07:00
Keith Simmons
755636d10e
Use NonZeroU32 to ensure settings tabsize cannot be zero
2022-06-23 12:55:38 -07:00
Antonio Scandurra
2cb8a3ccfb
Don't override top-level settings with language defaults
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-06-23 16:40:57 +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