Max Brunsfeld and Nathan Sobo
c321f5d94a
Assert that buffers' file state matches in randomized collab test
...
Co-authored-by: Nathan Sobo <nathan@zed.dev >
2022-12-21 15:38:44 -08:00
Antonio Scandurra
47348542ef
Synchronize buffers when either the host or a guest reconnects
2022-12-21 14:20:56 +01:00
Julia
de9c58d216
Merge pull request #1983 from zed-industries/multi-buffer-git-gutter
...
Multi buffer git gutter
2022-12-19 10:53:42 -05:00
Julia and Nathan Sobo
ebd0c5d000
Handle reversed=true for multi-buffer git-hunks-in-range iteration
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-12-15 18:17:32 -05:00
Julia and Max Brunsfeld
f88b413f6a
Rewrite multi-buffer aware git hunks in range to be more correct
...
Less ad-hoc state tracking, rely more on values provided by the
underlying data
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2022-12-15 17:09:09 -05:00
Julia
0dedc1f3a4
Get tests building again
2022-12-15 00:17:28 -05:00
Julia
cf72173282
Clamp end of visual git hunk to requested range
2022-12-13 13:58:50 -05:00
Julia
7c3dc1e3dc
Cleanup
2022-12-13 12:35:58 -05:00
Julia
00b7c78e33
Initial hacky displaying of git gutter in multi-buffers
2022-12-13 12:35:58 -05:00
Max Brunsfeld
6120d6488b
Start work on following in multi-buffers
2022-11-29 14:50:43 -08:00
Max Brunsfeld
6d9b55a654
Send full multibuffer anchors to following peers
2022-11-28 18:00:38 -08:00
Max Brunsfeld
3eac3e20d5
Emit events from a multibuffer when adding/removing excerpts
2022-11-28 17:57:55 -08:00
Max Brunsfeld
718f802157
Implement Copy for multibuffer anchors
2022-11-28 14:18:49 -08:00
Max Brunsfeld
f71145bb32
Add a layer of indirection between excerpt ids and locators
2022-11-28 14:18:49 -08:00
Julia
03cfd23ac5
Bump protocol version back down as proto changes are non-breaking
2022-11-23 13:40:49 -05:00
Julia
e51cbf67ab
Fixup compile errors
2022-11-22 02:49:47 -05:00
Julia
436c89650a
Rename clamped -> clipped
2022-11-21 15:23:00 -05:00
Julia
074e3cfbd6
Clamp UTF-16 to point conversions
2022-11-21 14:25:01 -05:00
Julia and Kay Simmons
c4b21a0ab5
Add action to go to next/previous git diff in editor
...
Co-Authored-By: Kay Simmons <kay@zed.dev >
2022-10-28 15:08:13 -04:00
K Simmons
40c3e925ad
Add cursor blink setting and replicate cursor shape to remote collaborators
2022-10-17 16:20:47 -07: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
Max Brunsfeld
51fa06cc8d
Merge pull request #1404 from zed-industries/html-support
...
Basic html support
2022-10-06 10:32:44 -07:00
Max Brunsfeld
7fb5fe036a
Derive indent size from the language at the cursor when auto-indenting
2022-10-05 17:07:35 -07:00
Max Brunsfeld
8b86781ad1
Remove last usages of MultiBufferSnapshot::language
2022-10-05 14:44:34 -07:00
Julia and Mikayla Maki
d5fd531743
Move git related things into specialized git crate
...
Co-Authored-By: Mikayla Maki <mikayla@zed.dev >
2022-09-29 13:16:02 -04:00
Julia and Mikayla Maki
7e5d49487b
WIP Notifying buffers of head text change
...
Co-Authored-By: Mikayla Maki <mikayla@zed.dev >
2022-09-29 13:16:02 -04: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
9c82954877
Changed diffs to be async and dropped git delay
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
Julia and Max Brunsfeld
55ca02351c
Start painting some sort of hunk info, it's wrong but it's close
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2022-09-29 13:16:01 -04:00
Max Brunsfeld and Julia Risley
67e188a015
Add Buffer::language_at, update MultiBuffer to use it
...
Co-authored-by: Julia Risley <floc@unpromptedtirade.com >
2022-09-28 12:32:04 -07:00
Antonio Scandurra
f0d35ccc50
Move operation serialization off the main thread
2022-08-23 16:34:25 +02:00
Antonio Scandurra
954695f5fe
Stream buffer ops in the background when creating buffer for peers
2022-08-23 16:05:56 +02: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
Max Brunsfeld and Julia Risley
115677ec5d
Start work on auto-indenting lines on tab
...
Co-authored-by: Julia Risley <floc@unpromptedtirade.com >
2022-08-01 16:47:59 -07:00
Max Brunsfeld
868c460620
🎨 Rename and simplify some autoindent stuff
2022-07-28 22:40:30 -07:00
Max Brunsfeld
7a26fa18c7
Record start columns when writing to the clipboard from Zed
2022-07-28 22:13:32 -07: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
Max Brunsfeld and Mikayla Maki
cdf6ae25bb
Remove indent_size parameter from Buffer::edit_with_autoindent
...
Instead, compute the indent size by reading the settings inside that method.
Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com >
2022-07-28 13:00:05 -07:00
Max Brunsfeld
4c8d9384b1
Replaces lines_utf16 with a single u32 - last_line_len_utf16
2022-07-25 11:35:42 -07:00
Antonio Scandurra
47e8bd5f4f
Introduce MultiBuffer::clip_offset_utf16
2022-07-25 15:06:04 +02:00
Antonio Scandurra
c46be992e0
Introduce Rope::clip_offset_utf16
2022-07-25 15:02:45 +02:00
Antonio Scandurra
d3567e381c
Coalesce IME compositions into a single edit
2022-07-25 09:53:51 +02: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
Antonio Scandurra
07d269234f
Differentiate among tabs with the same name
...
This commit introduces a new, optional `Item::tab_description` method
that lets implementers define a description for the tab with a certain
`detail`. When two or more tabs match the same description, we will
increase the `detail` until tabs don't match anymore or increasing the
`detail` doesn't disambiguate tabs any further.
As soon as we find a valid `detail` that disambiguates tabs enough, we
will pass it to `Item::tab_content`. In `Editor`, this is implemented by
showing more and more of the path's suffix as `detail` is increased.
2022-07-14 11:54:11 +02:00
Keith Simmons
1f3dc2f534
highlight both brackets, only when empty selection, and add test
2022-07-05 15:19:05 -07:00
Keith Simmons
755636d10e
Use NonZeroU32 to ensure settings tabsize cannot be zero
2022-06-23 12:55:38 -07:00