Skip to content

v1.1.0

Choose a tag to compare

@ralphmodales ralphmodales released this 03 Mar 04:59
· 3 commits to master since this release

helperAI v1.1.0 - Enhanced User Experience Update

A Neovim plugin that seamlessly integrates Exa API search capabilities directly into your editor. Never leave Neovim to search for documentation or references again!

🌟 Key Features

  • Visual Mode Search Integration: Highlight text and press <leader>s to instantly search
  • Interactive Floating Window: Clean, syntax-highlighted results appear in a non-intrusive floating window
  • Smart Result Ranking: Results are ranked by relevance and content quality
  • Animated Results Display: Smooth, line-by-line animation of search results
  • Comprehensive Syntax Highlighting: Custom highlight groups for better readability
    • Titles in blue (#7aa2f7)
    • Descriptions in green (#9ece6a)
    • URLs in purple with underline (#bb9af7)
    • Search terms highlighted in results (#3b4261 background)
    • Content in light blue (#c0caf5)

🆕 New in This Release

  • Interactive URL Opening: Press Enter on any URL to open it in your default browser
  • Content Expansion: Press c to toggle full content view for any result
  • Hover URL Previews: Hover over a URL to see a floating tooltip with the URL
  • Search Term Highlighting: Your search terms are now highlighted in the results for easy scanning
  • Improved Windowing: Switched from split buffers to a more elegant floating window interface

🔧 Requirements

  • Neovim 0.10 or higher
  • Python 3.x
  • Python packages: exa_py, python-dotenv
  • Exa API key

📦 Installation

Using Lazy.nvim

{
  "ralphmodales/helperAI",
  config = function()
    require("helperAI").setup()
  end,
}

Manual Setup Required

  1. Create the HelperAI config directory:
mkdir -p ~/.config/nvim/helperAI
  1. Copy search.py to the config directory:
cp ~/.local/share/nvim/lazy/helperAI/search.py ~/.config/nvim/helperAI/
  1. Set up your Exa API key:
cp ~/.local/share/nvim/lazy/helperAI/.env.example ~/.config/nvim/helperAI/.env
# Edit .env and add your API key

🎨 Configuration

Default configuration with customization options:

require("helperAI").setup({
  keymap = "<leader>s"  -- Change this to your preferred keybinding
})

Customizing Colors

Modify the highlight groups to match your colorscheme:

vim.api.nvim_set_hl(0, "HelperAITitle", { fg = "#7aa2f7", bold = true })
vim.api.nvim_set_hl(0, "HelperAIDescription", { fg = "#9ece6a" })
vim.api.nvim_set_hl(0, "HelperAIURL", { fg = "#bb9af7", underline = true })
vim.api.nvim_set_hl(0, "HelperAISearchTerm", { bg = "#3b4261", fg = "#7dcfff" })
vim.api.nvim_set_hl(0, "HelperAIContent", { fg = "#c0caf5" })

🐛 Bug Fixes

  • Fixed result window sizing for better visibility
  • Improved search term processing for more accurate results
  • Enhanced cross-platform browser opening support

📝 Notes

  • Upgraded from v1.0.0 with significant UX improvements
  • Tested with Neovim 0.10.0 and Python 3.8+

🚧 Known Limitations

  • Maximum of 5 results per search
  • Requires valid Exa API key
  • Search descriptions limited to 200 characters
  • Full content limited to 500 characters

🔜 Planned Features

  • Configurable number of results
  • Custom highlight groups
  • Asynchronous result fetching
  • Result caching
  • Multiple search provider support

For full documentation and setup instructions, please see the README.md.
Report bugs or suggest features in the [issue tracker](https://github.com/ralphmodales/helperAI/issues).