Thank you for considering contributing to this Neovim configuration! Your contributions help make this configuration better for everyone.
This project aims to be an open and welcoming space. By participating, you are expected to:
- Be respectful and considerate of others
- Provide constructive feedback
- Accept constructive criticism gracefully
- Focus on what's best for the community
Before submitting a bug report, please check the existing issues to see if someone already reported it. When submitting a bug report, include:
- A clear and descriptive title
- Steps to reproduce the issue
- Expected behavior and what actually happened
- Neovim version (
nvim --version) - Operating system and version
- Screenshots if applicable
Enhancement suggestions are welcome! When suggesting an enhancement:
- Use a clear and descriptive title
- Provide a step-by-step description of the enhancement
- Explain why this enhancement would be useful
- Include code examples or screenshots if applicable
When submitting a pull request:
- Fork the repository and create your branch from
main - If you've added code that should be tested, add tests
- Make sure your code follows the style guides
- Issue that pull request!
For significant changes, please open an issue first to discuss the proposed changes.
- Use 2 spaces for indentation
- Follow the Neovim Lua style guide
- Use Lua idioms when possible
- Keep lines under 100 characters when possible
- Use local variables when possible to improve performance
- Use clear, descriptive variable and function names
This configuration uses stylua for code formatting. Add a .stylua.toml file to your project with the appropriate settings.
- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit the first line to 72 characters or less
- Reference issues and pull requests after the first line
- Consider following the Conventional Commits specification
For detailed instructions on setting up a development environment, required tools, and testing procedures, please refer to the DEVELOPMENT.md file. This comprehensive guide includes:
- Installation instructions for all required development tools on various platforms
- Detailed explanation of the project structure
- Testing processes and guidelines
- Troubleshooting common issues
- Read the DEVELOPMENT.md guide to ensure you have all necessary tools installed
- Clone the repository:
git clone https://github.com/greggh/nvim ~/.config/nvim-dev - Create a script to launch Neovim with this configuration:
NVIM_APPNAME=nvim-dev nvim
- Make your changes and test them thoroughly
Before submitting a PR, please ensure:
- Your changes pass all tests (
make test) - Your code passes linting checks (
make lint) - Your code is properly formatted (
make format) - New features are well-documented
- The configuration starts without errors
- Plugin dependencies are properly specified