Nathan Sobo
3dce1af998
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
75658fa1c0
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
8ef5af4969
Ignore events for held-down keys after a key combo is partially released
2021-05-07 16:54:55 -07:00
Max Brunsfeld
b878e50277
Remove logging of retained views
2021-05-07 14:51:55 -07:00
Max Brunsfeld
e488eb96bc
Merge branch 'master' into close-window
2021-05-07 14:24:48 -07:00
Max Brunsfeld
8c4a70f7c7
Fix the Clone impl for AnyViewHandle
2021-05-07 14:16:16 -07:00
04dcf1aca6
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
7d4d21bab6
Add emacs key bindings for up/down/left/right
2021-05-07 13:51:17 -07:00
Nathan Sobo
925585cd36
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
48bb2e37e0
Clean up Workspace::open_entry
2021-05-07 11:21:49 -07:00
Max Brunsfeld
e020ec6ec7
Merge branch 'master' into new-file
2021-05-07 10:10:20 -07:00
Max Brunsfeld
c2b9877370
Go back to using upstream core-foundation-rs
2021-05-07 09:53:07 -07:00
Max Brunsfeld
76bcbcc72c
Keep weak handles to workspace items
2021-05-07 09:52:15 -07:00
Antonio Scandurra
1292cf63c2
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
dc91f987ec
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
b3b36ea6c2
Autoscroll when folding an arbitrary range
2021-05-07 18:15:00 +02:00
Nathan Sobo and Antonio Scandurra
9349aeac1a
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
874f21914f
Handle reversed selections correctly in split_selection_into_lines
2021-05-07 14:54:46 +02:00
Antonio Scandurra
4fcedf4269
Include debug symbols in release mode
2021-05-07 14:42:56 +02:00
Antonio Scandurra
ffbfcd6add
💄
2021-05-07 14:38:21 +02:00
Antonio Scandurra
bc3c5b6b34
Implement split_selection_into_lines for buffer
2021-05-07 14:32:57 +02:00
Antonio Scandurra
1a700d12f8
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
bd3b6d7041
Implement select_line for buffer
2021-05-07 11:13:21 +02:00
Antonio Scandurra
93c3097a5c
Merge pull request #41 from zed-industries/faster-fold-querying
...
Optimize querying folds
2021-05-07 10:09:34 +02:00
Antonio Scandurra
8d2871fca2
Verify FoldMap::unfold in randomized test
2021-05-07 09:39:55 +02:00
Max Brunsfeld
19d8fa2fe3
Fix handling of new files with new buffer/file structure
2021-05-06 21:06:20 -07:00
Nathan Sobo and Max Brunsfeld
a0c8ac3fdc
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 and Max Brunsfeld
5eb0610d47
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 and Max Brunsfeld
3197c132c8
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 and Max Brunsfeld
60f2a6572a
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 and Max Brunsfeld
4f61ef1383
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 and Max Brunsfeld
9a4bc3839b
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
3b30251112
In handle ::condition, re-poll on events as well as notifications
2021-05-06 13:18:41 -07:00
Antonio Scandurra and Nathan Sobo
f48cf73530
Batch fold insertion
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-06 19:50:51 +02:00
Antonio Scandurra and Nathan Sobo
d8ed450431
Merge FoldRange into Fold
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-06 19:36:19 +02:00
Antonio Scandurra and Nathan Sobo
d350cf7185
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 and Nathan Sobo
fdf89a3955
Ignore empty folds in FoldMap::fold
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-06 18:53:09 +02:00
Antonio Scandurra
c519aaa352
Add FoldMap::folds_in_range to randomized test and fix issues it found
2021-05-06 18:49:41 +02:00
Max Brunsfeld
02b2c181d3
Merge branch 'master' into new-file
2021-05-06 09:19:16 -07:00
Antonio Scandurra
5eae0c1109
Remove add_summary_with_ctx and always require a ctx in add_summary
2021-05-06 16:57:47 +02:00
Antonio Scandurra
2e2e170d78
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
4594edb609
Add a Summary trait in preparation of passing a context struct
2021-05-06 09:32:14 +02:00
Nathan Sobo
204e91adcd
Implement Drop on AnyViewHandle
...
This was a pretty bad oversight.
2021-05-05 23:21:39 -06:00
Nathan Sobo
f4e0b69bd3
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
91f4d0ffe3
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
f3df06a82c
Restore Buffer::file field and workspace::Item trait
2021-05-05 18:08:18 -07:00
Max Brunsfeld
fd18b93ad0
Maintain workspace buffers state after saving untitled buffer
2021-05-05 13:12:51 -07:00
Max Brunsfeld
2f2659a7ad
Wait to update bufferview's file handle until save has completed
2021-05-05 11:05:50 -07:00
Max Brunsfeld
2e5d292c4b
Add TestAppContext::simulate_new_path_selection
2021-05-05 11:04:39 -07:00
Nathan Sobo
10147df5c3
Fix crash when closing windows
2021-05-05 11:34:49 -06:00