bernardo
a împins spre master la bernardo/Lumacs
9883ee5180 fix(which-key): handle nil command in binding
Fix nil reference error when binding.command is nil by providing
a fallback value.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
7982163864 feat(packages): add projectile and company-mode packages
Add two new Lua packages:
projectile.lua - Project management and navigation:
- Project root detection via markers (.git, Makefile, etc.)
- Project file listing with caching
- Recent projects tracking
- Commands: projectile-find-file (C-c p f), projectile-switch-project (C-c p p),
projectile-project-info (C-c p i), projectile-run-command, etc.
company.lua - Text completion framework:
- Multiple backends: buffer (words in buffer), words (common keywords), path
- Echo area popup display with selection
- Auto-completion option (disabled by default)
- Commands: company-complete (M-Tab), company-mode toggle
- Context-aware keybindings (C-n/C-p select candidates when active)
Also updates:
- LuaApi::call_idle_hooks() now calls company idle check
- init.lua loads both new packages
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
a3c7258d5a feat(packages): add idle hooks and extended echo area for which-key
Add infrastructure for Lua packages to display content in an extended
echo area (multi-line minibuffer) and react to idle time:
Core additions (EditorCore):
- set_echo_area_lines() / clear_echo_area_lines() for multi-line display
- echo_area_lines() to get current lines
- idle_time_ms() to check time since last user activity
- notify_user_activity() to reset idle timer
Lua API additions:
- editor:set_echo_area(lines) - Set echo area content
- editor:clear_echo_area() - Clear echo area
- editor:echo_area_lines() - Get current lines
- editor:idle_time_ms() - Get idle time in milliseconds
- editor:notify_activity() - Reset idle timer
- LuaApi::call_idle_hooks() - Called by UI during idle
Rewritten which-key package:
- Now uses idle_time_ms() to detect when user is waiting
- Shows hints after 1 second delay (configurable)
- Displays hints in extended echo area above minibuffer
- Fully Lua-based, no C++ which-key code needed
GTK/TUI changes:
- Both frontends now render echo_area_lines above minibuffer
- Both call Lua idle hooks during their idle callbacks
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
789d7553b7 feat(packages): add Lua package system with which-key, doom-modeline, and more
Add a new lua/packages directory with several Emacs-inspired Lua packages:
- which-key: Display available keybindings when a prefix key is pressed
- Commands: which-key, describe-key (C-h k)
- Shows hints for prefix keys like C-x, C-h, etc.
- doom-modeline: Doom Emacs-style modeline customization
- Face presets: doom_one, nord, dracula, gruvbox, solarized
- Commands: doom-modeline-preset, doom-modeline-setup
- smartparens: Auto-pairing of brackets, quotes, and delimiters
- Auto-insert matching pairs
- Skip closing delimiter when already present
- Delete pairs together on backspace
- rainbow-delimiters: Colorize nested delimiters by depth
- Multiple color presets: default, pastel, neon, nord, dracula
- Commands: rainbow-delimiters-mode, rainbow-preset
- ido: Enhanced fuzzy completion utilities
- Fuzzy matching with scoring
- Commands: ido-switch-buffer, ido-execute-command
Also exposes keybinding API to Lua:
- editor:get_all_bindings() - Get all registered keybindings
- editor:is_building_sequence() - Check if in multi-key sequence
- editor:current_sequence() - Get current sequence string
- editor:has_prefix_bindings() - Check for prefix bindings
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Vizualizați comparația pentru aceste 4 consemnări »
1 lună în urmă