A simple terminal UI for Go linters

golintui

License: GPL v3

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.

Screenshot

Cool features

  • Simple UI
  • Selectable linters on the UI.
  • Sorting out the issues for each linter
  • Able to open files by specifying the issue line

Installation

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

Usage

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

Quick Start

golintui

Just press r, then results from the linters should be shown.

Keybinds

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

Settings

Editor

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"

Editors that can open by specifying a line

  • 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.

License Scan

FOSSA Status

Similar Resources

🎄 A Christmas tree right from your terminal!

🎄 A Christmas tree right from your terminal!

ctree 🎄 A Christmas tree right from your terminal! 👀 Demo ⌛ No Refresh Don't want the tree to refresh every 2 seconds? Easy! Just add the --no-refre

Dec 20, 2022

progress_bar creates a single customizable progress bar for Linux terminal.

progress_bar creates a single customizable progress bar for Linux terminal.

progress_bar Go Progress Bar Features progress_bar creates a single customizable progress bar for Linux terminal. Installation go get -u github.com/er

Aug 12, 2022

A terminal based typing test.

A terminal based typing test.

What A terminal based typing test. Installation Linux sudo curl -L https://github.com/lemnos/tt/releases/download/v0.4.0/tt-linux -o /usr/local/bin/tt

Dec 28, 2022

Raspberry Pi terminal based activity monitor

Raspberry Pi terminal based activity monitor

pitop Raspberry Pi terminal based activity monitor Yes I know there are plenty of solutions already available, but I wanted to build my own terminal b

Dec 11, 2022

❓🖼 Find the anime scene by image using your terminal

❓🖼 Find the anime scene by image using your terminal

What Anime CLI ❓ 🖼 This application is basically a 🍬 wrapper around trace.moe PREVIEW Usage 🖥 Get Anime By Image File 🗃 what-anime file anime.jp

Jan 2, 2023

Terminal stock ticker with live updates and position tracking

Terminal stock ticker with live updates and position tracking

Ticker Terminal stock watcher and stock position tracker Features Live stock price quotes Track value of your stock positions Support for multiple cos

Jan 8, 2023

lazyhub - Terminal UI Client for GitHub using gocui.

lazyhub - Terminal UI Client for GitHub using gocui.

lazyhub - Terminal UI Client for GitHub using gocui.

Dec 14, 2022

A modern and intuitive terminal-based text editor

A modern and intuitive terminal-based text editor

micro is a terminal-based text editor that aims to be easy to use and intuitive, while also taking advantage of the capabilities of modern terminals

Jan 7, 2023

Pi-hole data right from your terminal. Live updating view, query history extraction and more!

Pi-hole data right from your terminal. Live updating view, query history extraction and more!

Pi-CLI Pi-CLI is a command line program used to view data from a Pi-Hole instance directly in your terminal.

Dec 12, 2022
TScli - a very simple terminal-based client for TSWeb online judge

TScli TScli - a very simple terminal-based client for TSWeb online judge. It supports submitting problems and receiving feedback on them. Installation

Oct 24, 2021
A simple visualization from the terminal of tintin++ bot status.
A simple visualization from the terminal of tintin++ bot status.

Kalterm A simple visualization from the terminal of tintin++ bot status. It uses kalterm.tin (in the tintin directory) to create a #port session on 95

Oct 27, 2022
Simple command line serial terminal for the Zolatron 64

ZolaTerm Simple command line serial terminal for the Zolatron 64. Written in Go. I'm using Go routines for receiving text (so that it can be displayed

Nov 7, 2021
A go lib based on tcell which builds a simple menu UI in your terminal.

MenuScreen A simple go lib based on github.com/gdamore/tcell/v2,which helps you build a simple menu UI in your terminal. Install go get -u github.com/

Nov 11, 2021
A very simple library for interactively selecting an option on a terminal
A very simple library for interactively selecting an option on a terminal

go-choice A very simple library for interactively selecting an option on a terminal Usage package main import ( "fmt" "github.com/TwiN/go-ch

Dec 30, 2021
A very simple note-taking CLI you can use from the terminal that uses a SQLite DB to persist, and query, notes.

Note Logger Summary A very simple note-taking CLI you can use from the terminal that uses a SQLite DB to persist, and query, notes. Building/Installin

Apr 14, 2022
Terminal client for SimpleNote

GoNote - Terminal client for SimpleNote GoNote is a simple utility for managing notes in your SimpleNote account. It allows basic operations like crea

Nov 22, 2022
gomerge is a tool to quickly bulk merge several pull requests from your terminal.
gomerge is a tool to quickly bulk merge several pull requests from your terminal.

Gomerge is a tool to quickly enable you to bulk merge Github pull requests from your terminal. The intention of this tool is to simplfy, and eventually automate the merging of github pull requests. This tool should be able to run on most systems.

Dec 28, 2022
`tmax` is a powerful tool to help you get terminal cmd directly.
`tmax`  is a powerful tool to help you get terminal cmd directly.

The positioning of tmax is a command line tool with a little artificial intelligence. If you frequently deal with the terminal daily, tmax will greatly improve your work efficiency.

Oct 15, 2022
YouTube client on your terminal

MeowTube YouTube client on your terminal Table of Contents About Getting Started Usage Contributing About MeowTube is a CLI (Command Line Interface) t

Jul 29, 2022