Commit Graph
74 Commits
Author SHA1 Message Date
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
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
Antonio Scandurra 5d28fb871f Extract a Selection::buffer_row_range method 2021-04-29 10:38:11 +02:00
Antonio Scandurra 2a0a2ee636 Fix delete_line for non-empty selections that end at the start of line 2021-04-29 10:38:11 +02:00
Antonio Scandurra 618cb8ac18 Bind also ctrl-d to buffer:delete 2021-04-29 10:38:11 +02:00
Antonio Scandurra cee9509127 Fix delete_line test 2021-04-29 10:38:11 +02:00
Antonio Scandurra ccd244bac7 WIP: start on a test for delete_line
Discovered a bug that's highlighted by the test that causes selections
to not be in the right order.
2021-04-29 10:38:11 +02:00
Antonio Scandurra 834602ef67 Implement delete_line for buffer
This still needs unit tests.
2021-04-29 10:38:11 +02:00
Antonio Scandurra 21442bd2b7 Don't propagate action when selecting up/down in single-line editors 2021-04-29 10:38:11 +02:00
Antonio Scandurra c524cc4d61 Implement select_to_beginning and select_to_end for buffer 2021-04-29 10:38:11 +02:00
Antonio Scandurra 45452bbb3a Implement move_to_beginning and move_to_end for buffer 2021-04-29 10:38:11 +02:00
Antonio Scandurra b7c30eba30 Implemente delete for buffer 2021-04-29 10:38:11 +02:00
Antonio Scandurra 324a6ff7ae Implement select_all for buffer 2021-04-29 10:38:11 +02:00
Max Brunsfeld 88b88a8067 Start work on opening files 2021-04-28 17:46:27 -07:00
Antonio Scandurra b52a3b5a24 Autoscroll on paste
This also removes the `changed_selections` and moves the autoscroll
request inside of `update_selections`. This is nicer because it'll force
us to determine whether we want to autoscroll every time we update the
selections, so that we don't forget this in the future.
2021-04-27 11:52:46 +02:00
Nathan Sobo 870925e2ac Rerender tabs when buffers' file handles change
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-26 14:16:35 -07:00
Nathan SoboandMax Brunsfeld c9d7249305 WIP
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-23 11:37:23 -06:00
Nathan Sobo db8cce9aa9 Merge branch 'master' into rescan 2021-04-14 22:26:09 -06:00
Antonio ScandurraandNathan Sobo f4538e9eb5 Generalize pasting when number of selections doesn't match clipboard's
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-14 19:02:44 +02:00
Antonio Scandurra 40980edffe Merge branch 'master' into copy-paste 2021-04-14 12:05:52 +02:00
Antonio Scandurra a1053f7820 📝 2021-04-14 11:59:39 +02:00
Antonio Scandurra 6a181ac692 Add test for copying/cutting/pasting full lines 2021-04-14 11:56:17 +02:00
Antonio Scandurra 4a395314b2 Handle paste correctly when there is only one full-line in the clipboard 2021-04-14 11:15:55 +02:00
Nathan Sobo 24cdfd2471 Identify Worktree entries by their inode
This will allow us to re-parent elements when re-scanning when the file system changes.
2021-04-13 20:09:41 -06:00
Nathan SoboandBrooks Swinnerton 0a2d2aa684 Replace app/app_mut on contexts with AsRef/AsMut impls
Co-Authored-By: Brooks Swinnerton <934497+bswinnerton@users.noreply.github.com>
2021-04-13 20:07:25 -06:00
Max Brunsfeld e082935076 Handle 'full-line' clipboard items when pasting 2021-04-13 17:58:13 -07:00
Max Brunsfeld c83f02dd04 Implement multi-selection copy/cut/paste 2021-04-13 17:28:51 -07:00
Antonio ScandurraandMax Brunsfeld 13514aae6c Allow metadata to be associated with text written to clipboard
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-04-13 19:03:56 +02:00
Antonio Scandurra f4c1ffc329 Start on copy-paste 2021-04-13 14:58:10 +02:00
Max Brunsfeld b2723fd1dd Remove unused variables 2021-04-12 11:45:41 -07:00
Max Brunsfeld a0da23799d Merge branch 'master' into undo-stack 2021-04-12 10:49:46 -07:00
Antonio Scandurra 8f6b8b2e43 📝 2021-04-12 19:05:56 +02:00
Antonio Scandurra 3a33fab091 Generate operation when updating selection set after undo/redo 2021-04-12 17:47:19 +02:00
Antonio Scandurra ab14b99a73 Introduce transactional edits and allow snapshotting of selections 2021-04-12 16:01:41 +02:00
Antonio Scandurra 40bfdd38ae 💄 2021-04-12 16:01:41 +02:00
Antonio Scandurra 551c86f87a WIP: Start on pushing selection management down into Buffer 2021-04-12 16:01:41 +02:00
Antonio Scandurra e534fe9112 Add initial support for undo/redo stack
We're still not capturing selections/anchors, that's right up next.
2021-04-12 16:01:41 +02:00
Nathan Sobo 97a8a8ed43 Remove unsafe code from App::test_async
I don't actually think it was correct to allow the future to borrow a mutable app reference. I went back to passing a wrapper around the refcell to async tests. They'll be a bit more annoying to write but also totally safe.
2021-04-10 00:05:09 -06:00
Max Brunsfeld 079050541f Get app running and test passing after gpui App+Platform restructure 2021-04-09 16:56:32 -07:00
Nathan SoboandMax Brunsfeld 4ecc17b1bb WIP: Make App the only entry point from main
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-09 13:38:09 -06:00
Max Brunsfeld ae57178f3e Restructure event-handling methods in workspace ItemView 2021-04-07 15:05:16 -07:00
Nathan SoboandMax Brunsfeld 2619bc4602 Update modified status by emitting event whenever buffer is dirtied or saved
I used the word "dirty" because it felt more expressive than "modified" to me, but not married to it. Tagging Max because we did a lot of this thinking together.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-06 20:46:35 -06:00
Max Brunsfeld d724387158 wip 2021-04-06 18:25:50 -07:00