Skip to content

build: make the crates.io package independent of patched crossterm #2

Description

@basuev

cargo install --path . works, but cargo package fails while verifying the generated crate.

The editor currently uses KeyEvent::base_code from the vendored crossterm patch. Cargo does not preserve [patch.crates-io] when it normalizes a package for crates.io, so package verification resolves stock crossterm 0.29 and fails with:

error[E0609]: no field `base_code` on type `KeyEvent`

The fix should preserve physical-key handling for Kitty keyboard protocol events without making the published package depend on files that Cargo excludes from the crate archive.

Acceptance criteria:

  • cargo package verifies the generated crate successfully;
  • cargo install --path . --locked still installs the zz binary;
  • physical-layout, Cyrillic-layout, and PTY input tests remain covered;
  • release builds do not rely on an unpinned dependency revision;
  • the chosen dependency strategy is documented in Cargo.toml, not duplicated in release instructions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions