Contributing

Contributions are welcome! If you find a bug or have a feature request, please follow the guidelines below.

Reporting Bugs

Please verify the following before submitting an issue:

  1. Neovim Version: Ensure you are running Neovim >= 0.10. The plugin is not compatible with older versions.
  2. CheckHealth: Run :checkhealth goto-preview and include the output in your report.
  3. Minimal Config: Attempt to reproduce the issue with a minimal configuration to rule out conflicts with other plugins.

Feature Requests

When requesting a feature, please describe:

  1. The problem you are trying to solve.
  2. The desired solution.
  3. Any alternatives you have considered.

Development

Directory Structure

  • lua/goto-preview.lua: Main public API and setup logic.
  • lua/goto-preview/lib.lua: Internal library, UI logic, window management, and reference providers.
  • lua/goto-preview/health.lua: Health check logic.

Formatting

This project uses stylua for formatting. Please ensure your code is formatted before submitting a Pull Request.

Stylua Config (.stylua.toml):

  • Column Width: 160
  • Indent: 2 spaces
  • Quote Style: AutoPreferDouble

Logging

The plugin uses rmagatti/logger.nvim if installed, otherwise falls back to a simple internal print-based logger. When developing, setting debug = true in the setup config is helpful.