Skip to content

A wrapper around golangci-lint so it works better with Emacs + flycheck

License

Notifications You must be signed in to change notification settings

theckman/golangci-lint-emacs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

golangci-lint-emacs

This is a wrapper around golangci-lint to resolve some issues I had while trying to use flycheck-golangci-lint with lsp. Specifically, as best I could tell, the way the different checkers were executed resulted in loss of important information.

In particular, I'd either get linting errors in my editor or compilation failures. I could not find a configuration that permitted both. By writing this wrapper around golangci-lint, I can invoke go build and format the syntax errors to look like linter failures. This tricks my editor in to displaying those failures too, and so I've gotten back compilation errors and kept linting failures.

License

The source code in the repo is released in to the Public Domain, so you can use it however you want. This issue was driving me fucking insane, and so I hope it can be helpful for someone else.

If you do make any changes you'd find useful, I encourage you to raise a PR.

Building / Installing

Build

make build

Install in ~/bin/

make install

Easy Mode (build + install)

make

Notes

This project was built for use on my personal systems, and may not be suitable for use on yours. The following assumptions are present:

  • GOPATH environment variable is set where Emacs is running
  • $HOME/bin/golangci-lint is where this wrapper should be installed
  • $GOPATH/bin/golangci-lint is where the real golangci-lint is installed
  • $HOME/bin is on the PATH before $GOPATH/bin (e.g., $HOME/bin:$GOPATH/bin:/usr/local/bin:...)

About

A wrapper around golangci-lint so it works better with Emacs + flycheck

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published