* 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
49 lines
1.5 KiB
Markdown
49 lines
1.5 KiB
Markdown
# 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](https://taskfile.dev).
|
|
You can install it with:
|
|
```bash
|
|
go install github.com/go-task/task/v3/cmd/task@latest
|
|
```
|
|
|
|
### Formatting and linting
|
|
Code is formatted by [stylua](https://github.com/JohnnyMorganz/StyLua) and linted using [selene](https://github.com/Kampfkarren/selene).
|
|
You can install these with:
|
|
|
|
```bash
|
|
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:
|
|
```bash
|
|
task format
|
|
task lint
|
|
```
|
|
|
|
### Documentation
|
|
Here we're using [mini.doc](https://github.com/echasnovski/mini.nvim/blob/main/readmes/mini-doc.md)
|
|
for generating vimhelp files based on [LuaCats](https://luals.github.io/wiki/annotations/) annotations in comments.
|
|
|
|
For demo gifs in [readme](./README.md) we're using [vhs](https://github.com/charmbracelet/vhs).
|
|
All files related to demos live in [/vhs](./vhs) dir.
|
|
|
|
You can generate docs with:
|
|
```bash
|
|
task docgen # generates vimhelp
|
|
task vhs:generate # generates demo gifs
|
|
```
|
|
|
|
### Commit messages
|
|
We use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/), please follow it.
|
|
|
|
### Testing
|
|
For testing this plugins uses [mini.test](https://github.com/echasnovski/mini.nvim/blob/main/readmes/mini-test.md).
|
|
All tests live in [/spec](./spec) dir.
|
|
|
|
You can run tests with:
|
|
```bash
|
|
task test
|
|
```
|