If you'd like to contribute to the project, you can use the usual pull-request flow:
- Fork the project
- Make your change/addition, preferably in a separate branch.
- Test the new behaviour and make sure all existing tests pass (optional, see below for more information).
- Issue a pull request with a description of your feature/bugfix.
Please do not use any LLMs while writing the code. If I am able to recognize LLM usage, the PR will be rejected on principle.
This project uses rspec and vimrunner to test its behaviour. Testing vimscript this way does a great job of catching regressions, since it launches a real Vim instance and drives it (almost) as if it's a real user. Tests are written in the ruby programming language, so if you're familiar with it, you should (I hope) find the tests fairly understandable and easy to get into.
If you're not familiar with ruby, it's okay to skip them. I'd definitely appreciate it if you could take a look at the tests and attempt to write something that describes your change.
To run the test suite, provided you have ruby installed, first you need bundler:
$ gem install bundler
If you already have the bundle command (check it out with which bundle), you don't need this step. Afterwards, it should be as simple as:
$ bundle install
$ bundle exec rspec spec
Depending on what kind of Vim you have installed, this may spawn a GUI Vim instance, or even several. You can read up on vimrunner's README to understand how that works.