golintui
is a TUI tool that helps you run various kinds of linters with ease and organize its results, with the power of golangci-lint.
- Simple UI
- Selectable linters on the UI.
- Sorting out the issues for each linter
- Able to open files by specifying the issue line
Binary Releases
For Mac OS or Linux, you can download a binary release here.
With Homebrew
brew install nakabonne/golintui/golintui
With Go
go get github.com/nakabonne/golintui
Note that go get
downloads a bunch of dependencies on golangci-lint so can take a while to fully install.
With Docker
docker run --rm -i -t -v $(pwd):/app -w /app nakabonne/golintui:latest golintui
Requires: golangci-lint executable.
Be sure to change the CTYPE as shown below if your locale isn't en_US
. The UI does not display well without it.
export LC_CTYPE=en_US.UTF-8
golintui
Just press r, then results from the linters should be shown.
Global
r: run selected linters against the selected directories q: quit l: next panel h: previous panel j: move down k: move up
Linters Panel
space: toggle enabled
Note that for users who specify disable-all
in the config file for golangci-lint, it is impossible to disable linters that are enabled in it.
Source File Panel
space: toggle selected o: expand directory
Commits Panel
space: toggle selected
It shows only new issues created after the commit you selected. Internally it just gives it on to --new-from-rev
.
Results Panel
o: open a file with the reported line
golintui
refers to $EDITOR
by default to open the problematic file. You can change the editor to your taste and habits by setting $GOLINTUI_OPEN_COMMAND
.
For instance, for users of VSCode:
export GOLINTUI_OPEN_COMMAND="code -r"
- vim(vi)
- emacs
- VSCode
Please let me know how to open a file at a specific line if the editor you're used to is missing.