Skip to content

Conversation

@paris3200
Copy link
Owner

Summary

This PR introduces comprehensive code quality improvements and CI enhancements:

  • Linting Setup: Added luacheck configuration with project-specific rules and exclusions
  • Code Quality: Fixed all existing linting warnings across the codebase while preserving functionality
  • CI Enhancement: Updated GitHub Actions workflow to include parallel linting alongside testing
  • Documentation: Enhanced contributing guidelines with development tools and workflow information
  • Build System: Added Makefile with convenient targets for testing, linting, and maintenance

Key Changes

Code Quality & Linting

  • Added .luacheckrc with comprehensive configuration for Neovim/Lua standards
  • Fixed all luacheck warnings while maintaining backward compatibility
  • Improved code readability and consistency throughout the codebase

CI/CD Improvements

  • Renamed workflow from "Tests" to "CI" for broader scope
  • Added parallel lint job that installs luacheck and validates code quality
  • Updated test job to use Makefile commands for consistency
  • Both jobs run on push/PR to main and develop branches

Developer Experience

  • Added Makefile with targets: test, lint, lint-fix, clean, check-deps
  • Updated README contributing section with modern development workflow
  • Documented all available development tools and their usage

Test Plan

  • All existing tests pass with new linting setup
  • Linting passes on all source and test files
  • GitHub workflow validates both testing and linting in CI
  • Makefile targets work correctly for development workflow
  • Documentation accurately reflects new development process

This PR establishes a solid foundation for code quality and makes the project more maintainable for future contributions.

paris3200 added 3 commits July 6, 2025 21:52
- Add .luacheckrc with Neovim-specific linting rules
- Add Makefile with lint, test, and utility targets
- Configure appropriate warning ignores for plugin development
- Set 100 character line limit for consistent formatting
- Fix logic issues by replacing inefficient loops with next() function calls
- Break long lines to comply with 100 character limit
- Remove trailing whitespace throughout codebase
- Fix read-only field warnings in tests using proper metatable approach
- Add test-setup.sh script for isolated testing environment
- Achieve zero linting warnings across all Lua files
- Rename workflow from 'Tests' to 'CI' for broader scope
- Add parallel lint job with luacheck installation
- Update test job to use make commands for consistency
- Enhance README contributing section with development tools documentation
- Document all Makefile targets and CI integration
@paris3200 paris3200 changed the base branch from main to develop July 7, 2025 02:29
@paris3200 paris3200 merged commit 57a53d5 into develop Jul 7, 2025
4 checks passed
@paris3200 paris3200 deleted the setup-linting branch July 7, 2025 02:33
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