Commit graph

3 commits

Author SHA1 Message Date
Lahfir
11427b271a refactor!: modernize toolchain to Rust 2024 edition
- Bump workspace edition 2021 → 2024 and MSRV 1.78 → 1.85.
- Add [workspace.lints] block with project-wide rust/clippy policy:
  unsafe_op_in_unsafe_fn warn, unused_must_use deny, dbg_macro deny.
- Migrate all extern "C" blocks to unsafe extern "C" (Edition 2024 req).
- Migrate all #[no_mangle] to #[unsafe(no_mangle)] (Edition 2024 req).
- Wrap unsafe operations inside unsafe fn bodies in explicit unsafe blocks
  via cargo fix.
- Switch RefEntry::path from Vec<usize> to SmallVec<[usize; 8]> with
  serde+union features. Eliminates per-ref heap allocation for typical
  accessibility tree depths (<8) while serializing identically to the
  prior Vec form.
- Strip non-doc-comments from workspace Cargo.toml.

BREAKING CHANGE: minimum supported Rust version is now 1.85. Downstream
consumers building from source must upgrade their toolchain.
2026-05-14 15:14:56 -07:00
Lahfir
3a796023f0 style: apply cargo fmt to all files 2026-02-19 20:00:18 -08:00
Lahfir
eca04e8392 feat: add 19 new commands, AX-first rewrites, LOC compliance
- New commands: check, uncheck, triple-click, scroll-to, clear,
  clipboard-clear, hover, drag, mouse-move/click/down/up,
  resize/move/minimize/maximize/restore-window, key-down, key-up
- Rewrite input.rs to AX-first keyboard synthesis
- Add mouse synthesis (CGEvent) and window ops (AX) adapter methods
- Split dispatch.rs into dispatch + batch_dispatch for LOC compliance
- Split actions.rs → action_extras.rs (scroll/select helpers)
- Split app_ops.rs → key_dispatch.rs (press-for-app + key dispatch)
- Split cli.rs → cli_args.rs (arg structs)
- Improve is-check with applicability field, list-apps with wrapped shape
- Enhance wait with --text/--menu/--menu-closed support
2026-02-19 18:17:15 -08:00