Commit Graph
266 Commits
Author SHA1 Message Date
Max BrunsfeldandKay Simmons d222904471 Add basic support for ruby
Co-authored-by: Kay Simmons <kay@zed.dev>
2022-11-03 15:52:33 -07:00
Julia 259a758849 Merge pull request #1800 from zed-industries/go-to-diff-hunk
Add action to go to next/previous git diff in editor
2022-10-31 14:38:52 -04:00
Max Brunsfeld 9cbb698b96 Fix panic when hitting tab at the beginning of a line with mixed tab/space indent 2022-10-31 10:51:20 -07:00
Julia 8361b4d47a Add test for go-to hunk and fix discovered bugs 2022-10-28 15:08:13 -04:00
JuliaandKay 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
Mikayla Maki 895aeb033f Merge branch 'main' into breadcrumbs 2022-10-17 16:51:38 -07:00
K Simmons 40c3e925ad Add cursor blink setting and replicate cursor shape to remote collaborators 2022-10-17 16:20:47 -07:00
Mikayla Maki 19c98bb5ad fixed a bug where files outside of the project would show 'untitled' in the search bar 2022-10-17 12:58:48 -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
Antonio Scandurra 83d3fad80d Clear auto-indent requests if they couldn't be computed 2022-10-12 10:53:44 +02:00
Mikayla Maki 5487f99ac7 Moved settings_file.rs into settings crate. Should be ready to start now :D 2022-10-11 16:03:38 -07:00
Mikayla Maki 0beb97547e Finished refactoring out fs and rope 2022-10-11 15:25:54 -07:00
JuliaandJoseph Lyons e15f27106d Reset buffer git diff when setting diff base to None
Co-Authored-By: Joseph Lyons <joseph@zed.dev>
2022-10-07 15:37:37 -04:00
Max Brunsfeld fe7a39ba5c Apply buffer diff edits as a single batch 2022-10-06 11:54:28 -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 aa86806408 Finish generalizing ToggleComments to support block comments 2022-10-05 12:25:32 -07:00
JuliaandMikayla Maki e6487de069 Rename head text to indicate that it's not always going to be from head
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-10-03 15:11:06 -04:00
c95646a298 WIP Start refactoring separation of concerns for repo metadata
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-09-30 18:25:25 -04:00
ce7f6dd082 Start a test for remote git data updating
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-09-30 15:51:32 -04:00
Mikayla Maki 71b2126eca WIP, re-doing fs and fake git repos 2022-09-29 13:16:02 -04:00
JuliaandMikayla 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 bf3b3da6ed Build again 2022-09-29 13:16:02 -04:00
JuliaandMikayla 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
JuliaandMikayla Maki a679557e40 Avoid racing git diffs & allow for "as fast as possible" diff updating
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 6633c0b328 Perform initial file load git diff async 2022-09-29 13:16:02 -04:00
Julia 6825b6077a Properly invalidate when async git diff completes 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 4b2040a7ca Move diff logic back into BufferDiff::update 2022-09-29 13:16:02 -04:00
JuliaandMax Brunsfeld 61ff24edc8 Move cloneable diff state into new snapshot type
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-09-29 13:16:02 -04:00
Julia a86e93d46f Checkpoint on incremental diff sumtree shenanigans 2022-09-29 13:16:02 -04:00
JuliaandMax 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
JuliaandMax 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
ForLoveOfCats 2a14af4cde Load a file's head text on file load just to get started 2022-09-29 13:16:01 -04:00
Max Brunsfeld 4f44375abd Make Buffer::language_at fall back to Buffer::language
For languages with no grammar (plain text), there
will be no layers.
2022-09-28 13:38:54 -07:00
Max BrunsfeldandJulia 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
Max Brunsfeld 21fb2b9bf1 Tweak HTML indents and highlights 2022-09-28 12:32:04 -07:00
Max Brunsfeld 0777af1dd3 Fix crash when querying for enclosing brackets at EOF 2022-09-02 10:23:46 -07:00
Max Brunsfeld d4bbf21650 Merge pull request #1559 from zed-industries/language-injection
Add language injection support
2022-08-30 11:54:00 -07:00
Max Brunsfeld 015b6c4a31 Fix test about auto-indent with no indent query 2022-08-24 15:29:07 -07:00
Max Brunsfeld b3f4c73264 Clean up some of buffer's syntax-related methods 2022-08-24 15:11:26 -07:00
Max Brunsfeld 3245e4f8d7 Fix out-of-range panic when requesting outline items at EOF 2022-08-24 15:10:53 -07:00
Max Brunsfeld ced45cbb0a Use SyntaxMap in Buffer 2022-08-24 13:00:27 -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
Antonio Scandurra ec48ffc9da Simplify proto::Buffer to express its fields in terms of operations 2022-08-23 12:40:20 +02:00
Max Brunsfeld f6a817a0f3 Start work on a SyntaxMap data structure 2022-08-21 11:37:10 -07:00
Antonio Scandurra 9c9bf07e40 Create buffers for remote collaborators out of band
Previously, we would use `Project::serialize_buffer_for_peer` and
`Project::deserialize_buffer` respectively in the host and in the
guest to create a new buffer or just send its ID if the host thought
the buffer had already been sent.

These methods would be called as part of other methods, such as
`Project::open_buffer_by_id` or `Project::open_buffer_for_symbol`.
However, if any of the tasks driving the futures that eventually
called `Project::deserialize_buffer` were dropped after the host
responded with the buffer state but (crucially) before the guest
deserialized it and registered it, there could be a situation where
the host thought the guest had the buffer (thus sending them just the
buffer id) and the guest would wait indefinitely.

Given how crucial this interaction is, this commit switches to creating
remote buffers for peers out of band. The host will push buffers to guests,
who will always refer to buffers via IDs and wait for the host to send them,
as opposed to including the buffer's payload as part of some other operation.
2022-08-17 11:55:36 +02:00
K Simmons 9aa3f2d777 clippy fixes for focus change 2022-08-10 16:51:01 -07:00