Thanks for helping improve this plugin! Please follow these guidelines to keep changes easy to review and ship. 🙏
- Use Neovim 0.8+ and macOS for AppleScript providers. For artwork, install ImageMagick and image.nvim.
- Clone the repo and install dependencies for your config (e.g., Lazy.nvim installs image.nvim).
- Run basic checks locally before opening a PR.
- Fork/branch from
main. - Keep changes focused and small; one feature or fix per PR.
- Add/update docs when you change behavior (README, doc/nowplaying.txt).
- Include tests where practical. If you add parsing logic, mirror
tests/provider_parsing_spec.luastyle (if reintroduced) or add a minimal reproducible check. - Verify formatting and linting if your environment enforces it.
- Lua: favor clear, small functions; avoid global state; use
vim.tbl_*helpers for options merging. - Config options should have sensible defaults and be documented.
- Keep cross-platform considerations in mind; gate macOS-specific calls (AppleScript) appropriately.
- Open a PR with:
- A short summary of what changed and why.
- Notes on testing performed.
- Any user-facing changes (new options, defaults, behavior).
- If your change may be breaking, call it out in the PR description.
When filing an issue, include:
- Neovim version and OS.
- Which player(s) you’re using (Apple Music/Spotify).
- Steps to reproduce and expected/actual behavior.
- Any relevant logs or error messages.