zed/script
Dzmitry Malyshau 9ad1862f2f
Enable Blade on MacOS via "macos-blade" feature (#7669)
Depends on https://github.com/zed-industries/font-kit/pull/2 and
https://github.com/kvark/blade/pull/77

This change enables Blade to be also used on MacOS. It will also make it
easier to use it on Windows.

What works: most of the things. Zed loads as fast and appears equally
responsive to the current renderer.
<img width="306" alt="Screenshot 2024-02-11 at 12 09 15 AM"
src="https://github.com/zed-industries/zed/assets/107301/66d82f45-5ea2-4e2b-86c6-5b3ed333c827">

Things missing:
- [x] video streaming. ~~Requires a bit of plumbing on both Blade and
Zed sides, but all fairly straightforward.~~
  -  verified with a local setup
- [x] resize. ~~Not sure where exactly to hook up the reaction on the
window size change. Once we know where, the fix is one line.~~
- [ ] fine-tune CA Layer
- this isn't a blocker for merging the PR, but it would be a blocker if
we wanted to switch to the new path by default
- [ ] rebase on latest, get the dependency merged (need review/merge of
https://github.com/zed-industries/font-kit/pull/2!)

Update: I implemented resize support as well as "surface" rendering on
the Blade path (which will be useful on Linux/Windows later on). I
haven't tested the latter though - not sure how to get something
streaming. Would appreciate some help! I don't think this should be a
blocker to this PR, anyway.

The only little piece that's missing for the Blade on MacOS path to be
full-featured is fine-tuning the CALayer configuration. Zed does a lot
of careful logic in configuring the layer, such as switching the
"present with transaction" on/off intermittently, which Blade path
doesn't have yet.

Release Notes:
- N/A

---------

Co-authored-by: Mikayla <mikayla@zed.dev>
2024-02-16 13:39:40 -08:00
..
danger Setup Danger (#6994) 2024-01-29 11:58:24 -05:00
eula Fix typo in EULA 2023-11-09 11:08:30 -05:00
lib Deploy collab like nightly (#7174) 2024-02-01 11:54:49 -07:00
licenses Remove obviated comment in zed-licenses.toml (#6946) 2024-01-28 14:07:53 -05:00
update_top_ranking_issues Reinstate requirements.txt 2024-01-28 18:30:47 -05:00
bootstrap Add an extensions API to the collaboration server (#7807) 2024-02-15 12:53:57 -08:00
bump-nightly Set -e in bump-nightly script 2023-11-20 11:01:37 -08:00
bump-zed-minor-versions Remove 0-patch requirement on main in bump-zed-minor-versions 2024-02-14 13:13:44 -05:00
bump-zed-patch-version Create new Zed release channel: nightly 2023-11-17 12:13:32 +02:00
bundle Enable Blade on MacOS via "macos-blade" feature (#7669) 2024-02-16 13:39:40 -08:00
clear-target-dir-if-larger-than Don't error when checking target dir size if there is no target dir 2024-01-23 17:17:47 -08:00
clippy Linux/x11 input handling (#7811) 2024-02-15 11:58:47 -08:00
crate-dep-graph Remove 2 suffix for collab, rope, settings, menu 2024-01-03 12:29:16 -08:00
deploy-collab just kidding (#7241) 2024-02-01 11:57:09 -07:00
deploy-postgrest No more nightly/preview collab anymore (#7112) 2024-01-30 20:11:06 -07:00
drop-test-dbs Consolidate logic for completion alongside code actions in Project 2022-02-08 14:24:45 -08:00
evaluate_semantic_index move keychain access into semantic index as opposed to on init 2023-10-24 13:26:37 +02:00
generate-eula-rtf Update EULA 2023-04-05 08:18:51 -06:00
generate-licenses Load JSON themes (#6893) 2024-01-27 16:03:04 -05:00
get-changes-since Don't hardcode dates into script 2023-05-24 17:39:02 -04:00
get-crate-version Create preview channel 2022-10-26 16:19:19 -07:00
get-preview-channel-changes Improve get preview channel changes script 2023-11-08 11:40:53 -05:00
histogram Print error message and skip line 2024-01-23 16:52:08 +01:00
import-themes Style wrap guides for imported themes 2023-12-18 11:16:22 -05:00
kube-shell Add kube-shell script, for running shell commands in a deployed container 2021-09-29 14:55:16 -07:00
linux Linux/x11 input handling (#7811) 2024-02-15 11:58:47 -08:00
metal-debug Add script to debug Metal frames 2022-01-27 08:51:55 +01:00
randomized-test-ci Remove ZED_CLIENT_SECRET_TOKEN 2024-01-23 10:34:43 -07:00
randomized-test-minimize Update test name in randomized-test-minimize script 2023-09-06 14:29:11 -07:00
reset_db Add reset_db script 2023-09-25 21:45:28 -04:00
seed-db Add an extensions API to the collaboration server (#7807) 2024-02-15 12:53:57 -08:00
sqlx Add bootstrap script, avoid hard-coding zed team members 2022-08-15 13:25:31 -07:00
squawk (probably) install rosetta if it's not there 2024-01-24 11:35:59 -07:00
storybook Remove 2 suffix for ui, storybook, text 2024-01-03 12:33:51 -08:00
upload-nightly Log Zed build sha in release builds. 2023-12-08 21:38:28 +02:00
what-is-deployed Deploy collab like nightly (#7174) 2024-02-01 11:54:49 -07:00
zed-local Don't log errors on main (#7289) 2024-02-02 19:24:49 -07:00