Antonio Scandurra
1c2f549c82
Don't report folds that touch the endpoints of the given range
...
Fold ranges are exclusive, exactly like the query ranges. So if the end
of a fold coincides with the start of the query range, we shouldn't
report that fold. Analogously, if the start of a fold coincides with the
end of the query range, that fold shouldn't be reported.
2021-05-07 14:30:40 +02:00
Antonio Scandurra
06fb4e8200
Implement select_line
for buffer
2021-05-07 11:13:21 +02:00
Antonio Scandurra
cfb7c8770c
Merge pull request #41 from zed-industries/faster-fold-querying
...
Optimize querying folds
2021-05-07 10:09:34 +02:00
Antonio Scandurra
6a2fe38d94
Verify FoldMap::unfold
in randomized test
2021-05-07 09:39:55 +02:00
Max Brunsfeld
e6323f0d02
Fix handling of new files with new buffer/file structure
2021-05-06 21:06:20 -07:00
Nathan Sobo
35e0eaaae2
Refocus root view if focused view is removed
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-05-06 16:30:10 -06:00
Nathan Sobo
5e08a02ca8
Don't retain entities after EntityTasks are dropped
...
This allows us to spawn long-running tasks without leaking entities, but it also ensures that if we *do* hold on to a task, that the entity exists until the future or stream complete so that the task doesn't need to return an Option type.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-05-06 16:19:38 -06:00
Nathan Sobo
4eac765f1a
Replace zed::watch with postage::watch for settings
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-05-06 15:27:18 -06:00
Nathan Sobo
ab10e27424
Create a pending view handle before creating a view
...
This way, if we create and drop a handle during the creation of a view, we don't drop the view before we have a chance to increment its initial reference count.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-05-06 15:18:09 -06:00
Nathan Sobo
f408521d12
Gracefully handle a view being updated and removed in the same tick
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-05-06 15:13:26 -06:00
Nathan Sobo
008f2b905b
Hold a WeakViewHandle in BufferElement
...
Otherwise, the element never goes away because the view never goes away because the element is holding a strong reference.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-05-06 15:13:01 -06:00
Max Brunsfeld
290fcb4c06
In handle ::condition, re-poll on events as well as notifications
2021-05-06 13:18:41 -07:00
Antonio Scandurra
6890a3d9fa
Batch fold insertion
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-06 19:50:51 +02:00
Antonio Scandurra
2c1e4cae19
Merge FoldRange
into Fold
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-06 19:36:19 +02:00
Antonio Scandurra
e8179f7e3e
Always provide a context to sum tree's methods
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-06 19:29:38 +02:00
Antonio Scandurra
65e92ac2f2
Ignore empty folds in FoldMap::fold
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-06 18:53:09 +02:00
Antonio Scandurra
178705f8f9
Add FoldMap::folds_in_range
to randomized test and fix issues it found
2021-05-06 18:49:41 +02:00
Max Brunsfeld
490fb485fd
Merge branch 'master' into new-file
2021-05-06 09:19:16 -07:00
Antonio Scandurra
652fc9e4ec
Remove add_summary_with_ctx
and always require a ctx in add_summary
2021-05-06 16:57:47 +02:00
Antonio Scandurra
901525bf77
Implement FoldMap
's folds using a SumTree
...
This required passing a `Context` object to `Summary` and introducing a
new `SeekDimension` trait that allows comparing two dimensions and pass
an additional context object.
2021-05-06 16:20:23 +02:00
Antonio Scandurra
7fb7a6adfc
Add a Summary
trait in preparation of passing a context struct
2021-05-06 09:32:14 +02:00
Nathan Sobo
7717700b2c
Implement Drop on AnyViewHandle
...
This was a pretty bad oversight.
2021-05-05 23:21:39 -06:00
Nathan Sobo
6cb656db9a
Require window to have a root view and focused view
...
This is possible now that the window doesn't need to own the view. We can create the root view before we create the window.
2021-05-05 23:21:19 -06:00
Nathan Sobo
45a01d1526
Don't store views on windows
...
Instead, store all views in a single top-level map that's keyed by window id and view id. This ensures we'll keep a view alive even if its window is gone, so long as we're holding a handle. This can happen with things like spawned tasks. We don't want to panic during a spawned task after we close the window.
2021-05-05 22:48:16 -06:00
Max Brunsfeld
bf28aba1a7
Restore Buffer::file field and workspace::Item trait
2021-05-05 18:08:18 -07:00
Max Brunsfeld
78a5d0a378
Maintain workspace buffers state after saving untitled buffer
2021-05-05 13:12:51 -07:00
Max Brunsfeld
47d03498f4
Wait to update bufferview's file handle until save has completed
2021-05-05 11:05:50 -07:00
Max Brunsfeld
1fcbadaa99
Add TestAppContext::simulate_new_path_selection
2021-05-05 11:04:39 -07:00
Nathan Sobo
3f844bc953
Fix crash when closing windows
2021-05-05 11:34:49 -06:00
Antonio Scandurra
f7d8b6b4c0
Merge pull request #39 from zed-industries/move-lines-folds
...
Synchronize `FoldMap` with buffer's contents lazily
2021-05-05 10:47:52 +02:00
Antonio Scandurra
e771e70788
Add test for moving lines up and down
2021-05-05 10:23:35 +02:00
Antonio Scandurra
10aef856e3
Merge branch 'master' into move-lines-folds
2021-05-05 09:58:34 +02:00
Max Brunsfeld
5fd084ec09
Start work on creating and saving new files
2021-05-04 19:04:11 -07:00
Nathan Sobo
2ce9f271b5
Merge pull request #30 from zed-industries/bundle
...
WIP: Create and upload application bundle in CI
2021-05-04 18:02:47 -06:00
Nathan Sobo
a0471a5447
Add ~/.rustup to the list of cached paths
...
And restore skipping of rust install if it hasn't changed.
2021-05-04 17:46:44 -06:00
Nathan Sobo
13e524d9ed
Try to disable caching
2021-05-04 17:38:05 -06:00
Nathan Sobo
3604d7e292
Try to fix target not being installed
2021-05-04 17:34:03 -06:00
Nathan Sobo
5cf65ed6b7
Ad hoc code-sign the app bundle
...
Apparently this is necessary to run on the M1 macs
2021-05-04 17:29:39 -06:00
Nathan Sobo
52a5777fbd
Create the bundle as a "fat binary" supporting the M1
2021-05-04 17:18:25 -06:00
Nathan Sobo
1f06d216b5
Fix artifact name
2021-05-04 17:18:25 -06:00
Nathan Sobo
2dc1176486
Create and upload a DMG
2021-05-04 17:18:25 -06:00
Nathan Sobo
8297f2a941
Attempt to upload app bundle as an artifact
2021-05-04 17:18:25 -06:00
Nathan Sobo
898271edfb
Add script/bundle, which creates a macOS app bundle
2021-05-04 17:18:25 -06:00
Max Brunsfeld
3d739b6621
Merge pull request #34 from zed-industries/buffer-per-inode
...
Only open one buffer per inode, but associate each buffer view with its own path
2021-05-04 14:37:27 -07:00
Max Brunsfeld
361bb83f43
Replace Workspace::open_path with simpler ::add_worktree method
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-04 14:18:16 -07:00
Max Brunsfeld
2b9a97a46e
Fix hangs in workspace tests
2021-05-04 12:41:00 -07:00
Antonio Scandurra
05ab1bdddf
Synchronize FoldMap
with buffer's contents lazily
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-04 18:27:56 +02:00
Antonio Scandurra
c135c84ef0
Use correct bias when calculating next_row_end
2021-05-04 16:13:01 +02:00
Antonio Scandurra
7bd192bdfb
Add FoldMap::chars_at
to randomized test
2021-05-04 14:13:28 +02:00
Antonio Scandurra
3ba463020c
Test FoldMap to_display_offset
, to_display_point
, to_buffer_point
2021-05-04 12:16:35 +02:00