zed/script/generate-licenses
Marshall Bowers 5f1dcb76fe
Load JSON themes (#6893)
This PR changes the theme loading to use the JSON themes bundled with
the binary rather then the Rust theme definitions.

### Performance

I profiled this using `cargo run --release` to see what the speed
differences would be now that we're deserializing JSON:

**Before:** `ThemeRegistry::load_user_themes` took 16.656666ms
**After:** `ThemeRegistry::load_user_themes` took 18.784875ms

It's slightly slower, but not by much. There is probably some work we
could do here to bring down the theme loading time in general.

Release Notes:

- N/A
2024-01-27 16:03:04 -05:00

26 lines
926 B
Bash
Executable file

#!/bin/bash
set -e
OUTPUT_FILE=$(pwd)/assets/licenses.md
> $OUTPUT_FILE
echo -e "# ###### THEME LICENSES ######\n" >> $OUTPUT_FILE
echo "Generating theme licenses"
cat assets/themes/LICENSES >> $OUTPUT_FILE
echo -e "# ###### CODE LICENSES ######\n" >> $OUTPUT_FILE
[[ "$(cargo about --version)" == "cargo-about 0.5.2" ]] || cargo install cargo-about --locked --git https://github.com/zed-industries/cargo-about --branch error-code-on-warn
echo "Generating cargo licenses"
cargo about generate --fail-on-missing-license -c script/licenses/zed-licenses.toml script/licenses/template.hbs.md >> $OUTPUT_FILE
sed -i '' 's/"/"/g' $OUTPUT_FILE
sed -i '' 's/'/'\''/g' $OUTPUT_FILE # The ` '\'' ` thing ends the string, appends a single quote, and re-opens the string
sed -i '' 's/=/=/g' $OUTPUT_FILE
sed -i '' 's/`/`/g' $OUTPUT_FILE
sed -i '' 's/&lt;/</g' $OUTPUT_FILE
sed -i '' 's/&gt;/>/g' $OUTPUT_FILE