Commit Graph
292 Commits
Author SHA1 Message Date
Antonio Scandurra 6a2fe38d94 Verify FoldMap::unfold in randomized test 2021-05-07 09:39:55 +02: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
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
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
Nathan Sobo 898271edfb Add script/bundle, which creates a macOS app bundle 2021-05-04 17:18:25 -06:00
Max BrunsfeldandNathan Sobo 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 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 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
Antonio Scandurra d326e80657 Rework randomized test, ensuring order of folds is maintained correctly 2021-05-04 11:27:32 +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 Sobo 8820df7912 Rename WorkspaceView to Workspace and reorganize module 2021-05-03 20:42:32 -06:00
Nathan Sobo 366f8fcdb0 Inline methods previously moved from Workspace 2021-05-03 20:36:12 -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
Nathan SoboandMax Brunsfeld 837f34a498 Fix cases where new folds that end where existing folds start
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-05-03 14:30:50 -06:00
Max Brunsfeld 189ee7c140 Add failing unit test for adjacent folds 2021-05-03 12:39:47 -07: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
Antonio ScandurraandNathan Sobo 0a28c78a7a Implement move_to_next_word_boundary for buffer
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-30 10:14:20 +02:00
Antonio Scandurra 0e432ed889 Merge pull request #32 from zed-industries/editor-keybindings
Initial editor keybindings
2021-04-30 09:31:32 +02:00
Max Brunsfeld 8cffa8bdb2 Move file handle from buffer to buffer view 2021-04-29 17:47:06 -07:00
Max Brunsfeld 9b0cc0a032 Avoid cancelling ::open_entry task in FileFinder 2021-04-29 15:03:46 -07:00
Max BrunsfeldandNathan Sobo 5826a976ef Return a future from WorkspaceView::open_paths
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-29 14:55:28 -07:00
Max Brunsfeld b126938af7 In file finder, handle single-file worktrees & multiple matches w/ same rel path 2021-04-29 12:44:51 -07:00
Antonio Scandurra d19fd77f91 💄 2021-04-29 10:38:11 +02:00
Antonio Scandurra 283c734c91 Implement {move_to,select_to,delete_to}_{beginning,end}_of_line 2021-04-29 10:38:11 +02:00
Antonio Scandurra 0aacf858ce Don't rely on Range::is_empty to check for selection emptiness
This method returns true when `start > end`, so our `backspace` and
`delete` implementations were subtly wrong because they always deleted
one extra character for reversed selections.
2021-04-29 10:38:11 +02:00
Antonio Scandurra fdefd32de0 Implement duplicate_line for buffer 2021-04-29 10:38:11 +02:00