* chore: remove unused rules from nvim selene setup * test: add test for config * chore: update tasks, run tests on all recent versions * refactor(test): make helper test function more ergonomic In my opinion, requiring user to access tests via `T["module_name"]` was too fragile and typos prone. * fix(config): typo annotations * chore(ci): install go bins via gopher.nvim itself * feat(struct_tags): add range support (#117) * feat(struct_tags): add range support * refactor: use `start`, and `end_` naming for ranges * fix(testutils): validate provided cursor position * chore: update CONTRIBUTING.md * chore: add demos (#118) * chore: add dataset for demos * chore(demos): add demos * chore: update CONTRIBUTING * this copefully will fix comments gif * chore: add note about lazy loading * chore(readme): at this point there is no code from go.nvim or iferr * chore(readme): update the structure * chore(readme): change wording of some things
1.5 KiB
1.5 KiB
Contributing to gopher.nvim
Thank you for taking the time to submit some code to gopher.nvim. It means a lot!
Task running
In this codebase for running tasks is used Taskfile. You can install it with:
go install github.com/go-task/task/v3/cmd/task@latest
Formatting and linting
Code is formatted by stylua and linted using selene. You can install these with:
sudo pacman -S selene stylua
# or whatever is your package manager
For formatting use this following commands, or setup your editor to integrate with selene/stylua:
task format
task lint
Documentation
Here we're using mini.doc for generating vimhelp files based on LuaCats annotations in comments.
For demo gifs in readme we're using vhs. All files related to demos live in /vhs dir.
You can generate docs with:
task docgen # generates vimhelp
task vhs:generate # generates demo gifs
Commit messages
We use Conventional Commits, please follow it.
Testing
For testing this plugins uses mini.test. All tests live in /spec dir.
You can run tests with:
task test