Commit log

08c7a49 Focus on bundling

Nathan Sobo created

667aa94 Will you work please?

Nathan Sobo created

4a3f3be Can we skip caching because we're self hosted?

Nathan Sobo created

28988fc Run CI on tag pushes

Nathan Sobo created

4f8caed Add a release upload action

Nathan Sobo created

d234f63 Update roadmap

Nathan Sobo created

a9108c7 Merge pull request #62 from zed-industries/multibyte-characters

Click to expand commit body
Get randomized tests passing in the presence of multibyte chars

Antonio Scandurra created

f550cb4 Merge pull request #63 from zed-industries/multibyte-characters-enhancement

Click to expand commit body
Improve handling of multibyte characters and optimize Rope some more

Antonio Scandurra created

81e1623 :lipstick:

Antonio Scandurra created

5f93d7f Return error in `Rope::to_offset(point)` when the point doesn't exist

Antonio Scandurra created

c9987f9 Optimize `Rope::append` by merging chunks only when they're underflowing

Antonio Scandurra created

76a74e4 Introduce `rope::Cursor::summary` to avoid slicing only to get a summary

Click to expand commit body
This also deletes `Rope::slice`, as it's just a convenience method that
can be easily re-implemented by using the cursor.

Antonio Scandurra created

def0aa9 Maximize chunks occupation by splitting chunks appropriately

Antonio Scandurra created

1190a87 Avoid heap allocation when splitting an existing chunk

Antonio Scandurra created

243b66a Add unit test for rope with all 4-byte chars

Max Brunsfeld created

e860cac Get randomized tests passing in the presence of multibyte chars

Max Brunsfeld created

beaa35f Merge pull request #61 from zed-industries/ropes-2

Click to expand commit body
Store buffer's visible and deleted text using ropes

Max Brunsfeld created

614e96b Clarify how the ropes are kept consistent with the fragments

Max Brunsfeld created

fc25335 Remove inline assertions about RopeBuilder invariants

Max Brunsfeld created

79c91de Get tests passing with RopeBuilder

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld and Nathan Sobo created

cba8603 WIP

Nathan Sobo created

2cdf315 WIP: Replace ropey with our own Rope

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

2f5754d Implement a `Cursor` for `Rope`

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

580fc4f Clarify variable and method names

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

0d50c74 :lipstick:

Antonio Scandurra created

9f9f339 :memo:

Antonio Scandurra created

e2c19d3 Add `Rope::chunks`

Antonio Scandurra created

6e30fdb Better balancing of chunks on `push`

Antonio Scandurra created

f303a1d Implement `::chars`, `::to_point` and `::to_offset` for Rope

Antonio Scandurra created

ff235e6 Increase leaf occupation for rope

Antonio Scandurra created

d7cde9f Don't underflow Rope chunks on append

Antonio Scandurra created

e48973f Start on a SumTree-based Rope implementation

Antonio Scandurra created

9aeb35b Get tests passing using a slow rightmost_point impl

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld and Nathan Sobo created

d8f7b35 Fix concurrent editing in buffer after using ropes

Click to expand commit body
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra , Max Brunsfeld , and Nathan Sobo created

39c56b7 Get local buffer usage working with ropes

Click to expand commit body
Randomized tests for remote edits are still not passing.

Co-Authored-By: Max Brunsfeld <max@zed.dev>

Antonio Scandurra and Max Brunsfeld created

7b98fb3 WIP: Get the type checker passing...

Click to expand commit body
...but not the borrow checker!

Co-Authored-By: Max Brunsfeld <max@zed.dev>

Antonio Scandurra and Max Brunsfeld created

0e9441e WIP

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

b348276 Merge pull request #60 from zed-industries/fix-failures

Click to expand commit body
Fix more test flakiness

Antonio Scandurra created

37f0ba9 Increase timeout for fs-dependent conditions

Antonio Scandurra created

4884a05 Change buffer atomically when reloading from disk

Antonio Scandurra created

19f51bc Rely more on conditions for state derived after worktree changes

Antonio Scandurra created

2c43066 Merge pull request #59 from zed-industries/more-resilient-fs-events

Click to expand commit body
Use `flush_fs_events` more after performing synchronous fs mutations

Antonio Scandurra created

eea9cb4 Use `flush_fs_events` more after performing synchronous fs mutations

Click to expand commit body
I am not sure I have caught all the examples of this, but in general
I think we always want to perform a `flush_fs_events` as opposed to
`next_scan_complete` when doing synchronous I/O. Indeed, the file
system may inform us about the events caused by the just-performed
I/O over multiple batches, and `next_scan_complete` may return
before seeing all of them.

Note that this also removes a few assertions which were ensuring
that, on start, a worktree's file handle wouldn't know its deleted
status, even if the file didn't exist for sure on disk. However,
now that `file` is an async API, it's possible that by the time the
`FileHandle` is resolved, `Worktree` has already completed scanning.
We test a similar behavior further along in the test where those
assertions were removed, so it felt okay to proceed without them.

Antonio Scandurra created

0187b6d Merge pull request #54 from zed-industries/file-changed-on-disk

Click to expand commit body
Handle buffers' files changing on disk from outside of Zed

Max Brunsfeld created

520cbfb Read file's mtime in background when getting a FileHandle

Click to expand commit body
Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Max Brunsfeld and Antonio Scandurra created

d76d532 Merge branch 'master' into file-changed-on-disk

Max Brunsfeld created

d0b7377 Merge pull request #57 from zed-industries/dropped-entities

Click to expand commit body
Fix panic when an entity's ref count is decremented to 0 and then is incremented again

Max Brunsfeld created

493643c Remove dropped entities even if there are no effects to flush

Max Brunsfeld created

9dac491 Don't remove entities whose ref count has become positive again

Nathan Sobo created

e81a28e Remove dropped entities after every effect

Nathan Sobo created