[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 format
26task format:check # will check if your code formatted
27task lint
28```
29
30### Documentation
31
32Here we are using [mini.doc](https://github.com/echasnovski/mini.nvim/blob/main/readmes/mini-doc.md)
33for generating help files based on EmmyLua-like annotations in comments
34
35You can generate docs with:
36```bash
37task docgen
38```
39
40### Commit messages
41
42We use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/), please follow it.
43
44### Testing
45
46For testing this plugins uses [plenary.nvim](https://github.com/nvim-lua/plenary.nvim).
47All tests live in [/spec](https://github.com/olexsmir/gopher.nvim/tree/main/spec) dir.
48
49You can run tests with:
50```bash
51task tests
52```