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