[mirror] Make your go dev experience better
github.com/olexsmir/gopher.nvim
neovim
golang
1# Contributing to `gopher.nvim`
2
3Thank you for taking the time to submit some code to gopher.nvim. It means a lot!
4
5### Task running
6
7In this codebase for running tasks is used [Taskfile](https://taskfile.dev).
8You can install it with:
9```bash
10go install github.com/go-task/task/v3/cmd/task@latest
11```
12
13### Styling and formatting
14
15Code is formatted by [stylua](https://github.com/JohnnyMorganz/StyLua) and linted using [selene](https://github.com/Kampfkarren/selene).
16You can install these with:
17
18```bash
19sudo pacman -S selene stylua
20# or whatever is your package manager
21```
22
23For formatting use this following commands, or setup your editor to integrate with selene/stylua:
24```bash
25task stylua
26task lint # lintering and format chewing
27```
28
29### Documentation
30
31Here we are using [mini.doc](https://github.com/echasnovski/mini.nvim/blob/main/readmes/mini-doc.md)
32for generating help files based on EmmyLua-like annotations in comments
33
34You can generate docs with:
35```bash
36task docgen
37```
38
39### Commit messages
40
41We use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/), please follow it.
42
43### Testing
44
45For testing this plugins uses [mini.test](https://github.com/echasnovski/mini.nvim/blob/main/readmes/mini-test.md).
46All tests live in [/spec](./spec) dir.
47
48You can run tests with:
49```bash
50task tests
51```