gosetup/README.md

47 lines
1010 B
Markdown

# gosetup
Installs common Go development tools at pinned versions.
## Install
```bash
# current as of 2025-12-18
go install sneak.berlin/go/gosetup@cf739a6e93c44e9ed094ea5bf4ec0afd841fe1ec ; hash -r ; gosetup
```
## Usage
```bash
# Install all tools at pinned versions
gosetup
# List tools and versions without installing
gosetup -l
# Dry run (show commands without executing)
gosetup -n
# Verbose output
gosetup -v
# Control parallelism (default: 4)
gosetup -j 8
```
## Updating Pinned Versions
To update `tools.json` with the latest versions:
```bash
go run ./cmd/update -o tools.json
```
## Included Tools
- **Language Server**: gopls
- **Formatters**: gofumpt, goimports, golines
- **Linters**: golangci-lint, staticcheck, errcheck, revive
- **vim-go tools**: godef, guru, gorename, gotests, gomodifytags, impl, fillstruct, fillswitch, motion, iferr, keyify, asmfmt, gotags
- **Debugger**: dlv (delve)
- **And more**: gocyclo, ineffassign, misspell, unconvert, gopkgs, go-outline, go-symbols