Commit Graph
752 Commits
Author SHA1 Message Date
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 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 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
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
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
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
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