github noborus/ov v0.44.0

20 hours ago

🖱️ Enhanced Mouse Support

Double-click Word Selection (#837, #840)

  • Double-click to select words with smart boundary detection for alphanumeric, whitespace, and symbol characters
  • Configurable click interval and distance thresholds
  • Improved mouse event handling with click state management

Triple-click Line Selection (#846, #847)

  • Triple-click to select entire lines, including wrapped lines that span multiple screen lines
  • Smart selection from start to end of visual lines

Column Selection on Double-click (#845)

  • When in column mode, double-click selects entire columns instead of words
  • Enhanced column boundary detection and selection logic

Customizable Selection Styles (#839)

  • New SelectActive style for active selection (during drag)
  • New SelectCopied style for copied selection (after copy operation)
  • Replace fixed reverse styling with configurable appearance
  • Improved mouse selection state management with MouseSelectState enum

Thanks to @ninetailedtori for the original idea in #837!

Configurable Mouse Wheel Scroll Speed (#871, #872)

  • Added VScrollLines setting in General config section to control mouse wheel scroll speed
  • Default value is 2 lines (maintains backward compatibility)
  • Allows users to match their terminal scroll settings

Thanks to @deathtrip for the suggestion in #871!

📍 Sticky Follow Mode (#858, #860)

  • Automatic Pause Indicator: Follow mode shows || when paused due to user interaction (scrolling, searching, etc.)
  • Smart Resume: Automatically resumes when moving to bottom (End key, bottom action, etc.)
  • Configurable: Can be disabled with DisableStickyFollow option
  • Visual Feedback: Clear indication of follow mode state in status line
  • PauseLine Style (#861): Added PauseLine style to highlight the line where follow mode is paused

Thanks to @maxeonyx for the concept in #858!

⚡ Quit-if-one-screen Improvements (#853, #855)

  • Improved Timing: Enhanced EOF monitoring with goroutine for better timing detection
  • Delayed File Reading: Correctly handles quit-if-one-screen even when file reading is slow or delayed
  • Cancel Feature: Added quitSmall cancel feature for better user control

Thanks to @amonks for the report in #853!

🔧 Enhanced Key Binding System (#870)

  • Improved Key Normalization: Properly handle Ctrl+J vs Enter distinctions across different terminals
  • Better Duplicate Detection: Enhanced duplicate key binding detection with proper case normalization
  • Comprehensive Error Handling: Collect all validation issues instead of stopping at first error
  • Clear Error Messages: Enhanced help display for key binding conflicts and invalid configurations

🐛 Bug Fixes

Last Line Display Bug (#865)

  • Quit-if-one-screen option now correctly calculates screen height by excluding the status line height when determining if content fits on screen

Thanks to @maraino for the report in #864!

Search Operations (#866, #856)

  • Fixed search freeze when cancel events don't keep up with processing
  • Preserved eventReachEOF during search operations
  • Better event handling and replay after search completion

Concurrency (#857)

  • Use TryLock for doclist operations to prevent potential deadlocks
  • Log lock failures without blocking UI updates

📦 Dependencies

  • Bumped github.com/mattn/go-runewidth from 0.0.17 to 0.0.19
  • Bumped github.com/spf13/cobra from 1.9.1 to 1.10.1
  • Bumped github.com/spf13/pflag from 1.0.9 to 1.0.10
  • Bumped github.com/ulikunitz/xz from 0.5.13 to 0.5.15
  • Updated Go version and various module dependencies

Full Changelog: v0.43.0...v0.44.0

Don't miss a new ov release

NewReleases is sending notifications on new releases.