Changelog โ
[Latest] - Which-Key Convention Enforcement โ
๐ง Keymap Refactoring โ
- Convention Enforcement: Strict adherence to lowercase/uppercase leader key pattern
- Lowercase keys (e.g.,
<leader>f
,<leader>g
) execute immediately without delay - Uppercase keys (e.g.,
<leader>F
,<leader>G
) show which-key menus with sub-commands
- Lowercase keys (e.g.,
- Eliminated Delays: Removed which-key wait time for frequently used commands
<leader>f
(find files) now executes immediately<leader>g
(grep in project) now executes immediately
โจ๏ธ Keymap Reorganisation โ
- Frecency Commands: Moved from
<leader>f*
to<leader>F*
group<leader>Ff
โ Find files (frecency)<leader>Fr
โ Refresh frecency database<leader>Fd
โ Show database location<leader>Fb
โ Rebuild database
- Search Commands: Moved grep location variants from
<leader>g*
to<leader>S*
<leader>Sp
โ Search in project<leader>Sw
โ Search in working directory<leader>Sh
โ Search in home directory<leader>Sc
โ Search in config<leader>Sf
โ Search in current file directory
- Conflict Resolution: Disabled OneDark's
<leader>ts
toggle (use<leader>Yc
instead)
๐งน Configuration Cleanup โ
- Which-Key Groups: Removed incorrect group definitions for direct commands
- Unused Groups: Removed empty groups (
<leader>P
) - Documentation: Added convention comments to which-key configuration
๐ Documentation Updates โ
- Keymap Reference: Updated
docs/reference/keymaps.md
with correct keybindings - Convention Clarity: Documented the lowercase/uppercase convention
[Previous] - Enhanced Theme Management System โ
๐จ New Features โ
- Theme Picker: Enhanced Telescope interface with nvim-tree style filtering
- Visual theme categories (dark ๐, light โ๏ธ, special ๐จ)
- Telescope Previewer: Custom preview panel shows theme info and applies theme
- Nvim-tree Style Filtering: Live filtering as you type with immediate updates
- Smart Input Modes: Insert mode for filtering, normal mode for navigation
- Enhanced Navigation: All Telescope navigation (j/k, arrows, gg/G) with preview
- Quick apply without closing with
<C-y>
- Current theme indicator with โ symbol
- Responsive Preview: Theme updates on all selection changes (search, navigation)
- Debounced Filtering: Smooth 150ms debounced filter updates
- Clean Integration: Follows Telescope's standard patterns and behavior
- Professional UX: Consistent with other Telescope pickers
๐ง Enhanced Theme Management โ
- Modular Architecture: New
core/theme-picker.lua
module - Integration: Seamless integration with existing theme manager
- Performance: Optimized theme loading and switching
- Feedback: Enhanced notifications and status updates
- Robust Loading: Handles Telescope loading issues gracefully
- Fallback Support: Works with vim.ui.select when Telescope unavailable
โจ๏ธ New Keybindings โ
<Space>Ytp
: Open theme picker (floating window)<Space>Yts
: Show current theme<Space>Yc
: Cycle through themes (enhanced with better fallback)
๐๏ธ Architecture Improvements โ
- Theme Picker Module: Dedicated theme selection system
- Lazy Loading: Efficient loading of theme picker functionality
- Fallback Support: Graceful degradation when components unavailable
- Integration: Clean integration with existing theme management
๐ Documentation Updates โ
- Quickstart Guide: Added theme management section
- Keymap Documentation: Updated with new theme commands
- User Experience: Clear instructions for theme picker usage
[Previous] - Documentation Updates and Consistency Review โ
Documentation Improvements โ
- README.md: Updated to reflect current keymap structure with uppercase group keys
- Plugin Architecture: Updated plugin list to include mini-nvim subdirectory structure
- Keymap Documentation: All key mappings now accurately reflect current configuration
- British Spelling: Verified and maintained throughout all documentation
- Installation Guide: Current and accurate installation instructions
Configuration Review โ
- Review Report: Updated to reflect current state with uppercase group keys
- Consistency Check: All documentation now matches actual configuration
- Plugin List: Accurate representation of current plugin structure
- Keymap Structure: Documentation reflects professional uppercase group organisation
Benefits โ
- Accurate Documentation: All guides now match the actual configuration
- Professional Appearance: Consistent uppercase group keys throughout
- Easy Maintenance: Clear documentation structure for future updates
- User Experience: Reliable installation and usage instructions
[Previous] - Uppercase Group Key Standardisation โ
Major Keymap Reorganisation โ
- Uppercase Group Keys: Standardised all which-key group prefixes to use uppercase letters for consistency and improved visual clarity
- Enhanced Descriptions: Updated all command descriptions to use proper capitalisation and clear, explicit language
- Professional Appearance: Which-key popups now display clean, consistent uppercase group keys that match their descriptive names
Group Key Changes โ
<leader>B
โ Buffer operations (was<leader>b
)<leader>C
โ Configuration management (was<leader>c
)<leader>G
โ Git operations (was<leader>g
)<leader>J
โ Julia development (was<leader>j
)<leader>L
โ LSP operations (was<leader>l
)<leader>O
โ Otter multi-language support (was<leader>o
)<leader>P
โ Plugin management (was<leader>p
)<leader>Q
โ Quarto operations (already uppercase)<leader>S
โ Search operations (was<leader>s
)<leader>T
โ Terminal operations (already uppercase)<leader>W
โ Window operations (was<leader>w
)<leader>X
โ Trouble diagnostics (was<leader>x
)<leader>Y
โ Toggle options (already uppercase)
Individual Command Updates โ
All individual commands updated to match their uppercase group keys:
- Configuration:
<leader>Cs
,<leader>Cd
,<leader>Cg
- Buffer management:
<leader>Bf
,<leader>Bc
,<leader>Bb
,<leader>Bn
,<leader>Bj
- Search operations:
<leader>Sf
,<leader>St
,<leader>Sr
,<leader>Sb
, etc. - LSP operations:
<leader>Ll
,<leader>Lr
,<leader>Lf
,<leader>LR
,<leader>Ld
, etc. - Git operations:
<leader>Gs
,<leader>Gp
,<leader>Gg
- Julia operations:
<leader>Jp
,<leader>Ji
,<leader>Ju
,<leader>Jt
,<leader>Jd
- Julia REPL:
<leader>Jrh
,<leader>Jrv
,<leader>Jrf
- Trouble diagnostics:
<leader>Xw
,<leader>Xd
,<leader>Xl
,<leader>Xq
,<leader>Xx
- Plugin management:
<leader>Pi
,<leader>Pu
,<leader>Pc
,<leader>Ps
- Otter operations:
<leader>Oa
,<leader>Od
Preserved Individual Commands โ
<leader>q
- Close buffer (quick access)<leader>e
- Toggle file explorer<leader>f
- Find files<leader>x
- Toggle checkbox (Obsidian)
Benefits โ
- Visual Consistency: Group keys now match their descriptive names (e.g.,
B
for "Buffer") - Professional Appearance: Clean, consistent uppercase letters in which-key popups
- Better Organisation: Clear distinction between group prefixes and individual commands
- Enhanced Workflow: More intuitive key combinations that align with group names
- Improved Discoverability: Easier to remember and navigate keymap structure
[Earlier] - Keymap Reorganisation โ
Group Letter Remapping โ
- Toggle Group: Remapped from
<leader>T*
to<leader>Y*
to resolve collision with Terminal group<leader>Yw
- Toggle line wrapping<leader>Yn
- Toggle line numbers<leader>Yc
- Cycle through colourschemes
Addition of Split Group โ
- New Split Group: Added
<leader>|*
prefix for split window commands<leader>|v
- Split window vertically<leader>|h
- Split window horizontally
Key Collision Resolution โ
- Terminal Group: Retained
<leader>T*
for all terminal-related functions<leader>Th
- Horizontal terminal<leader>Tv
- Vertical terminal<leader>Tf
- Float terminal<leader>Tt
- Toggle terminal (smart vertical default)<leader>Tk
- Clear terminal<leader>Td
- Delete terminal
- Search Group: Retained
<leader>S*
for search operations (managed by plugins) - Toggle Group: Moved to
<leader>Y*
to avoid "T" collision - Split Group: Uses
<leader>|*
to avoid "S" collision
Rationale โ
These changes ensure logical grouping of related commands whilst preventing key conflicts:
- Terminal operations remain under the intuitive "T" prefix
- Toggle operations use "Y" (phonetically similar to "toggle")
- Split operations use "|" symbol (visually represents splitting)
- Search operations maintain "S" prefix for consistency with plugin conventions
All changes maintain backwards compatibility where possible whilst improving the logical organisation of keybindings.