Max Brunsfeld
45e81dc768
Merge pull request #68 from zed-industries/optimizations-2
...
Introduce a few optimizations to `SumTree` and `Buffer`
2021-05-18 09:14:23 -07:00
Antonio Scandurra
a8ece757e4
Implement time::Global using a SmallVec
...
Version vectors are going to be small most of the time, especially
as soon as we introduce an optimization that will let us only
track concurrent versions, thus preventing the version vector from
growing indefinitely over time in the tree.
2021-05-18 17:34:48 +02:00
Antonio Scandurra
84e0efe5df
Save a few allocations when pushing to a SumTree
2021-05-18 17:34:36 +02:00
Antonio Scandurra
781aa92f26
Don't summarize unnecessary information when resolving anchor
2021-05-18 17:34:28 +02:00
Nathan Sobo
fd3b2c38eb
Try a diff upload action
2021-05-17 23:39:01 -06:00
Nathan Sobo
f7b37cdf54
Merge pull request #66 from zed-industries/upload-release
...
Add a release upload action
2021-05-17 23:04:55 -06:00
Nathan Sobo
aef21e1c0b
Try not cleaning on checkout
2021-05-17 22:46:33 -06:00
Nathan Sobo
f7e8e21d74
Reenable tests
2021-05-17 21:57:07 -06:00
Nathan Sobo
614d74948c
🤦♂️
2021-05-17 21:33:08 -06:00
Nathan Sobo
6c51ce9595
Merge remote-tracking branch 'origin/master' into upload-release
2021-05-17 21:12:14 -06:00
Nathan Sobo
c52968b18e
Merge pull request #67 from zed-industries/delay-polling
...
Reintroduce the 100ms delay when polling worktree entries
2021-05-17 21:11:36 -06:00
Nathan Sobo
f6bb550fb1
Revert "Does this make job setup faster?"
...
This reverts commit e8985b46dd
.
2021-05-17 20:58:03 -06:00
Nathan Sobo
e8985b46dd
Does this make job setup faster?
2021-05-17 20:55:42 -06:00
Nathan Sobo
143ea24875
Reintroduce the 100ms delay when polling worktree entries
...
This regressed when I switched us over to the simplified async approach. I think it was causing us to contend on the mutex on during startup.
2021-05-17 20:50:00 -06:00
Nathan Sobo
a750a09002
Merge remote-tracking branch 'origin/master' into upload-release
2021-05-17 18:27:19 -06:00
Nathan Sobo
6429123881
Remove unnecessary step
2021-05-17 18:09:35 -06:00
Nathan Sobo
693a96f0e5
Explicitly install aarch64 target
2021-05-17 18:07:39 -06:00
Nathan Sobo
7f2da31708
Install cargo-bundle if needed in script/bundle
2021-05-17 17:57:50 -06:00
Nathan Sobo
08c7a499e5
Focus on bundling
2021-05-17 17:51:48 -06:00
Nathan Sobo
667aa947e6
Will you work please?
2021-05-17 17:51:06 -06:00
Nathan Sobo
4a3f3be40d
Can we skip caching because we're self hosted?
2021-05-17 16:48:03 -06:00
Nathan Sobo
28988fcbb5
Run CI on tag pushes
2021-05-17 16:47:42 -06:00
Nathan Sobo
4f8caedf94
Add a release upload action
2021-05-17 16:38:56 -06:00
Nathan Sobo
d234f63447
Update roadmap
2021-05-17 11:15:32 -06:00
Antonio Scandurra
a9108c781b
Merge pull request #62 from zed-industries/multibyte-characters
...
Get randomized tests passing in the presence of multibyte chars
2021-05-16 10:09:57 +02:00
Antonio Scandurra
f550cb488a
Merge pull request #63 from zed-industries/multibyte-characters-enhancement
...
Improve handling of multibyte characters and optimize Rope some more
2021-05-16 10:09:20 +02:00
Antonio Scandurra
81e162318f
💄
2021-05-15 11:52:49 +02:00
Antonio Scandurra
5f93d7f755
Return error in Rope::to_offset(point)
when the point doesn't exist
2021-05-15 11:43:29 +02:00
Antonio Scandurra
c9987f9488
Optimize Rope::append
by merging chunks only when they're underflowing
2021-05-15 11:32:34 +02:00
Antonio Scandurra
76a74e431e
Introduce rope::Cursor::summary
to avoid slicing only to get a summary
...
This also deletes `Rope::slice`, as it's just a convenience method that
can be easily re-implemented by using the cursor.
2021-05-15 11:29:48 +02:00
Antonio Scandurra
def0aa98b2
Maximize chunks occupation by splitting chunks appropriately
2021-05-15 10:18:59 +02:00
Antonio Scandurra
1190a87a05
Avoid heap allocation when splitting an existing chunk
2021-05-15 10:08:01 +02:00
Max Brunsfeld
243b66a91d
Add unit test for rope with all 4-byte chars
2021-05-14 17:53:58 -07:00
Max Brunsfeld
e860cacb9f
Get randomized tests passing in the presence of multibyte chars
2021-05-14 17:45:16 -07:00
Max Brunsfeld
beaa35f551
Merge pull request #61 from zed-industries/ropes-2
...
Store buffer's visible and deleted text using ropes
2021-05-14 15:09:07 -07:00
Max Brunsfeld
614e96b957
Clarify how the ropes are kept consistent with the fragments
2021-05-14 14:48:19 -07:00
Max Brunsfeld
fc2533555c
Remove inline assertions about RopeBuilder invariants
2021-05-14 14:07:25 -07:00
Max Brunsfeld
79c91de2f4
Get tests passing with RopeBuilder
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-14 12:47:19 -07:00
Nathan Sobo
cba8603335
WIP
2021-05-14 10:58:02 -06:00
Antonio Scandurra
2cdf315d95
WIP: Replace ropey with our own Rope
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-14 18:30:47 +02:00
Antonio Scandurra
2f5754db63
Implement a Cursor
for Rope
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-14 17:14:57 +02:00
Antonio Scandurra
580fc4fed7
Clarify variable and method names
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-14 16:42:46 +02:00
Antonio Scandurra
0d50c74cab
💄
2021-05-14 16:07:46 +02:00
Antonio Scandurra
9f9f339a75
📝
2021-05-14 16:00:45 +02:00
Antonio Scandurra
e2c19d3d3f
Add Rope::chunks
2021-05-14 15:19:03 +02:00
Antonio Scandurra
6e30fdbf5c
Better balancing of chunks on push
2021-05-14 15:07:30 +02:00
Antonio Scandurra
f303a1d5fe
Implement ::chars
, ::to_point
and ::to_offset
for Rope
2021-05-14 14:44:19 +02:00
Antonio Scandurra
ff235e61f7
Increase leaf occupation for rope
2021-05-14 13:20:20 +02:00
Antonio Scandurra
d7cde9f81b
Don't underflow Rope chunks on append
2021-05-14 12:26:21 +02:00
Antonio Scandurra
e48973f75a
Start on a SumTree-based Rope implementation
2021-05-14 11:33:39 +02:00