github noborus/ov v0.50.0

4 hours ago

⚠️ Important Changes & Notes

  • Key input handling has changed significantly on terminals supporting tcell's CSI u.
    • On CSI u compatible terminals, keys such as Ctrl+h, Backspace, and Enter are now strictly distinguished.
    • You can now assign different actions to these keys.
    • If you want the same action for multiple keys, please assign them explicitly in your config file.
    • Some keys may be intercepted by your OS or editors like VS Code terminal, so we recommend assigning multiple keybindings or customizing as needed.
  • Character width calculation has switched from runewidth to uniseg.
    • As a result, ambiguous-width characters are now treated as width 1 by default.
    • If you want ambiguous-width characters to be treated as width 2 (East Asian width), set the environment variable RUNEWIDTH_EASTASIAN=1.

✨ Main Changes

⌨️ Keybindings & Input

  • Removed all ctrl+shift keybindings and replaced them with alternatives like alt+arrow keys.
  • Unified Alt+uppercase keybindings to Alt+lowercase.
  • All key event matching is now case-insensitive and unified.
  • Removed fallback logic that treated multiple keys as the same action.
  • Updated config files (ov.yaml, ov-less.yaml) to reflect new keybindings.
  • Improved cursor movement, deletion, and paste behavior in input fields.

🖥️ Display & UI

  • Switched character width calculation from runewidth to uniseg, making display width match your terminal more accurately.
  • If display width mismatches still occur, ov now uses Sync as needed to prevent screen corruption.

🖱️ Mouse, Selection & Clipboard

  • Added anchor-and-extend selection with Alt+click.
  • Right-click now copies the selected range.
  • Clipboard operations now have a timeout to prevent UI freezes.

📦 Library Updates

  • tcell v2.9.0 → v2.13.1
  • cbind v0.1.6 → v0.1.7
  • tcellansi v0.2.0 → v0.3.0

Full Changelog: v0.45.1...v0.50.0

Don't miss a new ov release

NewReleases is sending notifications on new releases.