Commit Graph
122 Commits
Author SHA1 Message Date
Nathan Sobo a3be5595dd Pass a handle to the current view model when spawning
Most of the time, we'll want a way to get a reference back to the current view or model, so this facilitates that common case.
2021-05-12 15:28:59 -06:00
Nathan SoboandMax Brunsfeld fa6bd1f926 Introduce AsyncAppContext and simplify spawning
Now when you call spawn in various context, you pass an FnOnce that is called with an AsyncAppContext and returns a static future. This allows you to write async code similar to how our tests work, borrowing the guts of the AsyncAppContext when needed to interact, but using normal async await semantics instead of callbacks.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-05-12 15:16:49 -06:00
Antonio Scandurra 1c2b381f74 Use gpui::test macro for synchronous tests in zed 2021-05-12 17:18:23 +02:00
Antonio ScandurraandNathan Sobo e72a309734 Add a basic tab keybinding
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-11 17:10:37 +02:00
Antonio Scandurra d9e7547d95 💄 2021-05-11 12:43:24 +02:00
Antonio Scandurra 07ef0d474e Bind add_selection_{above,below} to cmd-alt-{up,down} 2021-05-11 12:37:30 +02:00
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 3120906275 Merge branch 'master' into close-window 2021-05-07 14:24:48 -07:00
Max Brunsfeld d8d36a32bf Add emacs key bindings for up/down/left/right 2021-05-07 13:51:17 -07:00
Max Brunsfeld e32b6bc8f8 Merge branch 'master' into new-file 2021-05-07 10:10:20 -07:00
Antonio Scandurra 806c09bf11 Autoscroll when folding an arbitrary range 2021-05-07 18:15:00 +02:00
Antonio Scandurra 8bbaa0bd34 Handle reversed selections correctly in split_selection_into_lines 2021-05-07 14:54:46 +02:00
Antonio Scandurra 4797ccfdcd Implement split_selection_into_lines for buffer 2021-05-07 14:32:57 +02:00
Antonio Scandurra 06fb4e8200 Implement select_line for buffer 2021-05-07 11:13:21 +02: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 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 490fb485fd Merge branch 'master' into new-file 2021-05-06 09:19:16 -07: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
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
Antonio ScandurraandNathan Sobo 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 a0428667d0 Fix folds_in_range and add a test for it
With the current ordering, a linear scan is required in order to
determine which folds intersect the given range.
2021-05-04 11:24:33 +02:00
Nathan Sobo 5c392f933f Merge branch 'master' into buffer-per-inode 2021-05-03 20:47:28 -06:00
Nathan SoboandMax Brunsfeld ed28bd3f95 Combine Workspace and WorkspaceView
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-05-03 20:15:55 -06:00
Nathan Sobo aa2a2ececf Merge pull request #37 from zed-industries/move-line-up-down
Move line up and down
2021-05-03 18:25:42 -06:00
Nathan SoboandMax Brunsfeld b801628230 Clean up
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-05-03 16:33:13 -06:00
Nathan SoboandMax Brunsfeld afb623b6b5 Make Workspace::open_entry2, which returns a dyn ItemViewHandle
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-05-03 16:25:18 -06:00
Antonio Scandurra 4b38f2850d WIP 2021-05-03 18:58:39 +02:00
Antonio Scandurra 4c4657515e Account for folds when moving selections up/down 2021-05-03 16:13:09 +02:00
Antonio Scandurra 49dc040786 Use a more direct manipulation for moving lines up or down 2021-05-03 15:10:20 +02:00
Antonio Scandurra 76b454d34b Push selections down correctly when moving a line down 2021-05-03 14:49:35 +02:00
Antonio Scandurra 8cd451f3ca Implement move_line_up and move_line_down
This does not restore folds yet.
2021-05-03 11:37:36 +02:00
Antonio Scandurra c01263be8e Merge pull request #35 from zed-industries/move-to-prev-next-word-boundary
Implement word boundary movement/selection/deletion
2021-04-30 16:34:06 +02:00
Antonio Scandurra 51ae37e578 Bind ctrl-h to backspace 2021-04-30 10:45:58 +02:00
Antonio Scandurra 9c3216507b Add test for word boundary movement/selection/deletion 2021-04-30 10:14:20 +02:00
Antonio Scandurra f352cfb686 Implement delete_to_{previous,next}_word_boundary 2021-04-30 10:14:20 +02:00
Antonio Scandurra 1a0dbb2907 Implement select_to_{previous,next}_word_boundary 2021-04-30 10:14:20 +02:00
Antonio ScandurraandMax Brunsfeld bc686b4561 Implement move_to_previous_word_boundary
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-04-30 10:14:20 +02:00