Commit graph

3095 commits

Author SHA1 Message Date
Max Brunsfeld
4878bf82ff Make EventStream interface more flexible
Take a callback instead of an mpsc Sender. The
run method blocks and invokes the callback for
each batch of events. The caller controls the
threading. The callback can return false to terminate
the event stream.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-15 17:38:52 -07:00
Max Brunsfeld
6d3dc85dad Tweak fsevent flags
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-15 16:46:34 -07:00
Max Brunsfeld
fbaab121f6 Add fsevent crate to workspace
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-15 16:29:55 -07:00
Max Brunsfeld
497dedbb84 Get file IO test passing on new worktree
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-15 11:22:00 -07:00
Antonio Scandurra
cefc753123 Re-introduce fuzzy-matching on the new WorkTree implementation
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-15 18:18:53 +02:00
Antonio Scandurra
070069d65e Ensure top of cursor stack is either empty or a leaf node
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-04-15 18:12:56 +02:00
Antonio Scandurra
0bbff090f0 WIP 2021-04-15 12:10:37 +02:00
Nathan Sobo
db8cce9aa9 Merge branch 'master' into rescan 2021-04-14 22:26:09 -06:00
Nathan Sobo
d0ae44c100
Merge pull request #21 from zed-industries/self-hosted-runner
Try to run our CI on a mac mini in my closet
2021-04-14 22:07:22 -06:00
Nathan Sobo
da68bd6c2b Try to run our CI on a mac mini in my closet 2021-04-14 21:56:24 -06:00
Max Brunsfeld
3f71867af8 Improve styling of tabs
* Enforce a min width per tab
* Center the title within tab, regardless of icon
* Render icon over the top of the tab title
* Ensure there is always a fixed minimum amount of filler to the right of all tabs

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-14 15:14:46 -07:00
Max Brunsfeld
36699dc095 Avoid setting constrain min to infinity in Flex layout
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-14 15:14:46 -07:00
Max Brunsfeld
f5752969ab Include constraints in element tree JSON debug output
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-14 15:14:46 -07:00
Nathan Sobo
36e6ed3aef WIP 2021-04-14 12:38:16 -06:00
Nathan Sobo
cbc1d83067 Get worktree out of the way so we can try again
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-14 11:09:06 -06:00
Antonio Scandurra
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
Nathan Sobo
ce7966d00b
Merge pull request #16 from zed-industries/scoped-pool
Replace easy-parallel with scoped-pool for path searches
2021-04-14 09:11:26 -06:00
Nathan Sobo
e97ce4ff58 Fix after method rename
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-14 09:11:11 -06:00
Nathan Sobo
4cef25eff8 Replace easy-parallel with scoped-pool for path searches
The easy-parallel crate spawned new threads on each call, which was resulting in way too many threads.

Co-Authored-By: Brooks Swinnerton <934497+bswinnerton@users.noreply.github.com>
2021-04-14 09:08:52 -06:00
Nathan Sobo
f455355c78
Merge pull request #20 from zed-industries/async-prompt-for-paths
Prompt for paths asynchronously to avoid double borrow
2021-04-14 09:06:14 -06:00
Antonio Scandurra
cf23b0e4a2 Prompt for paths asynchronously to avoid double borrow 2021-04-14 16:30:03 +02:00
Antonio Scandurra
29d2236ed2
Merge pull request #19 from zed-industries/single-global-action-dispatch
Dispatch global actions only once when triggering a menu item
2021-04-14 15:50:07 +02:00
Antonio Scandurra
fb3a190a03
Merge pull request #18 from zed-industries/copy-paste
Introduce cut/copy/paste support
2021-04-14 15:49:30 +02:00
Antonio Scandurra
f755cbbe98 Dispatch global actions only once when triggering a menu item
Previously we would dispatch the same global action more than once
because we would invoke `dispatch_action_any` _and_
`dispatch_global_action_any`. However, the former already takes care of
going through the global action handlers when no entity in the dispatch
path handled the action.
2021-04-14 14:47:18 +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
26f9127e83 Spawn worktree scanning on the scoped pool
Co-Authored-By: Brooks Swinnerton <934497+bswinnerton@users.noreply.github.com>
2021-04-13 20:09:45 -06:00
Nathan Sobo
e4f41de7bf Invert condition when opening entries
Co-Authored-By: Brooks Swinnerton <934497+bswinnerton@users.noreply.github.com>
2021-04-13 20:09:45 -06:00
Nathan Sobo
e3fbb97ecc Throttle worktree state updates on the main thread
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-13 20:09:45 -06:00
Nathan Sobo
f3a0a11fc5 WIP 2021-04-13 20:09:45 -06:00
Nathan Sobo
bc34ff54fe Add a failing test for detecting a file move 2021-04-13 20:09:45 -06:00
Nathan Sobo
41f50cdb61 Require a context when constructing a worktree 2021-04-13 20:09:45 -06: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 Sobo
3c0bbe5eb5 Store root entry id 2021-04-13 20:07:42 -06:00
Nathan Sobo
cdfd61369e Switch worktree entries to HashMap 2021-04-13 20:07:42 -06:00
Nathan Sobo
3803eb85a5 Inline clone 2021-04-13 20:07:42 -06:00
Nathan Sobo
0cc5e8f742 Replace easy-parallel with scoped-pool for path searches
The easy-parallel crate spawned new threads on each call, which was resulting in way too many threads.

Co-Authored-By: Brooks Swinnerton <934497+bswinnerton@users.noreply.github.com>
2021-04-13 20:07:42 -06:00
Nathan Sobo
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 Scandurra
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
Nathan Sobo
7469240a2e Rename application binary to improve appearance of app menu 2021-04-12 19:52:30 -06:00
Max Brunsfeld
0d69b632b1
Merge pull request #14 from zed-industries/menu-commands
Make the application menu dispatch commands on the focused view
2021-04-12 16:40:48 -07:00
Max Brunsfeld
902b0f7dfa Dispatch menu commands on the focused view
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-12 15:42:33 -07:00
Max Brunsfeld
d4436f3018 Don't try to handle errors when opening platform windows
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-12 15:14:25 -07:00
Max Brunsfeld
86c0f41c9e Move set_menus method to MutableAppContext
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-12 14:38:18 -07:00
Max Brunsfeld
41358f34e3 Set up menu handler in App::new
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-12 14:25:00 -07:00