df84ba4
Continue documenting theme colors
Nate Butler created
df84ba4
Continue documenting theme colors
Nate Butler created
6928ad1
Rename List -> UniformList
Co-authored-by: Mikayla <mikayla@zed.dev>
Max Brunsfeld and Mikayla created
2412873
Remove commented-out code in picker2
Co-authored-by: Mikayla <mikayla@zed.dev>
Max Brunsfeld and Mikayla created
742180a
Implement list scroll tracking
Co-authored-by: Mikayla <mikayla@zed.dev>
Max Brunsfeld and Mikayla 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
1d34b7b
Implement picker actions
Co-authored-by: Mikayla <mikayla@zed.dev>
Max Brunsfeld and Mikayla 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
69eb49a
Merge branch 'main' into picker
Max Brunsfeld 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
85000eb
wip: picker
co-authored-by: nathan <nathan@zed.dev> co-authored-by: max <max@zed.dev>
Mikayla , nathan , and max created
3c93b58
Checkpoint
Mikayla created
ea6755b
Checkpoint
Mikayla 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
3f7dc59
Snapshot for kirill
Mikayla 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
75a8081
WIP
Mikayla created
050d727
Use gpui instead of gpui2 consistently (#3245)
Release Notes: N/A
Conrad Irwin created