Commit Graph
245 Commits
Author SHA1 Message Date
K Simmons d68f227ec4 Fix failing tests 2022-08-10 16:26:53 -07:00
K Simmons f5a6a112c8 Address picker issues 2022-08-09 17:15:54 -07:00
K Simmons 6f180ed822 Pane focus working. Modals seem broken now 2022-08-09 17:15:54 -07:00
K Simmons 690ea57211 WIP compiling but failing with circular reference 2022-08-09 17:15:52 -07:00
K Simmons 6442ec59e7 Switch action dispatch to use MutableAppContext parent utilities and delete parent map from presenter 2022-08-09 17:09:28 -07:00
K Simmons 4271eb3624 Event dispatch moved to MutableAppContext. No longer dispatches from presenter. Not currently handling key presses properly 2022-08-09 17:09:16 -07:00
ForLoveOfCatsandMikayla 3d9821b430 Jankily adjust left padding on workspace title in fullscreen
This could seriously be done better

Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-09 19:03:32 -04:00
ForLoveOfCatsandMikayla 43b9f3beb3 Invalidate view when entering/exiting fullscreen
This is required for `render_titlebar` to eventually adapt to
fullscreen status to affect the size of left padding on workspace
name to account for the traffic lights presence/absence

Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-09 19:03:32 -04:00
Mikayla Maki 314c26e4ec Removed icons 2022-08-04 08:42:42 -07:00
Mikayla Maki bf0ec13e65 New button 2022-08-03 15:59:25 -07:00
Antonio Scandurra aa09bc527f Allow signing in again if authentication is pending or was unsuccessful
The local server that we spin up to receive OAuth callbacks isn't
called when an error occurs and it is non-trivial to do so with
next-auth. Besides, there could be cases where the user explicitly
closes the browser window before the callback can be invoked.

With this commit, the user can sign in even while an authentication
is still in progress. As opposed to waiting for at most 10 minutes
before killing the local HTTP server if we haven't received the callback,
we will repeatedly check for a response every second for 100 seconds.
This gives us a chance to determine whether a new authentication has started
in the meantime and, if so, abort the current authentication flow.
2022-08-02 14:16:14 +02:00
Antonio Scandurra df6e733e68 Open both old and new log files, but just retain the last 1000 lines 2022-07-28 10:25:40 +02:00
Antonio Scandurra 8552ba15dc Show symbols located in visible paths before ones located externally 2022-07-26 14:48:18 +02:00
Antonio Scandurra ca3e73106c Merge branch 'main' into ime-support-2 2022-07-25 10:47:49 +02:00
Mikayla Maki 8c1d4d877f Merge pull request #1393 from zed-industries/graceful-exit
Polishing the terminal
2022-07-22 13:59:13 -07:00
Antonio Scandurra 7b009c8bbe Merge branch 'main' into ime-support-2 2022-07-22 16:03:38 +02:00
Mikayla Maki c6d5decbf9 Finished erorr terminal refactoring 2022-07-21 12:37:15 -07:00
Antonio Scandurra 97ce3998ec Position IME input according to where the selection is rendered 2022-07-21 17:35:40 +02:00
K Simmons fb2fbf2ac7 fix test failure 2022-07-20 19:13:16 -07:00
K Simmons 225055ed5d Address some issues where panes don't get focused properly, make the focused pane more obvious, and prevent splitting of the pane with no items 2022-07-20 18:52:32 -07:00
Nate Butler bcc554a3db Merge branch 'main' into theme-improvements 2022-07-19 20:12:02 -04:00
Nate Butler 46384e71b7 Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
K Simmons 8add81350e Rework presenter and MouseRegion to use Handler hashmap rather than individual fields 2022-07-17 23:19:32 -07:00
Antonio Scandurra d89465c451 Merge pull request #1356 from zed-industries/differentiate-same-tab-titles
Differentiate among tabs with the same name
2022-07-15 08:30:22 +02:00
Antonio Scandurra 49ef33090c Add test for tab disambiguation 2022-07-14 16:42:30 +02:00
Antonio Scandurra 07d269234f Differentiate among tabs with the same name
This commit introduces a new, optional `Item::tab_description` method
that lets implementers define a description for the tab with a certain
`detail`. When two or more tabs match the same description, we will
increase the `detail` until tabs don't match anymore or increasing the
`detail` doesn't disambiguate tabs any further.

As soon as we find a valid `detail` that disambiguates tabs enough, we
will pass it to `Item::tab_content`. In `Editor`, this is implemented by
showing more and more of the path's suffix as `detail` is increased.
2022-07-14 11:54:11 +02:00
K Simmons 52b29c0928 When tab closed, move to previous tab, and when opening an existing tab, reorder it to be after the current active tab 2022-07-13 20:14:44 -07:00
Antonio Scandurra b1e3b38cb3 Don't prompt guest to save when closing window after disconnection 2022-07-12 09:05:39 +02:00
Max Brunsfeld 4e8dbbfd4b Add test for pane nav history covering notification of pane's toolbar 2022-07-06 16:29:11 -07:00
Max Brunsfeld a378ec49ec Enable and disable nav buttons based on pane's navigation stack
Also, make the `NavHistory` type private to the `workspace` crate.
Expose only the `ItemNavHistory` type, via a method on Pane called
`nav_history_for_item`.
2022-07-06 15:46:43 -07:00
Max Brunsfeld a858b3fda9 Treat window deactivation as a focus change for the purpose of autosave 2022-07-06 11:20:29 -07:00
Antonio Scandurra ab4931da65 Prevent autosave for deleted files 2022-07-06 17:25:33 +02:00
Antonio Scandurra 5e00df6267 Move autosave tests down into Workspace 2022-07-06 16:55:05 +02:00
Antonio Scandurra b937c1acec Move autosave logic up into Workspace and Pane 2022-07-06 16:33:22 +02:00
Max Brunsfeld 8048758990 Add application menu item to open default key bindings 2022-07-05 12:41:38 -07:00
Max Brunsfeld 581c9af395 Adjust pane, tab, panel management bindings to match VS Code 2022-06-29 15:33:46 -07:00
Max Brunsfeld 8fe6809932 Exclude hidden worktrees from project's diagnostic summaries 2022-06-28 14:23:24 -07:00
Antonio Scandurra a21dbdd0d6 Update window edited status when pane item is removed 2022-06-23 14:28:10 +02:00
Antonio Scandurra d9b5357234 Always prevent window from closing and manually invoke Workspace::close
This ensures we ask the user to save their state if there are unsaved
changes.
2022-06-23 11:44:14 +02:00
Antonio Scandurra ca8ddcdeec Set window's edited = true when there are unsaved changes 2022-06-23 10:59:50 +02:00
Antonio Scandurra 137a3996a1 Replace "Remove Folder from Project" label with "Remove from Project` 2022-06-20 10:53:26 +02:00
Max Brunsfeld dd7b874039 Return focus to the workspace center on escape 2022-06-16 11:30:02 -07:00
Antonio Scandurra 4e4210ac39 Open a buffer for every language server error when clicking on status 2022-06-16 10:00:29 +02:00
Antonio Scandurra 516bd13474 Add tooltip to follow collaborators 2022-06-15 17:08:39 +02:00
Antonio Scandurra cfbd8b94d1 Prevent setting files from showing up in project and contacts panels 2022-06-14 14:47:16 +02:00
Max Brunsfeld b9eb875bf4 Prompt to save changes before quitting the app 2022-06-10 17:26:33 -07:00
Antonio Scandurra 3a69943df3 Require that PartialEq is implemented for Action 2022-06-06 09:18:44 +02:00
Antonio Scandurra 74aa9c1320 Capture mouse events when rendering disconnected overlay
We do so by replacing `EventHandler::capture` with a new `::capture_all` method.
After switching to mouse regions as part of zed-industries/zed#1081, overriding
`dispatch_event` on `EventHandler` wasn't enough anymore because mouse interactions
take place on a privileged code path that runs *before* dispatching any event.

With this change, `EventHandler` will now push a mouse region that intercepts all
mouse interactions, as well as pushing a cursor region that resets the cursor style
to `Arrow`.

One interesting change as part of this is that we've removed the ability to see which
event we are capturing: we were not using this capability anyway and `capture_all` provides
a simpler interface, so I went with that. In the future, we can opt into capturing specific
events or mouse interactions if there's a code path that needs that.
2022-06-04 10:41:29 +02:00
Max Brunsfeld 41b7fd4a27 Rename a public/private to online/offline in a few more places 2022-06-03 17:08:44 -07:00
Max Brunsfeld e18bc24989 Rename project's 'public'/'private' flag to 'online'/'offline' 2022-06-03 14:39:06 -07:00