Skip to content

v0.1.0

Latest

Choose a tag to compare

@TunaCuma TunaCuma released this 04 Jan 16:56
· 20 commits to main since this release
68b56f7

What's New in v0.1.0

This release introduces major new features including multi-mode keybinding support and neovim/vim pager integration.

New Features

Emacs Mode & Vi Insert Mode Support (Fixes #2)

  • Emacs mode: Press Ctrl-X k to open man pages
  • Vi insert mode: Press Ctrl-K to open man pages without leaving insert mode
  • New configuration options:
    • ZVM_MAN_KEY_EMACS - Customize emacs mode keybinding
    • ZVM_MAN_KEY_INSERT - Customize vi insert mode keybinding
    • ZVM_MAN_ENABLE_EMACS - Enable/disable emacs mode binding
    • ZVM_MAN_ENABLE_INSERT - Enable/disable vi insert mode binding
  • Added zvm_man_rebind() function for troubleshooting keybinding issues

Neovim/Vim Pager Support (Fixes #4)

  • Set ZVM_MAN_PAGER='nvim' to use neovim as your man page viewer
  • Uses native :Man command for proper integration
  • Vim-compatible search patterns that correctly jump to option definitions
  • Fixed terminal access issues with plugins like image.nvim

Architecture Improvements

Refactored from monolithic script to modular architecture:

lib/
β”œβ”€β”€ parser.zsh      # Word and command parsing
β”œβ”€β”€ pattern.zsh     # Search pattern builders (less/nvim)
β”œβ”€β”€ pager.zsh       # Pager-specific logic
└── keybinding.zsh  # Keybinding management

Benefits:

  • Easy to add new pagers
  • Easy to extend shell environment support
  • Separate pattern logic per pager type
  • Still lightweight (~340 total lines)

Testing & Infrastructure

  • Added comprehensive test suites for all modes
  • CI/CD workflow with automated testing
  • Issue templates and contributing guidelines
  • 101 tests covering less and nvim pagers

Documentation

  • Updated README with multi-mode usage examples
  • Added troubleshooting section for keybinding issues
  • Key binding notation reference

Full Changelog: v0.0.2...v0.1.0