df84ba4
Continue documenting theme colors
Nate Butler created
df84ba4
Continue documenting theme colors
Nate Butler created
eb5fe3a
Merge branch 'main' into document-theme
Nate Butler created
91f356a
Begin documenting theme colors
Nate Butler created
3a72f21
Implement Editor::single_line
Conrad Irwin created
4bf3a4e
Implement movement in `editor2` (#3256)
Release Notes: - N/A
Antonio Scandurra created
c89d6eb
modals2 (#3247)
New Modal implementation for gpui2 Release Notes: N/A
Conrad Irwin created
aa17ada
Merge remote-tracking branch 'origin/main' into editor-movement
Antonio Scandurra created
d7e86eb
Merge remote-tracking branch 'origin/main' into editor-movement
Antonio Scandurra created
2587616
theme_importer: Format generated themes (#3255)
This PR makes the `theme_importer` format the themes that it generates automatically. Release Notes: - N/A
Marshall Bowers created
2697862
Merge remote-tracking branch 'origin/main' into editor-movement
Antonio Scandurra created
82a0189
WIP
Antonio Scandurra created
64b899c
Implement scrolling for `editor2` (#3251)
Release Notes: - N/A
Antonio Scandurra created
5336c5d
Re-introduce a macro for defining actions for ease of use (#3253)
Release Notes: - N/A
Julia created
0d95410
Rework third-party themes (#3254)
This PR reworks the way we define our third-party themes to make them work as overlays on top of a base theme. We introduce the concept of a `UserThemeFamily` that contains `UserTheme`s. Rather than being an entire theme definition on their own, a `UserTheme` just contains optional overrides for the values in a `Theme`. When resolving a `UserTheme`, we apply it on top of the base theme. Any values not overridden in the `UserTheme` will fall back to the `Theme` defaults. Right now we are just using `UserTheme` to model third-party themes that we distribute with the Zed binary. However, this same structure can also be used to import arbitrary user themes (such as from a theme registry, or even a theme blob from the settings file). Release Notes: - N/A
Marshall Bowers created
643146d
Re-introduce a macro for defining actions for ease of use
Co-Authored-By: Piotr Osiewicz <piotr@zed.dev> Co-Authored-By: Conrad Irwin <conrad@zed.dev>
Julia , Piotr Osiewicz , and Conrad Irwin created
a2a28af
Add Modals
P.S. this is all completely different now Co-Authored-By: Marshall <marshall@zed.dev> Co-Authored-By: Julia <julia@zed.dev>
Conrad Irwin , Marshall , and Julia created
9582a6f
chore: Run multitarget build in script/bundle (#3241)
Ignore this PR for now. This has a chance to speed up a build in case where e.g. we're single-threaded in aarch64 build; at that point the x86_64 codegen can take place. Also, MIR can probably be shared between the two architectures, further reducing build time. Release Notes: - N/A
Piotr Osiewicz created
2e43015
gpui event test (#3249)
- Flesh out gpui2 test support - Smoke test for event handling
Conrad Irwin created
74853ea
Rename `ThemeVariant` to `Theme` (#3252)
This PR renames the `ThemeVariant` type to `Theme`. This better reflects its purpose, as well as matches the same name as we had before, which should make porting crates slightly easier. Release Notes: - N/A
Marshall Bowers created
6f74854
Fix event ordering issues
Conrad Irwin created
b065051
Clip text when scrolling horizontally
Co-Authored-By: Julia <julia@zed.dev> Co-Authored-By: Piotr <piotr@zed.dev>
Antonio Scandurra , Julia , and Piotr created
b9e98c1
Re-enable scrolling for `EditorElement`
Co-Authored-By: Julia <julia@zed.dev> Co-Authored-By: Piotr <piotr@zed.dev>
Antonio Scandurra , Julia , and Piotr created
9cb8512
Start on laying out and painting `editor2` (#3250)
 Release Notes: - N/A
Antonio Scandurra created
7078c5f
Regenerate all themes
Marshall Bowers created
01eac50
Add new `ThemeColors` values to the theme printer
Marshall Bowers created
9f2e6be
Fix warning
Antonio Scandurra created
268be71
Add colors for document highlights
Antonio Scandurra created
bdf6e8b
Merge remote-tracking branch 'origin/main' into editor2-paint
Antonio Scandurra created
6ae0963
Remove `focused` field and use `FocusHandle` instead in `Editor`
Antonio Scandurra created
a866370
Paint lines
Antonio Scandurra created
a7d52ee
Smoke test for event handling
Conrad Irwin created
8e799b6
Flesh out gpui2 test support
Conrad Irwin created
2afeb50
Try notarytool (#3239)
Try to use notarytool to fix build problems
Conrad Irwin created
99a57d9
Add theme importer (#3246)
[[PR Description]]
Thanks @maxdeviant for all the help with this one π«
- Adds the `theme_importer` crate
- Adds the ability to import themes in VSCode Format.
- Adds the `assets/themes/src` folder with source files for imported
themes
- Adds an initial set of themes: `andromeda`, `ayu`, `dracula`,
`gruvbox`, `night-owl`, `noctis`, `palenight`, `rose-pine`, `solarized`,
`synthwave-84`.
From the README:
## Usage
- `cargo run -p theme_importer` - Import the context of
`assets/themes/src`
---
## Troubleshooting
As the importer generates rust files, you may need to manually do some
cleanup in `registry.rs` and `themes/mod.rs` if you remove themes or
delete the `themes` folder in the theme crate.
---
## Required Structure
To import a theme or series of themes 3 things are required:
- `family.json`: A JSON file containing the theme family metadata and
list of theme variants
- `{theme_name}.json`: One theme json for each theme variant
- `LICENSE`: A license file for the theme family
### `family.json`
#### `name`
The name of the theme family. Avoid special characters.
This will be used for the theme family directory name (lowercased) and
the theme family name in the Zed UI.
Good:
- `Rose Pine`
- `Synthwave 84`
- `Monokai Solarized`
Bad:
- `RosΓ© Pine`
- `Synthwave '84`
- `Monokai (Solarized)`
#### `author`
The author of the theme family. This can be a name or a username.
This will be used for the theme family author in the Zed UI.
#### `themes`
A list of theme variants.
`appearance` can be either `light` or `dark`. This will impact which
default fallback colors are used, and where the theme shows up in the
Zed UI.
### `{theme_name}.json`
Each theme added to the family must have a corresponding JSON file. This
JSON file can be obtained from the VSCode extensions folder (once you
have installed it.) This is usually located at `~/.vscode/extensions`
(on macOS).
You can use `open ~/.vscode/extensions` to open the folder in Finder
directly.
Copy that json file into the theme family directory and tidy up the
filenames as needed.
### `LICENSE`
A LICENSE file is required to import a theme family. Failing to provide
a complete text license will cause it to be skipped when the import is
run.
If the theme only provices a license code (e.g. MIT, Apache 2.0, etc.)
then put that code into the LICENSE file.
If no license is provided, either contact the theme creator or don't add
the theme.
---
### Complete Example:
An example family with multiple variants:
```json
{
"name": "Ayu",
// When both name and username are available
// prefer the `username (name)` format
"author": "dempfi (Ike Ku)",
"themes": [
{
"name": "Ayu Light",
"file_name": "ayu-light.json",
"appearance": "light"
},
{
"name": "Ayu Mirage",
"file_name": "ayu-mirage.json",
"appearance": "dark"
},
{
"name": "Ayu Dark",
"file_name": "ayu-dark.json",
"appearance": "dark"
}
]
}
```
An example single variant family:
```json
{
"name": "Andromeda",
"author": "Eliver Lara (EliverLara)",
"themes": [
{
"name": "Andromeda",
"file_name": "andromeda.json",
"appearance": "dark"
},
{
"name": "Andromeda Bordered",
"file_name": "andromeda-bordered.json",
"appearance": "dark"
}
]
}
```
Release Notes:
- N/A
Nate Butler created
eac7c3c
Update Cargo.toml
Nate Butler created
2931d32
Add a README for `theme_importer`
Nate Butler created
3cb7261
Finish up initial themes
Nate Butler created
62981fc
Format themes
Nate Butler created
c47c641
Add additional themes, update theme importer
Nate Butler created
050d727
Use gpui instead of gpui2 consistently (#3245)
Release Notes: N/A
Conrad Irwin created
496518f
Use gpui instead of gpui2 consistenytly
Conrad Irwin created
eb325fb
editor2 rendering (#3244)
- Make tab bar visible - Fix tab text colors - Ensure panes cover the available space - Make the close button close - Fix bug when unsubscribe called after remove - WIP: start on editor element - Add hover behaviour to tabs - Add PointingHand on tabs - gpui2: Add on_hover events - Tooltip on tabs - MOAR TOOLTIPS - Use an `IconButton` for the tab close button - Remove unneeded type qualification - Tooltips in mouse event handler & fix executor timer - Move more tooltip logic into gpui2 & fix tooltip moving on paint - Update tooltip code a bit - Allow multiple subscriptions from one entity handle Release Notes: - N/A
Conrad Irwin created
3940e02
Add Nord Theme
Nate Butler created
d224f51
Add interactivity to `Checkbox` component (#3240)
This PR adds interactivity to the `Checkbox` component. They can now be checked and unchecked by clicking them. Release Notes: - N/A
Marshall Bowers created
c59817c
Merge branch 'main' into editor2-rendering
Conrad Irwin created
d88dccf
Allow multiple subscriptions from one entity handle
Conrad Irwin created
e460f6a
WIP
Antonio Scandurra created
3afdeea
tooltip2 (#3237)
- Fix executor.timer() in gpui2 - Add support for tooltips [[PR Description]] Release Notes: - N/A
Conrad Irwin created
80f80df
Add Noctis Theme
Nate Butler created
4d88a32
Tidy up a bit better
Conrad Irwin created