Antonio Scandurra
6a2fe38d94
Verify FoldMap::unfold in randomized test
2021-05-07 09:39:55 +02:00
Antonio Scandurra and Nathan Sobo
6890a3d9fa
Batch fold insertion
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-06 19:50:51 +02:00
Antonio Scandurra and Nathan Sobo
2c1e4cae19
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
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 Scandurra and Nathan 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 Brunsfeld and Nathan 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 Scandurra and Nathan 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 Sobo and Max 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 Sobo and Max Brunsfeld
b801628230
Clean up
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-05-03 16:33:13 -06:00
Nathan Sobo and Max 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 Sobo and Max 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 Scandurra and Max 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 Scandurra and Nathan 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 Brunsfeld and Nathan 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