Commit Graph
4687 Commits
Author SHA1 Message Date
Antonio Scandurra 17258d4f8c Add test for add_selection_above and add_selection_below 2021-05-11 12:35:27 +02:00
Antonio Scandurra 6f5e47d631 Add test for BufferView::cancel 2021-05-11 12:35:27 +02:00
Antonio Scandurra 0622722ab7 Split multi-line selection when starting a new columnar selection 2021-05-11 12:35:27 +02:00
Antonio ScandurraandNathan Sobo 951aa0e443 Keep only one selection when starting to add selections above/below
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-11 12:35:27 +02:00
Antonio ScandurraandNathan Sobo 3fe64400c6 Rename add_cursor_{above,below} to add_selection_{above, below}
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-11 12:35:27 +02:00
Antonio ScandurraandNathan Sobo b6449b3809 Support undo of adding cursor above by adding cursor below and viceversa
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-11 12:35:27 +02:00
Antonio ScandurraandNathan Sobo acbda9184e Empty last selection on cancel
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-11 12:35:27 +02:00
Antonio Scandurra 143c50f321 Implement cancel for buffer 2021-05-11 12:35:27 +02:00
Antonio Scandurra 0baff0c61d Implement add_cursor_above and add_cursor_below for buffer 2021-05-11 12:35:27 +02:00
Max Brunsfeld af6ab2762f Merge pull request #47 from zed-industries/macos-10-compat
Ensure that the bundle runs on macOS versions < 11.0
2021-05-10 14:10:33 -07:00
Max Brunsfeld f2b009ea6b Ensure that the bundle runs on macOS versions < 11.0 2021-05-10 14:14:04 -06:00
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
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 SoboandAntonio Scandurra 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 SoboandMax Brunsfeld 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 SoboandMax Brunsfeld 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 SoboandMax Brunsfeld 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 SoboandMax Brunsfeld 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 SoboandMax Brunsfeld 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 SoboandMax Brunsfeld 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 ScandurraandNathan Sobo 6890a3d9fa Batch fold insertion
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-06 19:50:51 +02:00
Antonio ScandurraandNathan Sobo 2c1e4cae19 Merge FoldRange into Fold
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-06 19:36:19 +02:00
Antonio ScandurraandNathan Sobo 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 ScandurraandNathan Sobo 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