Nathan Sobo
76d9a40f35
Merge pull request #40 from zed-industries/close-window
...
Correctly handle closing windows and removing entities
2021-05-08 09:06:54 -06:00
Nathan Sobo
2c74d75687
Fix double borrow error in Window::on_close callbacks when quitting app
...
The simplest solution I could come up with was to make quitting the app asynchronous. Calling mac::Platform::quit enqueues a request to quit the app and then allows the call stack to fully return. This ensures we aren't holding a borrow when we quit and invoke all the Window::on_close callbacks. Seems like it should be fine to be async on quitting.
2021-05-08 08:49:14 -06:00
Max Brunsfeld
f3d7aa55f1
Merge pull request #46 from zed-industries/keyup-keystrokes
...
Ignore events for held-down keys after a key combo is partially released
2021-05-07 17:15:29 -07:00
Max Brunsfeld
9dbda4551f
Ignore events for held-down keys after a key combo is partially released
2021-05-07 16:54:55 -07:00
Max Brunsfeld
b292baf334
Remove logging of retained views
2021-05-07 14:51:55 -07:00
Max Brunsfeld
3120906275
Merge branch 'master' into close-window
2021-05-07 14:24:48 -07:00
Max Brunsfeld
83a844f120
Fix the Clone impl for AnyViewHandle
2021-05-07 14:16:16 -07:00
Nathan Sobo
318e8abf2f
Avoid redundant entity refcount operations
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-05-07 14:15:43 -07:00
Max Brunsfeld
d8d36a32bf
Add emacs key bindings for up/down/left/right
2021-05-07 13:51:17 -07:00
Nathan Sobo
1c50059575
Merge pull request #38 from zed-industries/new-file
...
Allow creating untitled buffers and saving them to new files
2021-05-07 13:57:09 -06:00
Max Brunsfeld
4b0bd6b8e3
Clean up Workspace::open_entry
2021-05-07 11:21:49 -07:00
Max Brunsfeld
e32b6bc8f8
Merge branch 'master' into new-file
2021-05-07 10:10:20 -07:00
Max Brunsfeld
29d44c8a10
Go back to using upstream core-foundation-rs
2021-05-07 09:53:07 -07:00
Max Brunsfeld
3c3cf3b7c5
Keep weak handles to workspace items
2021-05-07 09:52:15 -07:00
Antonio Scandurra
98c4dc4b9b
Merge pull request #43 from zed-industries/select-line
...
Implement `select_line` and `split_selection_into_lines`
2021-05-07 18:49:47 +02:00
Antonio Scandurra
c7c8ec9e54
Merge pull request #44 from zed-industries/emit-symbols-in-release
...
Include debug symbols in release mode
2021-05-07 18:21:09 +02:00
Antonio Scandurra
806c09bf11
Autoscroll when folding an arbitrary range
2021-05-07 18:15:00 +02:00
Nathan Sobo
b5f1f31693
Fix focus test
...
Call on_focus on the root view when the window is originally created. Test dropping a focused view. Simplify test to avoid relying on emitting events.
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-05-07 09:43:07 -06:00
Antonio Scandurra
8bbaa0bd34
Handle reversed selections correctly in split_selection_into_lines
2021-05-07 14:54:46 +02:00
Antonio Scandurra
f85669c681
Include debug symbols in release mode
2021-05-07 14:42:56 +02:00
Antonio Scandurra
5f1d0b8850
💄
2021-05-07 14:38:21 +02:00
Antonio Scandurra
4797ccfdcd
Implement split_selection_into_lines
for buffer
2021-05-07 14:32:57 +02:00
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