Files
ghostty-rs/scripts/gen-terminfo.sh
T
ddidderr 7868e56273 refactor: resolve cross-crate integration TODOs and resources discovery
Cleanup pass over items collected in docs/rewrite/INTEGRATION_TODO.md:
- OSC 133 printf-q / percent decoders live once in
  ghostty_vt::string_encoding; ghostty-os re-exports them.
- CursorStyle and clipboard codepoint map entries have one definition
  (ghostty-terminal); ghostty-config now depends on ghostty-terminal.
- ActionKey::docs() trailing blank lines fixed at the source; cli's
  workaround removed (+list-actions --docs still byte-identical).
- x11_color exposes names in original case; cli no longer re-parses
  rgb.txt.
- One cgroup scope wait loop (ghostty_os::cgroup::wait_for_scope).
- Flatpak passwd lookup implemented in ghostty-os via a local pty.
- +version shows the rustc version captured at build time.

Resources: dev builds find <workspace>/resources automatically (keeping
Ghostty's sentinel-file detection and GHOSTTY_RESOURCES_DIR);
scripts/gen-terminfo.sh (just terminfo) regenerates the compiled
terminfo; `just install [PREFIX]` installs binary, share/ghostty,
terminfo, desktop/D-Bus/systemd/metainfo files and icons.

Test Plan:
- cargo test for vt, os, config, input, cli
- diff `+list-keybinds`, `+list-actions --docs`, `+show-config --default`
  against /usr/bin/ghostty
2026-10-12 02:08:22 +02:00

23 lines
919 B
Bash
Executable File

#!/bin/bash
# Regenerates resources/terminfo (compiled xterm-ghostty) from the terminfo
# source embedded in ghostty-termio, like Ghostty's GhosttyResources.zig
# (`tic -x -o <dir> ghostty.terminfo`), then compares against the installed
# entry (if any) with `infocmp -x`.
set -eu
root=$(cd "$(dirname "$0")/.." && pwd)
src=$(mktemp)
trap 'rm -f "$src"' EXIT
cargo run -q -p ghostty-termio --example terminfo > "$src"
rm -rf "$root/resources/terminfo"
mkdir -p "$root/resources/terminfo"
tic -x -o "$root/resources/terminfo" "$src"
echo "wrote $root/resources/terminfo"
if infocmp -x xterm-ghostty >/dev/null 2>&1; then
if diff <(infocmp -x xterm-ghostty | grep -v '^#') \
<(TERMINFO="$root/resources/terminfo" infocmp -x xterm-ghostty | grep -v '^#') >/dev/null 2>&1; then
echo "infocmp: identical to installed xterm-ghostty"
else
echo "infocmp: DIFFERS from installed xterm-ghostty" >&2
fi
fi