Skip to content

Conversation

@john-mutuma
Copy link
Owner

What does this PR do?

This PR integrates the scooter CLI tool into NairoVIM, providing an interactive search and replace experience in the terminal. Scooter is launched in a floating terminal window using toggleterm.nvim, with seamless integration between the terminal interface and Neovim's editing capabilities.

  • Adds scooter configuration with Catppuccin Macchiato theme for syntax highlighting
  • Implements Neovim plugin integration with floating terminal support
  • Adds keymap <leader>s to launch scooter in a floating window
  • Adds visual mode keymap <leader>r to search for selected text in scooter
  • Integrates scooter with Neovim via EditLineFromScooter function to jump to files and lines
  • Adds toggleterm.nvim as a dependency for terminal management
  • Updates installation script to install scooter via Homebrew and configure it

Why is it needed?

Scooter provides a powerful, interactive way to search and replace text across the codebase directly from the terminal, complementing the existing search capabilities in NairoVIM. The integration allows users to:

  • Perform interactive search and replace operations with a visual interface
  • Preview changes before applying them
  • Navigate search results and jump directly to files and lines in Neovim
  • Use selected text from Neovim as the initial search query

How have the changes been tested?

  • Tested scooter installation via the install.sh script
  • Verified scooter configuration is correctly symlinked to ~/.config/scooter/config.toml
  • Tested launching scooter with <leader>s keymap
  • Tested searching selected text with <leader>r keymap in visual mode
  • Verified file navigation from scooter to Neovim works correctly
  • Confirmed toggleterm.nvim integration creates proper floating window

Screenshots (if applicable)

N/A - Terminal-based integration

Checklist

  • Added scooter configuration file with Catppuccin theme
  • Implemented Neovim plugin integration
  • Added keymaps for scooter functionality
  • Added toggleterm.nvim dependency
  • Updated install.sh to install and configure scooter
  • Tested on macOS with Homebrew
  • Verified integration between scooter and Neovim

John Mutuma added 3 commits October 4, 2025 13:19
- Add scooter configuration file (scooter.config.toml) with Catppuccin Macchiato theme

- Add Neovim plugin integration (plugins/scooter.lua) with:

  - Floating terminal window for scooter

  - Keymap <leader>s to open scooter

  - Visual mode keymap <leader>r to search selected text

  - Integration with nvim via EditLineFromScooter function

- Add toggleterm.nvim dependency for terminal management

- Update install.sh to:

  - Install scooter via Homebrew

  - Symlink scooter config to ~/.config/scooter/config.toml

Signed-off-by: John Mutuma <johnmutuma@microsoft.com>
- Created dedicated keymap file following project conventions

- Moved keymaps from inline definitions to customizations/keymaps/scooter.lua

- Added :FindReplace user command for opening scooter terminal

- Updated keymap handlers to use user command for consistency

- Applied keymaps using common_utils.map() following project pattern

- Changed function definitions to use Lua docstring format (---)

Signed-off-by: John Mutuma <johnmutuma@microsoft.com>
@john-mutuma john-mutuma merged commit 400d60d into develop Oct 4, 2025
@john-mutuma john-mutuma deleted the continous-development branch October 4, 2025 12:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants