Repository navigation
Releases
Releases · heliotik/botglue.nvim
v0.2.1: Custom three-panel UI, 5 bugfixes
Highlights
- Telescope removed — replaced with a custom three-panel float UI (zero external dependencies)
- 5 UI bugfixes — fuzzy highlights, cursorline, padding, autocomplete, multiline prompts
- 80 tests, all passing
What's New
Custom Float UI
Container frame ("BotGlue" title, model badge footer) with three borderless inner panels:
- Filter — fuzzy search with
matchfuzzyposmatch highlighting - History list — frequency-sorted, inline model tags, full-width cursorline
- Prompt editor — multi-line, with placeholder text
Active panel indicated by yellow divider highlight. UI auto-closes on focus loss.
Bugfixes
- Fuzzy match highlighting — correct for multi-byte UTF-8 (Cyrillic, CJK) via
byteidx()conversion - Cursorline coverage — model tags now inline, so cursorline extends across full row
- Symmetric padding — 1-space padding on both sides of history list entries
- Autocomplete suppression — sets both
cmp_enabled(nvim-cmp) andcompletion(blink.cmp) buffer vars - Multi-line prompts — newlines replaced with spaces in list display, preventing
nvim_buf_set_lineserror
Claude Interaction
- System prompt now includes selected text for better AI context
_extract_resultreturns(result, error)tuple with graceful fallback
Requirements
- Neovim 0.10+
- Claude Code CLI in PATH
Full changelog: https://github.com/heliotik/botglue.nvim/blob/main/CHANGELOG.md
v0.2.0
Major rewrite: unified inline editing assistant with extmark feedback, Telescope prompt history, and Claude Code project-level context.
Added
- Unified
:Botgluecommand replacing 4 separate operations :BotglueCancelcommand for request cancellation- Inline progress display via extmarks (spinner + Claude activity above/below selection)
- Telescope picker for prompt history with frequency sorting and model badges
- Model cycling in input window (
<C-s>) with visual badge - Prompt history with JSON persistence (
~/.local/share/nvim/botglue/history.json) - Claude Code stream-json parsing for real-time activity display
- Read-only tool access (
Read,Grep,Glob) for project-level context - Configurable timeout (default 5 min), max_turns, ai_stdout_rows
- Dynamic system prompt with file path, line range, filetype, project name
- 60 tests (config, claude, display, history, operations, ui)
Changed
- Single entry point
M.run()replacesM.optimize/explain/refactor/translate() - Keymaps changed:
<leader>pp(run),<leader>ps(cancel) - Input window now shows model badge in footer, supports pre-fill from history
- Claude invocation uses
-pwith--output-format stream-json --verbose - Result mode is always replace (no explain/window mode in this version)
Removed
- 4 hardcoded operations and their Russian prompt templates
ResultModeenum (REPLACE/WINDOW)- Result display window (
show_result_window) - Spinner via
nvim_echo(replaced by extmark-based display) - Old keymaps:
<leader>po,<leader>pe,<leader>pr,<leader>pt - Old commands:
BotglueOptimize,BotglueExplain,BotglueRefactor,BotglueTranslate
Dependencies
- Added:
telescope.nvim(required)
v0.1.0
Initial release
Features
- Optimize prompts (po)
- Explain code (pe)
- Refactor code (pr)
- Translate text (pt)
Requirements
- Neovim 0.7+
- Claude Code CLI