Commit graph

295 commits

Author SHA1 Message Date
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
Mikayla Maki
a0d0de510d
Merge pull request #1364 from zed-industries/terminal-test
Terminal test
2022-07-14 13:35:16 -07:00
Mikayla Maki
6ad5bd4505
Merge pull request #1363 from zed-industries/color-issues
Tidied up the terminal theme
2022-07-14 13:31:09 -07:00
Mikayla Maki
0e257b4009 Increased test duration 2022-07-14 13:15:02 -07:00
Mikayla Maki
ee61671f92 Tidied up the terminal theme 2022-07-14 13:10:01 -07:00
Isaac Clayton
80b45ef93b Precompile plugins depending on target triple 2022-07-14 13:23:04 +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
Mikayla Maki
f55b24ddee Fixed modal terminal bindings to not show in command palette 2022-07-13 16:39:22 -07:00
Keith Simmons
7f3018c3f6 add show_completions_on_input setting to disable popping the completions menu automatically 2022-07-13 14:23:49 -07:00
Mikayla Maki
4f9d88f3e0 Made a quick fix for modal issues, better solution pending rewrite 2022-07-13 13:06:23 -07:00
Nate Butler
474a08b1db Update rose pine theme
- Update Rose Pine & Rose Pine Dawn with the correct semantic colors
- Add Rose Pine Moon
2022-07-13 14:16:32 -04:00
Antonio Scandurra
9677db9f8f Deploy context menu when clicking on split icon 2022-07-13 12:15:36 +02:00
Antonio Scandurra
c87efb0dbc Show split button at the right edge of the tab bar 2022-07-13 11:44:33 +02:00
Keith Simmons
8d34fe7e94 Refactor terminal connection into a model which can be copied between terminal views
Refactor terminal modal code to use TerminalConnection model handle so we aren't storing TerminalViews in the globals
Adjust INSTANCE_BUFFER_SIZE in renderer to handle pathological terminal renders

Co-authored-by: mikayla.c.maki@gmail.com
2022-07-08 16:10:09 -07:00
Mikayla Maki
d373e4424f
Merge branch 'main' into terminal-modal 2022-07-07 17:48:58 -07:00
Mikayla Maki
ca877245be Finished merge of drag update 2022-07-07 16:12:24 -07:00
Max Brunsfeld
4ec2d6e50d Tweak navigation bar colors in theme
I meant to include this in #1297
2022-07-06 16:45:38 -07:00
Max Brunsfeld
70cf6b4041 Give nav buttons a background on hover 2022-07-06 16:33:44 -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
7e5cf6669f Add forward and backward navigation buttons to toolbar 2022-07-06 14:05:24 -07:00
Keith Simmons
2d126c7c5c add terminal modal which can be displayed and dismissed while preserving the terminal state 2022-07-06 13:20:54 -07:00
Keith Simmons
66486870aa Fix vim editor focus selection issues, cancel vim operators on escape and unbound keys 2022-06-30 12:36:02 -07:00
Mikayla Maki
93dfc63f1c Added a test with max, cludged a fix for resizing 2022-06-29 13:07:44 -07:00
Mikayla Maki
38ed70d5cc Added theme support 2022-06-28 17:07:18 -07:00
Mikayla Maki
b36bf0c56d Finally on solid conceptual ground, able to move ahead confidently with Alacritty code 2022-06-28 15:45:27 -07:00
Keith Simmons
92ab107fc9 working jump to definition with tests 2022-06-24 15:09:31 -07:00
Max Brunsfeld
34351c0a51 Start work on Python support 2022-06-21 17:04:54 -07:00
Max Brunsfeld
6a2c5e0dc1 Show upgrade required message when reconnecting after a protocol change
Co-authored-by: Antonio Scandurra <me@as-cii.com>
2022-06-21 10:26:34 -07:00
Max Brunsfeld
b2798787b4
Merge pull request #1161 from zed-industries/style-jump-to-diagnostic-arrows
Style jump to buffer arrows in diagnostics
2022-06-10 12:35:44 -07:00
Keith Simmons
b51bd87c10 Rework hover delay, respect editor font size, and enable hover in multibuffers 2022-06-09 17:03:44 -07:00
Nate Butler
80e04702de Style jump to diagnostic arrows 2022-06-09 12:31:13 -04:00
Antonio Scandurra
712d47d94f Render a "Jump to Buffer" icon on all excerpt headers 2022-06-08 15:31:29 +02:00
Max Brunsfeld
8311458931 Add status bar link and Help menu item to open an issue on feedback repo 2022-06-07 15:48:12 -07:00
Keith Simmons
9d5111e86a
Merge pull request #1078 from zed-industries/lsp-hover
LSP Hover Information
2022-06-07 14:45:43 -07:00
Keith Simmons
1b66e1e185 Add integration test and fix hovering over the wire 2022-06-07 14:22:02 -07:00
Keith Simmons
a6c0ee472c Add vim bindings for hover
Allow scrolling in hover popover
2022-06-07 13:07:53 -07:00
Keith Simmons
67d9abc00f Move highlighting to editor code and implement proto message types for hover response 2022-06-07 11:54:52 -07:00
Isaac Clayton
d529a1deb4 Add basic debounce, fix flickering 2022-06-07 11:54:31 -07:00
Keith Simmons
560dff7329 Pull hover popover out of context menu 2022-06-07 11:54:00 -07:00
Keith Simmons
02249dc2e8 Rework darkest color in base16, shadows, and add hoverPopover styleTree 2022-06-07 11:47:38 -07:00
Max Brunsfeld
c86b12e1b6 Show a notification after Zed auto-updates 2022-06-06 17:42:31 -07:00
Nate Butler
c920a4229d Add border to context menu 2022-06-06 14:47:28 -04:00
Max Brunsfeld
d45db1718e Style the contact panel while public/private operations are in-flight 2022-06-02 17:38:33 -07:00
Max Brunsfeld
3ea061a11e Allow making projects private 2022-06-02 17:32:42 -07:00
Max Brunsfeld
7ef9de32b1 Show private projects in the contacts panel
Introduce a ProjectStore that lets you iterate through all open projects.
Allow projects to be made public by clicking the lock.
2022-06-02 17:29:11 -07:00
Antonio Scandurra
cc028cca78 Simplify usage of tooltip
Now you simply specify a text, an action and a style and GPUI will
take of rendering it properly. This is simpler compared to always
providing a custom element and should make tooltip more consistent
across the UI.
2022-06-02 09:12:50 +02:00
Antonio Scandurra
9ca9f63046 Match figma styling for tooltips 2022-06-02 08:36:42 +02:00
Antonio Scandurra
b63d965b46 Space out tooltip a little bit to ensure it doesn't overlap cursor 2022-06-01 10:08:25 +02:00
Antonio Scandurra
b3242417b3 Show tooltip when hovering over jump to diagnostic icon 2022-06-01 09:55:45 +02:00
Antonio Scandurra
4f9c207425 Show a clickable jump icon for each diagnostic group header 2022-05-31 15:57:22 +02:00
Antonio Scandurra
604b737d7c 💄 2022-05-30 18:38:43 +02:00
Antonio Scandurra
37a0c7f046 Implement cut/paste for ProjectPanel 2022-05-30 12:23:21 +02:00
Antonio Scandurra
580f1a4125 Style context menu 2022-05-26 10:40:53 +02:00
Nathan Sobo
c0aafac387 Put keystrokes in their own column
This requires rendering the menu for measurement in a totally different way, where the top level is a flex row. We don't want to render the menu like this for presentation because of hovers / highlights on individual items needing to include the keystrokes.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-05-26 09:59:25 +02:00
Antonio Scandurra
a8483ba458 WIP 2022-05-26 09:59:25 +02:00
Antonio Scandurra
3b2f1644fb Constrain context menu to the width of the widest item
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-26 09:59:25 +02:00
Antonio Scandurra
f403d87eff WIP 2022-05-26 09:59:25 +02:00
Nathan Sobo
b110fd5fb7 Render a context menu when right-clicking in project panel
It doesn't currently do anything, but I managed to get it rendering in an absolutely positioned way.
2022-05-26 09:59:25 +02:00
Nathan Sobo
742dd75041 Implement /rpc_server_snapshot endpoint
This returns a JSON snapshot of the state of the server
2022-05-25 17:42:25 -06:00
Nate Butler
db0c2f24c4 Fix disconnected from project message 2022-05-25 11:19:06 -04:00
Nate Butler
6a8fe60424
Merge pull request #1059 from zed-industries/fix-theme-occurence-color
fix theme occurrence color
2022-05-25 10:57:10 -04:00
Nate Butler
e39089697d
Merge pull request #1048 from zed-industries/onMedia-theme-text-color
Add onMedia text color for use in disconnect overlay text
2022-05-25 10:52:37 -04:00
Nate Butler
d0f0013f4d fix theme occurence color 2022-05-25 10:45:37 -04:00
Isaac Clayton
505b305b90 Adjust the orange/yellow a bit 2022-05-24 19:48:44 +02:00
Isaac Clayton
9bb1a5636f Add the fall-colored abruzzo theme 2022-05-24 18:32:44 +02:00
Antonio Scandurra
5c4bd9393f
Merge pull request #1050 from zed-industries/ignored-files
Show ignored entries in project panel
2022-05-24 10:57:16 +02:00
Antonio Scandurra
138a0b042d Make fade of ignored entries styleable 2022-05-24 09:12:57 +02:00
Nathan Sobo
d8dbbf1c05 Merge remote-tracking branch 'origin/main' into invite-codes-2 2022-05-23 15:46:39 -06:00
Keith Simmons
e05695c4a6 Add onMedia text color for use in disconnect overlay text 2022-05-23 14:34:34 -07:00
Nate Butler
b61153266b Add multiple Zed themes
Add the following themes:
- Andromeda
- Brushtree Light & Dark
- Rose-pine
- Rose-pine-dawn
- Sandcastle dark
- Summercamp dark
- Summerfruit
2022-05-20 11:51:59 -04:00
Nathan Sobo
eedb8ba59f Add affordance to copy user's invite link if they have a code
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-05-19 17:57:46 -06:00
Max Brunsfeld
fbacc12672 Delete theme files more selectively when regenerating them
Avoid deleting files that will be rewritten later, so that Zed
won't observe states where themes are missing if two zed
processes are running at once.
2022-05-18 14:17:26 -07:00
Max Brunsfeld
89e91939e4 Write theme files atomically 2022-05-18 14:07:32 -07:00
Max Brunsfeld
ec41dd9f18 Remove checked-in theme JSON files
* Generate the themes on build
* In debug builds, watch the theme sources. When they change, re-generate
  the themes and reload the current theme, removing the need for the
  `theme_selector::Reload` command.

Co-authored-by: Keith Simmons <keith@zed.dev>
2022-05-18 12:43:26 -07:00
Nate Butler
50e3745b92 Clean up themes
- Allow themes to have only a light or dark variant
- Added a commented template file
- Run formatter
2022-05-18 11:41:56 -04:00
Nate Butler
72ab5740f1 Update light theme borders 2022-05-17 13:14:11 -04:00
Antonio Scandurra
692be10b10 Dynamically load all themes listed under styles/src/themes/*.ts
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-17 16:08:14 +02:00
Antonio Scandurra
225536accc Merge branch 'main' into request-to-join-project 2022-05-17 14:55:20 +02:00
Nathan Sobo
7c3eebf93e Refine messages on waiting to join screen and include host avatar 2022-05-16 16:52:31 -06:00
Nate Butler
af5bb92847 Rework color schemes
Co-Authored-By: Keith Simmons <keith@the-simmons.net>
2022-05-16 18:11:22 -04:00
Nate Butler
7d22ede804 Remove the focused token
Currently we don't have any concept of a true focus state. All states we currently use focus should actually be `active`.

Removing this token until we introduce a distinction between active and focused states.
2022-05-16 15:38:06 -04:00
Antonio Scandurra
aa90c06012 Display a temporary window while remote project is loading 2022-05-16 17:45:50 +02:00
Max Brunsfeld
be51a58311 Start work on requesting to join projects
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-05-12 17:53:11 -07:00
Max Brunsfeld
f54d74eda9 Merge branch 'main' into contact-panel-keyboard-nav 2022-05-11 17:45:44 -07:00
Max Brunsfeld
85d9ac5b95
Merge pull request #987 from zed-industries/notifications
Notify when someone requests to add you as a contact or accepts your contact request
2022-05-11 17:40:11 -07:00
Max Brunsfeld
72e7079005 Add the ability to expand and collapse sections of the contacts panel
Also, allow joining projects using the keyboard.
2022-05-11 17:28:35 -07:00
Max Brunsfeld
615319b2ab Rework the contact panel's styling to allow keyboard navigation
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-05-11 16:50:51 -07:00
Max Brunsfeld
0ba656aa0e Improve layout and styling of contact notifications
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-05-11 14:20:05 -07:00
Max Brunsfeld
3bc9b8ec85 Add notifications for accepted contact requests
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-05-11 11:39:01 -07:00
Nate Butler
50b44ebe85 Add onMedia border token 2022-05-11 12:35:00 -04:00
Antonio Scandurra
933a1f2cd6 Show badge when there are pending contact requests
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-11 17:39:03 +02:00
Antonio Scandurra
97d3616ed9 Show incoming request notification and implement dismissal 2022-05-11 15:13:37 +02:00
Max Brunsfeld
08a7543913 WIP - start work on keyboard navigation in contacts panel 2022-05-10 21:45:49 -07:00
Nathan Sobo
bd2ae304fa Start on workspace notifications 2022-05-10 17:46:46 -06:00
Max Brunsfeld
b33cbccc31 Improve layout of contact panel rows
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-05-10 11:14:31 -07:00
Max Brunsfeld
2cf9659f88 Style the buttons in the contact panel and contact finder
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Antonio Scandurra <me@as-cii.com>
2022-05-10 10:47:25 -07:00
Antonio Scandurra
a121576545 WIP 2022-05-10 18:25:47 +02:00
Antonio Scandurra
f81edb88fe Pull out contact finder as a picker
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-10 16:43:51 +02:00
Nathan Sobo
b721f0064a Start on contact finder modal
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-05-10 07:24:14 -06:00
Antonio Scandurra
09580516a0 Start on adding icon for requesting contacts 2022-05-10 12:09:24 +02:00
Antonio Scandurra
44f37afa95 Define data types for the new contacts model
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-06 16:24:44 +02:00
Max Brunsfeld
ea81737a88 Allow fuzzy-search for potential contacts in the contacts panel
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-05-05 14:14:44 -07:00
Nathan Sobo
342bdfc7e0 Render a user query editor in the contacts panel 2022-05-05 10:24:21 -06:00
Max Brunsfeld
8fdc5c9be3 Improve the appearance of project panel filename editor
* Always layout single-line editors with a fixed height
* Preserve directory chevron when editing folder names
* Allow theming the filename editor

Co-authored-by: Antonio Scandurra <me@as-cii.com>
2022-05-04 10:28:44 -07:00
Max Brunsfeld
12d45f1655 Clean up project panel theme 2022-05-04 10:28:08 -07:00
Antonio Scandurra
3ee4d90c19 Parameterize avatar_margin and assign it a default of 8 2022-05-03 18:04:53 +02:00
Antonio Scandurra
5d0c3c43e8 Add right padding to titlebar instead of margins on elements
This fixes a visual glitch causing the avatar to be shown too close to
the right edge of the window when the share icon was not present.
2022-05-02 09:27:37 +02:00
Nate Butler
f63444ce6d Update base16 theme occurrence style
- Update base16 theme occurrence style to be visible
- Update match styles to use the blend scaling value
  - This makes it so matches are less loud in light themes
2022-04-30 00:47:07 -04:00
Nate Butler
038f306ed8
Merge pull request #931 from zed-industries/add-size-token
WIP: Add the `size` token
2022-04-29 01:46:50 -04:00
Nate Butler
f4dbe4d976 Update projectBrowser styles 2022-04-29 01:35:58 -04:00
Nate Butler
67181a16c0 Update search style 2022-04-29 01:24:21 -04:00
Nate Butler
098ad7dbfa Update base16 themes background states 2022-04-29 01:24:11 -04:00
Nate Butler
945d7c52a0 Remove unused import 2022-04-29 01:23:52 -04:00
Nate Butler
70a7bd2747 Style out of date message 2022-04-29 01:06:44 -04:00
Nate Butler
a352f8bad4 Update status bar style 2022-04-29 00:59:08 -04:00
Max Brunsfeld
d9497d49de 🎨 Use Interactive wrapper for search option buttons 2022-04-28 15:29:03 -07:00
Max Brunsfeld
8481834847 Give hover state to picker items, keystrokes in command palette 2022-04-28 15:17:56 -07:00
Max Brunsfeld
a60c75e343 Rename Selector -> Picker in theme 2022-04-28 14:45:32 -07:00
Max Brunsfeld
c51d5b9165 Remove accidental background color on unhovered ok indicator
A follow-up to #921
2022-04-28 12:44:37 -07:00
Max Brunsfeld
e48a975b1e Give no-error diagnostic indicator a hover state 2022-04-28 12:35:20 -07:00
Max Brunsfeld
6578ae5393 Use Interactive helper to theme titlebar buttons 2022-04-28 12:08:15 -07:00
Nate Butler
b41bf65c96 Statusbar style tweaks 2022-04-28 14:52:31 -04:00
Nate Butler
6fc68a8ddd Move projectDiagnostics to it's own file and remove unused code
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-04-28 14:52:12 -04:00
Nate Butler
425473d296 Update token build script for figma
- Use syntax tokens instead of manually adding token content
- Add solarized to output
- Add ramp step value to the token description in Figma Tokens

Co-Authored-By: Keith Simmons <keith@the-simmons.net>
2022-04-28 14:08:59 -04:00
Nate Butler
607719ed26 Update size token function and types
Co-Authored-By: Keith Simmons <keith@the-simmons.net>
2022-04-28 14:07:20 -04:00
Max Brunsfeld
772f4579fc Restructure status bar theme to style interactive elements more concisely
Introduce an `Interactive` wrapper type that allows themes to selectively
override properties of items in a hovered or active state.
2022-04-28 10:59:32 -07:00
Nate Butler
0cc5a3839d Add the size token
Introduces the `size` token, a token that will be used for defining standardized sizes for paddings, margins & borders.

Available sizes are `px`, `xs`, `sm`, `md`, `lg`, `xl`

- Adds `size`, types, and token
- Adds the size() function
2022-04-28 12:31:44 -04:00
Max Brunsfeld
e88156645d Update the styling of the lsp status indicator 2022-04-27 16:48:33 -07:00
Max Brunsfeld
a3700e0dd8 Combine diagnostic status w/ diagnostic message indicators
Improve the indicator styling
2022-04-27 14:25:39 -07:00
Max Brunsfeld
9e87be722e Start re-styling diagnostic indicator in status bar 2022-04-27 14:25:39 -07:00
Nate Butler
b23ff7c3ad Update semantic status colors in all themes
- for `ok`, `error`, `warning` and `info`:
  - backgroundColor values were all placeholder. Add real values
  - Update border values to new style
2022-04-27 14:25:39 -07:00
Max Brunsfeld
7f63ed3835 Allow styling sidebar icons and groups in themes 2022-04-27 14:25:39 -07:00
Max Brunsfeld
0291f2d54a Move sidebar toggle buttons to the status bar 2022-04-27 14:25:39 -07:00
Antonio Scandurra
c955645bc0 Update share icon and swap its posiiton 2022-04-26 14:35:13 +02:00
Nate Butler
a2591ce1e2 Create common base16 theme constructor
Co-Authored-By: Keith Simmons <keith@the-simmons.net>
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-04-25 19:11:38 -04:00
Nate Butler
9338cd9cf8 Add cave theme
Sneaking one more in, cave is a nice cool dark theme that isn't super blue.
2022-04-25 18:19:49 -04:00
Nate Butler
e28d1828f0 Add sulphurpool theme, update solarized
Co-Authored-By: Keith Simmons <keith@the-simmons.net>
2022-04-25 18:07:24 -04:00
Keith Simmons
50b5b56f60 Update solarized theme to match main 2022-04-22 15:04:45 -07:00
Keith Simmons
a1576b7dca fix solarized element backgrounds 2022-04-22 14:58:45 -07:00
Keith Simmons
533ba474f1 Add some comments to the theme.ts explaining the logic behind them 2022-04-22 14:58:45 -07:00
Keith Simmons
d0ee686e09 add solarized dark and light syntax themes 2022-04-22 14:58:45 -07:00
Max Brunsfeld
f881c2aa92
Merge pull request #892 from zed-industries/syntax-theme-fixes
Syntax theme fixes
2022-04-22 13:24:31 -07:00
Max Brunsfeld
d330f909e6 Allow each theme to style all aspects of syntax highlighting
Previously, some syntax highlights were controlled in editor.ts,
and shared across all themes.

Co-authored-by: Keith Simmons <keith@zed.dev>
2022-04-22 12:43:01 -07:00
Nathan Sobo
92f040df00 Apply cursor styles during paint
This makes the editor's cursor an IBeam and properly deals with nested cursor styles.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-04-22 10:54:18 -06:00
Antonio Scandurra
fb87bacc7e Merge branch 'main' into auto-update 2022-04-21 09:53:06 +02:00
Nate Butler
7bc6f8b5ee Build tokens for Figma 2022-04-20 15:30:33 -04:00
Nate Butler
ea11f2e183 Increase min-width for all Pickers, minor style changes
- Increases the Picker min-width from 500 to 540
- Makes some changes to the styling of keyboard shortcuts in the command palette
2022-04-20 11:54:57 -04:00
Nate Butler
484204c2a0 Reduce key icon size to avoid extra padding on command palette item
- Also remove unneeded imports
2022-04-19 02:48:35 -04:00
Nate Butler
408f8d4297 Update inputs, tabs, pickers, autocomplete 2022-04-19 02:34:45 -04:00
Max Brunsfeld
0af129d50a Use primary text color for keystrokes in command palette 2022-04-18 18:14:45 -07:00